금요일, 7월 27, 2007
7월 4주 개인 기록
그 주에 특별히 기억할 만한 일이라던가 개인적인 성취, 반성해야 할 일등을 기록하도록 한다.
이번 주에는 CDC 관련한 pre-sales를 하였다. 앞으로 Java ME 기술은 CDC가 대세를 이어갈 것으로 보인다. 시간이 나면 CDC 관련한 JSR 스팩들을 review 해보도록 해야 겠다.
또한, CDC의 기반 OS로서는 Linux 및 BREW 3.0이 사용될 것으로 보이며 특히, Linux를 중점으로 운영체제에 대한 학습을 해보는 것이 좋겠다.
운동은 2번 했고 오랫만에 운동장을 달렸다. 한참만에 달려서 그런지 숨도 가쁘고 다리도 좀 당기고 주기적으로 운동하도록 해야겠다.
요즘 공부하고 있는 Ruby 스크립트 언어는 좀 지지부진하였다. 다음 주에 박차를 가해 절반정도는 학습하도록 하고 Java FX 스크립트 언어도 공부하여 내부 세미나를 준비하는 것이 좋겠다.
수요일, 7월 25, 2007
로마인 이야기 - 1권
출판년도: 2001년
부제: 로마는 하루아침에 이루어지지 않았다
얼마전 Rome 시즌 2 드라마를 모두 보고난후 "로마"라는 대제국의 역사가 궁굼해져 이 책을 읽어보게 되었다. 모두 15권이라는 방대한 분량이므로 약간 주저함이 없지않았지만 어차피 읽어볼 요량이라면 방대한 양이라도 제대로 된 지식을 접하는 것이 좋을
것 같아 이 책을 선택하게 되었다.1권은 로마 건국부터 이탈리아 전역을 장악하는 패권 국가가되기까지의 500년의 역사를 다룬내용으로 로마의 건국 시조 "로물로스"의 이야기부터 시작하여 이탈리아 남부 지역의 그리스 국가들을 정복하여 마침내 이탈리아 반도를 장악하는 역사를 다루고 있다.
로마라는 약소 국가가 어떻게 이탈리아에서 가장 강성한 패권 국가로 변모할 수 있었는지에 대한 궁굼증을 가진 시선으로 역사를 다루고 있는데 그 가장 중요한 3가지 요소로 다음과 같은 것을 들고 있다.
1) 특이한 종교관 - 다신교이며 전지전능한 창조주의 개념보다는 자신들을 지켜주는 수호신의 개념
2) 점령 국가의 시민에게도 로마 시민권을 부여할 정도의 개방성
3) 집정관, 원로원, 시민으로 이루어진 특이한 정치체제
이 중 국가의 개방성이라는 측면이 현대의 패권 국가인 미국과 유사하다는 느낌이다. 고대, 현대를 막론하고 개방적이며 외향적인 국가가 세계의 패권을 장악하는가라는 생각이 든다.
서평은 이 곳에서
수요일, 7월 18, 2007
삼월은 붉은 구렁을
다시 한번 읽어 본 "온다리쿠"의 소설.
베일에 가린 4부작 소설에 대한 이야기를 역시 4부작으로 그려가는 이야기.
내용보다는 그 구성이 매우 독특한 소설이다. 소설의 주제인 삼월은 붉은 구렁을이라는 소설책에 관련된 내용을 다루면서 그 소설속의 밖의 내용이 교묘하게 겹쳐들어가는 구성을 가지고 있다.
온다리쿠는 나중에 이 책에서 소개된 각 단편의 내용을 중심으로 다시 장편 소설을 집필하였다고 하는데 차차 기회가 되면 읽어볼 생각이다.
관련 서평은 여기서
화요일, 6월 05, 2007
월요일, 6월 04, 2007
XP Explained
어떻게 하면 이러한 사항에서 벗어나 훌륭한 S/W 제품을 성공적으로 완료할 수 있을까? 더 나아가 자신이 하는 일에 긍지와 애정을 가지고 삶을 살아갈 수 있을까?
이러한 의문에 해답을 구하고자 저자(Kent Beck)은 XP라는 새로운 S/W 개발 방법 paradigm을 제시한다.
물론, XP가 현존하는 모든 S/W 문제를 해결하는 만병 통치약을 아니겠지만 적어도 위와 같이 계속하여 발생하는 문제들을 해결하기 위한 노력의 일환으로 시도해볼만하다고 생각한다.
이 책을 읽어 나가면서 "오호. 이러한 방법은 꼭 적용해보아야 겠다" 라든가 "그래, 나도 요런 자세로 개발 업무에 임해야지"라는 식의 동의가 개인적으로 여러번 이루어졌다.
하지만, 책이라는 것이 한번 읽을 때 기억나는 것이 하루 이틀 지나면 모두 퇴색되어 읽으나 마나한 상태가 되어 버리므로 이를 간단히 정리/기록하여 반추하면서 실제 매일의 개발 업무에 조금씩이나마 실천할 수 있도록 노력하는 것이 중요하도고 생각된다.
아래 정리된 bullet point는 이 책의 주요 장의 제목을 그대로 나열한 것으로 이 것만으로는 중요한 정보가 될 수 없지만 이미 이 책을 접했던 사람들에게는 mind refresh의 효과가 충분하리라 생각한다. 나중에 영 이 정리만으로는 쉬원찮을 때는 다시금 책장을 펼쳐 다시 한번 생각을 정리해보는 것도 좋으리라.
TBD
금요일, 5월 25, 2007
phoneMe - 컴파일 및 빌드
phoneMe는 Sun이 자사의 Java ME 소스를 Open Source로 공개한 공개 프로젝트입니다.
phoneMe는 크게 feature와 advanced의 두가지 분류로 나뉘는데요 feature는 CLDC, advanced는 CDC 기반의 프로젝트입니다.
이해하기 쉽게 말하자면 여러분이 사용하시는 대부분의 휴대폰에 들어간 Java 기술을 CLDC, DTV의 셋탑박스나 고성능 프린터와 같은 고성능 기기에 사용되는 Java 기술이 CDC라고 생각하시면 됩니다.
거두절미하고 위 사이트에서 phoneMe feature MR2 버전을 다운로드 받으면 Windows 환경에서 직접 컴파일하여 에뮬레이션 환경을 실행시켜 볼 수 있습니다. Java의 Virtual Machine 동작, Java ME의 각종 JSR 구현등에 대한 관심이 있으신 분들에게는 아주 좋은 자료라고 생각됩니다.
Build를 하기 위해서는 약간 고통(?)스러운 과정이 따르는데요. 일단, 필요한 개발환경을 설치해야합니다.
1) Cyg4ME - phoneMe 사이트에서 다운받으실 수 있습니다.
2) Visual C++ 6.0 w/ SP5 w/ Performance Pack 혹은 Visual C++ 2003
3) JDK 1.4.2
위와 같이 개발 환경을 설정하신 후에는 각종 환경 변수 들을 설정하여 JavaCall, PCSL, CLDC, MIDP 등의 모듈을 컴파일/빌드해야 합니다.
이 과정을 쉽게 한번에 수행할 수 있도록 간단한 shell script를 작성해보았는데요 파일로 첨부하였으니 참고하시기 바랍니다.
앞으로 개인적으로 phoneMe를 가지고 몇몇 실험을 해볼 생각이고요 흥미로운 내용이 있으면 여러분들과 공유하도록 하겠습니다.
참고로 제 PC에서 빌드하여 실행하고 있는 화면 snapshot을 하나 올립니다.
아래 link도 참고하시면 좋을 것 같군요.
http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEBuilding
------------------------------------------------------------------------------
#!/bin/sh
################ JAVACALL #####################
# set your phonemeFeature home dir here
export MEHOME=/project-sun/phoneme_feature
# set your output folder here
export BUILD_OUTPUT_DIR=${MEHOME}/output
# set your javacall dir here
export JAVACALL_DIR=${MEHOME}/javacall
# set your javacall-com dir here
export JAVACALL_PROJECT_DIR=${MEHOME}/javacall-com
# set your javacall output dir here
export JAVACALL_OUTPUT_DIR=${BUILD_OUTPUT_DIR}/javacall
# build JavaCall
make -C ${JAVACALL_PROJECT_DIR}/configuration/phoneMEFeature/win32_x86
################ PCSL #####################
export PCSL_PLATFORM=javacall_i386_vc
export PCSL_OUTPUT_DIR=${BUILD_OUTPUT_DIR}/pcsl
# build PCSL
make -C ${MEHOME}/pcsl
################ CLDC #####################
export JVMWorkSpace=${MEHOME}/cldc
export JVMBuildSpace=${BUILD_OUTPUT_DIR}/cldc
export ENABLE_PCSL=true
# enable MVM?
export ENABLE_ISOLATES=true
# build CLDC
make -C ${JVMWorkSpace}/build/javacall_i386_vc
################ MIDP #####################
export MIDP_OUTPUT_DIR=${BUILD_OUTPUT_DIR}/midp
export CLDC_DIST_DIR=${BUILD_OUTPUT_DIR}/cldc/javacall_i386_vc/dist
export TOOLS_DIR=${MEHOME}/tools
export USE_MULTIPLE_ISOLATES=${ENABLE_ISOLATES}
export JAVACALL_PLATFORM=win32_i386_vc
make -C ${MEHOME}/midp/build/javacall
프로젝트관리 hands on
- 우선 직접 대면하여 대화를 나누도록 하고
- 그 후 이메일로 대화의 내용을 정리하여 공유하도록 한다.
* 요구조건에 대해 engineer 리소스의 낭비 요소는 없는지 검토한 후 assign하자
- 요구 조건에 대해 간단한 기술적인 검토를 수행한 후
- Engineer의 자원이 쓸데 없이 너무 낭비되지는 않는지 확인
- 만일, 기능의 필요성에 이나 시급성에 비추어 자원 낭비가 크다면 delay 혹은 cancel 시킬 수 있도록 nogotiation 하여야 한다
토요일, 2월 03, 2007
Java Web Start 정리
예를 들어, 회사내에 버그 이슈를 관리하기 위한 Java 응용 프로그램이 있다면 이 프로그램을 설치/실행하기 위해 사내 웹 페이지에 접속하여 화면의 링크를 클릭하면 바로 설치되고 Java 프로그램이 수행되어 사용할 수 있게된다.
HTML 페이지의 링크는 JNLP(Java Network Launching Protocol) XML 파일을 다운받게 되고 Java Runtime이 이 파일의 내용을 분석하여 필요한 설치 과정을 수행하여 Java 프로그램을 실행할 수 있도록 한다.
Java Web Start의 주요 장정들은 다음과 같다.
- 여러 운영체제에서 지원
- 여러 Java SE 버전을 동시에 지원. 특정 프로그램에 필요한 Java 버전을 필요에 따라 자동으로 설치하고 수행할 수도 있다
- 웹 브라우저에 종속적이지 않다
- Java Web Start로 실행된 프로그램은 캐쉬에 저장하여 성능을 향상시킨다
- Java SE 1.4.2 이상 버전의 JRE와 함께 제공되어 별도의 설치가 필요치 않다
정상적이라면 NotePad 예제 프로그램이 수행될 것이다.
Java Cache Viewer를 이용하면 Java Web Start로 수행된 응용 프로그램의 desktop shortcut 아이콘을 생성할 수도 있다.
Java Web Start로 실행할 프로그램을 만들기 위해서는 모든 Java 클래스를 JAR 파일로 패키징해야 한다. 하지만 보안 상의 문제로 이 JAR 파일을 Sign하지 않으면 로컬 하드디스크에 접근할 수 없게된다. (물론, 이외에도 다른 보안 관련 제약 사항이 따르게된다.)
Java Web Start를 이용하여 배포되는 응용 프로그램은 javax.jnlp 패키지를 이용하여 좀 더 다양한 배포 시 기능을 구현할 수 있게된다. 자세한 내용은 Turorial 및 Java Reference를 참고하기 바란다.
참고자료 :
수요일, 1월 31, 2007
촘스키, 누가 무엇으로 세상을 지배하는가
노암 촘스키, 사실 이 사람에 대해서는 "어 이름은 들어본거 같은데" 정도만 알고 있었지만 이 책을 접하게 되어 MIT 석좌 교수라는 사실, 언어학자이며 미국의 진보적인 언론인이라는 사실을 알게되었다.
이 책은 촘스키와 인터뷰한 내용을 토대로 편집되어 있는데 그의 진보적인 (어찌보면 좀 반사회적인) 통찰을 읽을 수 있다.
사실, 별로 기억에 남는 내용은 없으며 "미국이란 정말 구린 나라구만", "기업은 다 사기꾼이야"란 생각이 들게끔하는 내용이 많다.
촘스키가 이 책에서 주장하듯이 대부분의 언론이 대기업과 정부의 이익을 위한 대변자 노릇을 하고 있다면 신문 기사/TV 뉴스등을 성찰하며 주의깊게 살펴보지 않으면 안될 노릇이다.
일요일, 10월 08, 2006
금요일, 10월 06, 2006
일상: 운동장 5번 돌기. 현재 나의 한계.
자신의 한계를 뼈속 깊이 느껴보고 싶다면 지금 당장 가벼운 운동복 차림으로 가까운 운동장으로 향하라! 그리고, 과연 정신력으로 몇 바퀴를 뛸 수 있는지 측정해보기 바란다. (물론, 평소 달리기로 몸을 단련하고 계신분들에게는 해당 사항이 아니다.)
아마 2바퀴 정도에 숨이 차오르고 5바퀴쯤 뛰면 그만 뛰고 싶은 생각이 들기 시작할 거다. (나처럼 평소 운동량이 부족한 사람의 기준이다. 오해마시길) 아무리 마음을 가다듬고 뛰어보려고 해도 다리가 무거워 더 이상 달리지 못하게 된다. 내 몸은 내 정신력으로 지배할 수 없다! 흑흑... OTL
내 각오가 필요한 때는 즉흥적인 시츄에이션에 초인적인 능력을 발휘해야하는 경우가 아니다. 진짜 빛을 발해야하는 때는 바로 오늘, 내일 그리고 쭉 계속되어야할 하루 하루의 '연습'인 것이다.
그 연습의 대상이 달리기이건 IT 스킬이건 상관 없이 꾸준히 마음을 가다듬고 차근 차근 근력을 쌓아나가야 한다. 오늘 오랫만에 운동장을 뛰어본 결과 현재 나의 달리기 한계치는 5바퀴이다.
앞으로 5km 달리기를 위해 차근 차근 연습을 해 볼 생각이다. 초보자의 달리기를 위한 지침을 참고하기 바란다.
수요일, 10월 04, 2006
뉴스: 2006년 10월 IT Job 시장 현황 조사
아래 내용은 내 멋대로 고른 IT 분야 주요 키워드를 이용 Monster.com에서 해당 기술을 필요로하는 position의 갯수에 의거 중요도를 산정하였다.
우선, 각 결과를 보면 아래와 같다.
Java + C++ : over 1000
Java + Perl : over 1000
Java + UML : over 1000
Java + SQL : over 1000
Java + Ant : over 700
Java + AJAX : over 600
Java + PHP : over 600
Java + Python : over 400
Java + Eclipse : over 700
Java + Ruby : over 200
Java + Tcl : over 100
Java + J2ME : over 100
Java + NetBeans : 43
C++ + Perl : over 1000
C++ + SQL : over 1000
C++ + UML : over 700
C++ + Python : over 400
C++ + Tcl : over 200
C++ + STL : over 188
C++ + Ruby : over 100
C++ + AJAX : over 100
Perl + SQL : over 1000
Perl + PHP : over 700
Perl + Python : over 600
Perl + Tcl : over 300
Perl + Ruby : over 200
위 결과에서 보듯이 주로 비 MS계열 기술을 중점으로 서베이했으며 주로 개발 언어의 관점에서 job position을 검색하였다.
위 결과에서 어떠한 조합으로든 1000개 이상의 open position을 가지고 있는 기술 요소를 뽑아보면 아래와 같다.
1) Java
2) C++
3) Perl
4) SQL
UML의 경우 C++나 Perl과 함께 검색을 시도하면 Java에 비해 상대적으로 낮은 검색율을 보이고 있다. 허나 이 경우에도 높은 요구율을 보이고 있는 것을 보면 중요한 기술의 일부로 생각할 수 있겠다.
PHP와 Python의 경우 모든 분야에서 고르게 요구가 있음을 살펴볼 수 있으며 생각외로 Tcl과 같은 오래된(?) 기술도 여러 분야에 걸쳐 고른 요구 사항이 있음을 알 수 있다.
Java 개발 IDE의 비교 부분에서는 Eclipse가 NetBeans를 압도적으로 제치고 요구율이 높았으며 근래 떠오르고 있는 기술 분야인 AJAX인 경우 상대적으로 Java와 함께 요구하는 비율이 높았다.
일상: 은행나무
오늘 산보를 하는중에 울 와이프의 시선은 쭉 45도 전방을 바라보고 있었다. 덩달아 우리 아들은 땅바닥을 찾아 보느라 정신이 없다.
이유인즉, 거리에 열린 은행나무 열매를 찾아보기 위해 혈안(?)이 되어 있는 것이다. 두 모녀가 은행나무 열매 줍기가 그리도 재미있는지 열심히도 떨어진 열매를 찾고 있는 것이었다.
집에 들어올때까지 한 6개 정도 주웠나? 나뭇가지라도 들고 쳐대면 많이 딸 수는 있을 것 같은데 가로수에 이런 짓하다 걸리면 벌금형이란다. ^^
언제 밤줍기 행사라도 참여해서 원하는데로 수확할 수 있는 재미를 즐기게 해주어야 겠다.
화요일, 10월 03, 2006
일상: 에버랜드 퍼레이드
늦은 시간까지 있어본지가 결혼 후 처음인지라 "문라이트퍼레이드"라는 불 빛 휘황찬란한 퍼레이드를 아들과 함께 구경할 수 있었다. 또한, 할로윈 퍼레이드도 보았고, 카니발 엘리시온이라는 쇼도 보았다. 아마 이제 에버랜드의 대부분의 퍼레이드는 다 보았다고 생각된다.
예전에는 퍼레이드 같은 것에는 눈길도 주지 않았섰는데 막상 볼 버릇하니 재밌고 화려한 음악, 의상, 댄스, 무희(흐흐) 등이 너~무 맘에든다. 에버랜드에서 하는 퍼레이드도 이렇게 잼있으니 브라질에 가서 삼바 축제를 경험하면 정말 어떨까? 하는 생각도 든다.
월요일, 10월 02, 2006
책: E=mc^2
단, 기존의 책들과 달리 E=mc2이라는 우주적 대진리인 이 공식 자체에 초점을 맞추어 E=mc2의 각 부분 즉, E, M, C, =, ^2 등의 탄생과정, 그 각각의 지식이 서로 융합되어 가는 과정, 마지막으로 아인슈타인에 의해 E=M의 관계가 어떻게 성립이 되었으며 또한, 현재 우리가 살아가고 있는 세상과 전 우주에 이 공식이 의미하는 바가 무엇인지 알려주고 있다.
개인적으로 핵무기를 만들기위한 이론적 근거가 되었다는 사실정도는 알고있었지만 생활 곳곳에 그리고 우주, 태양계, 지구 그리고 나 자신이 존재하기 위한 근거가된다는 사실까지는 전혀 상상도 못하고 있었다.
과학적인 호기심을 충족시키는것과 더불어 위대한 과학자들의 면면을 살펴보는 것, 그들의 삶이 당시 역사와 얽혀 어떠한 운명을 맞이하게 되었는지 등등 역사학적인 관점에서도 흥미로운 내용이 많다.
아인슈타인의 개인적 전기가 아닌 'E=MC2'이라는 인류 역사에서 가장 유명한 공식에 얽힌 과학의 역사를 살펴볼 수 있는 독창적이고 재미있는 책이다.
토요일, 9월 30, 2006
JSR-82 BT 디버깅 일화
오늘 다시 알게되었지만 역시 적절한 도구를 사용한 업무 진행은 효율성을 극대화시킬 수 있다. 막말로 맨땅에 헤딩만 해서는 피만 흥건해진다는 것이다.
아무리 노력하고 열심히 해도 정확한 방향설정을 하고 덤벼드는 개발자에게는 100번 싸움을 걸어봐야 100번 질게 뻔한 것이다. ㅋㅋ 넘 장황하고 뻥튀켜진 느낌이군.
짧게 설명하면 BT 디버깅을 위해 Linux + BlueZ + HCIDUMP 프로그램을 사용하니 금상첨화였다는 것이다!
앞으로 내 스스로 BT 혹은 다른 업무를 진행하게될때도 위와 같은 찰떡궁합 - 시의 적절하고 편리한 도구를 손에 넣고 시작해야 겠다.
모두 즐거운 9일간의 휴일이 되시길! 해피 추석..,
금요일, 9월 29, 2006
비전 = 꿈?
그럼 양심은 탄탄한가? - 별로... ^^
그러면 머리는 명석한가? - 조금 좋기는 한것 같지만 상위 5%에는 못들것 같은데 ㅋㅋ
가슴이 뜨거워지는 때가 얼마나 있었지? - 월드컵에서 한국이 이탈리아 역전승할 때 정도~
내가 정말 잘 할 수 있는게 뭘까?
내가 정말 하고싶은건 뭘까?
열정을 가지고 덤벼들 수 있는 것을 어떻게 찾을 수 있지?
정말 내 양심에 비추어 부끄럽지 않게 살아갈 수 있는 날이 올까?
평생 건강하게 활기차게 살아갈 수 있을까?
음... 이런 사항을 보면 좀 괴로워야할 것 같은데 괴롭지는 않고 가끔 답답하기는 하다.
뭐. 그래도 이 정도면 평균 이상의 삶은 살고 있잖아~ ^^
라고 생각하면서.
목요일, 9월 28, 2006
news: NetBeans product 한국어 페이지
http://www.netbeans.org/products/index_ko.html
시간 날 때마다 조금씩 한국어 페이지를 작성해볼 예정임.