Thursday, July 09, 2009

이클립스 플렛폼 공부 시작하기 후기

이클립스 플렛폼 공부 시작하기(?)를 몇분에게 알려 드렸습니다.

반응이 몇가지라 적어봅니다.
1) 오, 그런것도 있었구나....
2) 미처 알지 못했는데 대단히 고맙다.
3) ㅎㅎ 당신이 그러면 그렇지... 어차피 당신의 지식도 거기서 나왔군~~ 살짝 조롱기...

1,2번 반응이야 모 흐믓합니다.
3번 반응에서 울컥 하는데요. -_-;; 그렇지요. 거기에서 나왔으니 알았지, 그럼 내가 창조했을까?
참 바보 같은 반응에 내가 왜 짜증이 나는지 모르겠습니다.

그리고 살짝 움츠려 봅니다. 내가 왜 그랬지. 왜 내가 안해도 될 일을 한다고해서 힘들지.
봐야할 책도 많고, 하고 싶은 일도 많은데...

우물안 개구리에서 어여 벗어 나고 싶네요.
좀더 소통할 수(?) 있는 좀더 넓은 우물이 있었으면 좋겟어요.

개발에 관련된 카페 가는것을 다소 줄이고, 다른 직업(?)을 가진 분들을 좀더 만나봐야겠습니다.

아, 역시 영어가 급합니다.
좀더 넓은 우물에서 좀더 넓은 시야를 가진 사람들과 많이 이야기를 하고 싶습니다.

비정규직 '사용기간 4년' 재추진



'사용기간 4년' 누가 말했을까요?
사용기간 이랍니다.

물건의사용기간이 끝나면 버려~
비정규직 4년이 끝나면 버려~

대한민국의 노동부장관님께서 장하십니다.

이클립스(Eclipse RCP/Plugin/RAP....) 플렛폼 공부 시작하기

어떻게 공부해요. 어디를 봐요. 하시는 분들이 참고하면 도움이되겠습니다.
이른반 이클립스에 대한 한금이 짝사랑.

저는 하루에 반드시 한두번은 http://planeteclipse.org/planet/ 사이트에 가봅니다.
이클립스 커미터들의 블로그를 모아놓은(?) 사이트라 각종 팁이나 진행사항 생각들을 볼수 있어요.

RAP도 같은 맥락의 http://eclipsesource.com/blogs/ 가 존재합니다.
역시나 최신 트랜드와 생각들을 볼수있구요.

아시겟지만 http://eclipse.dzone.com/ 사이트의 각종 Tutorial은 쉬우면서도 좋아요.
초반지식 잡는데 상당한 도움이 됩니다.

http://www.thescreencast.com/ 각종 기술들 screencast 를 재공해 줍니다.
일할때 음악을 듣기도하지만, 틈틈히 강의를 틀어놓기도합니다.
물런 대부분 들리지 않아요.


외국의 관심있는 블로거들을 찾으시구요. 친하게 지내놓으시고요. (저도 없습니다만, 댓글다는 정도로 익혀가고있어요)

온라인 책은 http://www.freebooksclub.net/ 에가시면 무료로 받아보실수도 있구요.
없는 책도 많이 있습니다만,...

한금이 twitter로~

한금이 twitter는 http://twitter.com/hangumkj
입니다.


누가 hangum을 이미 쓰고있다는... 아앙, 돌려줘...

나도 twitter로~

Wednesday, July 08, 2009

Introducing the Rich Ajax Platform (RAP) Incubator

http://eclipsesource.com/blogs/2009/07/07/introducing-the-rap-incubator/

오늘도 여전히 EclipseSource Blog에 내가 블로그 짖을 하도록 떡밥을 내 놧습니다.

먼저 Google Visualization Widget과 GCCanvas Widget 입니다.
물런 위의 두개가 없다고 못하는것은 아니었습니다만, 다른것을 가져다가 RAP에 붙이는것과 자기의 것과는 차이가 있습니다.

GCCCanvas에 의미를 좀더 두고 싶은것은 불행하게도 RAP에는 GC라는 아이가 없습니다.
그렇기 때문에 Draw2D나 GEF도...

자 희망이 생기는 대목입니다.



위의 이미지는 모두 위의 링크된 블로그에서 가져왔습니다.

tmax window 9의 떡밥에 큰 상처를 받은 나로서는, 위의 떡밥은 천국이네요.
적어도 떡밥은 이래야 하지 않을까요?

물런 os를 만드는것과 저것을 만드는 난이도 차이는 분명하겠습니다만...

twitter와 한국, 중국정부

요즘 조금씩 이야기하는 중국분에게 신장 위그르 일을 말했습니다.
알고있다고 하여서..

cnn 중계를 보여주려고했습니다. 역시나 보지 못하는...
한국 정부는 twitter의 인터넷 실명제를 추진한다고 합니다.

그래서 twitter가입하고 사용해보는 중에.. 오호.. 대단한 아이디어란 생각듭니다.

여튼, 한국 정부의 인터넷 실명제와 중국정부의 cnn도 안되고 구글의 Youtube등이 안되는것과의 차이는 몰까 싶습니다.

무슨 의도신지 정중히 여쭤보고 싶습니다.
불순분자가 나를 국가를 전복하는 사람으로 만들까봐 미리 보호 차원에서그렇게 해주시는 건가요?
차라리 중국정부처럼 하시지 말입니다.

그러면 그 통제가 멋져 보이기라도 할것입니다. 시각에 따라 말이지요.

Tuesday, July 07, 2009

Integrating BIRT into RAP applications

Integrating BIRT into RAP applications 이라는 게시글이 나왔습니다.

모두 알고있는지 어떤지 모르지만, 기대가...
EclipseSource의 떡밥은 항상 머금직 하고, 실제로 먹었을때 실망해 본적이 없으므로...
RAP에서 되었으면하믄 기능이 BIRT가 되므로,
이제 GEF정도만 지원해 준다면..

사용자가 두배로 늘지 않을까 싶습니다.

카페에서 진행하려는 스터디도 취소된 마당에.. 흠.. 장소를 재공해 주시는 엽이군님 볼 면목이 없네요. 애효..
카페에 전체 공지라도 한번 날려야 했나 싶습니다.

당분간은 개인공부와 오픈소스에 집중해야 겠습니다.

Monday, July 06, 2009

중국분과 영어 채팅

http://omegle.com/에가면 외국사람과 무작위 채팅을 할수있습니다. 점심때 틈틈히 이용해보려고 시도했습니다.

중국분(20, 남, 대학생)과 채팅을 하는데, 이야기중에 아리랑 노래를 안다기에 Youtube.com의 동영상을 연결해줬습니다.
보지 못한다는 이야기를... 헐....

그리고 조금후에 내 소개를 하면서 구글 블로그주소를 보내주었습니다.
연결이 안되다는데요... 헐...

뉴스 매체로만 듣던(인터넷 통제) 사실을 목격하자니, 답답함이 급 밀려 들어왔습니다.

사실 이것보다 강도는 좀 약하지만, '미디어법'이나 검찰의 이메일 강탈(?)은 비슷한 거라 생각이 듭니
다. 아마도 중국 정부는 이것을 알기에 미리 차단하지 않았나(?) 싶습니다.

여튼, 이런 저런 역사이야기 했고, 역시나 일본을 무지 시러하는 중국 사람이더라구요.
한국은 중국과 같은 유대감이 있어서 좋다는(물런, 유대감(?)은 신하(?)로서의 느낌이 좀 들었지만...)
물런, 그 친구가 10년 이내에 중국은 아시아를 주름잡을거라고 해서, 나도 그렇게 생각한다고 해줘서 그랬는지도 모릅니다. ^^;;(중국을 무시하는 분들이 있다면... 우울합니다)

일본을 남쪽과 북쪽으로 나눠서, 중국과 한국이 나눠 가져야 한다는 말도 안되는 말까지 했습니다.(?, 물런 맞게 해석했는지 의문입니다) 그래서 과거에 받았떤 상처를 공정하게 되돌려주자는 말도 하더군요.

북한이야기도 한참을 했는데, 북한에서 뚱뚱한 사람은 김모씨 혼자라네요.
불쌍해 죽겟다고, 어떤 생각이 있냐고해서.. 불쌍하지만, 미사일 발사하고 해서 무섭다고 했더니, 이해해 주는듯 하더라구요. 중국에서 북한에 가는건 무지 쉽나봐요. 중국사람 보기에 북한은 1970년대를 보는 느낌이라고하더라구요. 생각해 보니 북한에 대해, 미사일이니 이런것 말고 일반적인 관심은 한국보다 중국이 훨씬 많이 하고 있는 느낌이었습니다. 개내들은 북한을 자유롭게(?) 드나 들수도 있으니까 그런가요?

자 1970년대를 잘 상상도 못하겟지만, 그 정도의 느낌을 가지고 있었습니다. 배고프고 못살고 말이죠.

자, 여기까지 한국말로 쓰다보니, 영어(?)로 엄청나게많은 말을 했네요.
쑥쓰럽지만, 좀더 자주 시도해 봐야겟네요.

Sunday, July 05, 2009

독서와 시간의 배신

겸사겸사 구입한 책을 읽고 있습니다.

읽으면 아, 오, 으~ 이런 감탄사가 나오며, 나의 인생에 참으로 되겠다 싶은 좋은 책입니다.
데일 카네기의 '인간관계론' 이란 책입니다.

어제 전철에서 읽는 중에 놀랄만한 사실을 하나 발견 했습니다.

두둥...

이 책은 고딩3년때(?)쯤에 읽었다는 사실을 말이죠. -_-;;
당황스럽더군요.
생각해보니 그때도 이 책이 너무 좋아서 인지 데이카네기의 책을 시리즈로 사서 계속 읽었었는데...
그렇게 좋았다(?) 혹은 중요하다(?)라고 생각되는 것을, 1/5이 넘게 읽었는데, 읽었다는 사실조차 예전의 기억조차 못했다니요. 나에게 좀 어처구니가 없는거 있죠.

아마도 나의 인생을 다시 되돌아보고, 인생의 3라운드를 다시 준비해야 할지도 모르겠습니다.
모두 화이팅이요.

Friday, July 03, 2009

EclipseSource 교육

EclipseSource에서 Training에 관한 내용이 올라왔다.
http://eclipsesource.com/blogs/2009/07/01/training-for-eclipse-galileo-and-p2/

나도 몇개의 PPT를 참고하려고 이것 저것 살펴보는 중에 금액이 궁금했습니다.

4일 기준으로 2,500불 * 1269원 = 317만원

EclipseSource쯤 되니까 저정도는 받아도 된다는 생각이 들었습니다만,...
자, 나의 PPT의 목차를 좀더 손봐야할까봅니다.

카페에서 나의 시도(?)

카페에서 나름의 새로운 시도를 하고 있습니다. 시도라고 말하기에도 부끄럽지만,

Eclipse RAP 스터디 공지 에 대한 것인데요. 이런 스터디를 할때면 나 스스로 기획하고, 사람 모으고 준비하고 이런 노력을 했습니다.
몇시간 스터디를 할때 간식(?)거리라도 있어야하고, 의자며 몇가지를 준비해야 합니다.
이런것 또한 스스로 했지요. 최소한 이지만, 슬슬 이런것을 참석하는 분들이 스스로 준비하는 것으로 바꾸어 보고 싶습니다.

스터디의 기획도 카페에서 자생적으로 할수 있었으면 좋겠습니다.
요청만 한다면 아마도 카페의 대장이신 'javanese'님을 비롯해서 '까꿍','침묵','잠티카사'.............
상황만 된다면 기꺼이 해주실거라는 생각이 듭니다.

물런 이런 스터디는 스터디를 기획하는 분들의 수고, 혹은 강사(?) 수고, 장소 및 준비의 댓가(?)가 필요합니다.
지금까지 경험으로 미루어 유료든 무료든 어느 방향이든 부작용(?)이 있었다는 생각이 듭니다.

Wednesday, July 01, 2009

개발팀 회식이야기

6월의 마지막날 6월 개발팀 회식을 했습니다.
빡대리가 잠실로 이사했습니다. 자신의 집에 와주길 희망했습니다(경민안 난 그렇게 이해했다. 억울해하지마라)

근처, 유황오리 집에가서 오리고기를 너무맛있게 먹고.....(너무 너무 맛있었습니다)


먹은 후에 경민이 집으로 갔습니다.
편한복장으로 갈아입고 런닝하나 걸치고, 카프리 병맥 하나까면서, ...
점백원 고도리 한판 치면서 룰루랄라라라~~

