Free ebook: Programming Windows Phone 7, by Charles Petzold


Mobile 및 Tablet시장에서 Apple과 Google에게 죽쑤고  있는 MS사에서 칼을 빼들었습니다.

Windows Phone 7개발 툴을 Free로 인터넷으로 공개를 했고, 심지어 개발책도 pdf, epub, mobi 3가지 확장자로 공개를 해버렸더군요.


MS사에선 Apple과 Google의 정책을 보고 벤치마킹하여 개발자들이 개발을 쉽게 할수 있도록, 개발자를 많이 있어야 많은 Windows Phone 7 기반의 어플을 만들도록 장려하려는 모습이 보입니다.

쉽게 말해서 Windows Phone 생태계를 만들고 시장을 넓혀서  Android와 iOS의 영역을 차지하겠다는 M$사의 원대한 계획이 있다만 과연 성공할지는 미지수.


Windows API책을 쓴 Charles Petzold씨의 책을 무료로 나눠주다니 이건 좀 혁명이군요. 대충 훑어보았는데 이북이 무료라고 해도 서점에서 돈주고 파는 비싼 책이고, 찰스 페졸드(Charles Petzold)씨라는 보증수표가 있기까지 한 질 높은 수준의 책입니다. 

Windows Phone 7개발을 언젠간 할 것같아서 틈틈히 공부해야겠는데, 이런 책을 공짜로 공개를 하니 틈틈히 보고 있습니다.

소스코드를 보니 Android 개발과 거의 흡사한 면이 있는지라 금방이해를 하긴 하군요. 그렇다만  C# 과 .NET은 자세히 모르니 노력을 해야겠지만요.

MicrosoftSilverlightProgrammingforWindowsPhone7
카테고리 과학/기술 > 컴퓨터
지은이 Petzold, Charles/ / (MicrosoftPr, 2010년)
상세보기


ProgrammingWindowsPhone7MicrosoftXNAFrameworkEdition(Paperback)
카테고리 과학/기술 > 컴퓨터
지은이 Petzold, Charles (Microsoft-press, 2010년)
상세보기



문제는 Windows Phone 7만 개발해선 개발자가 먹고 살기 힘들다는거죠... 이런 문제로 M$사에서 데스크탑, 태블릿, 심지어 스마트폰에서도 돌아갈 Windows 8 Preview를 보여주면서 Windows기반으로 어플들을 개발해달라는 메시지를 많이 접합니다.


아래는 저의 주절 거림.

MS사에선 MFC, C/C++로 된 개발대신 C#, .NET으로 쉽게 개발해달라고 하지만... 현실은 녹록치 않습니다 -_-;; (기존 코드 재활용도 해야하고 C++로 개발해야하는 대형 프로젝트가 많다보니 과연)

앞으로 데스크탑 기반 MFC로 된 프로그램들이 모바일 기반 C#과 .NET으로 된 프로그램으로 바꿔달라는 프로젝트가 늘어날듯한 생각은 하지만, Legacy를 위해서나 임베디드 그리고 오픈소스 개발쪽을 하기 위해선 C/C++, Python, Java, Web도 꾸준히 공부해야 합니다. (개발자로서 전문가로서 일할 수명을 늘릴려면 꾸준히 공부해야함)




Buy me a coffeeBuy me a coffee

2011년 9월 17일.

Onoffmix에서 Windows Phone 7 앱 개발 과정 - 2011년 두번쨰 세미나가 있었습니다.

평소에도 모바일에도 관심 많았던지라, Windows Phone 7 앱 개발 과정 - 2011년 두번쨰신청을 하였습니다.


이번에 발표된 Windows Phone 7 SDK를 설치하고 나서, 토요일 당일 "라영호 MVP"님의 Windows Phone 7 세미나를 들었습니다.


우연히도 파워블로거이신 아크몬드(@archmond)님을 뵙게 되어서 반가웠구요.

잠깐 세미나 쉬는 도중 windows 8 preview 버전도 직접 눈으로 확인했구요. (Metro UI가 마음에 들어오 ㅎㅎ)

관련링크: 새로운 윈도우 8을 만났습니다 포스트 작성과정도 눈으로 확인하였습니다.


아래 링크는  "라영호MVP"님이 세미나 발표하는 중에 아크몬드님이 찍은 사진입니다.

http://instagr.am/p/NS4DK/


세미나를 듣다보니 Android 개발을 했던 사람인지라, Windows Phone 7의 개발이 별반 차이 없다는걸 느꼈습니다. 차이라면 Java와 C# 정도의 차이? (각 지방의 사투리 같은 느낌의 Java와 C# 으로 개발하는거라 다른 플랫폼보다 개발 진입 장벽이 매우 낮습니다) 

