드디어 윈도우폰(Windows Phone) 7에 대한 실체가 MWC에서 들어났네요.
여러 곳에서 잘 요약을 하셔서 제가 특별히 다시 정리하지는 않을 생각입니다만
몇 가지 개발자 입장에서 중요한 점들에 대해서 이야기를 해볼까 합니다.


윈도우폰7관련 소식은 MS 서진호 차장님 블로그를 참조하세요.
http://blogs.msdn.com/jinhoseo/default.aspx

또한 영문으로 윈도우폰7에 대해 잘 요약된 글이 있어서 링크를 겁니다.(영문)
http://gizmodo.com/5471805/windows-phone-7-series-everything-is-different-now

한국어로 잘 정리한 자료도 링크 겁니다.
MS제국의 역습, '윈도폰 7 시리즈'

제 의견을 약간만 덪붙이면, 일단 기존에 윈도우모바일을 버리고 완전히 새롭게 디자인된 것으로 보이구요.
제가 알고 있기로는 몇 년 전에 계획하던 윈도우폰7의 모습과도 전혀 다른 형태로 발표가 되었네요. 특히 기대했던 것처럼 Zune 기능이 들어가 있고 거기다 추가로 XBox Live기능도 추가되어 있습니다. 이제 진정으로 아이폰과 승부할 수 있는 디바이스가 탄생할 수 있을 것 같다는 생각이 듭니다.

발표자료 중에 출시를 위해 협력중인 OEM과 사업자에 대한 이야기가 있었습니다.

마이크로프로세서는 퀄컴(Qualcomm)쪽과 협력중에 있다고 했습니다.

윈도우폰7 런치를 위해 협력중인 OEM: Samsung, LG, Garmin, Asus, HTC, HP, DELL, Sony Ericsson, Toshiba

윈도우폰7 런치를 위해 협력중인 사업자: T-Mobile, Telefonica, Sprint, Vodafone, AT&T, Orange, SFR, Verizon, Telstra, Telcom

역시 우리의 삼성과 LG는 협력중인 OEM에 들어가 있지만 국내 사업자인 SKT나 KT는 보이지가 않네요. 그러므로 국내에서는 윈도우폰7을 올해 안에 볼 가능성이 좀 희박하지 않을까 싶은데요. 제 소식통에게 한 번 문의해봐야 겠네요.

또한 기존 윈도우모바일과 차별되는 점이 MS에서 직접 모든 윈도우 폰에서 비슷한 UI가 제공되도록 어느정도의 통제를 할 것 같습니다. 일단은 기존처럼 커스터마이즈 가능한 Today screen이 제공되지 않는 것 같고 커스터마이즈 가능한 부분들이 더 줄어 들 것으로 예상이 됩니다.
또한 하드웨어 사양도 정해진 사양을 만족하는 디바이스만 만들 수 있을 것 같습니다. 그래서 사용자에게 좀 더 통일된 사용자 경험을 전달하는 것이 주요 목표 중에 하나로 보입니다. 그동안 디바이스 별로 너무 중구난방이긴했으니까요.

일단 OS의 세부적인 내용이 좀 더 공개되야 확실하겠지만 기존에 쌓아왔던 개발지식은 많은 부분을 버리고 다시 시작해야할 가능성이 높아 보입니다. 일단 현재 Zune의 SDK가 없지만 XNA 라는 프레임워크를 통해서 게임 개발은 가능합니다. 제 생각으로는 윈도우폰7 개발을 준비하실 분들은 XNA에 대해서 대략적으로라도 한 번 살펴보는 것이 도움이 되지 않을까 생각됩니다. 참고로 XNA는 C#을 사용해서 개발합니다. 저같이 native code가 더 익숙한 개발자에게는 더 배워야할 것이 많을 것 같네요.

어찌되었든 새로 발표된 윈도우폰7을 보면서 그래도 MS가 죽지는 않았구나 라는 생각이 들더군요. 개발자에게는 공부해야할 것이 많아질 수 있겠지만 그만큼 또 새로운 기회가 생기는 것이 아닌가 생각됩니다. 개발자 여러분 공부 열심히 합시다!!! ^^





저작자 표시 변경 금지
신고


안녕하세요. 미투데이지 모바일(Me2DayZ Mobile) 0.15 베타버전을 배포합니다.
사진 업로드 기능이 추가되었습니다.

다운로드:


역시 최소한의 UI처리만 했습니다.
현재 메뉴에서 '사진첨부'가 선택 가능하시고 전송전에 프리뷰 기능은 없습니다.
사진 선택 후 메뉴에서 '사진첨부 해제' 메뉴 선택으로 해제가 가능합니다.
그리고 종료 메뉴도 추가했습니다.
좀 제대로 된 UI작업은 기본적인 글올리기 기능이 어느정도 완성된 후로 미루고 있습니다.
어차피 기능 추가하면서 계속 바뀌어야하기 때문에 나중으로 미루고 있습니다.

