It’s me

March 20, 2006

D-Link사의 DPH-540 WiFi VoIP 플립 폰

Filed under: VoIP — rothmans @ 3:50 am

Dlink_DPH-540 

D-Link 사에서 WIFI VoIP 전화인 DPH-540 WiFi 플립형태의 폰을 출시하였다.
802.11g 기반의 폰으로 컴퓨터가 없더라도 VoIP 폰 서비스를 사용할수 있다.

VoIP로 전화를 걸때 DPH-540은 Session Initiation Protocol (SIP)를 사용하며, 인터넷 전화(VoIP) 서비스 플랜과 같이 사용할 수 있다. 또한 에코 억제,  패킷 지연 보상과 패킷 손실 복구 기능등을 사용하여 고 품질의 전화를 이용할 수 있다.

DPH-540은 대화면 컬러를 장착하여 다이얼한 번호, 연락처, 발신자 번호등과 같은 정보를 표시하며 확장 기능으로는 최근 발신 전화, 소리줄임, 홀드 및 텍스트 메시징등의 기능이 제공된다.

상세한 D-Link DPH-540의 스팩

March 15, 2006

Complete List of Web 2.0 Applications

Filed under: WEB 2.0 — rothmans @ 2:03 am

다음은 인기있는 Web 2.0 어플리케이션을 알파벳순으로 정렬해놓은 목록입니다. 설명은 각 어플리케이션의 정보 페이지 또는 FAQ 페이지에서 발췌한 내용들입니다.

43 Things
43 Things is great for making a list of goals. It’s a way of connecting with other enthusiasts interested in everything from watching a space shuttle launch to grow my own vegetables.

Allmydata
Allmydata harnesses the power of grid storage technology to securely store your email, photos, music, movies and more.

Backpack
아이디어를 담아둘 페이지를 만드세요. 그리고 자유로운 양식의 텍스트, 할일들, 노트, 사진, 파일들을 추가하세요. 다른 사람들과 페이지를 공유할 수 있으며, 설정된 전자메일과 휴대폰으로 알림기능도 사용할 수 있습니다.

Basecamp
Basecamp 는 유일한 프로젝트 협업 도구입니다. 프로젝트가 차트, 그래프 또는 보고서등의 부재로 인해 대화와 협업의 실패로 이어지지 않게 하며, 프로젝트에서 대화와 협업을 간단하고 쉽게 만들어줍니다.

BlinkList
Import and manage Your Bookmarks – in the Blink of an Eye. Create Watch lists to See What Your Friends Are Discovering Online. Follow the Wisdom of Crowds and Discover What’s Hot Now.

Blogniscient
We categorize and rank blog articles and blogs in real time, providing up-to-date information on the hottest blog entries.

CalendarHub
Create a Calendar That You Can Access from Anywhere. Keep it private, share it with others or publish it on the Web

Central Desktop
Central Desktop is ideal for teams and businesses that operate in distributed locations or virtual office environments.

clipmarks
Clip and save just the stuff you want from any web page. Create your personal online collection of clipmarks. Tag them with keywords, add your own comments and share them with friends. Search the Public Clipmarks to see what’s being clipped and who is clipping it.

Democracy 2.0
Democracy 2.0 is a political science research project dedicated to effecting Pervasive Democracy and direct, nonpartisan resolution of community issues in U.S. states and localities.

Digg
Digg is a technology news website that combines social bookmarking, blogging, RSS, and non-hierarchical editorial control. With digg, users submit stories for review, but rather than allow an editor to decide which stories go on the homepage, the users do.

del.icio.us
del.icio.us is a collection of favorites – yours and everyone else’s. Use del.icio.us to keep links, share favorites with friends, family, and colleagues, discover new things.

Findory
Our personalization technology builds a homepage for each reader, recommending content based on what they’ve read and what new content is being published. We crawl through thousands of news and blogs articles so you don’t have to.

Flickr
Flickr – almost certainly the best online photo management and sharing application in the world – has two main goals: 1. We want to help people make their photos available to the people who matter to them. 2. We want to enable new ways of organizing photos.

gabbr
Instead of having multiple blogs across multiple sites, gabbr allows bloggers from all types of blogs to submit their thoughts for discussion in a centralized location. The blog entries are also mirrored on the original blog authors website.