세미나 들으면서, Android와 병행 개발이 가능하겠다는 생각을 하게 되더군요.

Android의 경우 2년정도 작업해보다보니깐, 이제야 제대로 된 개념을 잡게 되었는데, Windows Phone의 경우도 개념이 Android와 비슷하다 보니 6개월이면 금방 익힐듯 하네요.

개발하는 과정을 보니 Android와 달리 정말정말 개발하기 쉽기 때문에 재미가 있었습니다.


아래는 저의 주절거림입니다.

앞으로 Windows Phone 7이 성공할지는 아직도 모르겠습니다. 현재, Android와 iPhone으로 양분된 레드오션(red ocean)의 모바일 시장에서 M$사가 성공할 확률은? Google이나 Apple이 삽질을 하면 M$가 Windows Phone으로 점유율을 높일 수 있겠다만요.

M$사의 강점은 많은 범용 OS점유율을 가지고 있으며, 킬러 애플리케이션인 Office등을 가지고 있다는 거라지만, 현재 모습은 모바일 시장에 적응 못하여 정신 없이 가라앉고 있다는 배라고 보이긴 합니다만...

그러나 Windows 8의 Preview를 보면 태블릿 시장에서 성공할거란 생각도 해보군요.

아직까진 M$사가 성공할지 잘 모르겠습니다. 

Windows 8의 공개 그리고 데스크탑 그리고 모바일 모두 .NET과 C#을 권유하는 M$사의 정책을 볼때 .NET과 C# 어플리케이션도 개발해야하는 점이 있으니 모바일도 해야되긴 하지만요.

여기까지 저의 횡설수설 주절거림이였습니다.

Buy me a coffeeBuy me a coffee

요즘 작업하는데 Windows 기반으로 프로그래밍을 하게 되덥니다.
Linux 또는 BSD기반으로 웹 프로그래밍 또는 시스템 프로그래밍을 하기엔 그리고 아이폰 및 아이패드용 어플과 안드로이드 기반 어플 개발할때엔 순정 맥북프로가 좋지만 Windows 기반 프로그래밍을 하려면 어쩔 수 없이 Windows 을 설치해서 사용해야되더군요. ㅠㅠ

제 맥북프로(MacBook Pro)는 부트캠프(BootCamp)를 이용하여 Windows 7를 설치하였습니다.

내가 M$사의 노예가 되다니... OTL
Buy me a coffeeBuy me a coffee

출처: http://ie6countdown.com/ 


세계 각국의 Internet Explorer 6 점유율 지도입니다.

2011년 2월 28일자 통계수치를 이용하여 표시한 지도입니다.

지도를 보니 2001년도 8월달에 나온 Internet Explorer 6를 중국과 한국등 동아시아권에서 많이 사용한다는 걸 알 수 있습니다.

아직도 Internet Explorer 6를 고수하는 건 뭘까요? ActiveX때문 아님 불법복제로 일부로 익스플로러를 업그레이드를 못하는 경우일지도? (XP SP2로 업그레이드 하기 전까진 XP SP1이하 사용자들은 IE7을 설치할 수 없습니다.)

프랑스와 독일은 보안 취약점이 있는 Internet Explorer 때문에 자국민들에게 인터넷 익스플로러 사용을 자제하라고 권고한 바 있었고, 구글은 G메일과 구글 독스(Docs), 캘린더 등 자사 서비스가 2010년 3월 1일부터 IE 6에 대한 지원을 중단하였습니다. 이유는 IE 6가 웹표준을 지키지 않는데다 보안이 취약하다는 것이지요. 

구글이 아예 IE 6에 대한 지원중단을 한 직접적인 계기는 중국에서 벌여진 구글 중국지사에서의 지메일 해킹 사건 때문입니다. 해킹을 당한 컴퓨터가 Internet Explorer 6이 깔려 있었기 때문이라고 합니다.(보안이 철저한 구글에서도 이 사건을 계기로 직원들에게 Windows 사용 금지령이 떨어졌으며 업무용 컴퓨터를 지급해도 Linux 또는 맥 중 하나를 선택하라고 하지요)  

출처: Google ditches Windows on security concerns 

구글에서는  “최근 중국으로부터 브라우저의 취약점을 파고든 정교한 사이버 공격으로 문제가 발생했고 향후 비슷한 사건의 방지를 위해서도 사용자들이 브라우저를 업그레이드할 것을 권장한다”고 밝혔습니다.

구글은 인터넷 익스플로러7 버전 이상, 파이어폭스 3.0 이상, 구글 크롬 4.0 이상, 애플 사파리 3.0 이상의 브라우저를 사용해 줄 것을 당부했었지요.