스크린샷 포함 기능 설명은 추후에 다시 업데이트하겠습니다.
(오늘은 벌써 새벽2시라서...T.T)

아직 적절한 보호 장치가 없으니 사진첨부 후에 까먹으시고 의도하지 않은 사진 업로드가 없도록 주의해 주세요.
다음 버전은 관련 부분 좀 보완해서 빠른 시일내에 다시 릴리즈하겠습니다.
사용하다가 불편하거나 이상한 점이 있으시면 언제든 알려주세요.

* 처음 사용하시는 분은 아래 글의 사용법부터 확인해 주세요.
--> Me2DayZ Mobile v.0.12 beta 업데이트
저작자 표시 변경 금지
신고


안녕하세요.
미투데이지 모바일은 윈도우 모바일 단말에서 사용가능한 미투데이 어플입니다.
아직 단순히 글 올리는 기능만 지원하고 있습니다.

이번 버전에서는 기능상 변경되는 것은 없고
UI 레이아웃이 여러 DPI나 해상도에 맞게 조절이 되도록 수정했습니다.
이번 버전은 특별히 옴니아에서도 직접 테스트를 해봤습니다. ^^;
사용법은 예전 글을 참고하세요. [여기를 클릭]

파일 받기:


참고로 숫자는 포스트시 사용할 아이콘 번호(이미지 대신), 그리고 체크박스는 모바일 댓글 받기입니다.

요즘 업데이트가 너무 뜸했는데 다시 약간 분발을 해보려고 하고 있습니다.
현재 준비 중인 것은 다음과 같습니다.

- 포스팅을 위한 API를 오픈 소스로 공개
- 사진 올리기 기능 추가
   (기본 테스트는 1월에 완료 했는데 반년이 넘게 기능 추가를 못하고 있네요 ㅡ.ㅡ; )
- 포스팅 시 아이콘 이미지로 선택
- 트위터 동시 포스팅 (포스팅 되는 것도 지난 달에 이미 테스트했었죠)

아직 글을 읽는 부분은 준비중입니다. 이건 좀 시간이 걸릴 것 같네요.
사용하시다가 불편한 것 있으시면 말씀해 주세요.
참고하도록 하겠습니다.
신고


순수히 소프트웨어 개발자 입장에서 윈도우 모바일 폰 개발이 어떻게 이루어지는지 간략히 정리해 보았다.
나도 모든 과정을 자세히 아는 것이 아니라서 대략 이런 과정들을 거치겠구나 정도 수준에서 이해하면 될 것 같다.
그리고 일부 과정은 꼭 윈도우 모바일이 아닌 많은 임베디드 시스템에서 유사하게 거치는 과정으로 볼 수 있다.

1. 제품기획
기획하는 사람이 시장의 흐름과 회사의 전략에 맞게 필요한 하드웨어와 소프트웨어 스펙을 정하고 어떠한 모양의 기구를 사용할 것인지 정한다. 물론 기획하는 사람 혼자서 할 수 없는 일이고 각 분야의 전문가들의 의견을 구해서 기본적인 폰의 컨셉을 정한다.

2. 기구 및 하드웨어 설계
기본 컨셉과 사양이 정해지면 거기에 맞는 기구와 하드웨어 설계에 들어간다.
보통 기구 디자인은 미리 준비가 되어 있는 경우도 많이 있겠지만 하드웨어의 경우 슬라이드 나 바타입 등 기구 특성에 맞게 부품을 구성하고 하드웨어를 설계한다.
보통 하드웨어 하는 사람들의 특성이 가능한 싼 하드웨어를 사용하려고 하지만 얼마나 소프트웨어 개발이 쉬운지가 반드시 고려가 되어야 하는 부분이다. 좀 더 싼 하드웨어를 사용하더라도 소프트웨어 개발비용이 엄청나게 증가할 수도 있기 때문이다.

3. 소프트웨어 개발 시작
초기 하드웨어 설계가 확정되면 테스트 보드를 만들고 실제 소프트웨어를 올리는 작업이 시작된다.
소프트웨어를 올리는 초기 과정을 보드 브링업(bring-up) 이라고 한다.
테스트 보드에서 기본적인 하드웨어 초기화 하고 CPU가 부팅이 되도록 처리하는 과정이다.
실제 이러한 과정을 통해서 부팅 후 OS혹은 커널이 제대로 돌아가고 필요한 드라이버들을 올리고 하드웨어를 테스트할 수 있는 테스트 프로그램을 수행하는 절차를 거친다.
이 과정에서 하드웨어적인 오류들이 발견되고 보통 몇 번의 하드웨어 수정 과정을 거친 후 최종 하드웨어 설계가 확정되게 된다.