3고에 광박에 피박 맟아서 대박으로 잃었지만, 다행히 광팔아서 많이 보충을 하였습니다.

Tuesday, June 30, 2009

Eclipse RAP 스터디 공지

http://cafe.naver.com/eclipseplugin/3299 요기서 퍼온글이구요. 관심있는 분은.. 위의 링크로 가주세요.

--[퍼온글]----------------------------------------------------------------------
Eclipse RAP 공개 스터디를 합니다.
스터디라고 하기에는 거창하니, 내가 알고있는걸 말하는 시간을 갖도록하겠습니다.

PT는 http://hangumkj.blogspot.com/2009/06/eclipse-rap-ppt_20.html 로 할 것 입니다.

목차는 다음과 같습니다.
Eclipse RAP란?
RAP 설치 및 개발환경 Setup
HelloWorld RAP
실행환경
RAP Architecture
Request Life Cycle
Start up
Themes (css)
Branding
Exporting (Tomcat)
기타(UICallBack, Session)


PT에는 없습니다만
RCP와 RAP개발을 하나의 소스로 개발하기 위한 구조(?)에 대해서도 나눠 볼 생각입니다.
EclipseSource에서 나왔던 이야기를 소스로 설명해 볼까합니다.
(http://hangumkj.blogspot.com/2009/06/eclipse-rcp-rap-sample.html)


대상은 PT가 Eclipse RCP에 대해 아는 분을 대상으로 실무 중심으로 만들어져 있습니다.
RCP를 모른다고 듣지 못하거나 그러진 않을테지만, 어렴움이 있을 걸로 예상됩니다.

장소는 엽이군님에게 장소에서 진행합니다.
시간은 7월11일 오후 1시부터 4시까지 하도록 하겠습니다.
인원은 선착순 30명(?)을이구요. 10명이하이면 하지 않도록 하구요.

이 게시물 답글 순서로 참여 의사를 표시해 주세요.

금액은 장소는 무료로 빌리지만, 일단 만원으로 책정해 놓겠습니다.(?, 금액이 더 불어 나지는 않을것이고, 변동 가능성 있습니다)

줄 서보세요.

Monday, June 29, 2009

Eclipse RAP 공개 세미나 준비

Eclipse RAP 공개 세미나(?)를 준비중 입니다.
세미나 라고 하기에는 거창하니, 내가 알고있는걸 말하는 시간을..

물런 PPT는 http://hangumkj.blogspot.com/2009/06/eclipse-rap-ppt_20.html 로 할것입니다.

엽이군님에게 장소에 관해서 물었는데
흔쾌시 시간과 예상인원을 이야기 하라고 하십니다. 헤헤

자, 준비는 다 되었습니다.
몇명이 모일지 몰라도 말입니다.

날자를 7월 4일 11일 중 택하면 되고...
자, 그럼.. 막상 카페 게시판에 이런걸 한다고 적으려고 보니 문제가 하나 발생했습니다.

Eclipse RAP는 공개적인 자리에서 한번도 발표해 본적이 없습니다.
황금같은 토요일 시간을 뺏을 거면서, 다른 누군가에게 한번도 말해 본적이 없다니요.
그러면서 하겟노라고 말한 이 무식함에 휴....

생각의 패턴을고쳐야하는데요.

일단 작은 소그룹혹은 한두명에게라도 발표(?)하는 시간을 가져야겠습니다.

지원해주실분 없나요?

학습방법

역시나 어떤 개념에 대해 혼란 스러울때 혹은 이해 안될때
가장 좋은 학생 방법은 몸으로 체험하는 것이다.

막연한 이해나 혹은 막연한 두려움에 대한 검증에도 더할 나위없다.

소스 코드를 타이핑 해보고, 이해한대로 나만의 셈플을 만들어 보는 것이야말로 늦고 돌아가는 것 처럼 보이지만, 빠르고 명쾌 한 길임을..

출근해야 하는데...

Sunday, June 28, 2009

회사에서 집까지 걷기

저번 주와 이번 주 토요일 회사에서 집까지 걸어 왔습니다.


거의 1시간 30분정도 걸린듯 합니다.
예전에 그러니까 학생때는 무수히 걸어 다녔는데... 무등산과 광주 도심 이곳 저곳을 그냥 걸어 다녔지요.

토요일 오후 6시30분쯤 이면 날씨가 무척 선선합니다.
어둡지도 않고 양재천 길을 잘 가꿔놔서 걷기에도 그만입니다.
다른 곳은 몰라도 이곳은 집값이 좀 비싸도 되겟다는 생각이 들 정도 입니다.
...

평소에 운동을 안해서인지 30분 한시간 걸으면 몸에서 살짝 땀이 납니다.
그리고 주변을 되돌아 보게 되지요.
흐르는 물소리와 새 소리를 듣기도 합니다.
나를 되돌아 보기도 합니다.

거리가 너무 짧아서 다음에는 좀더 먼길을 택해야 겠습니다.
회사에서 수서역이나 잠실역까지 걷고 거기서 버스타고 집으로 되돌아 오는 코스로요.

아니면, 회사로 출발할때는 인라인으로 되돌아 올때는 도보로 라던가요.
여러가지를 믹스한다던가요.

Saturday, June 27, 2009

Eclipse RCP와 RAP 호환성 Sample

오늘 만들고 있는 Sample 설명

RCP와 RAP용 호환 셈플 만들기.

EMF-Databinding등의로 구성된 com.hangum.study.common.model project생성
view들을 모아놓은 com.hangum.study.common.viewers project 생성
도움말 있는 com.hanum.study.help project 생성

RCP 의존적인 com.hangum.study.rcp project 생성
RAP 의존적인 com.hangum.study.rap project 생성

각각에 의존적인 future 프로젝트 생성
RCP의 의존적인 update 프로젝트 생성

우선 이렇게 만들어 볼 요량입니다.

참조는 viewers 프로젝트가 model을 참조하고 rcp, rap프로젝트가 model을 참조하는 식이 될겁니다.
순조롭게 잘 만들어 진다면, EMF로 Viewer의 코드들을 생성해서 RAP와 호환성을 테스트 해보려고 합니다.

여기까지 호환된다면 더이상 호환성을 논할 필요가 없을거라 생각이 듭니다.
물런 아직은 GEF나 GMF나 기타 Graphic요소가 들어간 부분은 따로 프로젝트를 만들어 참조해야 겠습니다. 자자

Eclipse 3.5 사용하기

몇가지 예제를 작성하고 책도 읽을겸 사무실에 왔습니다.
도서관보다 아늑하고 편하고 편의시설(?)도 나름 완벽하기때문이지요.

Eclipse 3.5 PlugIn/RCP Developer에 SWT Designer 7.0을 인스톨했습니다.

자 EMF와 RAP, RSE를 업데이터 메니져를 통해 받으려고 하는데, 메뉴가 살짝 틀렸습니다.
바뀐 부분이고, 업데이틀 눌렀으니 에러만 뜰뿐입니다. RAP가 틀린것입니다.
지저분하게 중복 나열되어 잇는 프로젝트 명들도 그렇고요.

자 그런다 치고....

첫번째 plugin project생성을 시켰습니다. Eclipse UI가 행걸리고 더이상....
음...

첫 인상부터 이러니 3.5에 대한 신뢰가 좀 무너 집니다.
3.4처럼 머지않아 3.5.1이 나올듯 합니다. -_-;;

매년 정해진 날에 업데이트 되는 이클립스의 빌드 정책과 개발 프로세스는 두손 들고 열광하지만, 급한 느낌이 듭니다.


그나저나 SWT Designer 7.0에는 Nebula 콘트롤이 추가됫네요. 아미~~

Friday, June 26, 2009

국제화의 어려움..(일본어 편)

일본어 메뉴얼에 넣을 그림을 캡쳐해서 메뉴얼 작성하는 분에게 보냈습니다.
글자 일부가 듬성듬성 빠져있다고 답메일이 왔는데.
실제 국제화파일(??_ja.properties)에 글자가 당연히 빠져있을거라고 추측했지만, 실제 텍스트에는 빠져 있지 않았습니다.

아악~~~~


<<위에께 맞는것이고 아래께 빠진거>>

혹시 widget의 width가 작아서 글자를 가리는것이 아닌가 하여 코드를 들여다고 보고 들여다 보았지만, 그렇지도 않았습니다.

아악~~~~

그러길 하루가 지나고.....

오늘도 여전히 삽질을 하려고 컴터를 켜고.. 원인을 찾기에 골머리를...
일본 Windows를 켜고 그림을(일본어) 확인하는데 그림(?) 갯수가 맞았습니다.
그림을 대조해도 동일합니다. -_-;;;

원인은 다음과 같은것이었던 것인데.
한글 Windows를 켜고 언어만 일본어로 띄워서 작업했던것이 화근이었습니다. 안나올것이면 다 안나올것이지, 부분만 오는것은 무슨 상황인지. 그러고보니 일본어 원도우에 이클립스를 설치하고 소스를 보니 한글이 다 일본어로 바껴있습니다.(??)

일본어를 모르는 나로서는, 자동으로 언어를 바꿔주는 고마운 Eclipse라고 생각하고 싶은데... 헤헤

Thursday, June 25, 2009

고마워요. 정김남~~~~~

http://blog.efftinge.de/2009/06/galileo-thank-you-team.html

Xtext개발팀 리더가 자신의 팀원들에게 이야기하는글인데요.
그냥, 모랄까.. 어쩌면 속해있지 않아서 모르겠지만, 행복했을거라는 생각이 듭니다.
인간냄새 나잖아요.

어제 3년 전에 그만 둔 전 직장 분들과 만났습니다.
모두다 전 직장은 다 그만 두었지만, 3분은 어찌 어찌 또 함께 일하는 사이가 되어 있었습니다.
부러우면 지는건데, 나도 데려가지..... 해버렸습니다. -_-;;
아마도, 예전에 함께 일할때 즐거웠(?)다는, 혹은 정이 들었다는 것이지요.

고마워요. 부장님, 김과장님, 남계장님~~~~~~~~~~~~~~~~~~~~~~~~~
당신들때문에 제가 좀더 행복했습니다.

Eclipse 3.5 Air~

어제 새롭게 나온 Galileo에 대한 기사입니다.
http://blogs.zdnet.com/Burnette/?p=1276
33개의 메인 프로젝트와 380명의 커미터가 눈에 띠네요.



이클립스 친구가 아닌 저는 오늘 다운받았습니다.

Tuesday, June 23, 2009

당분간은 Eclipse TM

당분간은 Eclipse TM부분을 봐야겠습니다.
TM중에 RSE부분을 좀더 집중적으로요.

RSE는 Remote System Explorer로서 리모트의 시스템을 탐색하는 그런 것입니다.
그러니까 Telnet, FTP, SSH, Process 등을 조절 할 수 있게 됩니다.

지금하고있는 업무와도 연관성도 있고, 어떤 시스템을 만들 더라도 유용하게 사용할 수 있을거라는 생각에 처음부터 다시 천천히 봐야겠습니다.

Monday, June 22, 2009

Eclipse RCP vs Eclipse RAP

RAP PPT를 만드는 중에, 셈플을 만들려다 문득 내가 왜 셈플을 처음부터 만들고 있는지 의문이 들기 시작했습니다.

그래서 저번에 RCP 스터디 때 사용하려고 만들었던 셈플을 RAP용으로 바꾸기 시작했습니다.
RCP용 셈플이지만 기본적은 고루 고루 다 포함한 아이 입니다.

작업시작->
UPDATE 는 안되는 것이므로 주석으로 막았고, Help도, About도 ....
EntryPoint 추가하고
아 Target platform 바꿔주고
환경 설정 해주니 원래 RCP에서 의도 했던 것처럼 모든것이 동작합니다.

수정을 시작한지 10분도 안되어 다 됩니다.
털썩... RAP 멋진 녀석 가트니...



두개의 프로젝트를 호환성 있게 충분히 가져갈수 있다는 생각이 들었습니다.
방법은 EclipseSource에서 이야기 했던 것처럼 하면 말입니다.

RCP Core Project
RAP Core Project
두개의 프로젝트의 공통된 부분을 포함한 : RCP and RAP shared Project plugin

위처럼 구조 적으로 프로젝트를 꾸려야 겠습니다.
RCP와 RAP가 다른 부분은 의존적인 플러그인으로 만들고요.

이렇게까지 생각하니 OSGi가 얼마나 유용한지, Eclispe 3.0에 처음으로 OSGi를 도입하고 프로젝트를 이끈 Jeff McAffer에게 존경을 표하고 싶네요.

그는 이런 부분까지 감안하고 OSGi를 이클립스로 가져 오게 되었을까요.
이런 시각을 가져야 할텐데요.

책상위에 놓은 많은 책들을 노려 볼 수밖에 없습니다.

Sunday, June 21, 2009

RSE 다 까먹음. 눈물만...

거의 반년내지 1년만에 RSE(Remote System Explorer)를 다시 해보려고 시작.

자. RSE다.

음.

모부터 해야히지.

금새 잊어버린거?

......

어디서 부터 봐야하는지 정말 모르겟다.

Saturday, June 20, 2009

Eclipse RAP PPT

이미 Eclipse RCP를 알고 있다는 전재 하에 작성된 RAP PPT입니다.
무엇인가 빠진 느낌이지만, 생각나는데로 추가해 넣어야 겠습니다.

몇몇분의 조언대로 몇가지 더 추가했습니다. ^^

전체 화면으로 보실 분은 pt왼쪽에 full버튼을 눌러주세요.

Friday, June 19, 2009

Eclipse Study 목차





자 주말을 이용해 RAP를 초스피드로 끝내봐야지

Eclipse RAP 목차

생각 하는 Eclipse RAP 목차

1. Eclipse RAP?
2. RAP 설치 및 개발환경 Setup
3. HelloWorld RAP
4. Start (org.eclipse.rap.ui.entrypoint)
5. Themes(org.eclipse.rap.ui.themes)
6. Branding and Export(Tomcat, Jetty)
7. 실습


이미 Eclipse RCP를 알고 있다는 가정 하에 작성된 목차입니다.

복잡하게 하면 한도 끝도 없겠습니다만.

Thursday, June 18, 2009

Eclipse RCP PPT 수정판

저번에 올렸던 부분 중에 몇 챕터를 추가했고 수정했습니다. 실습 부분에 있는 소스를 올립니다.(http://cafe.naver.com/eclipseplugin/3249)

1일차


2일차

Wednesday, June 17, 2009

FileOutputStream의 오묘함

FileOutputStream fos = null;

try {
for(int i=0; i<10;i++) {

File file = new File(fullyName);

fos = new FileOutputStream(file, true);
fos.write(sb.toString().getBytes());
fos.flush();
}
} catch(Exception e) {
e.printStackTrace();
} finally {
fos.close();
}

위의 코드의 문제점은 fos를 마지막 10번째 fos만 close()를 하는것이 문제 입니다.

FileOutputStream 의 close()메소드를 호출하지 않으면 Windows 시스템에서는 파일을 lock하고 있습니다. lock의 해제는 프로그램을 종료하거나 gc가 일어나서 java가 더이상 참조를 하지 않을때 입니다.
그때에 비로소 삭제 될수 있는것이죠.
linux 시스템에서는 파일을 lock하지 않습니다.

그럼 하나의 폴더에 파일을 몇개까지 쓸수 있을까요? 어제부터 프로그램을 돌리는데 631,770개까지 파일을 생성하는데 성공했습니다.

물런 파일은 계속 생성되지만 cpu 97% 잡아먹고 생성시간은 파일100개 생성하는데 30초가 걸립니다.
자 내일까지 몇개나 더 생성할수 있을런지... 이런 부분은 나의 지식의 얇기가 드러나네요. 흐미...
os의 파일 구조를 좀더 공부해야겠지만, 다른 볼것도 많다는 핑계를 두고 싶네요.

Tuesday, June 16, 2009

손담비 - 투명인간

ㅋㅋ

Windows 7

사용하는 데스크탑에 Windows 7을 인스톨했고, 노트북에도 Windows 7을 인스톨 했습니다.

RC버전임에도 몇가지(도메인 네임을 못 찾는다거나, 도메인을 못 찾기에 프린터 추가도.., VMWARE에서 네트웍사용에 문제가) 문제 이외에는 만족하고 있습니다.

제 데탑사양에서 비스타로는 VMWARE에 TEAM으로 두개 그러니까 Windwos 2003 서버 2개와 Ubuntu 8.0.4 서버 2개를 올리면 cpu 90%에 메모리 8기가를 풀로 먹는데 Windows 7에서는 사용하지 적어도 절반까지 떨어져 있습니다. 나름 만족할만합니다.

노트북(x61)에 인스톨할때는 노트북 드라이버를 거의다 잡아줬구요. 심지어 지문인식장치까지 자동으로 잡아줬습니다. 인스톨은 대략 한시간도 안걸린듯하구요. 음...

당문간 구글빠와 함께 MS빠도 해볼까 싶습니다.


애플은 점점....

Wednesday, June 10, 2009

RAP PPT를 작성하려고하는데 핑계거리가 많이 생겼습니다.

얼마후면 나올 3.5도 그렇고,
공부용으로 사용하던 노트북을 누군가에게 빌려줘서도 그렇습니다.

그리고 피곤하네요.

RC2버전으로 해도 무리는 없겠지만, RC가 되기전부터 프로젝트에 사용하던버전이라 딱히 변화가 없을거라 생각도 됩니다. EclipseSource에서 나오는 1.2버전이야기도 많이 들었구요.

지금까지 스터디하면서 부족한 점을 거울삼아 좀더 낳은 아이를 만들어봐야겠습니다.

Friday, June 05, 2009

Eclipse 3.5 구경하기

http://www.eclipse.org/galileo/

얼마 안남은 갈릴레오의 홈피입니다.
저도 이클립스를 친구로 삼을까싶기도하네요.

http://www.eclipse.org/resources/

http://www.eclipse.org/galileo/projects.php

자 모가 바뀌었는지 이제야 확인해보는 게으름을 보여야겟네요.

Thursday, June 04, 2009

Eclipse 3.5

잘 모르는 부분(org.eclipse.ui.commands와 org.eclipse.ui.menu)이 있어서, 책에도 딱히 나와있지 않고해서 구글을 뒤졌습니다. Eclipse RCP개발을 3.2부터해서인지 Action과 command의 삐딱(?)함을 알지 못했던 것입니다. 많이도 바뀌었는데 말이죠.

그래서
검색되서 나오는 익숙한 헬프화면. 이클립스 3.5의 헬프화면.
3.5의 헬프라...
나의 궁금증을 정확히 해결해 주는 친절한 헬프입니다.

이것을 해결 했지만, 이런 자세한 헬프는 처음 보는 분들에게는 그저 결과물 로서의 가치이고, 과정과 히스토리가 없는 그런 것 입니다.

역설적이지만, 아마도 이런 부분은 기존 개발자와 신규 개발자 사이의 갭을 더 벌어지는 부분이지 않을가 합니다. 물런 아무 생각없이 그냥 써버린다면 문제야 있겠습니까?

Wednesday, June 03, 2009

Eclipse RAP PPT 준비

자 바쁜일도 어제로 마무리 됐고.

이제부터 RAP(Eclipse Rich Ajax Platfomrm) PPT를 만들어 봐야겠습니다.
데스크탑 어플리케이션과 웹 어플리케이션의 요구를 둘다 만족(?) 시킬수 있는 멋진 아이라 생각이 됩니다.
두둥할 만한 이야기 아닌데...


이번에 여차 저차하여 SWT/JFACE을 스터디를 스크린캐스트햇는데 말이죠. (바로 딜리트...) 듣고있자니, 진짜 잠오더군요.
자, 일케 하나씩 만들어서 GEF, EMF 까지만 만들수 있었으면 좋겠네요.

몇번 안되는 스터디 진행을 하면서 느끼는 거지만, 내가 너무 모른다는 거네요.
노짱의 서거에 한동안 충격이었던터라, 웃고는 다니지만, 좀 서글프네요.

노짱
' 우리 아이들에게 결코 불의와 타협하지 않아도 성공할수 있다는 하나의 증거를 꼭 남기고 싶었습니다. '

찔림.

지금의 삶이 불의와 타협하고 있는것인지?
불의를 보는데 그냥 무관심해서인지?

아마도 후자 이겟지.
현실 핑계대는 나는 불의와 타협해 버린 것인지 모른다.

두고 두고 가슴에 찔리도록

Tuesday, May 26, 2009

제 16대 노무현 대통령 서거 추모곡

Sunday, May 24, 2009

▶◀ 노무현 전 대통령 서거. 삼가 고인의 명복을 빕니다.

노무현 전 대통령 서거. 삼가 고인의 명복을 빕니다.

Friday, May 22, 2009

Eclipse RCP 두번째 날 PPT

Eclipse RCP 두번째 날 PPT
몬가 허술해 보인다. -_-;; 빠진 내용이 여기저기 보이고... 아음.

Thursday, May 21, 2009

Eclipse RCP PPT 베타

이번에 진행하게될 1일차 PPT이다. 휴... 양이 장난아니다. 설명해야할것도 상당하다.
천리길도 한걸음 부터...

혹시 스터디에 관심있는 분이라면 http://cafe.naver.com/eclipseplugin/3158 참고해주세요.

Wednesday, May 20, 2009

Eclipse RAP Viewer에 버튼추가

오랫만에 RAP 소식입니다. 제품개발하는것도 끝이났고, 더이상 업그레이드나 특별히 요구사항도 없어서 지요. RAP를 좀더 분석해보고 고민해 보길 원하는데.. 기회가 오지 않을지도 모르겠습니다. 나름 많이 슬픈네요.

Viewer상단 오른쪽에 버튼추가하는건 딱히 특히점이 없이 잘 동작합니다.
음음, 멋진 RAP입니다. RAP~~

Saturday, May 16, 2009

구글에러페이지가

어제 구글에러 페이지.... 가.....

난 그래도 구글을 좋아해....

빌 게츠가 들려주는 직장인들의 성공코드 10

빌 형님의 이야기라 그냥 들었다.
아무 생각없이 들었고....

한때 MS 툴을 사용하여 개발하는 분들과 어느정도 일해보다 번뜩 놀란적이 있었는데...
이건 툴이 사람을 바보로 만드는거 아닌가 싶었습니다.. 개발자들을 MS가 둘러 놓은 울타리 안에서 편하게 사육되는 느낌이랄까 싶었어요.

어느날 서점에 갔다가 MS 출판사에서 나온 책을 집어 들었는데.. 날카로움과 집요함에 심장이 오그라 들었습니다. 스티브 맥코널 시리즈의 책들이었습니다. 그러면서 생각을 바꾸어 먹었습니다. 사람들이 MS를 바보 취급한다고요.

구글 때문에 엠에스가 한물간 OS나 만들고 있는 그런 회사이고, 느낌에 MS도 SUN의 전처를 밟고 있지 않나 하는 그런 생각이 듭니다. (실제로 안드로이드의 위력은 지금부터 모든 지면을 차지하고 있지요.)

MS의 마지막 한수는 모가 될까 궁금하기 이를대 없네요.

하지만, 역전의 발판은 언제나 있는 것이고...

다른사람에게 몬가 설명하려고하면

다른사람에게 몬가 설명하려고하면 기존에 알았다고 생각하는 많은 부분이 아리송하다
결국은 다음과 같은 결론을 낸다. '너는 모르고 있었어'
어떤 하나의 사실에 대해 안다 라는 것과 단순히 들어봣다 라는 것의 차이는 존재한다.
사실 아는 그 것 조차도 아는 깊이에 따라 모른다가 되기도 하며, 모르는것도(?) 아는 것이 되곤한다.

불확실 성에 근건한 삶의 모든것이 얼마나 보잘것 없는지.
어제는 파키스탄에 있는 누나에게 전화를 받았다.
070이 찍힌 전화여서 처음에는 중국분들인줄 알았는데...

불확실 한 삶을 살아가는 우리에게 확실한 몬가를 말하고 싶은 누나를 잠시나마 생각해봅니다.

드림시어터 드럼솔로~~~~~~

카페에 구인 이야기가 나주 나오는데, 대부분 급구다. -_-;;
급구다. 급구다. 급구다.
왜 급구가 되야 했을까? 왜 경력자만 뽑아야 할까?
씁쓸한대..

신입을 뽑더라도 역할에 따라 사람을 뽑는 곳이 나타나길 소망해본다.

Friday, May 15, 2009

BCEL이나 BCI쪽 하시는...

나의 사이트 통계를 보면 1년전에쓴 BCEL, BCI관련된 글을 보려고 들르는 분들이 종종있습니다. 흠흠. 자료찾기가 쉽지않아 들르는 분들일텐데요.

엇그제 서점에 갓다가 '자바 가상기계, 멀티미디어 리서치 연구총서', 한국학술정보(주) 라는 책을 보게 되었습니다. 앞부분을 보고있지만 JVM기본 개념에대해 쉽게 설명해 주고 있네요. 못 보신 분들은 반드시 필독 하시면 도움이 되실거라 생각됩니다.

그나저나 이제 잊혀져가는 BCEL이라 아쉽기 이를때 없네요.
이런아이가 나름 배경기술인데 말이죠. Eclipse Platform보다 더 배일에 쌓인것이죠. Eclipse Platform은 사람도 많고 자료도 나름 많구요.

BCI쪽에 탄탄한 백그라운드를 가지고 있다면....

어떤 개기로 다시 BCI쪽을 해보고 싶네요.

Wednesday, May 13, 2009

Eclipse RCP 스터디 준비-일정

Eclipse RCP 스터디 일정이 나왔습니다.일단 생각하면 바로 바로 시작하는 이 아메바같은 급한 성격때문인지 몰라도 시작하게 되었습니다.

http://cafe.naver.com/eclipseplugin/3158 에 좀더 자세하게 나와있습니다.

열심히 준비해 보렵니다. 좀더 쓸만한 셈플을 만들어 봐야겠습니다.

Tuesday, May 12, 2009

Eclipse RCP PPT 목차

우선 다음과 같이 만들어 보았습니다.

Eclipse RCP(Rich Client Platform)에 대한 PPT 목차 입니다. 만들기 시작한지는 두달 전인데 이제야....

1주차
RCP란?
Eclipse 살펴보기?
Hello RCP ?
SWT/JFACE
Perspectives
Commands and Action
Viewer
Editor
실습

2주차
RCP생명주기
Perference Pages
Dialogs and Wizards
Help
Features, Branding, and Update
Product
실습

마지막 3주차는
국제화
디버깅
테스트 등에 대해 짧게하고
파일럿을 진행해 보면 어떨까 싶습니다.

이것말고도 해야할게 정말 많은 것이지만, 여기까지하면 초기 진입하는 어려움은 일단 없을 거라 여겨지네요.

접수는 http://cafe.naver.com/eclipseplugin/3158 에서 받고있습니다.

라이센스검증

제품에서 잘 사용하던 라이센스가 올바르게 작동하지 않는다고 연락이 왔습니다.

지난 9개월동안 잘 사용하였고, 고객에게 수십 카피 팔았으며, 내부테스트까지 수백 번 이상 만들어서 어느정도 검증되었는데 말입니다.
미국에도 팔아서 잘 동작하는데요.

그것도, 화면 UI에서는 권한과 시간이 정상으로 보이는데, 엔진에서 오류를 낸다고 하는군요.

문제가 되는 시스템은 EverRun VM Windows 2003 server 영문 이었습니다.
VM을 가져와서 디버깅 해보는 중에 시간이 문제가 된다는것을 확인했습니다.

우리 시간보다 6시간 정도 늦어서 나는 문제였습니다. 즉, 라이선스 검증로직은 시작시간 종료시간을 검사하는데, 로컬시스템에서 만들던 시간과 검사할 대상이 되는 시스템의 TimeZone이 틀려서 나는 문제였습니다. 한국시간보다 미국 LA는 12시간정도 늦는(?) 그런 경우이지요.

미국에 나갓던 라이선스는 엔지니어가 미국에 출발하기 전에 미리 만들어서 문제가 나타나지 않았던 것입니다.

Friday, May 08, 2009

Eclipse - a tale of two VMs (and many classloaders)

Eclipse - a tale of two VMs (and many classloaders)
제목으로 올라온 기사인데, RCP에서 클래스로딩 메카니즘을 설명한 문서네요.

RCP처음 하시는 분들이 제일 막히고 이해 안되시는 부분 일텐데, 가벼운 마음으로 보시면 도움이 되실 듯 합니다.
엔진(?) 만드는데에도 좋은 모델이 될듯해서, 더욱 흥미 롭네요.


http://www.eclipsezone.com/articles/eclipse-vms/

Wednesday, May 06, 2009

네이트온메신져야 안녕.

오늘 네이트온 메신저와 안녕을 고했습니다.

네이트온 메신저는 무료 문자를 보낼수 있다기에 사용하기 시작했습니다.
꽁짜 문자를 사용하기위해 사용하기 시작했다가 어느새 메인 메신저가 되어있네요.

'딱 한시간만 미쳐라'라는 책을 읽으면서 달콤한 유혹인 메신저를 끊어야 겠다 싶었습니다.
담배나 술을 끊는것처럼 중독이 되어있어서 말입니다.

메신저를 Google Talk로 옮겼습니다.

Thursday, April 30, 2009

Google Service

Google이 일반을 대상으로 하는 서비스가 몇개나 될까? 검색하다보면 하나씩 하나씩 나온다.
그러면서 놀래.. 아니 구글이 이런서비스를.. 왜 이제야 알았지...
이런 서비를 정리 해 놓은 사이트를 본적이 없는데... 이건좀 아쉽지만..

구글의 이런 서비스는 나를 놀라게한다.
더구나 무료이고.

아래는 내가 현재 사용하는 서비스인데... 빠진게 모가 있을까~~

Wednesday, April 29, 2009

Gran Torino, 2008

Gran Torino를 우연히 보았습니다.
그렇지, 아무거나 걸린걸 보는 것이었지.

이번주에 도대체 내가 무슨일을 했는지 모르게 하루 하루가 지나고 있습니다.
그러니까 주말에 연휴이니 벌써 연휴로 가버렸는지도 모르겠고,
제품을 리눅스로 포팅하는 작업도 그렇지 평소라면 간단한 작업을 몇일째 부여잡고 있었지요.

은근히 짜증나는, 별 소득도 없고, 의미도 없으며, 왜라는 질문만 난무하는 .... 그런 하루 였습니다.
휴.. 사실 얼마전에 이야기했던 이클립스에 몬가 하려던 것도 진도가 나가고 있지 않습니다.

영어로 토론하거나 코멘트가 가능해야하는데, 이건 뭐.. 그것조차 되지 않으니 더이상 진도가 나갈수 없는 것이죠.

사실 몇가지 이클립스 제품은 나도 그깟이것 만들수 있어..
그게 모가 어렵다고 하는것도 존재합니다... 그렇지만, 지금까지 경험으로 미루어.. 제품이 그렇게 나온것은 많은 사람들의 의사교환과 토론 고통의 인내를 견디어 나온것을 잘 압니다.
그저 코딩실력만 있어서는 안되는 것이죠.

아이디어와 기획 의사교환 초기 파일럿과 테스트를 거쳐 사용자들에게 배포하고 다시 의견을 반영하고 그 결과가 사용자들에게 좋은 결과로 나타나서 다시 제품화하는 과정을 격는 일련의 과정을 겪여야 하는것 입니다. 말이 쉽지 결코 쉽지 않는 과정을 지금까지 경험을 통해 알수 있습니다.

다시 Gran Torino라는 것으로 돌아와서, 영화를 보는 내내 얼마나 몰입되던지 말입니다.
그 일상의 지루함이 감동이었습니다.
영화를 다 보고 난 후에 나의 기분은 전혀 새로워 졌습니다.
그냥 기분이 좋아지고, 낳아졌습니다.

그리고 다시 열정이 되살아 났습니다.
사실 무지 부끄러운 이야기지만, 영어 문법책을 다시 보고 있습니다.
그리고 틈나면 영어로 된 무엇이든 듣고 써보고 있지요.

내가 하고 싶은 것, 앞으로 되고 싶은 일을 향해 좀더 나를 정진해야겠습니다.
몇분이나 이 글을 보실지 모르지만, 한금이가 꼭 되어 보이겠습니다.

Monday, April 27, 2009

엄마보러 광주갑니다.

부모님 뵈러 광주 가네요.

변변치 않는 재주 이지만 Eclipse Platform(SWT/JFace, RCP, RAP, PlugIn, EMF, ECF, GEF) 요정도 기술등에 질문 거리가 있으시거나 궁금한 분은 연락주세요. 몇시간 정도는 가벼운 마음으로 충분히 가능할 듯 합니다.
사실 EMF, ECF, GEF은 안해본지 반년에서 2년 이상 된것도 있으니... 질문 받으면 모를지도 모릅니다. -_-;;
광주에는 5/1 - 5/4까지 있을예정이구요.

혹은 저의 기술 베이스를 아시는 선에서 질문도 괸찮고요.
전라도 광주 변방이라 질문하실분이 없을거라(?) 예상해 보지만 말입니다.

황금연휴가 다가오네요.

ps) 사실 아무것도 없으면서... 괸시리....
지방에 산다는 이유로 좋은 컨퍼런스나 모임 못 가지셨을텐데....
무슨 대단한 존재도 아니면서 글올리네요. 이런글 올렸다가 싸대기로 욕먹는거 아닌가모르겟네요. -_-;;;;

영어로 말을 걸면 한글로 말해주는 친구다.

Google Talk에 친구를 추가했다.

친구명은 다음과 같고.
en2ko.dict@bot.talk.google.com

영어로 말을 걸면 한글로 말해주는 친구다.

SWT/JFace Study PPT

저번(?)에 진행했던 SWT/JFace 스터디에 대한 PPT를 올렸습니다.

1주차 PPT


2주차 PPT


3주차 PPT


SlideShare라는 곳에서 ppt, pdf등을 보여주는 서비스를 해주고 있었네요.
마음에 드는데요

할수 있다면 5월 중순에 Eclipse RCP 스터디(?)를 할수 있도록 PPT를 준비해야겠습니다.
물런 무료 스터디는 모두에게(?) 별로 좋지 않고, 유료이어야한다는 생각에는 SWT/JFace 하면서 느끼는 결론 입니다.

혹시 그래서 못하게 된다면, EMF, GEF, ECF, DSDP, GMF등의 PPT를 준비해 볼 생각입니다.
나를 위한 준비이기도 하고요

Thursday, April 23, 2009

구글을 지탱하는 기술

구글을 지탱하는 기술이라는 책을 읽고 있습니다.

흠..... .... .... .... .... .... ....
요새 저의 블로그 수정하는 재미에 빠져있네요.
저의 개인 소개를 바꾸었고, Wish list를 추가했으며, 지지자들 리스트를 추가했고(첫번째 지지자 모집중입니다), 레이블을 추가, 다른 블로거에게 친구신청을 했고............
이런기능은 블로그를 처음만들때에는 없었던 기능(?) 이었습니다.

책을 읽으면서 이런것이 이해가 됩니다.
이런 부분이 내가 구글을 사용하는 이유가 됩니다. 블로그가 계속 진화합니다. 내가 편하게 흥미를 갖도록 말이죠.
묘한 매력이랄까요?

비교를 해보자면 네이버와 다음의 카페나 이런것은 잘 살펴보진 않았지만 몇년전과 별반 달라지지 않은 서비스(?) 인듯합니다. 서비스가 진화하지 못하고 유지보수(?)하기 바쁘랄까요.

내가 관심이 없어서 인지 몰라도 말입니다.
시간이 지나면서 계속 발전하는 구글의 기존 서비스를 볼때마다, 그리고 사용할때 구글의 마법에 사로 잡혀가는 듯 합니다.

구글 빠 한금이...

태양처럼 변하지 말아줘.

RAP full screen

보통 RCP같은 경우 WorkbenchWindowAdvisor를 상속받은 클래스 즉,

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

public void createWindowContents(Shell shell) {
super.createWindowContents(shell);
shell.setMaximized(true);
}
를 수정해 주면 됩니다. 그렇지만 이렇게 RAP를 해주면 전체화면으로는 되지만, 정작
전체화면되어지고 화면안에 있는 Widget들은 전체화면에 맞게 재 배치 되어지지 않습니다.
내일 쯤 시간을 내어 디버깅을 해봐야 겠습니다.

그래서, 모든 화면이 오픈되고 마지막 후처리하는 메소드에 다음과 같이 추가하면 되겠습니다.
public void postWindowOpen() {
final IWorkbenchWindow window = getWindowConfigurer().getWindow();
Shell shell = window.getShell();
shell.setMaximized( true );
}

그러면 원래 의도했던 화면이 생성 됩니다.

RAP of history

무언가 찾다가 버그질라에서 발견한 내용인데요.

2007년도에 RAP커미터중 한사람인 Jochen Krause 가 쓴 글인데요.
출발은 우리와 비슷한 프로젝트(?)로 출발 했지만, 나중에 결과물은 천지차이네요.
그 뚝심과 인내에 경의를 표하고 싶어 지네요.

원문은 (http://dev.eclipse.org/newslists/news.eclipse.technology.rap/msg01601.html)

Here you go with some RAP history:

RWT has indeed evolved from Innoopracts W4T technology, W4T stands for "www windowing toolkit". The first release of W4T was in December 2001, and it was our goal to make Java web development easier. This was not en vogue at that time, most of the Java crowd liked the complexity ;-)
We created a visual design tool for W4T as an Eclipse plugin - W4T Eclipse. W4T Eclipse became pretty popular with some groups as it simplified the creation of Java web apps quite a bit.
However, W4T was not a standard and we had an eye on JSF, which took almost forever to complete. We created a JSF compatible implementation that we dumped again, because we thought that the API of the components is almost impossible to understand for a Java (the language) developer. At least, we implemented a lifecycle management similar to that of JSF for W4T and moved ahead in 2005 to ajaxify the library. With the new Ajax capabilities we thought about enabling a workbench and plug-in based development approach for web applications. We successfully implemented proof of concepts for a "web workbench" as well as running osgi within a webcontainer in the summer of 2005. All of that was still based on the W4T api.

The RAP project was proposed in March 2006, and became an Eclipse project in late June 2006. It was still the plan to create a workbench implementation with W4T as widget toolkit. We realized pretty quickly that the Eclipse community preferred the SWT api for various valid reasons (not because W4T api was bad, but for code reuse, skill preservation, ...). So we began to re-implement the component layer with mostly SWT api and qooxdoo on the client side. Based on ongoing community feedback and after aligning with Steve Northover we decided in March 2007 to make RWT a subset of SWT.

That was the short version ;-). With respect to the development process of the Application framework the most notable thing in my eyes was the adoption of Eclipse APIs during the development. Even in the W4T days we had a JFace implementation (not fully API compatible). We decided at some point to innovate around an existing application framework that we think is very powerful (osgi, rcp), even if we don't agree with everything. If you want to get more info on how Eclipse as an application framework has evolved there are some great (old) slides by Jim de Rivieres. Erich Gamma and others. I don't have them handy but I think I could dig them out.