Gmail
Gmail is an experiment in a new kind of webmail, built on the idea that you should never have to delete mail and you should always be able to find the message you want.

Google Maps
Maps are great for getting around, but online maps could be a lot better. So Google decided to make dynamic, interactive maps that are draggable — no clicking and waiting for graphics to reload each time you want to view the adjacent parts of a map.

Kiko
Slow, featureless online calendars are so Web 1.0. Kiko is a cool new web calendar that delivers all the functionality of desktop calendar software, and all the convenience of online access. And it’s free!

meebo
We hope that meebo makes everyone’s online life a little easier (and more fun!) by aggregating all of your IM accounts in one place, cleaning up all of your chat windows into a single window, and the best part — no software.

memeorandum
The Web is humming with discussions on politics and current affairs. memeorandum is page A1 for these conversations. Auto-updated every 5 minutes, it uncovers the most relevant items from thousands of news sites and weblogs.

Netvibes
Netvibes.com is a customizable web 2.0 homepage solution. This service is free and gives you the user the ability: To create a personalized page with the content you like. To put together data feeds and services from web 2.0 applications with a very simple interface. To access your page anytime and from any computer.

Omnidrive
Omnidrive is what you expect hosted storage to be – easy to use, accessible from anywhere and unrestrictive. Omnidrive will make your life easier by allowing you to store, access and stream your files from almost any web connected platform.

Protopage
Protopage = personalized news + sticky notes + bookmarks, all on one page. Use it to catch up with news from hundreds of sources. Put color coded sticky notes, todo lists and reminders. Keep your frequently accessed bookmarks. Share parts of your page with friends, or keep it private.

Rallypoint
Rallypoint is a powerful online collaboration service that can be used to create, organize and share your company’s knowledge. It enables you to build web-based documents and pages to share with your team members or other teams.

reddit
A source for what’s new and popular on the web — personalized for you. We want to democratize the traditional model by giving editorial control to the people who use the site, not those who run it. Your votes train a filter, so let reddit know what you liked and disliked, because you’ll begin to be recommended links filtered to your tastes.

Remember The Milk
Remember The Milk is the easiest and best way to manage your to-do lists online. Sharing, publishing, notes… we’ve got it all. Receive reminders via email, instant messenger, and SMS. It’s free.

Shadows
Shadows is a social bookmarking service for discovering, sharing and managing information on the web. Shadows supercharges this information with a “Shadow Page” — a community blog for any web page that includes views, ratings, tags, and comments by you, your friends and the Shadows community.

start
this site is not an officially supported site. it is an incubation experiment and doesn’t represent any particular strategy or policy. for other incubation experiments, see http://sandbox.msn.com. enjoy!

Ta-da
Ta-da makes it easy to… Keep track of all the little things you need to get done, Make lists for other people (co-workers, friends, family), Share lists with the world (“My favorite movies of 2004″), Subscribe to your lists in RSS so you’re always on track.

TailRank
TailRank finds the best content from thousands of blogs so you don’t have to. TailRank is a small startup based out of San Francisco which has plenty of cool ideas and too much free time.

Topix
Topix.net was founded in 2002 with the specific mission of providing users the ability to quickly and easily find targeted news on the Internet. With thousands of news sources continually releasing stories twenty-four hours a day, finding relevant news can often be a time consuming task.

voo2do
Advanced task and priority management for busy, ambitious individuals. voo2do tracks priority, due date, and time estimates for each task. There is no notion of “lists” in voo2do— tasks can be grouped by project, but you can view and edit a bunch of projects together. Voo2do does not yet support sharing your tasks with other people.

Writeboard
Writeboard makes it easy to… Write without fear of losing or overwriting a good idea Compare different versions of a document Collaborate with colleagues on copy, proposals, memos, etc. Subscribe to documents via RSS and be notified of changes.

Writely
Writely allows you to edit documents online with whomever you choose, and then publish and blog them online.

Xdrive
5GB to unlimited gigabytes of online storage. Accessible from any web browser. Easy, efficient file sharing. Protect critical data from crashes and viruses. The best solution for storing and sharing online.

Zoho
Online tool to create a document, edit in your way, and share with anyone. Access Anywhere, Share, don’t attach, Generate PDF/DOC/HTML, Create and edit document in your way, Load your existing documents, Multi lingual Support, No more duplicates, Post to your Blog.