사실 업계에서 일을 시작하기 전에는 CPU부팅 및 다양한 하드웨어 초기화를 위해서 하드웨어 및 소프트웨어에 대해 많은 지식과 경험이 필요할 것으로 생각했으나 막상 업계에서 일을 하다가보니 실제 중요한 부분은 이미 주어져 있는 경우가 많이 있다는 사실을 알게되었다.
즉, 요즘의 CPU나 기타 하드웨어 업체는 하드웨어와 하드웨어 매뉴얼만 팔지 않는다. CPU의 경우 해당 CPU를 기반으로 만든 레퍼런스 보드가 있고 그 보드에서 기본적인 동작을 확인할 수 있는 소프트웨어가 올라간 BSP(Board Support Package)를 제공하고 있다. 그래서 그런 BSP를 기반으로 개발을 시작하는 경우가 대부분이다. 물론 실제 단말과 레퍼런스 보드와 하드웨어 구성이 다르게 때문에 BSP에서 제공된 코드를 기반으로 필요한 부분을 수정하거나 새로 만들거나 해야 하지만 달랑 CPU와 CPU매뉴얼만 가지고 시작하는 것보다는 엄청 빠른 속도로 소프트웨어 개발을 하는 것이 가능하다. 그리고 하드웨어 구성이 레퍼런스 보드와 유사하다면 많은 노력없이도 소프트웨어가 기본적으로 동작하도록 만드는 것이 가능하다. 물론 BSP 소스의 완성도는 낮은 편이라서 상용화를 위해서는 이미 돌아가는 코드이더라도 보완하고 버그를 수정하고 해야만 한다.
CPU뿐만 아니라 블루투스나 다른 칩셋 같은 것을 파는 하드웨어 업체들도 직접 드라이버를 개발해서 제공해주는 경우가 많고 이미 이제는 그렇게 하지 않으면 하드웨어를 팔 수 없는 환경이 되어버렸다.

image of reference board
[source : windowsfordevices.com]

4. 윈도우 모바일 개발 과정
윈도우 모바일 5.0 버전부터는 윈도우CE 5.0 커널을 기반으로 만들어 지고 있다. 윈도우 모바일의 경우 윈도우CE의 커널을 거의 그대로 가져와서 약간 다른 쉡(shell)을 입히고 만들어 졌다. 그래서 실제 내부적으로는 윈도우 모바일과 윈도우CE 개발 과정에서 유사한 점이 상당히 많다.
윈도우CE의 경우 플랫폼 빌더(Platform Builder)라는 툴을 사용해서 OS를 만든다. 윈도우 모바일의 경우는 Adaption Kit 혹은 Adaptation Kit Update라는 이름의 툴로 OS 개발을 한다. AK혹은 AKU는 플랫폼 빌더의 커맨드 라인 버전이라고 보면 된다. AKU관련해서는 제조사에서 NDA(Non-Disclosure Agreement) 를 맺기 때문에 공개적인 곳에서 AKU관련 질문이나 이야기를 할 수 없게되어 있다. 하지만 개발 과정이 윈도우 CE와 공통된 점이 많기 때문에 특정 문제에 대해서는 윈도우CE 관련 된 자료를 통해서 문제점들을 해결해 나갈 수 있다.

OEM에서 소프트웨어 개발에 필요한 부분은 크게 부트로더 및 OAL(OEM Adaptation Layer) 개발, 드라이버 개발, In-ROM 소프트웨어 개발 등으로 나눌 수 있다.
OAL은 MS가 만든 OS와 그 밑에 하드웨어 사이를 연결해 주는 포팅레이어로 OEM에서 특정 하드웨어 위에서 MS OS가 돌아갈 수 있도록 해준다.
OS가 정상적으로 부팅이 되면 다양한 하드웨어나 OS와 인터페이싱을 제대로 할 수 있도록 드라이버들을 작성하는 일이 필요하다. 그리고 롬에 탑재될 다양한 소프트웨어 개발이 필요하다.


[source: msdn.microsoft.com - Windows CE Architecture ]