Cheers, Jochen

Tuesday, April 21, 2009

Finding SWT Leaks with Sleak

http://eclipsesource.com/blogs/2009/04/17/finding-swt-leaks-with-sleak/

Sleak 소개 팁입니다.

01....
02.org.eclipse.swt.SWTError: No more handles
03.at org.eclipse.swt.SWT.error(SWT.java:2966)
04.at org.eclipse.swt.SWT.error(SWT.java:2863)
05.at org.eclipse.swt.SWT.error(SWT.java:2834)
06.at org.eclipse.swt.widgets.Widget.error(Widget.java:395)
07.at org.eclipse.swt.widgets.Control.createHandle(Control.java:482)
08.at org.eclipse.swt.widgets.Composite.createHandle(Composite.java:229)
09.at org.eclipse.swt.widgets.Control.createWidget(Control.java:497)
10.at org.eclipse.swt.widgets.Scrollable.createWidget(Scrollable.java:131)
11.at org.eclipse.swt.widgets.Control. (Control.java:97)
12.at org.eclipse.swt.widgets.Scrollable. (Scrollable.java:72)
13.at org.eclipse.swt.widgets.Composite. (Composite.java:87)

이미지나 폰트등을 사용한 후에는 반드시 dispose를 호출해주어서 리소스스를 시스템에 반납해주어야하는데요.
그러지않고 무한정 생성만했을 경우 위와 같은 상황이 나타납니다. 물런 사용할때는 당연 ImageRegistry, FontRegistry 이것들을 관리해주는 JFaceResource를 사용해서 재사용해야 겠습니다.

