기본 콘텐츠로 건너뛰기

3월, 2010의 게시물 표시

Java Inside - 자바가 들어간 스마트 볼펜 Livescribe Pulse

이 글은 Java Barista Blog에도 함께 작성하였습니다.

단순 필기도구인 볼펜이 스마트하다?

학습을 위한 방편에는 어떤 것들이 있나? 읽기, 보기, 듣기 등등 하지만 가장 중요한 쓰기를 빼놓을 수 없다. 학창 시절 선생님이 내 주신 연습장 한 페이지 꽉 채우기 과제 등 학습에서 쓰기의 중요성은 두말할 필요가 없다. 사회 생활에서도 쓰기의 중요성은 결코 줄어들지 않는다.

쓰기는 암기를 돕기 위한 방편으로 활용할 수 있지만 주 목적은 내가 기억하고자 하는 내용을 어딘가에 기록해두고 나중에 찾아보기 위함이다. 각종 전자기기가 범람하는 현대에서도 정보의 저장을 위한 쓰기의 중요성은 줄어들지 않고 있다.

하지만, 디지털 정보기기와 비교해 일반 종이에 기록하여 정보를 유지/관리하는 것에는 큰 약점이 있다. 나중에 정보를 찾으려 할 때 검색이 쉽지 않고 또한 홰손되기도 쉽다는 것이다. 이 문제를 해결할 방법이 없을까?

(from www.livescribe.com 웹사이트)

Livescribe Pulse 펜은 쓰기의 디지털화를 위한 솔루션이다. 여러분이 종이에 기록한 문자, 그림 등을 모두 디지털화하여 펜에 저장한다. USB 케이블로 연결하여 데이터를 PC로 옮길 수 있다. 필기체 인식 기능을 제공하므로 문자열 검색도 가능하다. 음성 녹음 기능을 제공하므로 필기 중 대화 내용을 저장할 수 있다.

이렇게나 스마트한 펜에 자바까지 지원한다니!

Livescribe Pulse는 CLDC에 기반한 Java Virtual Machine을 탑재하고 있다. 개발자는 Livescribe SDK를 사용하여 Penlet이라고 불리는 Java 어플리케이션을 개발할 수 있다. 자신의 프로그램으로 약간의 수익이라도 내고 싶다면 Livescribe가 제공하는 App Store에 유료 프로그램 등록이 가능하다.

Livescribe SDK가 제공하는 Java 라이브러리는 CLDC를 기본으로 하여 펜이 제공하는 소형 OLED에 출력을 위한 display 관련 클래스, 데이터 저장을…

Win32 API의 영광이여 다시 한번!