그리고 윈도우모바일 폰에서 가장 중요한 부분 중에 하나는 RIL(Radio Interface Layer)의 개발이다. 사실 RIL관련 부분도 공개적으로 논의할 수 없는 내용이라서 자세히 설명할 수는 없지만 인터넷으로 검색해 보면 약간의 자료를 찾을 수 있다. 보통 윈도우 모바일 같은 스마트폰은 2개의 프로세서(CPU)를 사용한다. PDA는 보통 Application Processor라고 불리는 CPU에서 수행이 되고 실제 통신 기능은 일반폰(Feature phone)에서 사용하는 퀄컴이나 기타 업체의 베이스밴드 칩을 사용한다. 보통 윈도우 모바일이 수행하는 AP와 통신을 담당하는 MP와 프로세서간의 통신이 필요하며 이러한 세부적인 H/W, S/W의 구현은 OEM마다 다르고 개발과정에서 가장 중요한 부분 중에 한 가지라고 볼 수 있다. RIL의 경우는 윈도우 모바일이 돌아가는 AP에서 MP와 통신하기 위한 기능을 제공하는 레이어이고 OEM에서 만들도록 되어 있다. 사실 두개의 CPU간의 통신 기능이 들어가야 하므로 하나의 CPU만을 사용할 때 비해서 통신관련 기능 수행에 약간의 딜레이가 발생하거나 통신과정 중 명령이 제대로 전달이 안되 오류가 발생할 가능성이 생기게 된다. 아마도 이런 이유 때문에 일반폰 대비 스마트폰이 통신 기능이 떨어진다는 사용자들의 이야기가 나오는 것이 아닌가 싶다.

5. 다양한 인증과정
일단 하드웨어 및 소프트웨어가 어느정도 수준에 오르게 되면 H/W 및 S/W를 다양한 인증기관에 시험을 의뢰해야 하고 통과 절차를 거쳐야 단말을 실제 출시할 수 있게된다. 여러 가지 인증 과정 중 가장 중요한 것이 바로 통신사업자 인증과정이다. 이것을 흔희 망연동 테스트라고도 부르며 (줄여서 망연동) 실제 사업자 망(국내는 SKT, KT혹은 LGT)에서 사업자가 단말을 테스트하고 문제점이 없는지 검증하는 과정이다. 물론 단순히 통신 기능뿐만 아니라 사업자에서 정한 다양한 UI스펙에도 부합하는지 확인하고 전반적인 폰의 사용성 또한 체크를 하게 된다. 이러한 과정들은 아무리 빨라도 한 두달 이상 진행하는게 보통이다. 물론 이러한 과정을 진행하기 전에 OEM에서 자체적으로 테스트를 진행하고 어느정도 합격하는데 무리가 없다는 선에서 인증과정에 들어간다. 일부 해외 사업자의 경우 인증과정에서 fail처리가 되면 다시 인증의뢰를 하는데 시간이 오래걸리므로 사전 검증을 통해 오류를 줄이는 것이 매우 중요할 수 있다.

6. 양산과 마케팅
일단 다양한 인증기관과 최종적으로 사업자의 승인이 나게되면 본격적으로 단말의 대량 양산을 시작하게 된다. 그와 동시에 혹은 그 이전에 다양한 마케팅 전략을 통해서 출시될 폰에 대해 홍보를 시작하고 필요한 유통경로를 통해서 최종적으로 소비자에 의해서 구매가 된다.

7. 시장문제 대응
폰이 출시되었다고 개발이 다 끝나는 것이 아니다. 일단 단말이 출시되고 어느정도 시간이 지나기까지 발견이 되지 못했거나 중요한 문제가 아니어서 수정을 미뤘던 버그들에 대한 보고가 들어오게 된다. 간혹 매우 치명적인 버그가 발견되기도 하며 이러한 것들에 대해 수정을 해서 사용자들이 업데이트 받을 수 있도록 새로운 바이너리를 만들어서 배포한다.

이상으로 간략히 윈도우 모바일을 만드는 과정에 관해서 살펴보았다. 간략히 설명하였지만 기획부터 개발 및 테스트, 양산 및 최종 마케팅까지 보통 폰하나를 만들기 위해 수백명의 사람들 개발과정에 참여를 하게되는 결코 쉽지않은 과정이다. 혹시라도 관심있는 분에게 조금이라도 도움이 되었길 바라며 글을 마친다.

[업데이트] 영문 위키에 AKU관련되서 약간의 정보가 있어서 링크겁니다.

그리고 RIL관련 기본 정보도 MSDN에 있네요 T.T
원래 비공개된 내용으로 알았는데 생각해보니 Windows CE 6.0에도 이제 관련 기능이 포함되서 기본적인 내용은 더 이상 비공개할 의미가 없는 것 같네요. 
MSDN: http://msdn.microsoft.com/en-us/library/ms890075.aspx
신고