이것들을 이용해서 처리해도 너무 많은 자원을 생성해서 가지고 있다면 위와 같은 에러를 만날수도있습니다. 시스템에서 위의 리소스를 만들수있는 한계가 있기때문에 그런 것 입니다.
이 것을 생성할수 있는 한계는 os마다 틀리기때문이지요.

어찌됐든 위와같은에러가 나왔을때 사용하는 도구가 Sleak입니다.
Sleak 홈페이지가도 처음하시는 분들은 감갑자기도 힘들텐데 정리가 잘되어 있네요.

알면 엄청나게 편한것이고, 모르면 몇일 날밤 새는 그런 것이므로 한번쯤은 꼭 봐두면 좋을듯 싶네요.

Friday, April 17, 2009

저번주 부터 오른손 검지 손가락이 많이 아프네요.
엄지부터 검지까지 전체적으로 아프네요.

게임을 너무 열심히 해서인가도 싶고요.

어제는 급기야 오른손 전체에 맨소래담을 발랐습니다.
이것도 일종의 직업병인데 말입니다.

Thursday, April 16, 2009

RAP 근거리 미래

Eclipse나 혹은 RCP가 어떻게 발전하는지 궁금하다면 혹은 근래에 어떻게 나올것인지 궁금하다면 나는 RSA(Rational Software Architect)나 로토스 노츠??등을 찾아봅니다.

