전체 글 1336

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

AppFabric (ESB + DataGrid) - 윈도우즈서버 새 기능

Oracle Coherence나 Open source memcached와 같은 메모리 그리드 솔루션은 아키텍쳐를 그리는 데 상당한 효과를 발휘한다. 메모리 그리드랑, 간단하게 이야기 하면 Java의 HashTable이 무제한 용량으로 확대 가능하고, 어느 server instance에서도 접근이 가능하며, 장애시 Fail over를 통해서 고가용 서비스가 가능한 솔루션을 이야기 한다. 물론 Oracle Coherence가 .NET도 지원하기는 하는데, 이왕이면 MS도 이런게 있었으면 했는데, 새 윈도우즈 Server에 나왔다. AppFabric이라는 일종의 윈도우즈 미들웨어인데, 일단 데이타 그리드의 성격을 가지고 무제한 클러스터링이 가능하다.. (물론 열어봐야 알겠지만..) 데이타 그리드로써도 의미가 ..

WCF REST 구현시 URL Rewriting

URL rewriting이란, WebServer에 들어온 Request의 URI를 변경해서 WAS에 전달하는 것이다. 예를 들어 http://localhost/service/Customer 이런것을 http://localhost/Customer 식으로 특정 문자열을 빼거나 더할 수 도 있고 http://www.store.com/products.aspx?category=books 게 들어온 요청을 http://www.store.com/products/category/books 이렇게 바꿀 수 도 있다... RESTful 설계시에 매우 유용한데, 예전에 WebLogic으로 구현했을때는 Apache Proxy Plug in 을 이용했는데, IIS에서도 비슷한 형태로 구현이 가능할듯.. 자료 원본 : http:..

WCF REST 프레임웍에서 Http Header Control하기

당연히 될줄 알았지만 생각보다 쉽게 된다. == 15 private void SetCaching(WebOperationContext context, DateTime lastModifiedDate, Int32 maxCacheAge){ 16 17 // set CacheControl header 18 HttpResponseHeader cacheHeader = HttpResponseHeader.CacheControl; 19 String cacheControlValue = String.Format("max-age={0}, must-revalidate", maxCacheAge); 20 context.OutgoingResponse.Headers.Add(cacheHeader, cacheControlValue); 21 ..

WCF로 REST 개발이 된다. VS 2010에서 세팅하기

WCF가 예전에 REST 지원한다는 이야기가 생각나서, SDP 플랫폼 구현 가능성 체크해볼라고 간략하게 체크해봤다. WCF에서 REST개발은 별도의 라이브러리가 필요하다. VS2010환경에 낮선 나로써는 좀 더 쉬운 방법을 찾아야 했는데, Project Template이 REST용으로 세팅되어 있는게 있다. New > Project에서 Online Template을 선택한후에, WCF REST C# 템플릿을 선택하면 된다. 자동으로 생성된 코드를 체크하고, 간단하게 테스트를 해봤는데... 일단 잘된다. 프로그래밍 모델도 자바의 Jersey나 Apache CXF와 비슷하다 (JAX-RS 스펙과 유사) [ServiceContract] [AspNetCompatibilityRequirements(Requirem..

WCF가 몬가 했더니..

간단하게 튜토리얼 보고 테스트 프로그램 하나 짜서 송수신 전문을 봤더니... 송신 전문 http://tempuri.org/IEvalService/GetEvals urn:uuid:489b8c48-e094-418e-8f6b-60321ffc9d38 http://www.w3.org/2005/08/addressing/anonymous 수신 전문 http://tempuri.org/IEvalService/GetEvalsResponse urn:uuid:dfac6ed4-fbcc-46d6-9fd8-38ed4604aa4c 2010-06-25T02:50:53.419Z 2010-06-25T02:55:53.419Z 0 24 pxd/ozyLoq7PsUk2mw2X2A== 3eijqwLZYaqrBjcduAkjow== OHkE4mba4..

RDP Video redirection

RDP 프로토콜의 문제점중 하나가, 멀티미디어 재생에 대해서 서버에서 렌더링해서 화면을 캡춰해서 내려 보내기 때문에 서버의 CPU 사용량이 높아지고, 화면이 부드럽지 못한 문제가 있다. (Remote Fx이전에..) 이런것을 해결하기 위해서 고안된 기술이 Video redirection이다. 위에가 그 RemoteFx 이전 (RDP 7.1)이전에 Video redirection을 사용하기 전후 데모이다. RDP Video redirection에 대한 정보는 여기 http://blogs.msdn.com/b/rds/archive/2009/07/24/multimedia-redirection-improvements-in-windows-7-and-ws2008-r2-part-1.aspx == 추가 정보 1) Is ..