가끔 Minimo에 대해서 질문하시는 분들이 계셔서 관련 글을 씁니다.
Minimo는 모질라 재단에서 비공식적으로 진행된 실험 프로젝트라고 보시면 됩니다.
모바일 단말에 모질라의 브라우저를 올릴 수 있는지 시험해보기 위한 프로젝트였습니다.
거의 한 두명의 개발자에 의해서 주도가 되었었구요.
2007년 말 경에 완전히 개발이 중단이 되었고 대신 모질라 재단에서 공식적으로 모바일 브라우저를 개발한다고 발표를 하고 Fennec (Firefox Mobile) 프로젝트가 시작되었습니다.

Minimo의 경우는 일부 기능이 생략되거나 했었지만 현재 Fennec은 데스크톱에서 사용되는 모질라 플랫폼 실행환경이 XULRunner을 최대한 그대로 포팅해서 개발이 진행중입니다.
윈도우 모바일 버전은 제가 예상했던 것보다 개발이 좀 느리게 진행되고 있습니다. 윈도우 모바일의 고질적인 메모리 문제도 있었지만 현재 XUL Runner 자체를 포팅한 것이 윈도우 모바일에서 돌아가기에는 너무 무거운 경향이 있습니다. 그래서 현재는 거의 최고 사양의 디바이스를 목표로만 테스트가 되고 있습니다. 아마도 개발이 완료가 되도 거의 최신의 고사양 스마트폰 위주로만 사용이 가능할 수 있을 것 같다는 예상이 듭니다.

참고로 Minimo가 중단이 되고 Fennec으로 개발이 이어진 후에 모질라쪽에 소스관리가 CVS에서 Mercurial(Hg)로 변경이 되었습니다. Minimo 소스를 가져다가 빌드를 시도해 볼 수도 있겠지만 현재 관리하지는 않기 때문에 얼마나 문제없이 빌드가 될지는 잘 모르겠습니다. 어차피 현재 모바일쪽 개발은 Fennec이 활발히 진행 중이기 때문에 Minimo에 관심이 있으신 분은 Fennec쪽에 자료를 찾아서 보시는 것이 훨씬 좋을 것 같습니다.

저도 Fennec발표 이전부터 Minimo에 관심을 가지고 있었고 지금은 Fennec에 관심을 가지고 지켜보고 있지만 개인 시간이 너무 없는 관계로 제대로 참여는 못하고 있습니다. 가정을 가지고 맨날 늦게까지 일하는 우리나라 IT업계에 근무하면서 뭔가 제대로 개인 프로젝트를 한다는 것이 참 어렵다는 것을 실감하고 있죠. 혹시 관련해서 궁금한 것 있으시면 답글 남겨주시고 아는 범위에서는 답변을 드리겠습니다.

아래 모질라 Fennec 위키를 보시면 소스를 받아서 빌드하는 방법이 있으니 필요한 분은 참고하세요.


관련 링크: 



신고


안녕하세요.
아주 오랜만에 버전업을 했습니다.
원래 훨씬 이전에 했어야 되는데 여러가지 개인적인 사정으로 많이 늦어졌습니다.
사실 오늘도 아기 병원에서 수술하고 입원중인데 잠깐 짬내서 작업했습니다.
그런데 병원에서 me2day.net은 접속 못하게 막아두었더군요 T.T
(물론 핸드폰으로는 가능합니다)

- 새로 추가된 기능 -
1. 모바일 댓글(SMS) 받기 선택 가능
2. 무선인터넷 자동 접속 기능 추가 (매우 적은 금액이지만 과금이 될 수 있으니 주의하시기 바랍니다. 특히 무선인터넷 접속 후 다른 어플 사용시 과금문제 주의하시기 바랍니다.)
3. 본문 복사학기/붙여넣기 기능 추가

* 아직 UI가 이해하기 쉽지는 않지만. UI 개선은 차차해 나가도록 하겠습니다. 조금 더 기다려 주세요.

아래에 스크린 캡쳐와 더 자세한 설명을 넣었습니다.

[메인화면]
- 본문입력 박스 : Me2Day에 올릴 글을 입력합니다.
- 아이콘 번호 선택: 글을 올릴 때 선택할 수 있는 아이콘의 번호입니다 (추후 번호대신 이미지로 제공하겠습니다)
- 태그입력 박스 : 글에 달린 태그입니다. me2dayzm이 기본적으로 들어가 있습니다.
- 모바일 댓글 받기 체크박스 : 체크를 하시면 올리신 글에 답변을 달 경우 SMS로 받아보실 수 있습니다.

[복사하기/ 붙여넣기 메뉴]
- 복사하기: 본문내에서 복사를 원하는 부분을 선택한 후 메뉴의 '복사하기'를 실행하시면 선택한 내용이 클립보드로 복사가 됩니다.
- 붙여넣기: 본문입력 박스에 커서가 위치한 곳에 클립보드의 내용을 붙여넣습니다.