그러면 그 다음버전에 이클립스는 대부분 그렇게 변해서 나옵니다.
외형에서부터 기반 프레임웍에 해당하는 것까지 그렇습니다. 그럴수 밖에 없는것이 그 개발팀이 있는곳에 커미터들이 있기 때문입니다.

자 그럼 RAP의 미래는 어디서 엿볼수 있을까요?
그것은 http://www.eclipse.org/rap/demos.php의 CAS PIA를 통해 어느정도는 볼수있습니다.
어느 블로거의 글에서 봣는지 모르지만 e4에서 나오는 것들에 대한 힌트가 있었는데, 그 힌트에 대한 이야기가 이 프로젝트에는 그대로 녹아 있습니다.

RAP E4 기대가 됩니다. 참고로 아래프로그램은 영어가 아니라 독어입니다.
RAP의 한 축을 이루는 qooxdoo도 독일에서 나왔으며, RAP커미터 중 두명은 아래 CAS Software사람입니다. EclipseSource에 속해있는 커미터는 8명입니다.



누군가가 개발하면 표준이되고, 누군가는 표준이 되는 코드를 쫒아가면 되는데...
이제 그만 쫒아가고 싶습니다.

한국에서 이런것에 대해 고민하는 기업과 학교가 좀더 투자하고 이끌어 나갔으면 좋겠습니다.

Tuesday, April 14, 2009

눈물만 주르르

어제부터 개발하는 시스템의 리팩토링을 하고 있습니다.

대략 쓰레드가 10개 미만, 클래스 40개 미만의 작은 시스템입니다.
시스템을 모니터링 하는 것이 주요한 기능입니다.

처음에 파일럿으로 만든 베이스 구조(Base Framwork)를 그대로 사용하고 있었습니다.
몬가 하나 수정할때마 베이스가 구조가 허약함을 느끼고 있었지만, 고치는게 귀찮고, 약간의 귀차늠을 감수하면 되므로 그냥 두고 있었습니다.

어제 다른 부분 리팩토링을 하려다가, 여전히 걸리는 것이 베이스 구조 이었습니다.
RAP에 대한 이해도 부족한채 만든 구조가 튼튼할리가 없습니다.

고치기 시작 대략 7개 미만의 클래스가 추가 되었습니다.
여러가지일을 하는 클래스를 쪼개 었지요. 흠흠흠...

역시나, 그림이라도 한번 그려보고 했어야 하는데 말입니다.
무료 uml plugin 도구를 찾아봐야겠습니다. RAS가 그립네요
눈물만 주르르 입니다.

Monday, April 13, 2009

여러 블로거들을 순회하다보면 GEF, ECF, EMF 이런 프로젝트 이야기가 많이 있습니다.

지금 문든, 그냥 해보고싶다는 생각이 드네요.
이제 이런것들의 개발을 안한지 2년이 되가서인지.. 기억이 하나도 안나네요.

그냥 이것 저것 복잡한 일들이 많을때는 미치도록 집중할 그 어떤것이 있었으면 좋겠습니다.

Saturday, April 11, 2009

RAP 개발환경(RAP Developement Environment)

RAP 개발환경을 먼저 이야기를 해야하는데, 이전 게시물과 순서가 조금 뒤바뀐듯 합니다.

개발 환경
Java Version 1.6.0
Eclipse Version: 3.4.2 Build id: M20090211-1700
PlugIn : WTP, Log4E 등
RAP Version : 1.2.0.20090319-1224 M6
(1.1.2 service release보다 1.2 M6을 권장합니다.)

Window Vista
MySQL 5.5

실제운영하게 될 Target Platform : Open Suse 10.x버전

환경에 작업해야 했습니다.

FireFox 3.0.8, Internet Explorer 7.x, Google Chrome, Apple Safari에서 모드 잘 동작했습니다.

그 중에 Google Chrome가 제일 빨랐 습니다.
Ghrome은 특정부분에서 화면이 어그러지는 현상이 발생했구요. 아마도 속도를 위해 디테일을 희생한 느낌이었습니다.
Explorer에서는 특정부분에서 동작하지 않았습니다.
(Thread가 동작하는 화면에서(UICallback때문에) Dialog창을 열면 javascript에러가 나고 죽습니다. 이건 모 설명하기가 까다롭네요, 결국은 로직을 바꾸어서 모든 브라우져에서 동작하도록 수정했습니다. -_-;;)


프로젝트 구성은 위와 같습니다.

com.xxx.rap.monitor 프로젝트는 비지니스로직이 있는 플러그인 입니다.
일반적인 실행은 jetty로 수행합니다.

com.xxx.rap.monitor-tomcat 프로젝트는 wtp에서 사용할 web 프로젝트 이구요. 그래서 톰켓으로 올려서 테스트 해야하면 이 프로젝트를 사용합니다.

com.xxx.rap.monitor.feature 프로젝트는 tomcat으로 실행하기위해 빌드하는 프로젝트입니다.
com.eclipse.rap.demo.feature 프로젝트를 모태로해서 수정한 것이구요. 수정 이유는 제 블로그 글 중에 있으니 읽어보면 되겠습니다.
나머지 프로젝트는 feature빌드하기 위한 부분 플러그인입니다.

사실 글로 적으니 몇줄 안되니 무엇인가 많이 빠지 느낌입니다.

RAP의 장점은 실제로 개발을 주도하는(?) EclipseSource에
Why RAP 주재로 다음과 같은 소개글이 있습니다.
Single Source RCP Desktop and Web Applications
Eclipse Developers are up to the speed in web development quickly
RAP enable reuse
RAP works on all popular browsers

RAP로 제가 좀 독특한 프로젝트를 했는지 몰라도 Single Source 라는 주재는 납득하기 힘든면이 있습니다.

Friday, April 10, 2009

SWT RCP/PlugIn 테스트에 관한 글입니다.

http://swarmy.free.fr/wordpress/?p=66

테스트해보지 않았지만, 상당히 자세한 글이라 그리 염려스럽지 않을듯 합니다.

독일분 가튼데, 대문에 아래와 같은 글이 있네요. 글 보면서 한참을 웃었는데요. 어찌나 내 이야기 같던지 말이죠.
테스트에 관심있는 분들 댓글 부탁들요.
자세히 보지 못했지만, 글중에 다른 커뮤니티의 테스트 이야기등도 나오니 더 좋더군요.

100 little bugs in the code, debug one, recompile, 101 little bugs in the code

Thursday, April 09, 2009

Desktop Application 개발자의 어려움

어제 문득 Spring 기본서를 뒤적이고 있는 나를 보았습니다.
변방(?)에 있는 나로서는 비주류다 보니 무엇이든 개념이 부족합니다.
잘 구현된 Spring자료를 보다보면 아이디어가 많이 떠 오릅니다.

Web Application개발자들이 부러울때가 많이 있습니다.
풍부한 읽을거리와 리드하는 많은 개발자들이 많이 있고, 한글자료도 나름 풍부하여, 의지만 있다면 얼마든지 가능하겟습니다.

체계적인 방법론부터 시작해서 프로젝트 종료까지 일의 순차는 참 부러운듯합니다.

그에비해 Desktop Application 개발자들이 보기에는 자료가 많이 부족한 듯 합니다.
길은 서울로 통한다지만, 역시나 Desktop Application 개발에 맞게 커스텀된 자료들을 찾아보기 힘드네요.
좀더 원론적으로 접근할수 있는 자료들이 많이 있었으면 좋겠습니다.
이런 의미에서 EclipseCon과 같은 세미나는 더없는 부러움이었습니다.

Web Application개발과 같은거 아니냐고 생각할수도 있겠습니다만, 나름 Web Application개발과는 또 다른 Something이 있습니다.

