기본 콘텐츠로 건너뛰기

6월, 2010의 게시물 표시

새로운 포지션으로 탈바꿈

모바일이나 웹, 자바에 관련된 이야기는 아니지만 이곳은 내가 쓰는 블로그이므로 개인 신상의 변화에 대해 이야기해도 큰 문제가 없으리라. :)

지난 14년간의 소프트웨어 엔지니어 경력을 뒤로하고 오는 7월 부터 Sun의 System Engineer 혹은 곧 합병이 될 오라클의 Sales Consultant 포지션으로 옮기게 되었다. 옮기게 된 이유라던가 뭐 이런 개인적인 심정을 토로하려고 글을 쓰는 것은 아니고 단지, 지난 14년간 몸 담았던 엔지니어라는 직업에서 어떤 것들을 해왔는지 한번 정리해보고 싶었다.

한국 정보 시스템 - 군발이로서 첫 엔지니어 업무에 발 담금

첫 번째 직장은 1996년 한국 정보 시스템이라고 하는 ERP, MIS 소프트웨어 개발 업체였다. 학사 병역 특례로 입사하게 되었는데 신문 광고와는 달리 입사하자 코볼 언어를 가르쳐 코볼 관련 업무를 시키려 했었다. 젊은 시절이라 배짱만 있었던건지 병역특례라는 특수한 사항에도 불구하고 코볼 업무를 한사코 거절하였다. 결국, Visual C++로 OCR 리더기 데이터를 처리하는 어플리케이션 개발 업무를 담당하게 되었고 그참에 UI를 개발하기 위해 Visual Basic도 사용하기 시작했다.
당시 한창 MS 기술이 뜨던 시절이어서 MCSD라는 자격증에 관심을 가지게 되었고 혼자 독학을 하여 약 6개월 만에 MCSD를 취득하였다. 아마도 당시 한국에서는 10 손가락 안에 드는 취득자 였으리라. MCSD 자격증 취득에 힘입어 마이크로소프트웨어와 같은 기술 잡지에 MS 관련 기술에 대한 글을 연재하기도 했고 나름대로 알차게 보낸 병특 생활 이었다.

한국 마이크로소프트 - 진정한 의미의 첫 번째 직장

사실 병영특례가 끝나고 캐나다로 유학을 갈 생각이었다. 돈도 아낄려고 영주권 신청도 거의 완료하였다. 그런데, 갑자기 한국 MS에서 인터뷰를 보러 오라고 연락이 왔다. 이 전화를 받은게 외대어학원 수업을 마치고 종로 거리를 배회하고 있었던 때였다. (와... 생생히 기억난다. 그만큼 가슴 떨리던 순간이었다.)
워낙 MS에…

Google IO 2010 Day2 Keynote - About Android

Google IO 2010의 Day2 Keynote 레코딩을 오늘에서야 보게되었다. 16강에서 멈쳐버린 한국팀의 아쉬움을 달래기 위해 웹 서핑을 하다 진작 봤어야 할 내용이 손 끝에 걸린것이다.



Day1 키노트가 2시간 정도의 방대한 분량이었다면 Day2는 45분 정도로 양도 줄고 다루는 내용도 Android 단 하나 뿐이어서 집중해서 볼 수 있었다.

Android Froyo에서 새로이 추가된 기능에 대한 내용을 데모와 함께 약 20여가지 소개를 하고 있는데 그 세세한 내용은 이미 어딘가 웹 사이트에서 다 정리해 두었을 것이므로 다시 또 같은 내용을 반복해서 정리하는 것은 생략하기로 하자.

단지, 느낌만 살려 표현해보자면. "역시, 구글 밖에는 iPhone을 대적할 상대가 현재는 없겠구나"이다. 비록, 개인적으로는 Android가 워낙 많은 디바이스에서 호환성이 결여된 채로 출시될 것이므로 이 부분에 대해서는 비관적인 점수를 주었지만 구글이 새로이 추가하는 혁신적인 소프트웨어 기술 및 서비스를 보고 있노라면 Android는 역시나 매력적인 플랫폼일 수 밖에 없다.



Apple이 소설 1984 컨셉을 이용 IBM의 독주를 막을 수 있는 회사는 Apple Computer 뿐이다라고 강한 인상을 남긴 광고가 있다. 구글은 Day2 keynote에서 바로 Apple이 사용한 이 컨셉 그대로 Android만이 Apple이 가져올 단 하나의 폰, 단 하나의 캐리어, 단 하나의 네트워크를 막을 수 있는 유일한 해결책이라고 천명(?)했다.