[설정 메뉴]
- Me2DayZ Mobile 사용에 필요한 아이디와 사용자키 입력화면입니다. 암호화없이 단말에 저장되니 주의하시기 바랍니다. 삭제를 원하시면 임의 값을 입력하시고 OK를 눌러주세요.
* 주의: 모든 Me2APP은 '환경설정 > 기본정보 > me2API 사용자 키' 를 암호대신 사용합니다.

[프로그램 정보]
간단한 프로그램 버전 및 관련 정보를 제공합니다.

아직 부족한 점이 많이 있습니다.
사용 후에 의견이나 문제점 남겨주시면 최대한 반영하도록 하겠습니다.
감사합니다.

다운로드:
신고


작년 8월에 미라지(SCH-M480)로 핸드폰을 바꾸면서 4개월간 싱크메일 서비스에 의무 가입이라 사용을 했었다. 개인적으로는 그다지 이점이 없어서 4개월 사용후 해지하고 데이퍼 퍼팩트 정액제로 갈아탔다.
내가 개인적으로 느낀 사용소감 몇가지만 정리해 보았다.

1. 실시간 이메일 체크
일단 실시간으로 이메일을 확인할 만큼 긴급한 일도 없을 뿐더러 별로 그럴 만한 사람이 얼마나 될지도 좀 의문이 든다. 여러가지로 생산성 향상을 위한 글을 읽어보면 이메일을 자주 체크하는 것이 생산성에는 마이너스라고 많이 언급되어 있다. 그리고 긴급한 일이 있으면 전화를 해야지 이메일로만 연락하는 사람은 드물 듯.

2. 회사 메일 확인 불가
일단 회사에서 Exchange Server가 구축이 되어 있지 않으면 syncmail서버로 이메일을 포워딩 해야 한다. 개인 메일이야 포워딩해서 받아도 큰 문제는 없지만 기밀사항이 들어간 회사 메일을 외부 서버로 포워딩 한다는 것은 있을 수가 없다. 우리 회사는 Exchange Server를 사용하지 않기때문에 싱크메일로 회사 메일을 확인하는 것은 불가능한 일이었다. 더욱더 싱크메일이 가치가 사라지는 이유 중 하나이다.

3. 정액제로 이메일 첨부 및 전송 무제한으로 사용 가능
사실 이메일에 첨부파일이 포함되어 오는 것 굳이 핸드폰으로 많이 확인할 필요 없다. 4개월동안 그냥 궁금해서 엑셀 파일 한 번 폰으로 받아서 본 것 밖에 없다.


데이터 퍼팩트 정액제 전환 이유

1. 일단 이메일은 몇시간에 한 번 정도 체크해도 되고 긴급한 일이 있을경우 수동으로 이메일 체크를 사용해도 충분하다.
2. 비슷한 가격으로 이메일 외의 다른 데이터 서비스도 사용이 가능하므로
내가 주로 사용하는 서비스는 버스도착시간 확인이나 미투데이지 모바일 정도 아주 가끔 웹서핑을 하는데 실제 거의 안한다. 물론 정액제로 최소한 수백메가 이상 사용이가능하면 웹서핑은 좀 더 자주 할 수도 있겠지만.

데이터 퍼팩트 정액제로 실제 한달에 사용할 수 있는 전송량이 대략 30~40메가 선이지만 이메일 자주 쓸일 없는 사람들에게는 적당하고 간단한 데이터 서비스도 사용가능하니 개인적으로는 싱크메일보다는 훨씬 나은선택이다.

SKT가 데이터 정액제가 많이 부족한데 좀 더 저렴한 가격으로 좀 안심하고 마음껏 쓸 수 있는 요즘제가 나왔으면 좋겠다.

참고로 아래 링크에 이통사 3사 데이터 요금제 관련해서 아주 잘 정리된 자료가 있으니 참고하시기 바란다.
http://www.mymits.net/zboard/zboard.php?id=lecture&no=2396


신고


안녕하세요.
0.1버전에서 사용자키가 숫자만 입력되는 문제를 수정해서 배포합니다.

0.1버전하고 기능상 차이점은 없고 단지 사용자키에서 문자 입력이 되도록 수정되었습니다.

Jason님께서 지적해 주셨는데요. 저도 문자로된 사용자키가 있는지 몰랐네요. ㅡ.ㅡ;
이왕 새로 빌드하는 김에 Jason님이 원하신대로 사용자키 입력시 다 보이도록 처리했습니다.




저작자 표시 비영리 변경 금지
신고