그런다고 외국의 좋은 블로거들과 사이트를 들여다 보는것도 한개는 분명합니다.
이미 정점에 올라선 Platform 자료들과 그 완성된 자료들을 봐야하는 나로서는, 외 그렇게 디자인 했는지가 궁금할 뿐입니다. 정점에 올라선 소스는 보는것은 그리 궁금치가 않습니다.

적다보니 나도 맨토가 필요하다는 생각이 듭니다.
새벽까지 끙끙거리며 자료를 보는것도 힘들고,.. 함께 이런부분을 좀더 고민하는 동료가 많이 있었으면 좋겠습니다.
염치가 없지만, 허접한 나의 현실 입니다.

RAP with GEF

RAP e4에 GEF소식이 있네요.
http://www.architexa.com/labs/#gef


http://www.eclipse.org/newsportal/article.php?id=6023&group=eclipse.technology.rap#6023 글의 글타래를 보면 더 정확한 정보를 얻을수 있습니다.

Wednesday, April 08, 2009

RAP(RCP) 시작위치 조절(ApplicationWorkbenchWindowAdvisor#postWindowOpen() 고찰)

이것은 RCP도 동일하게 적용됩니다.

RAP가 처음 시작했을 때 보통 왼쪽 가장 자리에서 시작하게됩니다.
브라우저 제일 왼쪽에 딱 붙어서 시작하게 되는거지요.

이것을 화면 가운데로 혹은 원하는 곳으로 뛰어주게 하고 싶을 것 입니다.

이렇게요.

이것을 조절하고 싶을때는 WorkbenchWindowAdvisor를 상속받은 클래스 즉 보통 자동으로 생성되는 ApplicationWorkbenchWindowAdvisor#postWindowOpen() 메소드를 수정해 주면 되겠습니다. WorkbenchWindowAdvisor는 아는 것처럼 초기 원도우의 시작과 끝을 지정하고 어떻게 화면이 open되어야 하는지 조절하는 역할을 합니다.

그중 preWindowOpen() 메소드는 원도우가 어떻게 구성되어야 하는 것인지 정의하고(화면의 크기와 쿨바의 보이기 유무등), postWindowOpen()는 원도우가 오픈된 이후의 부가 적인 것들을 정의하게 되어 있습니다. 우리가 하려고하는 초기 위치 설정이라던가, 아래에 있는 것처럼 Preference 중에 우리가 원하는 것만 오픈한다 던가, RCP 일 경우 tray icon을 설정한다던가요.

진행하는 프로젝트의 코드는 다음과 같습니다.


위의 코드의 설명은 대락 Preference중에 ID가 com.mantech으로 시작하는 Preference만을 관리 하겠다는 것입니다. 나중에 Preference화면을 열었을때 com.mantech으로 시작하는 것만 열리겠지요. 이 코드를 사용하는 이유는 확장점중에 에디터나 ui를 사용할 경우 그 확장점에서 정의 preference도 나타나는데 이것을 지워주기 위함입니다.

그리고 두번째는 초기 시작 위치를 조절하는 것이지요. 시작 위치는 75,25만큼 이동해서 오픈되겠습니다. 중앙에 오픈하려면 창의 크기 자신의 크기를 계산한 다음에 이동해도 되겠지요. 자신의 초기 크기는 preWindowOpen에서 정의한 크기가 되겠구요.

마지막 세번째는 window가 오픈된 이후에 시작해 주어야할 Thread를 시작해 주었습니다. job을 이용해도 되겠습니다만... 혹은 ui와 상관없는 것이라면 확장점 org.eclipse.ui.startup를 사용해도 되겠습니다.

쓰다보니 굉장히 길어 졌네요. 이 부분도 좀더 안정적이고 멋진 제품을 만들기 위해서는 알아야 할 내용입니다. 위에서 설명한 것 이외에도 설명해야 할 부분이 많이 있습니다만 차차 하나씩 적어 보도록 하겠습니다.

EclipseCon 2009 Demographics

이클립스콘 참가자들 통계라고 합니다.

외국에서는 이클립스 개발자들의 68%이상이 3년이상 이클립스를 사용했다고 합니다.
참여자들의 역할은 40% 개발자, 4% 테스터가 참여했네요.
음, 한국 같으면 90%가 개발자일(?)텐데..

자세한 내용은 http://eclipse.dzone.com/articles/eclipsecon-2009-demographics를 참고하세요

부러운 소식

어제 eclipse community에서는 커미터 선거가 있었나 봅니다.
부럽습니다.

앞으로 이클립스에 관한 팁이나 글을 적을때는 되도록이면 영어로 작성해야겠습니다.
물런 될런지나 모르겠습니다.

RAP로 Log in 부분 작성하기 2

어제 로그인 소스에는 정작 로그인 다이얼로그에 대한 설명이 없었습니다.
로그인 다이얼로그는 일반적인 로그인 창으로 작성하면 되겠습니다.


중요 포인트는 로그인 후에 세션을 설정해 주는것에 있습니다.
이유는 아래에서 설명했던것처럼 시스템이 비정상적으로 종료되었을때를 대비하기 위함입니다. 물런 사용자가 적고, 리소스를 많이 사용하지 않는 시스템에서는 아무 문제가 없겠지만 말입니다. 정작 문제가 되면 처음으로 살펴봐야할 부분이지요.

개발환경 설정이 약간은 복잡하므로(개발 테스트는 jetty, 운영은 tomcat)로 하므로, 저는 로그인 후에 세션 타임아웃을 지정하는 코드로 작성 했습니다.(일반 web은 web.xml에 세션 타임아웃을 지정할 수 있습니다)

코드의 중요한 부분은 다음과 같습니다.
대략 디비에서 조회한 아이디/패스워드가 맞다면 다음과 같은 코드를 추가해 주어야 합니다.

// 로그인이 정상적으로 됐다고 생각한다.
if( seMasterInfo != null ) {

ISessionStore sessionStore = RWT.getSessionStore();
final String sessionId = sessionStore.getId();
logger.info("[New RAP Session creation ] [session id]" + sessionId + "[login id]" + txtID.getText());

ISessionStore ss = RWT.getSessionStore();
HttpSession hs = ss.getHttpSession();
hs.setMaxInactiveInterval( 24 * 60 * 60 ); // 24시간동안 세션설정한다.

이렇게 하면 세션이 expire될때에는 ApplicationWorkbenchWindowAdvisor#postWindowClose()가 호출 될 것입니다.

그리고 정상적인 종료를 눌렀을 경우에선 ApplicationWorkbenchWindowAdvisor#preWindowShellClose()가 호출 되겠지요.

Tuesday, April 07, 2009

저번 주부터 거의 EclipseSource, Bugzilla에서 놀고있습니다.
Eclipse RAP소스를 통째로 받아서, 나름이해해 보려고 시도 중이기도 합니다.
RAP팀의 고통이 보이는 코멘트와 소스가 보이기도합니다.

예를 들어서 코멘트중에 'Equnox코드는 너무 복잡해서 다 이해하기 힘들다. 그렇지만, Equnox 버그인듯하다' 라던가....

영어가 어렵네요.
Eclipse 소스는 이제 볼만 하네요. 어디서부터 봐야하나, 시작해야하나.. 이런건 이제 내 안에 어느정도 정리가 된듯합니다.
그렇지만, 영어는 먼산인듯... 계획을 가지고 다시 시작해야할듯합니다.

Go to basic.

Sunday, April 05, 2009

RAP로 Log in 부분 작성하기

RAP프로그램에서 로그인을 부분을 작성하는 방법을 설명하도록하겠습니다.

RCP라면 보통 "org.eclipse.ui.splashHandlers" 확장점을 이용하거나 합니다.
그렇지만 불행히도 RAP는 이 확장점이 존재 하지 않습니다.

그래서 Eclipse3.2에서 사용하던 방법으로 처리해야 합니다.
RCP가 처음 시작하는 확장점은 "org.eclipse.core.runtime.applications"인 것 처럼 RAP는 "org.eclipse.rap.ui.entrypoint"를 시작점으로 하여 프로그램이 출발합니다. 이 시작점에서는
그래서 로그인 코드는 시작점(IEntryPoint은 RCP에서의 IApplication과 같은 용도)에 정의하면 되겠습니다.


RAP에서 로그인부분이 좀 틀린점이라면 로그인을 정상적으로 하고 난 후에 세션을 정의해 주는 부분입니다. 아래게시물에도 있었지만, 시스템자원을 반납해야하는등의 시스템에서 마무리 해야하는 코드를 넣어야 할 경우에 사용하기위해서 말입니다.

Thursday, April 02, 2009

아주 가끔이자만, 어설픈 내가 좋을때도있다.

어설퍼서 다름 사람에게 매사에 미안하고 잘못한것 같은 나 이지만...
매일 밤 늦게까지 공부해야하고 놀때도 책봐야 겨우 겨우 비슷한 수준이 되는 내가...
아무리 고민해도 허접한 결과물만 나오는 나이지만...

좋을때도있다.

그래서 다른 사람을 이해하고 싶네요.

가끔은 막 욕해주고싶네요.

Wednesday, April 01, 2009

RAP

widget이 종료될때 dispose()를 호출해 줍니다.
뷰파 트가 닫힐 경우라던가 이럴때 dispose를 호출해 주어서 사용하던 자원을 반납할수 있게 됩니다. 이미지도 반납해 주고, 사용하던 thread도 종료해주고요.

종료버튼을 눌러주면 dispose()메소드를 잘 호출해 주었습니다.

오늘 무심코 browser의 x버튼을 눌러서 종료했더니 dispose()를 호출해 주지 못했습니다.

버그 질라를 통해, 다음과 같이 해결 했습니다.
이런 경우는 session의 timeout을 이용해서 처리 해야 합니다.
Session을 설정하면 Session이 expire될때 RAP가 WorkbenchWindowAdvisor#postWindowClose() 를 콜백 줍니다.
그래서 꼭 없어져야 하는 자원이 있다면 postWindowClose에 코드를 집어 넣어야 합니다.

Login시에 session을 설정하고 sessiontimeout시간을 지정합니다.
//
// http session time을 정한다.
//
ISessionStore ss = RWT.getSessionStore();
HttpSession hs = ss.getHttpSession();
hs.setMaxInactiveInterval( 24 * 60 * 60 ); // 24시간동안 세션설정한다.

// 종료될때 호출해 주어야 하는 자원을 아래 처럼 기록해줍니다.
@Override
public void postWindowClose() {
................
}

Tuesday, March 31, 2009

조금씩 그럴싸 해지는 듯 하네요.



자 기대해 보아요.

com.eclipse.rap.demo.feature->ConfigIniCreator 버그

외부 was로 프로젝트를 빌드할때 RAP개발자들은 대부분 com.eclipse.rap.demo.feature를 기반으로 작성하게 됩니다.

그러나 com.eclipse.rap.demo.feature Project에 있는 PlugIn에 다음과 같은 문제가 있습니다. 사용법은 아래 게시물 보면 있을 거구요.

ConfigIniCreator를 실행하면 PlugIn의 목록을 출력해 줍니다.
그런데, Plugin JAR이름이 org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar일 경우
org.eclipse.equinox.preferences_3.2.201.R34x@start처럼 생성이 됩니다.
원래의 의도는 org.eclipse.equinox.preferences@start 이어야 한다고 생각합니다.

PlugIn이름이 _바가 두 개 들어가 있습니다.
이것은 ConfigIniCreator의 51라인 int underscorePos = fileName.lastIndexOf( "_" ); 때문입니다.

이 코드는
int underscorePos = fileName.indexOf( "_" ); 처럼 수정 되어야 합니다.

Monday, March 30, 2009

RAP 시작, 톰켓의 환경...

RAP를 기동했을때 서버 osgi옵션을 주고 싶을때가 있습니다.
예를 들어 -clean, -consoleLog, -console 이라던가요.

클립스로 실행했을 때에는 Run Configurations -> Arguments -> Program Argument에서 주면 됩니다.

Tomcat으로 실행했을때에는 web.xml에 다음과 같이 옵션을 줄수 있습니다.


바로 아래 게시물처럼 현재 Activation된 플러그인 목록을 보고 싶다면 ss 명령을 줌으로
확인 가능 하겠습니다. ss 명령을 줄수 있는 것은 위의 -console 명령 때문에 가능하지요.
-clean은 workspace의 캐쉬들을 지우라는 말이구요.
-consolelog은 osgi 표준 출력을 하라는 의미입니다.
그래서 프로젝트에 문제가 생겨 .log에 파일이 생기는 것을 콘솔로 확인 가능합니다.

enableFrameworkControl 의 설정을 true로 했을때 bundle을 동적으로 내렸다 올렸다 할수 있습니다.
예를 들어서 http://localhost:8080/monitor/sp_start 이렇게하면 해당 프로젝트를 시작하라는 의미 이지요.

자세한 설명은 http://www.eclipse.org/equinox/server/http_in_container.php을 참조하세요.

아참, 그럼 이클립스 플렛폼의 환경정보를 가지고 있는 configuration 폴더는 어디에 존재할까요? 혹은 workspace라던가요?
이것은 톰켓이 시작할때 BridgeServlet 클래스가 실행되어 temp폴더 servlet폴더 정확한 명칭을 모르겠네요. 그러니까 C:\dev\tomcat-5.5\work아래에 컨텍스트 루트 아래에 존재하게 됩니다.

다음에 시간이 되면 좀더 플어서 적어보도록 할게요

RAP to Tomcat Export

RAP로 개발된 프로젝트를 Tomcat으로 Export하기 입니다.

http://www.eclipse.org/equinox/server/http_in_container.php
http://eclipsesource.com/blogs/2007/12/07/rap-deployment-part-2-deploying-your-application-as-a-war-file/
등 몇개 주목해서 볼만한 것들이 있습니다.

하나씩 꼼꼼하게 해도 되지 않습니다.

우선 RAP의 소스 위치가 변경되었습니다. 또한 이클립스 버전도 변경되었지요.
위에서 설명할때 사용하던 버전의 소스와 바이너리를 찾기가...

일요일에서 월요일 넘어가는 새벽 4시까지 삽질에 삽질을 했지만....
나의 허덥한만 확인 해야 했습니다.
-_-;;;;

휴..

출근해서 다음과같이 작업을 했습니다.
이클립스를 Eclipse 3.4.2 M20090211-1700으로 다시 인스톨했습니다.
RAP도 현재의 최신버전 1.2 M6 Milestone Build 로 수정하였습니다.

눈물만 주르르 ....

이것과 관련된 자료를 찾는중에 이것 자것 많이 구경하였네요.
버그질라와 버그 목록 블로그, EclipseSource등.. 갈길이 한참 멀었다는 생각만드네요.

아래는 성공적으로 동작한 모습입니다.

Saturday, March 28, 2009

2009년 목표

이제 30대 중반이 되어 가고 있습니다.

이대로 나이 먹는 것에대해 나름 고민을 많이 했지요. 이렇게 나이를 먹어가는게 ....
고민해보았습니다. 스트래스가 좀 심했지요.

어제 집에 들어가서 맥주한잔 먹으며, 이래저래 생각했습니다.

이 허덥한 실력으로... -_-;;;;
아직도 초급도 못 땐 미숙한 능력으로 무엇을 할수 있을까나 싶었습니다.

그나마 하고있는 것, 조금이라도 경쟁력 있는 것..
몇년동안 고민했던 것...

Eclipse platform......

문득 이지만, 나도 Eclipse Commiter가 되봐야겠다고 생각했습니다.
2009년은 이것을 위해 노력해야겠습니다.

나의 개발인생의 전환점이 될거라 생각해봅니다.

어디서 부터 시작해야하는지도 모르겠지만, 되 보겠습니다.

Friday, March 27, 2009

가끔 카페에서 q/a를 하다보면 질문 내용중에 다음과 같은 내용이 있다.

.... 눈에 눈물이 날 정로도 봣는데도.. 모르겟어요. ....

나도 눈물이 나고 있다.
휴.. 몇시간동안 집중해서 보고 반복해봐도 되지 않는다.
어디가 잘못되었는지도 모르겟다.

젠장 어디 물어볼 곳이라도 속시원이 있었으면 좋겟다.

이것도 알게되겠지..
이 아는 사실을 다른이에게 알려줄때면 한마디 혹은 1분이면 끝날지도 모르겟다.

다른 누구보다 더 많은 눈물을 흘리는 것...
한두시간 헤메고 하루 이틀 헤메고.. 안될때도 허다하다.

개발을 처음 시작하시는 분들이라면.. 좀더 인내하고, 고민하고.. 논리적으로 생각해보라고 말해주고 싶다.

그나저나 휴..... 온몸이 오늘 해매고 있는것에 대해 보기를 거부하네요. -_-;;;;;;;;;;;

Thursday, March 26, 2009

Eclipse Con 2009기간

어제 부터 Eclipse con기간 인가 봅니다.

지방에 사는 분이 서울을 부러워하듯..
서울에 사는 저는 미국이 부럽네요.

적어도 오늘은 미국에 사는 분들이 부럽기만 합니다.

여러권의 책과 문서들에서 보던 Jeff MacAffer의 강의도 듣고싶네요.
물런 온라인으로 볼수도 있겠습니다만...

젠장, 몇년전부터 가고싶다고 말만했는데...
영어도 안되고 돈도없으며, 시간도 안되네요.

괸시리 우울해 집니다. -_-;;;

음음음... 좀더 구체적인 계획을 세워서, 어캐든 ..................
끙..........................

.....................
.....................
.....................
.....................

a zest of life

Wednesday, March 25, 2009

RAP Keyevents

RAP에는 keyEvents가 없어서..
keyEvent가 없으면 키보드 이벤튼 어떻게하라고...

흠흠 이었더니 1.2 M4에서 수정된 사항이네요.
3.5에서나 구경할수있는 키 이벤트

http://www.eclipse.org/projects/project-plan.php?projectid=rt.rap

RAP의 좋은 점 혹은 나쁜 점 혹은 이상한 점

3주차 들어서는 RAP와의 관계를 생각해서 주관적인 글을 좀더 적어봐야할까 싶습니다.

좋은 점
1) RAP는 RCP의 subset이라고 표현합니다.
기존 PLUG-IN을 재사용할수 있으며(한계가 있지만), RCP가 가지고있는 자원을 재사용할수 있다는 이야기 입니다. 감이 안 오실 수도 있겠지만, 이것은 분명 커다란 장점입니다.
프리퍼런스는 기본 워크벤치들, 뷰어들, 헬프 로컬라이제인션, 다른 기존 rcp의 리소들 하며............

카페에 올린글을 추가해 봅니다.
<
RAP는 Rich Ajax Platform입니다.
RAP는 RCP의 서브셋입니다. RCP를 웹으로 가져온것이죠.
그래서 앞단에 Viewer들을 그대로 쓸수 있습니다.
퍼스팩티브도요.
워크벤치도요.
인트로나 에디트파트나 뷰파트도요.
헬프도요.
브랜딩도요.
기존에 만들었던 플러그인도 가져다 쓸수 있지요.

RAP가 한계가 있다는 말은 RCP가 한계가 있다는 말과 동일하다라고 생각되구요.
일반 웹에 비해 무거운 부분은 있는 듯(?) 합니다.

그것을 감수하고 쓸만한 충분한 매력이 존재합니다.
예를 들어 우리가 RCP개발하는 것처럼 테이블 뷰를 만들었다면, 웹에 그 테이블 뷰가 그대로 보여집니다.
테이블 뷰어의 쏘트나 필터, 레벨 프로바이더, 컨텐트프로바이더등을 그대로 사용하면 됩니다.

콜백 함수도 지원되구요.
이런 부분은 적어도 웹 개발하는 분들에게는 감동 그 자체일 것입니다.
>

저같은 경우 RAP UI디자인에 SWT Designer를 사용하여 디자인 합니다. 그만큼 RAP의 완성도가 있다는 이야기 이지요. 물런 에러나는건 있습니다만...

2) RAP는 웹브라우저에서 리치하게 동작합니다.
리치클라이언트에 대한 정의가 여러가지 있겠지만, 모양만 리치하지 않고 서비스도 리치하게 동작하지요.(??)