이렇다 보니 외국에선 IE6를 많이 사용하지 않습니다. 주로 쓰는 동네는 위의 지도에서 보듯 불법복제가 만연하며, ActiveX 기술을 흔하게 쓰는 중국, 한국등 동아시아 국가들...



Buy me a coffeeBuy me a coffee

Nokia CEO Stephen Elop and Microsoft CEO Steve Ballmer announce partnership during press conference at Nokia Strategy and Financial Briefing on Friday February 11, 2011


Nokia사와 MS사간 장기 파트너쉽 체결. 

Nokia사와 MS사간 손잡는건 몇년전에는 상상도 못했던 일입니다. 

Nokia사 사장이 전 MS사 임원이라서 그런건가? 이제 모바일 천하삼분지계(Apple iPhone + Google Android + MS+Nokia Windows Phone)가 완성되는군요? 모바일 시장의 격동이 예상됩니다.


구글 부사장인 Victor Gundotra가 “Two Turkeys Do Not Make an Eagle”(두 마리의 칠면조로는 독수리를 만들 수 없다)라고 하였지만 (두 마리의 칠면조는 Nokia사와 M$사) 제 생각엔 아닐수도 있다고 생각합니다.

출처: Google’s Gundotra On Nokia/Microsoft Rumors: “Two Turkeys Do Not Make an Eagle”

Nokia사와 MS사가 한배를 탔습니다. 두 회사는 지금 Apple사와 Google사의 파상공세때문에 서로 도박을 하게 되었지요. 도박에서 성공할 것인지, 망해서 망할지는 지금 알수 없다만, 모바일 업계의 빅뱅은 이제 시작되었다고 볼 수 있을겁니다.

모바일 춘추전국시대 아니 모바일 천하삼분지계가 드디어 완성(?)되었습니다.


이제 슬슬 모바일 업계의 미래를 예측해보는 것도 흥미진진할듯 합니다.


ps. Symbian은 이제 죽었구나.

ps2. Intel과 Nokia와 합작해서 만들던 Meego는 이제 어쩔?

ps3.Nokia에서 밀고 있던 Opensource project인 QT와 KDE, Meego 등등의 미래가 암울해집니다.

ps4. Nokia사가 단순힌 모바일 하드웨어 제조 업체에서 Apple사처럼  제조업+서비스업체까지 점유하려고 했다만 실패하였습니다. MS사와 손잡고 MS사의 서비스를 이용한 MS사의 플랫폼을 받춰주는 하드웨어 제조 업체로 다시 회귀한 것 같습니다. 그동안의 Nokia의 전략이 거의 실패했다는 것이지요. Nokia사의 사용자로서 아쉽습니다.

Buy me a coffeeBuy me a coffee




만약 Visual C++ 6.0에서 작성된 MFC 어플 소스코드를 가지고 작업하다 컴파일이 안될 경우가 있습니다.

아래와 같은 예가 나오면


playmmsound.cpp(53) : error C2440: 'static_cast' : 'LRESULT (__thiscall CPlayMMSound::* )(WPARAM,LPARAM)'에서 'void (__thiscall CWinThread::* )(WPARAM,LPARAM)'(으)로 변환할 수 없습니다. 대상 형식과 일치하는 범위에 이름이 같은 함수가 없습니다.


함수의 선언과 구현부의 LRESULT를 void로 바꿔야 제대로 돌아갑니다.



// for Thread messages

#define ON_THREAD_MESSAGE(message, memberFxn) \

    { message, 0, 0, 0, AfxSig_vwl, \

        (AFX_PMSG)(AFX_PMSGT) \

        (static_cast< void (AFX_MSG_CALL CWinThread::*)(WPARAM, LPARAM) > \

        (memberFxn)) },


위가 ON_THREAD_MESSAGE의 매크로의 정의입니다. 위에서 보면 void 함수를 받도록 되어 있습니다.

그러나 LRESULT 타입과 void 타입은 다르기 때문에 문제가 있습니다.

Visual Studio 2008,2010에서는 Visual C++ 6.0보다 엄격한 규칙을 적용하기 때문에, 기존에 허용되던 형변환이 허용되지 않아서 생기는 문제인것 같습니다.

쉽게 말해서 LRESULT로 선언된 메소드와 구현 부분을 전부 void type으로 바꿔야 제대로 돌아간다는 이야기입니다.


Buy me a coffeeBuy me a coffee

HTML 5 speed test: Internet Explorer 9 vs. Chrome 6

IE(Internet Explorer)9 'test drive' HTML5 예제는 정말 판타스틱이라는 말이 나옵니다.

IE9에서 HTML5를 보여줄때 하드웨어(GPU) 가속을 사용해서 정말 빠르게 보여줍니다. 다만 Chrome과 Safari는 하드웨어 가속을 사용안하므로 -_-;; 