윈도우 CE(Windows Embedded CE) 5.0 혹은 윈도우 모바일(Windows Mobile) 5.0에서 무선랜(WiFi)을 사용하는 어플을 개발할 경우 디버깅하기가 어려운 경우가 많다. 보통 액티브싱크(ActiveSync)와 무선랜 연결을 동시에 유지할 수 없기 때문이다. 그럴 경우 액티브 싱크 없이 무선랜 연결만으로 Visual Studio 2005에서 디버깅 가능하도록 해주는 방법이 있어서 소개한다.
관련 내용은 작년에 뉴스그룹에서 확인한 것으로 관련된 문제로 고민하는 분에게는 아주 값진 정보가 될 것으로 생각된다.

작년 8월 30일자로 ink라는 아이디를 사용하는 사람이 포스팅한 글이다.

VS 2005를 사용해서 디버깅할 경우에만 아래 사항이 해당된다.
문제: 액티브 싱크 연결이 없을 경우 연결에 필요한 바이너리를 디바이스로 복사하지 않으므로 디버깅하는데 문제가 발생한다.



1 단계: 아래 파일들을 디바이스로 복사한다.

Clientshutdown.exe
ConmanClient2.exe
CMaccept.exe
eDbgTL.dll
TcpConnectionA.dll

위의 파일들은 다음 위치에 있다.
 "C: \Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target
\wce400\<CPU>"
디바이스에는 다음 폴더를 만들어서 복사할 것을 권장한다.
"\windows\VS2005_Debug"

2 단계: Visual Studio 2005에서 IP 설정을 한다.

Tools >> Options >> Device Tools >> Devices 메뉴에서
Windows CE 5.0 device를 선택하고 "properties"를 선택한다.

"Windows CE 5.0 device properties" 다이얼로그에서 "Configure"를 선택한다.

"Configure TCP/IP Transport" 다이얼로그에서 "Use Specific IP Address"를 선택한 후
디바이스의 IP 주소를 입력한 후 OK를 선택한다.


3 단계: 디바이스의 conmanclient2.exe을 실행한다.


4 단계: cMaccept.exe을 실행해 연결을 활성화 한다.

디바이스의 cMaccept.exe을 실행한다.

cMaccept.exe를 실행 후 3분 이내에 연결을 시도하라(디버깅을 시작하라).
(제일 처음 연결은 3분 이내로 해야하고 그 이후에 동일한 VS2005 인스턴스를 사용해deployment/debugging을 할 경우는 3분 제약이 없다.)

새로 VS2005를 띄운 후 연결을 하려면 4단계를 다시 수행해야 한다.
(만약 CE 디바이스의 security가 disabled되어 있다면 이단계를 건너띌 수 있다.
"HKLM\CoreConOverrideSecurity = 1"로 세팅하여야 하지만
그럴 경우 악의적인 공격에 노출될 수 있다.)

유용한 정보를 제공해준 ink님께 감사드리며 아래는 복사해 온 원문이다.

---------------------------------------------------------------------
From: "ink" <i...@notmyemail.com>
Date: Aug 30, 8:41 pm
Subject: WiFi disabled when PDA is connected to PC?
To: microsoft.public.pocketpc
.developer,
microsoft.public.dotnet.framework.compactframework


Hi dave
Debugging on CE5.0 device without Activesync
This information ONLY applies to the Visual Studio 2005.

Without the help of ActiveSync, VS 2005 does not automatically copy
the
connectivity binaries down to the device and hence debugging becomes
problematic.

In order to use debugger on Windows CE 5.0 devices without active
sync, you
need to:

Step 1:
Manually copy the following files down to the device.

Clientshutdown.exe

ConmanClient2.exe

CMaccept.exe

eDbgTL.dll

TcpConnectionA.dll

Files are located in the "C: \Program Files\Common Files\Microsoft
Shared\CoreCon\1.0\Target\wce400\<CPU>" (I used arm4i), to a folder on
the
device, I sugest createing a new folder in "\windows\VS2005_Debug".

Step 2:
Set the correct IP address in Visual Studio 2005.

Open VS 2005

Tools >> Options >> Device Tools >> Devices

Choose Windows CE 5.0 device, click on "properties".

On the "Windows CE 5.0 device properties" dialog, click on
"Configure".

On the "Configure TCP/IP" Transport dialog, choose "Use Specific IP
Address"
and type in the IP address of your Windows CE 5.0 device.

Click OK.

Step 3:
Manually launch the conmanclient2.exe

Browse to the conmanclient2.exe on the device and run it. You may also
use
the command prompt if you have one.

Step 4:
Enable the connection by running cMaccept.exe

Browse to the cMaccept.exe on the device and run it. You may also use
the
command prompt if you have one.

Connect to the device (i.e. start debugging you application) within 3
minutes after you run cMaccept.exe. (The 3 minutes window is for the
first
connection. As long as you establish the first connection within 3
minutes,
the following deployment/debugging sessions using the same VS instance
is
not limited by this 3 minutes window)