3) 원소스 멀티 유즈가 가능합니다. RCP와 RAP코드 재사용을 책에서는 100% 가능하게 개발하다고 합니다만...


나쁜 점

1) RAP는 웹컨테이너에서 동작합니다. tomcat 또는 jetty(이클립스에서 실행하면 jetty)위에서 동작 해야 합니다. 컨테이너가 주는 많은 서비스들이 있습니다. datasource나 이런 서비스들 이겠지요. 연동하기가 좀 까다롭습니다.

2) 1)번과 같은 맥락에서 이클립스에서 실제 테스트 할때부터 tomcat이나 상용 웹서버에 붙여서 해야하는데 쉽게 연결시키지 못하고 있습니다.
물런 실제 deploy할때는 braning하면 쉽게 된다고하지만...
좀더 확인해봐야할 부분입니다.

3) GC(Griphic Context)등을 지원하지 않습니다. GC는 어쩌면 ui에 절대 적인 존재인데 말입니다. draw2d... -_-;;;;

4) web도 rcp도 알아야한다.

1,2번은 시간을 좀더 들여서 테스트해보면 좋겟는데.. 여유가 없네요.

이상한 점
1) rich와 thin의 중간에서 어느것을 선택 해야 할지 이상합니다.
db연결할때 컨테이너에서 재공하는 자원을 사용할 것인지.. 등이지요.


이제 3주차 접어든 시점에서 너무 빠른 판단인지도 모르겠습니다.
나쁜 점은 몰라서 나쁜 점일것으로 생각되구요.(-_-;;)

어제부터 RAP위에 GEF를 올려보려고 삽질을 계속하는 중입니다.
브라우저위에 도형들이 돌아가는 모습을 언넝 보고 싶네요.

zset................................................

Tuesday, March 24, 2009

RAP에서 CSS사용하기

RAP에서 외부 모양을 꾸미기 위해서는 테마(확장점:org.eclipse.rap.themes)를 사용합니다.
이 테마는 RAP가 웹에서 동작하니 당연히 CSS를 사용하게 되지요.

좀더 부언하자면 다음과 같습니다.
Button의 모양을 CSS로 다음과 같이 정의 했다면
Button {
color: #705e42;
padding: 3px 6px 3px 4px;
font: bold 12px Arial, Helvetica, sans-serif;
}

다음과 같이 출력 됩니다.


이 CSS가 적용된 프로젝트에는 모든 버튼이 위와 같이 표시 됩니다.

- 지금까지 알 수 있는 사항은 다음과 같이 정의할수 있습니다.
대부분의 콘트롤을 CSS로 정의할 수 있습니다
RWT(RWT는 SWT와 같은 것으로 표준 Widget을 말합니다) Widget으로 화면에 정의된 모양과 CSS 정의된 타입이 중복 되었을 경우에는 RWT가 우선적로 적용되는 것으로 보입니다.

- RAP에서 CSS를 정의하는 방법은 다음과 같습니다.
1) Extensions에 org.eclipse.rap.themes를 추가 합니다.

위의 정의를 설명하면 다음과 같습니다.
프로젝트 내에 theme1/theme.css파일을 테마로 정의합니다.

처음 출발은 RAP 공식 데모인 org.eclipse.rap.demo에 적용된 css를 보면 CSS를 어떻게 정의 해야 하는지와 설명이 잘 되어 있습니다.

2) 적용된 CSS가 어떻게 보여질 것인지는 branding로 정의할 수 있습니다.

위의 정의를 설명하면 다음과 같습니다.
body는 body.html파일로 정의합니다. body로 정의하고 싶은 내용을 정의 합니다.
defaultEntrypointId으로 정의하는 기본 entry point를 정의 할 수 있습니다.(entry point는 RAP의 시작 포인트 입니다. 즉 RCP에서 IApplicstion과 같은 역활을 합니다)
exitConfirmationClass는 종료 시에 출력되는 클래스를 정의합니다.
favicon, title는 화면에 표시될 아이콘과 타이틀을 지정합니다.


id는 중복되지 않는 고유의 id를 정의합니다.
servletName은 호출될때 사용되는 이름을 정의합니다.
themeId는 호출될때 적용할 theme를 정의합니다. (위의 1에서 정의한 css를 정의 할수 있습니다.)

위와 같이 정의하고 프로그램을 호출하면(http://localhost:9090/ems) 위에 적용된 css가 출력됩니다.


전체 디테일한 메뉴얼은 다음을 참조하세요.
0) Eclipse help의 RAP Developer Guide -> Advance Guide -> theme부분 참조
http://help.eclipse.org/ganymede/topic/org.eclipse.rap.help/help/html/advanced/theming.html

1) http://www.ibm.com/developerworks/edu/os-dw-os-eclipse-ganymede-pt2.html중에 Theming the personal organizer 살표보세요.

2) Rich Ajax Platform: Bringing Rich Client to the Web (Firstpress) 6장 Changing RAP to Use a Different Theme부분을 참조하세요