그렇지만 Chrome과 Safari가 하드웨어 가속을 사용하면 IE9를 누를것이 보임.

MS사에서 현재 만들고 있는 Internet Explorer9에서 웹 표준 준수를 열심히 하는 노력을 보니 이전 버전보단 박수를 치고 싶긴 하다.


Buy me a coffeeBuy me a coffee

윈도폰7 베타기기와 아이폰, 넥서스원(2.2)의 웹브라우징 비교 동영상입니다.

이번에 나올 Windows Phone 7, Android 폰(넥서스원, Froyo탑재), 아이폰과의 웹브라우징 비교 영상을 보니 MS사도 조만간 Windows Phone을 출시하겠구나를 알게되더군요.

MS사에서 Windows Mobile 릴리즈의 하위호환성을 전혀 배제하고, 오로지 Windows Phone 7에 엄청 많이 투자하였는데, 그 결실이 어떻게 될지 궁금하군요.

이제 MS사도 Apple과 Google, RIM, Nokia로 양분되는듯한 모바일 시장에 나서니 모바일 춘추전국시대로 나아가는군요.

Buy me a coffeeBuy me a coffee
Buy me a coffeeBuy me a coffee



우리은행 오픈뱅킹


우리은행에서 국내 최초 멀티 OS, 멀티 웹브라우저 오픈뱅킹 출시를 하였다고 합니다.


- 매킨토시와 리눅스에서도 인터넷뱅킹이 가능한 -
우리은행,『우리오픈뱅킹』서비스 실시
- 국내 금융기관 최초로 멀티 운영체제 및 웹브라우저를 지원하는 인터넷뱅킹 서비스
  - OTP발생기 사용 의무화와 가상키보드 도입 등으로 인터넷뱅킹 보안 더욱 강화시켜 
  - 주요 서비스 이미지를 최소화한 텍스트 뱅킹서비스 구현으로 빠른 서비스 제공

우리은행에서 선보이는 우리 오픈 뱅킹은 아래와 같이 OS에 종속되지도 않고, 멀티 OS지원, 멀티 웹 브라우저를 지원한다고 합니다.

  1. W3C인증을 획득한 웹표준 인터넷뱅킹입니다.
  2. 윈도/맥/리눅스 환경에서 IE/Safari/Firefox/Chrome/Opera 등 다양한 웹브라우저를 지원합니다.
  3. 텍스트 기반이라 빠르며, 주요 화면 키보드 단축키 적용으로 편리한 이동이 가능합니다.
  4. 이체 거래시 OTP발생기 필수사용으로 보안이 더욱 강화되었습니다.

참고로 OTP가 있어야 인터넷 뱅킹이 가능합니다. 대한민국에서 SSL기반의 뱅킹이라는건 혁명입니다.


우리은행 직원분이 클리앙에서 우리은행 오픈뱅킹(웹표준) 7월 9일 출시 에 사람들이 궁금해하는 내용을 아래와 같이 정리를 하였습니다.

1. 오픈뱅킹은 100% 웹 기반으로, 사용하시는 웹브라우저로 접속하시면 됩니다.
2. 공인인증서 사용을 원치 않으실 경우 아이디/패스워드로 로그인 후 조회는 가능하나 이체가 불가능합니다. ㅠㅠ
3. 현재 법규상 '접속 시 우선적으로 방화벽, 키보드 보안 프로그램 등을 설치'하도록 되어 있습니다.

4. 보안 프로그램 사용을 원치 않으시는 경우 간단히 해제 및 삭제하실 수 있습니다.
5. 스마트폰에서의 직접 접속은 앞서 말씀드린 '보안 프로그램 우선 설치' 때문에 아직 논의 중입니다.


Windows에서 IE의 ActiveX기술을 이용한 공인인증서와 nProtect를 꼭 사용해야하는 인터넷 뱅킹이 아닌 외국처럼 어느 플랫폼에서 어느 웹브라우저를 쓰든 SSL+OTP로 인터넷 뱅킹을 할수 있게 되었습니다^^

Windows XP + Ubuntu 10.04 (Linux)에서 주로 Firefox와 Chrome을 쓰고 있는 저로서는 정말 반가운 소식입니다.

이제 은행 업무를 하기 위해 Ubuntu에 virtual box에 Windows XP를 까는 일을 하지 않아도 되겠군요.


ps. 스마트폰(hTC Desire)용 모바일 뱅킹때문에 하나은행으로 쭉 썼는데, Ubuntu를 쓰고 있는 저로선 우리은행으로 주거래 은행을 바꿔야할지 고민입니다.^^ 

ps2. 당장 우리은행에 가서 OTP발급을 받아야되겠습니다^^

Buy me a coffeeBuy me a coffee

+ Recent posts