You need to perform Step 4 again when you try to connect from another
instance of VS2005. (You can skip this step if the security is already
disabled on the CE device by setting "HKLM\CoreConOverrideSecurity =
1". But
disabling security may expose your device to malicious attack)

Hope this helps.

ink
---------------------------------
Update: 위와 관련 내용이 있는 링크를 찾아서 추가합니다.
- Visual Studio For Devices : Using Visual Studio 2005 to debug against Windows CE 5.0 devices without using ActiveSync

- Microsoft Active sync 4.5: Wireless connecton problem
신고


실제로 최근에 발견한 어플 버그로 새롭게 알게된 사실이다.
이건 Win32 API를 사용하는 Windows XP나 Windows CE 및 Windows Mobile에 모두 공통적으로 해당되는 내용이다.
전에 API문서에서 본 것도 같지만 실제 기억속에서 잊혀져서 모르는 것과 다름없는 사실이었다.

SetTimer() API를 사용할 때 주기적으로 WM_TIMER 메시지를 받도록 할 수도 있지만 callback함수로 호출되도록 할 수가 있다.

이것과 관련해서 유의해야할 점이 있다. MSDN의 SetTimer() 문서에 다음과 같은 이야기가 있다.

An application can process WM_TIMER messages by including a WM_TIMER case statement in the window procedure or by specifying a TimerProc callback function when creating the timer. When you specify a TimerProc callback function, the default window procedure calls the callback function when it processes WM_TIMER. Therefore, you need to dispatch messages in the calling thread, even when you use TimerProc instead of processing WM_TIMER.

즉 요약을 하면 TimerProc() 이라는 콜백(callback) 함수를 등록하더라도 윈도우 메시지를 처리하는 window procedure가 있어야 한다는 이야기다. 윈도우를 전혀 생성하지 않는 어플은 콜백방식을 사용하더라도 전혀 SetTimer()함수를 사용할 수가 없다는 이야기이다. 사용하려면 windows procedure를 만들어서 window message를 처리해 주어야 한다.

아래는 아주 오래전 MSDN magazine에서 관련 내용을 설명한 기사의 링크이다.
http://www.microsoft.com/msj/0397/hood/hood0397.aspx


이 기사에 따르면 WM_TIMER 메시지는 항상 발생하고 타이머 콜밸 함수를 등록했을 경우 DispatchMessage() 함수가 호출되었을 때 windows procedure로 WM_TIMER 메시지를 보내는 대신에 콜백함수를 호출하게 된다.

그렇다면 만약 TimerProc() 콜백에서 리턴을 하지 않을 경우 어떤 일이 벌어질까?
결국 WM_TIMER를 처리하는 코드를 계속 수행중인 상태가 되어버리고 그 이후의 윈도우 메시지 처리가 중단된 상태가 되어버린다.
이렇게 되면 TimerProc()이 리턴될 때까지 어플이 락업된 상태가 되어버리니 꽤 심각할 수 있다.
물론 모든 콜백 함수를 사용할 때 주의해야할 점이다.

즉 내용을 정리하면 TimerProc()은 windows procedure와 직접적인 관련이 있어서 처리할 때 그 사실을 염두해 두고 잘 처리를 해야한다.
신고



 RSS Feed

방명록

Recent Posts

  1. Xcode4 프로젝트에 프레임..
  2. 특허침해에 휘말리는 iOS..
  3. 최근에 변경된 애플 앱스토..
  4. 아이폰 사용팁 20가지
  5. 나의 관심사 재정리하기

Recent Comments

  1. 영회님 좀 더 자세히 설명해주.. coderiff 2010
  2. 완전 멋진데.. 한가지 아쉬운.. 영회 2010
  3. 그렇군요. 지금까지 Gmail의.. 하인도 2010
  4. 저도 예전에 이것때문에 한동.. coderiff 2010
  5. 어이쿠~ 이런 비밀이 있었네요.. 로드맵 2010

Recent Trackbacks

  1. イベント m lサイズ でスタイ.. イベント m lサイズ でスタイ.. 2014
  2. refurbished laptops refurbished laptops 2014
  3. Personal Security Personal Security 2014
  4. 갤럭시 시리즈의 두번째 버전.. 2011
  5. 하인도의 생각 neohind's me2DAY 2010

Calendar

«   2017/09   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Bookmarks

  1. The Old New Thing
  2. Windows Mobile Team Blog
  3. Windows CE Base Team Blog
  4. MobileDeveloper wiki
  5. 류한석의 피플웨어
  6. 애자일 이야기

Site Stats

TOTAL 2,633,059 HIT
TODAY 14 HIT
YESTERDAY 13 HIT

티스토리 툴바