데모를 보면서 한가지 구글이 반드시 해결해야 할 점이라고 느껴진 부분은 역시 UI이다. 기능도 훌륭하고 혁신적인 서비스임에는 틀림없는 것을 데모하는데 손가락 끝을 잘 따라가지 못하는 UI 반응 속도를 보노라면 약간 민망해지려한다.

구글이 다음 버전의 Android에서는 UI를 개선하기 위해 모든 노력을 기울인다고 하였으니 기대해보도록 하자.

사족 - 세션을 보니 어째 스티브 잡스 스타일의 프리젠테이션 스킬이 여기서도 반복되고 있는 것…

Android Froyo의 Dalvik VM JIT compile에 대해서

Android Froyo 버전의 Dalvik VM 부터는 JIT 컴파일러를 지원하여 VM의 성능이 약 5배 정도 향상되었다고 한다.
Google IO 2010에서 제공한 JIT 컴파일러 세션을 보고 완전하지는 않지만 부분적으로 이해한 내용을 정리해보고자 한다. 우선, 시간이 허락한다면 아래 세션 비디오를 먼저 살펴보시길.



Dalvik VM의 JIT 컴파일러는 Trace-granuality JIT 방식이다. 무슨 의미인고 하니 실행하는 바이트 코드 중에서 정말 반복이 심한 부분 영역만 골라서 컴파일한다는 것이다.
기존 Java가 제공하는 HotSpot 컴파일러의 경우 Profiling을 통해 빈번히 실행되는 Java Method를 컴파일해서 성능을 개선하지만 Dalvik VM은 Method 단위가 아닌 작은 코드 블럭(주로 반복문이 될 가능성이 높겠다)을 컴파일한다. 나름대로 장단점이 있겠지만 Google이 주장하기로는 모바일 장치에는 이 방식이 더 좋다고 한다. (뭐... 검증해보지 않아서 진실은 모르겠다.)

Google IO 세션에서 설명한 내용을 이용하여 좀 더 자세히 살펴보자.

위 그림에서 Start 지점에서는 컴파일할 대상 코드 블럭을 찾기위해 trace를 시작할 trace head 부분을 지정한다.
trace head로는 backward branch, method entry point, indirect branch와 같은 코드 부분을 이용한다. trace haed를 지정하였으면 이 위치에 대해 profile count를 관리하는데 코드 실행 path가 매번 이 지점을 다시 지나갈 때 profile count값을 증가시키게 된다.

profile count 값이 미리 정의된 threshold를 넘었는지 확인하고 그렇지 않다면 interpretation을 계속하고 만일, threshold를 넘었다면 현재 trace하고 있는 코드 블럭에 대한 translation이 존재하는지 확인한다. 지금은 처음 실행된 경우를 가정하니 당연히 translation이 존재하…

WWDC 2010 무료로 참가하자!

비싼돈 들여서 비행기 타고 머나먼 샌프란시스코에 가야만 WWDC 10에 참여할 수 있는게 아니다. 작년까지만해도 돈내고 구입해야했던 WWDC 세션 동영상을 Apple이 무료로 풀었다!

http://developer.apple.com/videos/wwdc/2010/

iOS4, Cocoa, HTML5 등등 개발자들에게 주옥같은 세션들이 100개 이상 즐비하니 꼭 살펴보기 바란다. 시간내서 꼭 챙겨봐야겠다. 흐믓.

주의 - 영어 듣기가 부족한 분들은 영어 자막이 제공되니 이를 활용하는 방법 밖에는 없다.

iPhone 4 발표회에 대한 감상