Sunday, March 22, 2009

미라이 공업이야기

신년사에서 고문님이 소개하셨던 미라이 공업이야기를 xper그룹의 어떤분이 이야기 하셨습니다.

그 중에 그 사장님의 말이 흥미롭습니다.

"
어디에나 있는것, 그런 건 안돼
어디든지 있는것은 안돼
그래서 어디든지 있는 것은 안돼니까 없는 것을 생각해야 하는거야
이것이 미라이 공업의 기반이야
"


지금 내가 하고 있는 것..
추구하는 것을 점검해보고 수정해 봐야겠습니다.

Friday, March 20, 2009

주말에 RAP에 GEF올려보는 셈플을 만들어 봐야겠습니다.
몇년만에 하는것인지 모르겠으나.. 잘 되겟지요.

RAP의 또 다른 가능성입니다.

애그 아래 게시물 쓴지 얼마나 됐다고.... 쯔쯔
혹시 하게 될지도 모르는 Eclipse Rich Client(RCP) PPT를 만드는 중입니다.
이번주에는 대강 목차는 잡았으니, 이미 절반을 시작한 셈 입니다.

나름 저번 SWT/JFace 스터디 처럼은 어떻게 해서든 안되야 겠다도 싶구요.
또 내가 해야할 별다른 이유도 발견하지 못한 상태입니다.
사실 별다른 의욕이 없어서 그냥 놔두고 있었지요.
네이버 이클립스 카페의 Q/A도 어찌됐든 하고 있는데, 그것도 이제 그만 해야 할지도 모르겠습니다.

요즘 보고 있는 책들도 많구요.
자바병렬프로그래밍, 톰켓최종분석,코드컴플릿, Eclipse Rich Ajax Platform등...
나름 정신없이 보내고 있지요.

병렬프로그래밍 책을 보는 중에 뒤통수 얻어 맞는것처럼, 나의 허덥한 코드와 얄팍한 지식에 눈물을 흘리기도했습니다. RAP책은 사실 좀더 깊이 있는 지식을 원했는데 아쉽기도했지요.

그나저나 이제 봄이고 인라인 시즌이 돌와 왔습니다.
가지고 다니던 노트북을 팔아버리고.... 노트북이 있으면 자꾸 보게 되고 타이핑하게 되고, 그냥 바보처럼 노트북 켜서 무언가 하고있는 나를 봅니다.............. 그냥 원시인으로 돌아가볼까도 싶습니다.


나를 좀 뒤집어야 할 때 입니다.

Thursday, March 19, 2009

Eclipse Rich Ajax Platform: Bringing Rich Client to the Web (Firstpress)

RAP책은 오직 한권 Eclipse Rich Ajax Platform: Bringing Rich Client to the Web (Firstpress) (Paperback)(http://www.amazon.com/Eclipse-Rich-Ajax-Platform-Firstpress/dp/1430218835/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1237472867&sr=8-1) 만 출판되어 있다.


책 서문에 다음과 같은 구문이 있다.
Eclipse Rich Ajax Platform(RAP) ia a great technology; the only problem is that there is no book available about the technology and how to use it.

책의 저자도 나의 어려움을 아는 것이다.

지금 까지 RAP에 대해 힘든것은 다른 시스템과 연동하는 부분이다. 기존 시스템의 자원을 활용해야 한다면 전통적인 방법으로라면.. 애를 먹어야 하는가보다.


오늘의 떡밥이다. RAP에 테마를 입힌 모습이다. 이 테마는 CSS로 주는 것이지.. 헤헤 좀 폼나지요.
자주 느끼는 것 이지만, 나는 나의 직업에 잘 안어울리는 사람이다.
내가 느끼기에는 적어도 그렇다.

그저 어디 한적한 곳에서 소일거리를 하며 즐거움을 찾으면 되는 그런사람이다.
쓰면서 느끼는 바이지만, 위와 같은 사실을 알았다면 바로 행동할 것이지..
그러지도 못하는걸 보면 더욱 그렇다.

경력이 쌓여서 이제 이 직업에 대해 무엇인가 느끼는 바가 많을텐데...
그저 이렇게 시간을 보낼바에야 좀더 의미있거나 즐겁거나, 이렇게 인생을 소비해야하는데...

Wednesday, March 18, 2009

RAP(Rich Ajax Platform) 삽질

RAP에서 메모리 릭이 났다고 생각 했던 부분은 판단 미스 인듯하다.
Thread가 너무 짧은 간격으로 돌아서 데이터를 핸들링 해서 메모리 그래프가 너무 급격하게 요동쳤다. 대략 1초에 300건의 쿼리를 해서 300개의 데이터를 검증해서 조건에 맞게 리프레쉬해서인지도... 주말에 롱런 테스트를 다시 해봐겟다.



어제 배포버전을 만드려고 프러덕을 생성하는데.. 여간해도 되지 않았다.
메뉴얼에는 간단하게 되어 있었는데.. 흠냐...

결국은 못하고.. 집으로..
아침에와서 eclipse cvs에 demo가 최신 버전이 있어서 그 버전을 받을 요량으로 나의 workspace에 있던 demo project를 삭제하고 cvs에 있는 demo를 가져왔다. 몇가지를 참조하고..
개발중이던 프로젝트를 실행했다. javax.servlet 참조 되지 않았다고 실행되지 않는다. -_-;;;
결국은 어제 배포가 안돼었던것은 demo에 있는 환경을 참조하여 실행하였던 것이다. 지금까지 개발환경의 실행은 데모의 번들을 참조해서 실행했던 것이다.

이 문제는 rcp개발때부터 있었던 문제이다.. 개인적으로.. 이 부분이 rcp에서 xx 부분일지도 모르겟다. 이 부분을 좀더 개선하면 좋을텐데...

이제는 CSS도 볼줄 알아야 하는거다 한금이

Friday, March 13, 2009

구현중이 모형

RAP로 구현중이 시스템의 모형이다.
이제 시작이지만 아직은 만족스럽다.

물런, 아직도 헤쳐 나가야 할부분이 테반이지만..
웹으로 이렇게 구현될 수 있다는 것 자체가 흥미롭다.


오늘의 삽질기...

RAP로 만들고 있는 시스템에 폰트를 헤드 폰트의 크기와 종류 볼드등을 바꿔주고 싶었다.
그리하여. 평소에 하던데로 시스템 디폴트 폰트를 가져와서 출력해주고 싶었다.

Display.getSystemFont() 이런 메소드를 찾았지.. 라는 생각으로 Display 클래스를 들어가 보았다.
얼라리 안보인다. 음음.. 내 기억이 틀린건가...

이렇게 한참을 실갱이......
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융

한참을 더 고민... 왜 메소드가 없지....
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융

이건 웹이지...
아움아.. 같으면서도 다른 이 무서움이란.

Thursday, March 12, 2009

아주 오랫만에 sql 을 써보는듯 하다.
주로 사용했떤 oracle, db2가 아니라 mysql 이어서인지 join문이 왜 이리 낫선지......

SELECT
LAAMLogMapping.LAAMLogID, b.companyID, c.companyName, b.customerName, LAAMLogMapping.serverName,
errLaamLog.procStatus, date_format(errLaamLog.occuDate, "%Y-%m-%d %H:%i") as occuDate, errLaamLog.seid,
(SELECT CONCAT(sename," ", sehphone) FROM semaster WHERE semaster.seid = errLaamLog.SEID) seinfo
FROM
LAAMLogMapping LEFT JOIN errLaamLog ON (LAAMLogMapping.LAAMLogID = errLaamLog.LAAMLogID AND errLaamLog.ProcStatus != '9'),
CustomerMaster b,
CompanyInfo c
WHERE
LAAMLogMapping.CustomerID = b.CustomerID
AND b.CompanyID = c.CompanyID
ORDER BY c.CompanyName, b.customerName
난 애기 개발자다.

이제 혼자 젖을 때고 있는 중인..
누군가의 도움이 없으면 죽을 수 밖에 없는 ..
애기 개발자다.

배고프다고 투정부리고 싶다.
누가 밥을주려나? 초롱초롱한 눈으로 다른곳을 응시해보고 싶네.

Wednesday, March 11, 2009

RAP, SQLMaP....

RAP에 셈플을 작성중이다.

데몬쓰레드를 만들어서 테이블뷰와 다른 파트에 이벤트 주는것을 하였다.
자 이건 잘 되므로 다음...
데몬쓰레드에 실제 데이터가 있는 디비 데이터를 가져와야한다.

SQLMap를 연결.... apache에 있는 SQLMap에는 DataSource에서 가져오는 것으로 되어 있다.
아음음.. 에러메시자가 엽기적으로 보여서 이 에러 찾는것만도 엄청 걸렸다는.

라이브러리 걸린걸 한참 찾다가는 mysql lib도 클래스패스에 안잡혔네. -_-_;;
아아아 이건 웹이 아니야라고 주문 걸면서 우선.. Apache DBCP, Pool을 클래스 패스로 걸어줌.

SqlMapConfig.xml에 datasource type을 dbcp로 바꾸어줌.



어제 퇴근 직전부터 시작했다곤 하지만... 은근히 짜증난다...........

Monday, March 09, 2009

RAP(Rich Ajax Platform) 관련정보

rap main
http://eclipse.org/rap

The update site is
http://download.eclipse.org/rt/rap/update-site

업데이트 받으시고 rap 시작하실때 target platform을 구성해야하는데요.
기존 mccs에 target platform과 틀리게 구성해야해서
저는 workspace를 따로 만들어서 진행하고 있습니다.

문서
http://www.eclipse.org/rap/buzz.php

아래쪽에 있는 문서들 보고있음.

demo site
http://www.eclipse.org/rap/demos.php

tomcat에 실행해 볼 수 있는 데모
http://www.eclipse.org/downloads/download.php?file=/technology/rap/rapdemo.war
실행은 http://localhost:8080/rapdemo/rap

Friday, March 06, 2009

RAP(Rich Ajax Platform)

RAP로 만들어보고 있는 셈플....

SWT/JFace Study 후기직전

SWT/JFace 스터디가 내일 마지막으로 5주 정확히는 4주차 일정이 끝납니다.

내일을 지내보고 정리하는 글을 적어야 하는데, 마음은 벌써 정리하는것으로 ...
결론을 내리고 싶어 하네요.

내일은 아무것도 준비된것 없이 각 조가 3시간 정도에 해결할수 있는 프로젝트를 하는 시간인데,.. 과연 진행될지 의문 스럽습니다.

스터디의 기획은 1,2,3 주차에 기본 강의를 한 후에 4주차 실습입니다.
1,2,3주차 후에 집에서 복습을 열심히 한다는 전제가 있어야 실습이 가능한 일입니다. 이것을 참여하는 분들에게 제대로 인지를 못 시킨듯 합니다.

결정적인것은 이 좋은(?) 기술을 참여한 분들에게 제대로 전달했는지 의문 스럽습니다.
좀더 준비하고 전달 할 수 있었지 않나 싶습니다. (물런 나름 많은 시간을 들여 준비를 했습니다.) 이런 말을 하는 이유는 내가 준비한것보다 참여한 분들의 이해가 적은듯해서 나를 탓하는 것 입니다. 전달을 잘 못했으니 이해가 적을 것입니다.
그리고, 이런 마음은 나와 나와같이 스터디를 하는 분들에게 좋은것 이지요.

RCP에 대한 문의도 몇분은 해주시는데...
RCP는 SWT/JFace위에 올라가는 것들이라... 난이도가 좀더 있습니다.
물런 제대로 설명할수있을지가 더 의문 스럽네요.

...... 나머지는 내일 스터디 끝나고 .........

Thursday, March 05, 2009

RAP(Rich Ajax Platform)시작

어제 Eclipse RAP에 대해 자료를 보고 오늘부터 셈플을 만들어보기시작한다.

자료라고 해봐야 흠흠이지만...

rcp의 subset이라고 하니 rcp처럼 만들고있다.
그래도 잘 돌아가니 나름 만족하는중이다.
콘트롤이 많아지면 어떨까 염려스러운데 대략 400개정도를 콘트롤을 고정하게 올려봣는데 아직은 괸찮다. 이 콘트롤들을 동적으로 움직일수만 있다면 일단은 합격점인데...

코딩해보지않고 데모만 봣을때보다는 불안감이 확실히 덜하다.
이게과연나올까 염려스러운데, 나올때의 안도감이 있지만, 좀더 테스트해보고 그러면 괸찮겟지....
지금은 그저 신기할 따름.