Win32 API의 영광이여 다시 한번!
MIX10에서 발표한 Windows Phone 7 개발환경에 대한 관심이 뜨겁다. MS는 Windows Phone의 부흥을 위해 무료 개발 툴과 초기 버전의 문서 등 꽤 풍성한 먹거리를 준비하고 MIX10 2010을 개최하였다.
왕년에 Windows 프로그래밍 좀 해봤다고 하시는 개발자라면 페졸드 아저씨의 Programming Windows라는 책을 기억하실 것이다. 이번에는 Programming Windows Phone 7 Series라는 책으로 다시 한번 왕년의 글쓰기 솜씨를 발휘하셔서 Win32 API의 영광을 Windows Phone 7에서도 재현하려 한다.
위 링크에서 무료로 제공되는 베타버전 PDF 문서를 받을 수 있으니 읽어들 보시길.
그런데, 페졸드 아저씨 지금은 도대체 몇 살이나 되셨을까? 저처럼 궁굼하실 분들을 위해 페졸드 아저씨 사진 한컷 공개! (From Wikipedia)
앗! 눈 부셔! :( ... 설마 명예훼손으로 고소당하진 않겠지~~

Market Trend and News: 3rd week of March 2010

MIX10 행사에 힘입어 이번 주는 온통 Microsoft와 Windows Phone 7과 관련된 뉴스가 흘러 넘쳤다. Windows Phone 7의 어플 데모도 공개 되고 개발 환경 및 개발 도구도 무료로 제공되었다. MSDN 문서도 일부 공개되었으니 관심있는 개발자들은 이제 툴 다운받고 설치해서 문서보며 개발해 볼 일만 남았다.
이 외에는 iPad 예약 판매와 같은 뉴스가 있었으나 크게 흥미를 끄는 기술관련 뉴스는 없었다.
Mobile 관련
MIX10 행사에서 Windows Phone 7에 대한 어플리케이션 개발 관련 뉴스가 속속 나오고 있다. 이미 다수의 3rd party 회사들과 killer application 개발 작업을 진행 중이라고 한다. Windows Phone 7 어플은 C#과 실버라이트3를 이용하여 개발한다. 개발 도구는 마이크로소프트에서 무료로 다운로드 받을 수 있다. 기존 Windows Mobile과 달리 native C++는 사용할 수 없으며 .Net CF에서 동작하는 C# 언어를 사용하여 개발 가능하다. 추후 VB .Net 도 추가 지원할 예정이라고 한다. 벌써 MSDN에서 Windows Phone 어플 개발에 대한 문서를 제공하기 시작했다.
Update: MIX10에 참가하지 못하는 불쌍한(?) 한국 개발자들을 위한 온라인 비디오 세션. 덤으로 실버라이트도 깔게된다는...

Market Trend and News: 2nd week of March 2010

이번 주 개인적으로 가장 흥미로운 소식은 Google의 거침없는 횡보를 보여주는 Google Apps Marketplace의 등장소식이다. 개인적으로도 잘 사용하고 있는 Google Apps를 더 쓸모있게 만들어줄 3rd party 서비스들 그리고, 개발자에게 수익을 안겨줄 수 있는 일거양득의 전략이라 쌍수들고 환영이다. 물론, 얼마나 성공할 수 있을지는 두고봐야겠으나 비지니스 측면, 기술적인 측면 모두 관심을 가지고 살펴볼만한 아이템이 아닐까싶다.



Java 관련
음... 요즘은 Trend 관련 조사를 해보면 태반이 Google과 관련된 기술인 듯... Android SDK에 Speech 입력을 지원하는 API에 대한 소개 글이다 영어로만 사용가능하지만 곧 여러 언어를 지원하게 되면 어플리케이션 개발 시 활용도가 높겠다. 이런 건 왜 Java ME에서는 없지? 음... 인터넷을 뒤져보니 JSR-113 Java Speech API라는 것이 Spec은 존재하는군.
Mobile 관련
Palm이 PDK라는 개발 툴을 공개한 다고 한다. 기존 webOS 어플은 HTML, JS와 같은 web 기술로 개발되었는데 PDK를 사용하면 C/C++을 함께 이용해서 어플 개발이 가능하다고 한다. 역시, web 기술만으로는 멋진 게임을 개발하기 힘든 것일까? 앗. 벌써 베타 버전이 공개되었다...또한, Android NDK도 release3을 공개했습니다만 역시 게임 시장을 겨냥하여 OpenGL ES 2.0을 사용할 수 있게 해준다.
애플 iPad의 첫 TV 광고가 시작되었다. 백문이 불여일견 한번 감상해보시도록.Embedded 관련
인텔이 넷북을 위한 어플리케이션 스토어, AppUp 베타 서비스를 제공한다. iPhone의 성공 모델을 그대로 넷북 시장에 적용하겠다는 것인데 전문가들의 반응은 글쎄(?) 정도이다. 인텔이 제공하는 SDK를 이용하면 Windows와 Mobiln 운영체제에서 동작하는 어플리케이션 개발이 가능하다고 하는데 그럼, Chrome OS 혹은 다른 Linux 변형 OS에서…

Market Trend and News: 1st week of March 2010

이번 주 가장 흥미로운 소식은 Apple의 HTC에 대한 특허 침해 소송 준비이다. Apple은 HTC 단말기 중 특히 안드로이드 단말기에 대해 소송을 준비 중이라고 하는데 이 소송의 결과에 따라 향후 다른 안드로이드 기반의 단말 개발에 미칠 영향이 매우 클 것으로 보인다.

또 다른 소식으로 삼성이 TV Apps 컨테스트를 개최한다고 한다. 모바일에서 선두를 빼앗긴 Apps Store 생태계 구축을 TV나 다른 가전 제품에서 발빠르게 대응하여 1위 업체의 우위를 지키겠다는 의지 표명으로 보인다. 개발 환경은 어떤 것인지? 어떤 파트너들과 얼마나 멋진 어플리케이션을 개발해서 보여줄지 기대되는 바이다. 만일, Apple이 현재 가진 iPhone 생태계를 이용하여 TV에까지 진출한다면 기존 업체와의 경쟁이 전입가경이 아닐까?

Java 관련
Oracle Open World 2010의 Call for paper가 3월 2일 부터 21일까지라고 한다. Data와 관련된 재미있는 주제를 가지신 분들 submission해보는 것도 좋겠다.삼성이 TV 앱스를 위한 컨테스트를 연다고 하는데 아마도 Java를 이용한 혹은 Widget을 이용한 개발 환경이 제공될 것으로 보인다. Java를 이용한 DTV 어플 개발에 대해서는 참고로 IBM이 제공한 OCAP 튜토리얼을 확인해보기 바란다.
Mobile 관련
Apple이 HTC에 특허 침해 소송을 준비 중 이라고 한다. HTC를 겨냥했다기 보다는 안드로이드를 겨냥한 소송이라는 견해가 지배적이다.LG전자가 올해 9~11월 사이에 Windows Phone 7 스마트폰을 선보인다는 루머가 있다. 현재 개발 중으로 보이는 LG 디바이스의 사진 및 동영상도 확인해 보자.
Embedded 관련
Apple의 iPad 출시를 앞두고 있는 사항에서 ASUS가 새로운 eBook 디바이스를 발표하였다. 특별한 사양은 없는 것으로 보이는데. 어플리케이션 개발을 지원하는지 궁굼하다.
Web 관련
구글이 모바일 광고에서 click to call 광고를 제공한다고 한다. 모바…

Dalvik - About Garbage Collection

요즘 뜨거운 호응을 받고 있는 안드로이드. 그 중심에는 Dalvik이라고 부르는 virtual machine이 존재한다.

(Iceland에 있는 작은 어촌 Dalvik - from www.ismennt.is)
이 VM은 Java의 그것과 마찬가지로 garbage collection을 지원하는 메모리 관리자를 제공하고 있는데 이에 대한 이해를 돋기 위한 몇 가지 자료를 찾아보았다. (물론 googling을 하면 다시 찾을 수 있는 자료이지만 수고를 덜기 위해 이 곳에 모아두기로 결정하였다.)
Track memory allocationsDalvik VM에 allocation되는 객체를 tracking하기 위한 도구를 설명하고 있다. 이 블로그 글에 따르면 Dalvik VM은 generational GC을 지원하지 않는다고 한다. 어이쿠 이럴 수가... 이런 기본적인 성능 최적화 기능이 없다니 좀 이상하다... 최신 Dalvik도 마찬가지인가? 확인 필요!
Dalvik VM garbage collection summary위 블로그 기사의 원문은 일본어인데 안타깝게도 나의 일본어 실력이 위 글을 다 이해할 수 있는 수준이 안되어 일단 링크는 구글 번역기로 걸어두었다. 나중에 원문을 확인해 볼 수 있도록 해야겠다. 일단, 이 글을 쓱 보면 Dalvik의 GC는 mark & sweep을 사용하고 stop the world 방식을 이용하고 있는 것으로 보인다. 흠... 역시 JVM의 concurrent GC와 비교하면 수준이 좀 떨어지는 방식으로 보인다. 물론, mobile에 사용되는 VM이니 PC에 사용되는 JVM과의 비교는 좀 억울한 감이 있다.
Google IO 2008 - Dalvik VM internals다시 한번 내 블로그에 등장한 Dalvik VM internal에 대한 Google IO 세션. 이 세션의 15분 30초 정도를 보면 Dalvik의 GC에 대한 내용이 살짝 소개된다. 정말 살짝 소개되서 사실 별로 도움이 안되는 내용인데 이 내용의 핵심은 Dal…

Garbage Collection Related ...

Java, C#, Ruby, Python등등 요즘 많이 사용되는 개발 언어들은 모두 garbage collection을 지원하는 메모리 관리자를 사용한다. 심지어 Objective-C 2.0에서도 garbage collection을 지원한다.

실제 코딩에서는 GC에 대한 많은 지식은 필요없으나 이를 잘 이해하면 프로그램 수행 성능을 최적화할 수도 있을 것이다.
(From java.sun.com)
JavaOne에서 Garbage Collection과 관련된 세션들을 모아보았다.
Garbage Collection Friendly ProgrammingGarbage Collection Tuning in the Java HotSpot virtual machineThe Garbage First Garbage Collector위 세션은 JDK7에 포함될 예정인 G1 garbage collector에 대하여 기존 CMS collector와 비교하여 설명하고 있다. 완전히 이해는 하지 못한 상태인데 기존 CMS 대비하여 soft real time 특성을 제공하고 compaction을 지원하는 것이 특징이라고 한다. 결국은 서버급 어플리케이션 성능을 높이는 것이 최종 목적이다.
Performance considerations in concurrent garbage-collected systems ---
업데이트: JavaOne외에 다른 소스에서 건진 GC 관련 자료도 정리해보자.
JDK7의 새로운 기능 - G1 가비지 콜렉터내가 최근에 새로이 작성한 블로그 글이다. JDK 7에 새롭게 추가될 G1 가비지 콜렉터에 대한 기술적인 배경을 설명한다.
Notes on the CLR garbage collectorMicrosoft의 .NET framework의 실행 환경인 CLR (Common Language Runtime)의 GC에 대해서 설명하고 관련된 정보를 잘 모아두었다.
Garbage Collection: Automatic memory management in the Microsoft…