게임의 법칙을 바꾸어 버린 iPhone이 세상에 나온지 4년째. 5년은 앞선 기술이라고 장담한 스티브잡스의 말이 채 식어버리기도 전에 다시 세상을 바꾼다는 iPhone 4가 출시되고 말았다.
잡스의 말처럼 iPhone 4는 다시 세상을 바꾸는 휴대폰이 될 것인가? 온통 관심이 쏠리고 있다.
WWDC 2010 Keynote와 그동안 웹에 퍼진 iPhone 4 관련 뉴스를 통해 그 가능성을 정리해 보았다. 가능성 1: 레티나 디스플레이기존 대비 4배 촘촘해진 레티나 디스플레이. 사람의 눈으로는 더 이상 픽셀을 식별할 수 없는 300 PPI를 넘는 326 PPI라고 한다. 아무리 얼굴을 들이대고 가까이 보아도 픽셀을 구분할 수 없을 정도라는데 이 정도면 LCD 화면을 보는 것이 아니라 인쇄물을 보는 느낌일 것이라 한다. 직접 보지는 못했으니 확인 불가이지만 iBooks을 밀고 있는 Apple의 입장에서는 글자체를 보기 좋게 만들어서 더 많은 사람들이 iBooks 컨텐츠를 즐기게 하기 위한 기술적 발전을 이룩한 것이라 생각된다. 가능성 2: iOS 4폴더 관리, 멀티테스킹, 배경 화면 변경, 통합된 이메일 인박스, 이메일 쓰레드 관리 ... 100가지 이상의 기능이 업데이트 되었다는 iOS 4는 명실 상부 iPhone 4의 성공을 이끄는 든든한 배경이 될 것이다. 어떤 휴대폰 제조 업체도 사실 따라가기 힘든 부분이 바로 iOS 4 일 것으로 보인다. 게다가 기존 iPhone 모델 전부를 무료로 업그레이드 한다고 하니 더할 나위 없다. 가능성 3: FaceTime이미 시장에 널리 퍼진 영상 통화가 무슨 대수냐고 많이들 이야기한다. 하지만 잠깐... iPhone 4의 FaceTime은 기존 3G 영상 통화와는 뭔가 다르다. 일단 Wi-Fi 망에서만 사용할 수 있다고 한다. 대부분 실망들 하신 것 같은데 난 개인적으로 이 대목에서 아하 이것이야말로 영상 통화를 정말로 실생활에 가깝게 만들 변화의 시작이구나 했다. FaceTime은 WiFi 망에 붙어 있는 iPhone 4 사용자들이…

내가 iTV를 만든다면?

Google TV에 대한 비디오 세션을 보고 나서 "참 잘만들었구나"라는 생각은 들었지만 스티브 잡스의 표현처럼 "그래 이거야!"하는 느낌은 없었다. 내가 Google TV 사용자라면 정말 저런 컨텐츠를 잘 활용하게 될까라는 의구심이 들었다. TV는 일반적으로 거실에 놓여 가족 내 여러 사람들에게 공유되는 화면이다. 과연 거실의 TV에서 개인만의 특화된 컨텐츠들 - 메일, 소셜 네트워킹, 웹 브라우징 등등 - 을 사용하게 될까?
개인화된 컨텐츠는 iPad와 같은 혼자 들고 볼 수 있는 디바이스가 더 잘 어울린다. TV는 개인화된 컨텐츠 보다는 가족이 함께 즐길 수 있는 영화, 드라마, 음악, 게임과 같은 것이 더 어울린다고 생각한다.
만일 내가 iTV를 기획한다면 다음과 같은 핵심 가치를 제공할 수 있도록 할 것이다. 비디오 컨텐츠 제공 방식을 획기적으로 개선 - iTunes와 연동, 유튜브와 같은 비디오 스트리밍 서비스를 잘 사용할 수 있도록 제공오디오 컨텐츠 제공 방식을 획기적으로 개선 - 역시 iTunes + 스트리밍 서비스. 또한, TV이지만 전문 Audio 기기 못지않은 사운드 제공별도의 게임 콘솔이 필요하지 않을 수준의 게임 장치로서의 역할 - iTV H/W에 게임 지원을 최적화하기 위한 기술 추가 및 iTV SDK에 게임 관련 API 강화가족의 사진을 감상하기 위한 환경즉, 전통적인 TV가 제공하는 가치를 혁신하기 위해 TV 컨텐츠를 제공하는 방식을 혁신하고 오디오로서의 기능을 강화하여 1대의 장치로 가정내 멀티미디어 재생 장비로서의 역할을 다할 수 있도록 하며 별도의 게임기를 구매할 필요가 업도록 해주면 Apple의 멋진 디자인이 결합하여 대박 상품으로서 충분한 가치를 할 것이다.
굳이 TV에서 Facebook이나 Mail을 쓸 수 있는 것이 핵심가치가 될 필요는 없을 것이다. 이미 iPad가 그 목적으로 충분하지 않은가?