전체 글 1296

개발자가 하루에 코딩하는 시간은? (Coding 시간 Estimation 공식)

어제 교육을 받으면서 애자일 기반의 방법론에서 개발 기간을 Estimation하는 기법을 배웠는데, 흥미로운 내용이 있어서 포스팅한다. 스크럼과 같은 Iterative 기반의 개발방법론을 사용할때, 각 Iteration이 약 4~6주라고 가정하자 이 경우에는 Interation의 10%는 Planning에 소요되고 25%는 Stabilization (Integration과 Bug 수정) 나머지 65%가 개발에 소요된다. 이 65%기간 동안 매일 25% 정도는 다른 잡무 (회의,코드리뷰등)에 소요되고 남는 시간인 75%만 개발 관련 작업에 사용되는데, 그중에서도 10%는 코딩전의 디자인에 소요된다. 그림으로 도식화 해보면 다음과 같다. Design 시간 = Coding 시간 * 0.1 실제 소요시간 (Cl..

ALM/Task Management 2010.10.01

오라클의 하드웨어 + WAS 융합 솔루션 Exalogic

오라클이 이번 "오라클 오픈월드"에서 Sun 하드웨어를 기반으로하여 클라우드 플랫폼을 지원하기 위한 Web Application Server Platform인 Exalogic을 발표하였다. 이전에 Sun 하드웨어 + Oracle DBMS를 기반으로 하여 OLAP과 OLTP를 지원하기 위한 Exadata를 발표하더니 이번에는 WebLogic을 하드웨어와 녹였다. 거기에 이번에는 클라우드라는 단어까지 붙여 버렸다. 특징을 살펴보면, 하드웨어 융합 과, 클라우드 지원이라는 두가지 특징을 가지고 있다 자바 기반의 WAS야 어짜피 하나의 JVM단위로 인스턴스가 뜨기 때문에, 여러개의 하드웨어에 인스턴스를 분산하여 배치하기가 좋고, 이 말은 즉 클라우드 인프라에 걸쳐서 배포가기가 용이하기 때문에 클라우드 적용성이 ..

.NET 4 WCF를 이용하여 REST 컴포넌트 개발하기

WCF 4.0으로 REST 서비스 구현하기 윈도폰 7 스터디 하다가, 다음 단계로 서버와 연결하려는 걸 하려고 생각하다 보니, REST 컴포넌트가 필요해서 어찌어찌하다가 .NET으로 REST 컴포넌트 를 구현해봤는데, 자바쪽에서 JAX-RS (Jersey)로 구현해봤던 경험때문인지 약 2일 정도만에 상당히 완성도 있는 REST 컴포넌트를 구현해낼 수 있었다. REST의 개념과 디자인 방법에 대해서는 다른 문서를 참고하고. .NET에서 REST 구현 방법에 대해서 알아보도록 하자 기본 REST 서비스 구현 만들고자 하는 애플리케이션은 간단하다. 이메일을 KEY로하고, 이름과 전화번호를 저장하는 REST서비스를 만들것이다. Visual Studio 2010에서는 WCF(Windows Communication..

고객이 솔루션 구매에서 단계별로 무슨 생각을 할까?

솔루션 세일즈에 나온 세일즈 사이클이다. 정리해야겠다고 생각만하고, MSSU에서 교육 받고 몇달이 지난 후에나 올리네 그려. 근 3주는 블로그에 포스팅을 하나도 못한듯.. 그나마 블로그에 포스팅 하는 과정이 그간 지식 정리하는 건데, 요 몇주 모가 그리 바뻤는지... 크게 4개의 축으로 나눠서 중점을 둔다. 고객의 Needs, 돈, 솔루션 자체, 그리고 Risk 초기에는 고객의 Needs 가 매우 높다. 차세대 마케팅 시스템을 만드는 시나리오라면, 차세대 마케팅 시스템에 대한 Needs 자체가 높다. 그 다음은 Cost 즉, 예산이다. 정해진 예산내에서 구축을 해야 한다는 압박(?) 이 있다. 이 과정에서 고객은 대략적인 금액과, 이런 요구 사항을 채워줄 수 있는 벤더를 찾게 된다. 벤더들이 제안을 하고..

Windows Phone 7 - 데이타바인딩(DataBinding)의 개념

데이터 바인딩의 개념 데이터 바인딩은 UI 컨트롤과, 비즈니스 객체 (ValueObject)를 어떻게 맵핑 시켜줄것인가를 정의해주는 것이다. 이 데이터 바인딩은 윈폰7에서 새롭게 등장한 것이 아니라 윈도우의 WPF나 실버라이트의 데이터바인딩과 동일한 기술이다. 딱 보고 받은 느낌은 자바의 스트럿츠나 JSF에서 컨트롤에 ValueObject를 데이터를 바인딩 시키는 구조와 동일하다. (View와 Model을 논리적으로는 분리해놓고, 데이터를 연결시키는 모델) 결국은 비슷한 개념은 거기서 거기라는 것. 재미있는 특징중의 하나가 데이터 소스가 되는 ValueObject가 .NET의 CLR 객체뿐만이 아니라 XML도 가능하단다. XML을 데이터 소스로 해서 UI Control에 데이터 바인딩이 가능하다. 용어를..

Windows Phone 7-ListBox 컨트롤 사용법과 데이타 바인딩 개념 설명

지금까지 대강 윈폰7의 프로그래밍 개념에 대해서 잡아봤고, 오늘은 약간 더 실제 프로그래밍을 하는데 필요한 부분에 대해서 알아봅니다. 스마트폰 애플리케이션을 개발하는데, 가장 많이 사용되고 필수적인 컨트롤은 ListBox 컨트롤입니다. 전화번호 목록, 이메일 목록, 상품 목록등 각종 목록을 표시하는데 필수적으로 사용됩니다. 이번에는 이 ListBox 컨트롤의 사용방법에 대해서 알아보고, 아울러 상당히 중요한 데이터 바인딩 개념에 대해서 소개합니다. 오늘 만들어볼 예제 화면입니다. 위의 두개의 텍스트 박스가 있고, 왼쪽에는 이름을 오른쪽에는 이메일을 넣습니다. 그후에 Add 버튼을 누르면 아래 리스트에 추가되고, 아래 리스트에서 아이템을 선택한후에 Remove 버튼을 누르면 삭제되는 아주 간단한 애플리케이..

재미있고 다이나믹한 프리젠테이션툴 Prezi

[13일의 금요일] pezKor 세번째 오픈세미나 on Prezi오늘 트윗에서 얻은 정보인데, Prezi라는 프레젠테이션 도구가 있습니다. 위의 영상이 바로 Prezi라는 도구로 만든 프레젠테이션인데, 상당히 다이나믹한 화면 전환과 기존 PPT와 다른 새로운 형태의 프레젠테이션이 가능합니다. 개발자 행사나, Executive Summary 같은것 작성할때 이벤트성으로 써보면 효과가 있겠네요.

Windows Phone 7의 데이타 저장구조-Isolated Storage 리뷰

모든 프로그래밍 언어가 그렇듯이 데이타를 저장할 수 있는 저장소가 필요하다. 보통 파일이나 DBMS가 가장 통상적인 방법인데 안타깝게도....!! 윈폰7에서는 Embedded DBMS를 지원안한다. WM6.5까지는 기본 내장이었는데.. 윈폰7에서는 빠졌다. 이유인 즉슨.. 클라우드를 쓰라는 것. SQL Azure 클라우드도 있으니 사용해도 되긴 하는데.. 그래도.. 로컬 구동 앱에서는 DBMS가 편한건 사실이다.. (오픈소스로 제공되는 DBMS가 있으니 나중에 한번 소개해보기로 하고) 윈폰7의 Persistance 저장구조는 파일 시스템이다. 디렉토리를 생성하고, 각 디렉토리에 파일을 저장하는 방식이다. 그리고 또 하나가 Local Setting이라는 것이 있는데, 이건, 간단하게 말하면 애플리케이션의 ..

Windows Phone 7의 위치정보(LBS) API 분석

요즘 스마트폰은 기본 요소가 GPS 기반의 위치 정보를 제공함으로써, LBS (Location Based Service)를 제공하게 하는건데, 당근 윈폰7도 API를 제공한다. 그런데 약간 특이한데, 일단 한번 살펴보자 GPS뿐만 아니라, cellphone과 radio를 지원 GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Low); 위치 정보를 가지고 오는 Class는 위와 같다. GeoGoodinateWatcher를 사용하는데, 재미있는것중 하나가 안에 생성자에 들어가는 GeoPostionAccuracy.Low와 High라는 값이다. 윈폰7의 기기 요건은 GPS 필수 장착과 라디오 필수 장착 요건이 있다. GPS를..

클라이언트 가상화 환경(RDP,Remote Fx)에서 StarCraft2 테스트

Windows Server에서 가상화를 이용해서 Windows 7을 Hosted OS로 구동 시키고 거기서 스타크래프2를 테스트한 화면입니다. 서버는 Windows Server 2008 R2 SP1 베타 빌드를 사용했으며, AMD 쿼드코어 CPU * 4, ATI FirePro 880 그래픽 카드를 이용했습니다. 아래는 구형 HP 노트북에서 윈도우즈 서버의 윈도우7 VM에 접속해서 스타2를 테스트한 시연 화면입니다. 아래는 ThinLinx사의 Remote Fx를 지원하는 Thin Client 시제품으로 테스트한 결과입니다. PC에서 했을때는 그럭저럭 만족할만한 성능을 보여줬습니다만, 고사용 데스크탑에서 직접 게임을 하는 것보다는 다소 프레임등이 넘어가는 것이 부드럽지 않습니다. Thin Client는 아직..

제국의 역습-윈도우즈 폰7의 가능성 (2/2회)

앞서 주로 사용자 관점의 차별점에 대해서 설명했는데, 이제 개발자 관점에서 살펴보도록 하자. 넓은 개발자 계층과, 편리한 개발 인프라 삼성 전자가 얼마전에 ‘bada’라는 이름의 모바일 플랫폼을 발표하였다. 필자가 얻은 정보에 따르면 속도도 빠르고, 기기도 좋다. 근데 문제는? 개발자 인프라가 없다. 한마디로 아직 인기가 없는 플랫폼이고, 개발에 필요한 API나, 튜토리얼, 커뮤니티등의 생태계가 생성되지 않아서 개발을 하기가 쉽지 않다. 윈폰7의 개발 인프라는 SilverLight와 .NET 그리고 XNA에 기반을 가지고 있다. 이 기술들은 윈폰7을 위해서 새롭게 개발된 기술이 아니다. 이미 윈도우 프로그래밍에 사용되고 있는 기술이다. 바꿔 말하면, 윈도우 프로그래머는 손쉽게 윈폰7개발에 참여할 수 있다..

제국의 역습 - 윈도우즈폰7의 가능성 (1/2회)

윈도우즈폰7 은 마이크로소프트가 스마트폰 경쟁에서 살아남기 위해서 야심차게 준비한 플랫폼이다. 2002년도만 해도, 전세계 스마트폰 플랫폼의 15%이상을 점유하면서 스마트폰 OS 시장의 1위를 차지하던 마이크로소프트가 심비안,애플의 아이폰과 구글의 안드로이드플랫폼에 밀려, 그 시장 점유율은 계속해서 하락하고 있다. 이런 상황에서 모바일 시장을 재 장악하기 위해서 기존 Windows Mobile 이라는 이름을 버리고 Windows Phone 7이라는 이름으로 새로운 OS를 준비하고 있다. 단순히 이름만 바뀌는 것이 아니라, 기존 Windows Mobile과의 호환성을 모두 포기하고, 새로운 인터페이스로 무장한 완전히 새로운 플랫폼을 내놓는 것이다. 시장 상황으로 보면 이미 안드로이드와 아이폰이 시장을 나눠..

Windows Phone7의 게임 개발 환경 (XNA) 리뷰

Learning Kit에 들어가 있는 간단한 게임(갤럭시같은..) 튜토리얼을 따라해보고 리뷰를 올립니다. 먼저 이글을 올리기전에 제 백그라운드에 대해서 소개할 필요가 있는데, 94~97년정도까지 게임 개발을 했습니다. MS-DOS상에서 인라인어셈블리와 C/C++을 이용해서 2D 게임을 만들고, Direct-X 초창기 버전과 Direct 3D등으로 게임을 만들어본 경험이 있습니다. 시절이 10년은 지났으니, 결과적으로 게임 프로그래밍에 대해서 기본 개념은 있지만, 요즘 최신 게임 프로그래밍 기법에 대해서는 정보가 부족한 상황임을 미리 이야기 해둡니다. 사실 윈폰7의 게임 개발 프레임웍쪽에는 아주 기대가 컸습니다. 게임 이라는 컨텐츠가 스마트폰의 킬러앱중의 하나이고, 특히 윈폰7에서 XNA를 기반으로 개발된..

Windows Phone 7 에서 Animation 효과주기.

앞에서 UI에 디자인까지 입혀봤고, 이번에는 윈폰7의 강력한 기능중 하나인 애니메이션 효과를 줘봅니다. 보시면 아시겠지만 진짜 간단합니다. 앞의 예제가 텍스트 박스에 글자를 넣고 클릭하면 위의 텍스트가 바뀌는 시나리오 였는데, 이번에는 클릭하면 위의 글자가 바뀌면서 뺑글 돌아가는 형태로 바꿔봅니다. 역시 디자인을 변경하는 것이기 때문에, Expression Blend 4에서 작업을 합니다. 모드를 디자인 모드에서 애니메이션 모드로 바꾸면 Objects and Timeline에 각 객체별 타임라인이 나옵니다. (마치 동영상 편집기 처럼요) 이제 애니메이션 효과를 줘봅니다. 배너 글자 컨트롤인 BannerTextBlock을 선택한후에, 레코딩 모드로 전환하고, TimeFrame을 1초로 선택한후에, x축을 ..

Windows Mobile Phone 7 - UI 디자인 (WP7의 UI 디자인 개념)

윈도우즈 모바일 7의 장점 중의 하나가 아주 강력한 UI를 지원한다는 것이다. 화면 전환 애니메이션, 각 컨트롤에 대한 커스터마이징이 매우 쉽다. 앞의 글에서 설명했듯이 일반적인 화면 레이아웃이나 배치등은 Visual Studio에서 XAML을 이용하여 디자인 한다. 여기에 컨트롤에 상태에 따라서 추가로 디자인이나 애니메이션 효과를 지정할 수 있는데, 이는 개발툴킷에 들어있는 "Microsoft Expression Blend 4 Windows Phone"이라는 도구를 사용한다. 마치 RIA (Rich Internet Application)개발도구와 비슷하다. 애니메이션도 직접 테스트해볼 수 있기 때문에, 무슨 애니메이션 저작툴과 같은 느낌도 좀 들기는 하는데, 애니메이션 효과는 나중에 설명할것이기 때문에..

My First Windows Phone 7 Application - Hello World (개발환경에 대한 의견)

점심먹고 와서. 잠깐 Windows Phone 7에 대한 개발환경 설정하고, 그 간단한 Hello World를 테스트. 모든 언어의 개발 환경들은 대부분 간단한 애플리케이션 하나 만들어서 테스트 해보면 된다. 대충 절차랑 느낌들을 정리해보면 먼저 개발환경은 여기서 다운 받는다. http://www.microsoft.com/downloads/details.aspx?FamilyID=c8496c2a-54d9-4b11-9491-a1bfaf32f2e3&displaylang=en#filelist 여기서 vm_web.exe 만 다운받아서 클릭한번이면 모든 개발환경 설치 완료!! 이때 주의할점은 윈7과 비스타만 된다. XP는 안되니.. 혹시 윈폰7개발 하실분은 어여 윈7으로 갈아타시길.. 설치가 끝나고 Visual S..

IP TV 아키텍쳐의 이해

서비스 사업자의 IP TV 아키텍쳐 이해 아키텍쳐 모델 IP TV 아키텍쳐는 크게 서버와, 클라이언트 STB (Set Top Box)두 개로 이루어진다. 센터간 토폴로지 (중앙 방송 센터와 중계 센터) 서버 쪽은 중앙 방송 센터와 각 지역을 커버하기 위한 중계 센터(Sub Center)가 존재한다. 중앙 방송 센터는 전체 컨텐츠와 서비스 등을 통제하며, 중계 센터는 컨텐츠에 대한 중계를 주요 역할을 목적으로 하며, 중앙 방송 센터와 중계 센터 사이는 고속 Private 네트워크를 통해서 연결이 되어 있다. 중계 센터에서는 각 가정으로 Qos 망 또는 Private 망 기반의 IP망을 이용해서 서비스를 제공하며, VOD 서비스의 Latency를 낮추기 위해서 CDN 기반의 Storage 서비스 및 Stre..

Windows Phone 7 스터디 시작.

다니는 회사가 회사인지라... 윈도폰7에 관심을 안가질래야 안가질 수 가 없다. 더군다나 지난 세미나에서 윈폰7의 Feature와 개발 환경에 매료된 나로써는.. 꼭 한번 발 담궈보고 싶은 부분이다. 이미 안드로이드나 아이폰쪽은 다른 개발자분들이 치고 나가셨기 때문에.. ^^; 윈폰7의 개발 환경중 매우매우 재미있는 것 두가지를 들어보면 XNA 기반의 게임 개발환경과 XNA는 게임 개발 프레임웍인데, 3D 이팩트,Collistion Detection(충돌)처리 등등 게임을 만들때 골아픈 부분들이 SDK로 이미 다 들어가 있고. 무엇보다!! XNA기반으로 개발하면 XBOX와 윈폰7 둘다에서 돌아간다... 개발자 입장에서는 폰과 X-BOX 두가지 시장을 노릴 수 있는 것이다. 사실 내 입장에서는 개발 환경의..

통신 사업자의 SDP의 필수 컴포넌트

오늘 본사에서 TMFORUM.ORG의 자료(http://www.tmforum.org/ResearchPublications/EvolvingSDPsEssential/7721/Home.html)와 SDP 시장 전망등에 대한 자료들을 찾아서 읽고 있는데, 대충 지금까지 알아왔던 내용과 방향은 비슷하지만 정리가 상당히 잘되어 있고, 약간 발전된 모습을 보인다. 잊어먹기전에 얼른 몇가지 정리해보면 기본적으로 SDP는 Telco 기반의 SOA 플랫폼으로 서비스의 생성과, 실행,배포등을 담당한다. 특히 3'rd party나 외부로 service를 expose할 수 있는 기능을 가져야 하며 필수 서비스 컴포넌트로는 사용자 프로파일 관리 디바이스 관리 컨텐츠 관리 및 서비스 (CMS & Contents Service) 과..

아키텍쳐 /SOA 2010.08.03

Microsoft 본사 교육을 다녀와서...

지난주에 시애틀 마이크로소프트 본사로 교육을 다녀왔습니다. MSSU (Microsoft Service University)라는 프로그램입니다. 세일즈,컨설팅등 제 아키텍트롤에 맞는 교육을 받았씁니다. 벤더 생활이 근 10년이 되어가는데, 이렇게 체계적인 롤 교육을 받아본것은 이번이 처음인것 같습니다. 역시 1등 회사는 모가 달라도 다르구나 하고 좀 느꼈습니다. 교육은 상당히 액티브하게 이루어집니다. 반 이상이 발표,토론,롤플레이등으로 이루어집니다. 교육 환경도 자유로운 편이라서.. 졸리면 뒤에가서 커피들고 서서 이야기 하고, 강사 앞에서 다리도 꼬고 앉습니다. 특히나 이번에는 전세계에서 온 컨설턴트들과 함께해서 이런 저런 이야기를 들을 수 있는 기회가 많았습니다. (프랑스,두바이,미국,남아공까지... 등..

고객의 비젼 개발하기 (고객 요구 사항 파악)

지난주에 미국 시애틀에서 본사 교육에 다녀왔습니다. 그중에서 세일즈 관련 교육을 받았는데, 정말 유익하고 재미있는 시간이었던것 같습니다 참 우연하게도 얼마전 메지져 분이 Michael.T Bosworth의 Solution Selling이라는 책을 소개해주셨는데, 비행기에서 좀 읽고 갔더니 마침 교육 내용이 이 책 내용을 기반으로 되어 있어서 예습 복습이 확실하게 되서 머릿속에 많은 것을 남겨왔습니다. 오늘부터 하나씩 교육 내용을 정리해보려고 합니다. (복습도 할겸.) 오늘 정리할것은 고객 요구사항에 대한 단계입니다. 고객의 요구 사항의 인식 단계에 대한 설명입니다. 고객은 크게 3가지 단계의 요구 사항을 가지고 있습니다. Latent Pain 미인식하고 있는 요구 사항입니다. 현재 요구 사항이 무엇인지 ..

데스크탑 가상화

예전에 터미널 클라이언트나, 가상화 솔루션은 안정성이나 성능 문제로 많이 사용이 되지 않았는데, 근래에 있어서 비약적으로 발전해서, ThinClient 기반으로도 고성능 PC를 사용하는 것과 거의 동일 수준의 사용자 경험을 제공할 수 있게 되었다. Citrix HDX나 Windows Server 2008 Remote Fx등을 이용하면 그래픽이나 동영상 작업할 수 있는 수준까지 되서, 고객에게 제안해볼 생각으로 비용을 산출 해봤다. HP Thin Client (HP t5325) 대당 199$이다. 가장 기본적인 모델 Server Hardware (DELL POWER EDGE R810) 8 Core 2 CPU + 128 GB MM 19940$ 이정도 서버면 동시 사용자 32 사용자를 커버할 수 있다. 계산을..

새노트북을 지급 받았습니다.

회사를 옮긴지 이제 두달이 좀 넘었네요. 주문한 노트북이 이제 도착했습니다. HP 2740p 모델입니다. 개발자 출신이라, 은근 장비 욕심이 많습니다. :) 회사에서 주는 공짜(?) 최상급 노트북이야 말로 회사 옮기는 이유중 하나(?)가 아니겠습니까? 타블렛PC입니다. 딱 하나 아쉬운것은 화면 해상도인데.. 이건 메니져한테 모니터 한대 사달래야하겠군요. 일반 시중에서 판매 되지 않는 i7 CPU 모델입니다. 4G메모리에, 120G SSD 장착 모델입니다.(휴~~ 날라다니겠구요..) 어여 세팅해봐야겠습니다.

사는 이야기 2010.07.01

잡담...

어제 ITIL 자격증이나 딸까해서 웹사이트좀 돌아다니다가... 사무실에서는 WF좀 보다가... 웹사이트좀 둘러보고... 운동도 다녀야 하고, 영어 학원도 다녀야 하고 가능하면 AICPA도 따고 싶고,골프도 다시 배워야 하고... 써놓고 보니 4가지만 하면 되는데.. 하나도 시작 못하고 있네요.. 이러다가는 40살도 되기전에 도태되지 않을까 싶은데.. 집에서 애하고도 놀아줘야하고, 하루에 출퇴근 4시간씩 투자하고...집안일 도와줘야 하고... 사실 시간이 없다는것은 핑계인데.. 한숨만 나오는군요. 담배나 하나 피고 와야겠습니다. 이눔의 담배부터 끊어야 할듯..

사는 이야기 2010.06.30

WF (Workflow Foundation)

.NET에서 WCF와 함께 관심이 가는 것이 WF (Workflow Foundation)인데 말그대로 프로세스를 그릴 수 있는 프레임웍이다. BPM,Orchestration 등등의 모든 프로세스를 디자인할 수 있는데, 흥미로운것중의 하나가, 이 WorkFlow 디자인 GUI를 떼어내서 다른 툴에서 쓸 수 있다는 것이다. 즉 Custom WorkFlow Designer를 만들 수 있다는 말씀.(Workflow Designer Re-Hosting)이라고 함. 사실 Mesh up 도구나 SDP의 SDE (Service Development Environment)등을 만들때 이 프로세스 디자이너를 구현하는게 꽤나 복잡한 부분인데, 이를 이용하면 해결할 수 있을듯. [참고:http://msdn.microsoft...

제 블로그 내용 대부분 이해하시는분들 고수로 인정해드립니다.

블로그 자랑이 아니라.. 요즘 블로그를 보니까는... 예전 처럼 제가 글을 공들여서 안쓰는것 같네요. 예전 포스트는 그래도 정리해서 쉽게 풀어쓸려고 노력도 많이 했는데.. 요즘은 기술자료에 대한 단편 메모가 대부분입니다. 앞뒤 사전 지식이 없는 분들은 이해불가일거 같습니다. 요즘 떨어지는 블로그 방문자수가 그걸 더 이야기 해줍니다. ㅜㅡ 제 블로그 포스트 대부분 이해하시는분들.. 그대 이름은 고수!!

사는 이야기 2010.06.29