Zoto
On Zoto, you can safely store an. organize an unlimited number of digital photos, with total control over who has access to which of your photos. You can share your photos with family and friends through albums and slideshows. You can quickly and easily publish photos to your blog.

If you know of any popular Web 2.0 applications that are missing from the above list, please post it as a comment and we will keep this list going. Also let me know if you found this list useful.

Update (Friday Jan 20th, 08:30 PM): This post got dugg to the front page of digg.com sometime yesterday morning. I appreciate all you comments and diggs. This list would not be “complete” without your comments. While posting I had intended to update the list with more applications that you suggest. But I’m overwhelmed with the number of sites in the comment section. I apologize that I don’t have enough time to research and get information about all of them. I recommend that all readers read through the comments to discover more Web 2.0 applications.

March 7, 2006

SW 개발에서 가장 중요한 문서

Filed under: Software — rothmans @ 4:48 pm

SW 개발에서 가장 중요한 문서
 
김익환 SW컨설턴트 ik_kim@yahoo.com 2004년 07월 04일   
   
 
소프트웨어를 개발하다 보면 많으나 적으나 문서 산출물이 나오게 된다. 그 중에서 가장 중요한 문서를 하나 선택하라고 하면 무엇일까.

소프트웨어 개발과 관련된 분야에는 시스템소프트웨어 개발, 응용소프트웨어 개발, 용역개발, ERP 구현, 전산실의 자체 개발, 펌웨어(Firmware) 개발 등을 들 수 있다.

이런 다른 종류의 소프트웨어 개발에 참여해본 사람들은 자기분야에서의 경험에 기준을 두고 소프트웨어를 얘기하게 된다. 산출물도 각각 다를 수 밖에 없다.

필자가 지금까지 경험해 본 소프트웨어 프로젝트를 보면 똑 같은 산출물을 요구하는 프로젝트는 한번도 없었다. 그 만큼 프로젝트가 다양하다는 것을 의미한다. 그래서 여러가지 방법론이 존재하고 새로 생겨나기도 한다.

특정한 방법론에 나오는 프로세스와 산출물을 모든 프로젝트에 획일적으로 사용할 수가 없다. 그래도 모든 프로젝트가 지켜야 하는 핵심 프로세스와 핵심 산출물은 유사하다. 다만 형식이나 이름이 다르게 나타나기 때문에 상이한 것처럼 보이나 소프트웨어개발의 근본원칙에서 보면 핵심이 다를 수는 없다.

기본적으로 대형 프로젝트를 하게 되면 수십개, 수백개나 되는 많은 산출물이 요구되고 그러다 보면 중복된 정보가 여기저기 나타나게 된다. 회사가 커지면 나타나는 피할 수 없는 관료적인 비효율성의 문제와 비슷하다. 작은 프로젝트는 2-3개의 문서만 작성해도 충분할 지 모른다.

산출물 문서중에 ‘Software Requirement Specification(SRS)’이라는 문서가 있다. 개발방법론이나 회사에 따라 ‘요구사항명세서’, ‘요구분석서’ 등 다른 이름으로 호칭되기도 하나 근본적으로 동일한 목적을 가지고 있다. 개발하려는 것이 무엇인가를 정의하는 것이다. 단순히 기능정의서만으로 생각하면 오산이다. 기능정의는 SRS의 일부분이다. 뒷부분에서 부연 설명을 하겠다.

필자가 미국의 국방산업체인 록히드와 수행한 프로젝트의 예를 들어보자. 첫 회의에서 프로젝트의 개요와 우리가 할 수 있는지를 확인했다. ‘록히드쪽에서 RFP(제안요청서)를 쓰고 우리가 제안서를 쓰고 진행할 것인지’, 아니면 ‘록히드가 RFP와 함께 SRS를 쓰고 우리가 구현만 할 것인지’를 의논한 결과 SRS를 록히드가 작성하기로 하고 우리는 SRS에 기초해서 제안서를 내기로 했다. 이 제안서에는 SRS에 모든 기능이 명시되어 있기 때문에 기능에 대한 명시는 없이 가격과 개발기간 등 그 외에 제안서에 필요한 정보만 포함되었다. 물론 SRS를 우리가 작성하기로 했다면 가격은 더 비쌌을 것이다.

SRS와 함께 ‘Acceptance Test Plan(ATP)’도 록히드가 작성했다. 프로젝트의 검수는 주어진 ATP에 있는 테스트케이스만 통과하면 되는 것이었다. 명확하게 우리가 해야 할 일을 프로젝트 시작과 동시에 알고 있는 것이다. 이것보다 프로젝트의 내용이 더 정확히 정의될 수는 없을 것이다. ATP를 통과하는 것 자체가 검수승인을 의미한다. 그 후에 발견되는 결함들은 당연히 유지보수 비용을 받고 수정해 주게 된다. 그러므로 록히드쪽에서도 완벽을 기하려고 한다.

그 대신 우리가 SRS에 약속했던 기능을 구현해 주지 못하면 상당한 불이익을 받는다. 비용을 못 받을 수도 있고 고소를 당할 수도 있다. 소프트웨어 회사 중에 처음에는 잘 나가다가 너무 급격히 성장하면서 고객에게 무리한 약속을 해서 실패한 회사도 많다. 대부분 부실한 SRS 때문이다.

록히드 프로젝트 경우에 구현해야 하는 기능에 대해서 주관적인 판단은 거의 없었다. 커뮤니케이션에 오류가 있을 확률이 매우 낮았다는 것이다. 내가 수행했던 다른 프로젝트들이 이렇게 완벽하게 진행된 것은 아니었지만 적어도 프로젝트가 객관적으로 서로 동의한 기능구현을 목적으로 수행되어야 하는 것은 매우 중요하다.

패키지를 개발하든지 SI 업체로서 프로젝트를 수주하든지 기능을 원하는 측과 기능을 구현하는 측이 얼마나 빨리 서로 일치하느냐가 성공의 관건이다. 서로 일치하는지를 확인하는 가장 좋은 방법이 문서이다. 제안서나 제품기획서는 소프트웨어 개발의 첫 단계인 기획 단계에서의 커뮤니케이션의 핵심이다.

제품기획이 완성되면 개발팀으로 넘어와 소프트웨어적인 측면에서 SRS를 작성하게 된다. 여기에서 모든 기능이 확정되고 모든 부서가 동시에 일을 추진하게 된다. 그래서 SRS는 개발팀, 마케팅, 기술문서, 테스트팀, PM 등 모든 팀과의 커뮤니케이션의 중심이 된다.

소프트웨어 개발에 있어 가장 중요한 하나의 문서를 꼽으라면 단연코 SRS이다. SRS에는 가능설명이외에도 성능요구사항, 인터페이스요구사항, 국제화, 하드웨어와 소프트웨어의 환경 등, 이 소프트웨어가 무엇을 하는지를 알 수 있는 모든 항목이 들어 있다.

프로젝트 매니저(PM)가 개발계획을 정확히 수립할 수 있도록 기능도 세세히 분리해야 한다. 각 기능항목을 2시간~ 2일 사이로 시간 측정 가능하도록 나누어야 한다고 주장하는 사람도 있으나 필자는 1일~2일 정도의 단위가 적당하다고 본다. 전체 소프트웨어 결함중에 56%가 요구사항분석 단계, 27%가 설계단계, 7%가 코딩에서 생긴다는 통계가 있다. 요구사항 분석단계에서 대충 SRS를 작성하기 때문에 생기는 결과이다.

개발방법론을 한번이라도 접해본 사람들은 다 들어본 적이 있는 ‘1:10:100 법칙’이라는 것이 있다. 요구사항 단계에서 잘못된 것을 발견해서 수정하는 것과 설계단계에서 수정하는 것과는 10배의 시간과 비용이 들고 코딩단계에서 발견하면 100배의 시간이 더 든다는 것이다. 책과 머리로는 이해하나 이것을 진실로 이해해서 제대로 실천하는 사람은 보기 드물다. 요구사항을 정확히 정의해야 하는 중요성은 전 개발과정중의 핵심중의 핵심이라고 아무리 강조해도 지나치지 않다.

이런 중요한 문서를 대충 적고 넘어가는 이유는 많다. 기능을 구현해 보지 않고는 할 수 있는지가 확실하지 않다는 이유가 그 중의 하나이다. 이런 경우의 판단은 두 가지 방법에 의존할 수 밖에 없는데 최단기간 내에 프로토타입을 만들어 보던가 아니면 경험자의 판단을 믿든가이다. 프로토타입을 만드는데 사용한 코드는 버리고 다시 개발하는 것이 좋기 때문에 당연히 경험자의 판단으로서 하는 것이 시간적으로 효율적인 것은 두말할 나위도 없다.

작은 프로젝트에서 발생하는 극단적인 케이스는 개발 종료후 보고서 제출용으로 SRS를 작성하려는 경우도 심심치 않게 본다.

잘 작성된 SRS는 결국 소프트웨어의 개발기간을 단축시켜 준다. SRS를 안 적거나 대충 적는 이유의 대부분이 시간이 없다고 한다. 잘 씌여진 SRS는 시간을 절약하게 해준다. ‘시간이 없어서’ SRS를 정확하게 작성하지 않았다면 다음 개발단계를 빨리 시작할 수는 있으나 최종개발이 끝나는 시점은 더 늦어지게 된다. 그 외에도 부실한 SRS는 미래에 많은 문제를 파생시키게 된다.

정확한 SRS의 중요성은 강조했으나 이를 성취하기 위해서는 프로젝트의 종류에 따라 다르지만 소위 ‘갑’ 이라고 하는 발주업체나 제품기획자의 능동적인 협조가 필요하다. ‘나중에 생각나면 추가하자’는 생각은 실패의 지름길이다. 한번 시작하면 변경하지 못한다는 생각으로 임해야 한다.

반대로 개발자의 입장에서도 무엇을 할 수 있는지, 자기의 능력도 확실히 알아야 한다. 할 수 없는 것을 할 수 있다고 해서 나중에 난감한 상황에 빠진 경험을 한번쯤은 가지고 있을 것이다. 좋은 소프트웨어가 나오기 위해서는 ‘갑’과 ‘을’, 혹은 제품기획자와 개발자의 협력과 많은 시간투자가 초기단계에서 필요하다.
 
원문 : http://www.inews24.com/php/news_view.php?g_serial=118879&g_menu=020200_M

March 6, 2006

ASP Socket 함수

Filed under: ASP — rothmans @ 6:49 pm

‘—SImple Socket component를 ASP코드로 일반화한 함수입니다.

‘—————————————————————————
‘–함 수 : 소켓을 통해 데이터를 송수신한다.
‘–인 수 : strIp_Addr(접속IP) , intPort(접속포트), strCmd(보낼메세지)
‘– strEndSign(수신문장종결자), intBufferSize(소켓버퍼.기본값:32byte)
‘– intRecvTimeOutSec(수신타임아웃.기본값:1초. 0인경우 타임아웃 없음.)
‘– 수신문자열 : userno=111111&usernm=홍길동\r\n
‘– 위와 같을 경우 strEndSign = “\r\n”가 된다.
‘—————————————————————————
Function SocketReceive(byRef strIp_Addr, ByRef intPort, ByRef strSendData, ByRef strEndSign, ByRef
intBufferSize, ByRef intRecvTimeOutSec)
Dim ret
Dim objSock ‘–소켓객체
Dim recvStr ‘–수신문자열
Dim recv_STTime ‘–수신시작시간
Dim useEndSign ‘–수신문장종결자사용여부

Const DEFAULT_RECV_TIMEOUT= 1 ‘–수신타임아웃 기본값. sec.
Const DEFAULT_BUFFER_SIZE = 32 ‘–소켓버퍼사이즈 기본값. byte.

On Error Resume Next

‘–입력값 검사 및 기본값 설정.
If Len(strIp_Addr) 0
If Not useEndSign And intRecvTimeOutSec 0 Then Exit Do
End If
If intRecvTimeOutSec > 0 Then
‘//수신타임아웃
If Timer() – recv_STTime > intRecvTimeOutSec Then Exit Do
End If
Loop
End If
.Close
End With
SocketReceive = recvStr
Set objSock = Nothing
End Function

 

EX :: recvStr = SocketReceive(“127.0.0.1″, “10012″, “cmd=GETUSERINFO&userno=123456″ & vbCrLf,
vbCrlf, 1024, 2)

Blog at WordPress.com.