금요일, 5월 30, 2008

6시가 되기 6분전.

개발했던 마지막 코드를 살펴본다.

Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
//business code
}
});

목요일, 5월 29, 2008

어제 문득, 나도 발전하고 있는 구나.. 이런생각이 들었습니다.
아무리 노력해도 발전, 성장하지 않는듯 보였는데요.

어제 왜 그런 생각이 들었는지 모르겟지만, '나도 조금씩은 발전 하는구나' 하는 생각이 들었지요.

내일이면 이 사람들, 프로젝트,...... 떠나야할 시간입니다.
여기에서 나도 발전한다는 생각이 든 것만도 많은 소득이 있는 프로젝트 였습니다.

별볼일 없는 나를 별볼일 있는 사람 처럼 대해준 이곳이 생각날 것 같습니다.

프로젝트 관리, 개발등 문제, 사건이 많았지만(없으면 이상하죠???) 사람이 이런 생각이 들게 해준 것은 아주 좋은(?) 점이 아닐까요?

고래도 춤추게 한다는 것이 이런것 아닐까 잠시나마 생각해 보게 됩니다.

앞으로 사람을 대할때 정직하게 몸에 배이게 만들어야 겠습니다.

RCP 세째 날 교육

세번째날 오전은 jFreeChart라이브 러리를 rcp에 붙여 보고 작은 셈플을 만들어 보는 것으로 하였다.



위와 같은 것을 오전 셈플로 만들어 보았다.
이유는 현재 개발중인 부분에 jfreechart를 사용하여 chart를 및 보고서 화면을 추가 하겟다는 것이고
외부 플러그인 추가 하는 방법등을 익히기 위해서다.

오후에는 몇일전 GS인증을 요청한 TTA에서 결함리포트가 왔다.
36개 항목이 리포팅 됐으며, 그 중에 나에게 할당된 에러 항목을 함께 수정해 보았다.
(항상 TTA의 결함 리포트는 마음에 들지 않는다.... -..-;;)

화요일, 5월 27, 2008

RCP 둘째 날 교육 자료 및 진행

둘쨋날 RCP 교육을 해야한다.

PT는 Jeff McAffer가 작성한 http://kambing.ui.edu/eclipse/technology/phoenix/talks/Eclipse-RCP-3.2.6.pdf 를 사용하였습니다.

앞부분은 일반적인 이야기 이고 뒷 부분의 Equenox는 설명 해야할 것들이.. -..-;;

설명후에 어제처럼 바로 실습을 했습니다.
어제의 SWT예제를 VIEW로 만들어 보는 것으로 하였습니다.

실습환경은 3.3에 swt designer로 하였지요.

중간 중간 PT에서 언급한 부분과 실제 plug-in.xml과 이클립스로 부연 설명을 하였구요.
실행할때 실행하는 방법을 설명했습니다.

시작은 rcp view예제를 가지고 시작했습니다.
view가 다 만들어지고, 실행되고 난 다음에는 Application으로 시작하는 클래스와 Activator에 대해 설명을 하였습니다.

사실 너무 많은 것들이 존재하지요. product, fuature, update, 확장하는것도 가지 가지이지요.

이런 부분이 존재하고 사용해야 한다 정도로 마무리를 하였습니다.

내일은 좀더 어려운 예제를 하나 만들고, 이것 저것을 해보는 것으로 마무리 해야할까 봅니다.

gef, emf, gmf나 좀더 다양한 것들을 교육해보는것도 좋겠습니다만.. 아쉽다면 아쉽네요.
(사실 이런 부분은 제가 교육을 받아야겟다도 싶습니다 -_-;; ㅋㅋ)

월요일, 5월 26, 2008

SWT 첫날 교육 자료 및 진행

아래 게시물처럼 1주일동안 교육을 해야한다.

월 : SWT 기본
참여인원 3명

PT 자료는
http://www.zikal.com/swt/SWT_TUTORIAL.ppt과 ,
위젯 설명은
http://www.eclipse.org/swt/widgets/
를 사용하여 2시간 정도 기본 이론교육을 하였다.

교육 후에 곧바로 실습.

위와 같은 기본 검색 화면 후 상세 조회화면을 만들어보는 예제를 만들어 보도록 하였다.

회사에서 현재 사용하는 Eclipse 3.3, 3.2를 사용하였고, SWT Designer, VE를 사용하여 개발하도록 하였다.

중간 중간 예제 http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/CatalogSWT-JFace-Eclipse.htm과 현재 개발된 코드를 보여주었고, layout등은 틈틈히 설명하였다.

위의 예제 소스는 5시간 정도니 마무리 까지 될수 있었다.

마지막에 전체 Widget을 살펴보는 의미로다가 http://www.ibm.com/developerworks/kr/library/os-swingswt/index.html 를 보려고했으니..

내일은 RCP를 교육을 해야하는데, 사실 좀 난감..

어디서 부터 bundle부터 해야하나 싶기도하고...

하루종일 말했더니, 진이 빠진듯한 느낌이 든다. 역시 말하는 건 너무 힘들다는...

일요일, 5월 25, 2008

SWT -> RCP PPT만들기

이번주 부터 자바는 알지만, RCP, SWT, PLUG-IN 등을 전혀 모르는 분과 1주일을 보내야합니다.

위의 기술은 어느정도 정리해 주는것을 목표로 하고, 더 나가서 몇개정도의 VIEW를 만들어 보는 것을 목표로 해야겠습니다.

어느 분은 rcp개발을 한 달 동안 마스터 하시겟다는 분 혹은 팀 회사도 있다고 들었는데..
개인적으로는 사실상 무리 일듯해요.
좋은 강사가와서 사내교육 및 파일럿을 한달동안 하고 그 개인이 노력하여 해맨 다음에 가능하겠지요.
이렇게 시작한 프로젝트가, 보통 설계가 엉망인 경우를 종종 봐 왔습니다.
차라리 한달 더 시간을 갖고 준비하여 제품을 개바해야하지 않을까 싶습니다.

예전 부터 자바를 해 왔더라도(보통 WEB 프로그램) SWT, RCP등을 해오지 않았으면, 처음부터 새롭게 시작한다는 생각으로 개발해야 할 것입니다. 보통 classpath잡는 것부터 전혀 틀리지요.
차라리, 이렇게 한달잡고 시작한 자바 개발자보다 c나 다른언어를 개발했던 개발자들의 배움의 속도 밎 성숙도가 높지 않을까'라고 조심스럽게 짐작합니다. 이렇게 보통 자바 개발과는 좀 많이 다르다는 것 이지요. 적어도 RCP, plug-in은 말입니다.

서버와 데이터를 주고 받는 메커니즘이 근본적으로 틀리고, 프로그램하는 근본 메커니즘을 이해하고 프로그램을 하는 분들이 많지 않는것도 또 다른 이유라 하겠습니다. 간단한 http protocol을 구현해서 서블릿 컨테이너 파일럿정도는 구현할수 있어야하는데, 이렇게 구현할수 있는 사람이 얼마나 될까 싶습니다... 사담이 너무 길었네요...

SWT나 PLUG-IN, RCP 기본 피티 자료를 만들어야 하는데.. 만들기는 사실 늦었고, 다른 분이 많들어 놓은 좋은 자료로, 진행을 해야 할까 봅니다.

SWT Home
대부분 가장 양,질에 가장 좋은 자료는 사이트 홈인듯합니다.
http://www.eclipse.org/swt/docs.php
역시나 ibm의 자료가 눈에 띄구요.
아래쪽에 보면 Getting Started with Eclipse and SWT 다음과 같은 자료도 있네요.

Eclipse RCP 자료
http://wiki.eclipse.org/index.php/Rich_Client_Platform
역시나 PPT 자료는 너무 잘 만들듯 하네요.

기존에 SWING, AWT를 했던 분이 SWT와 비교해 놓은 자료도 발견 했지요.
http://www.ibm.com/developerworks/kr/library/os-swingswt/index.html
(사실 저도 잘 몰랐는데, 위의 자료를 보니 정리가 되는 느낌이에요)

목요일, 5월 22, 2008

오랫만(?)에 집에서 쉬고있네요. ^^

이리저리 기사를 보다, 노전 대통령의 소고기 수입에대한 입장을 보게 되었는데요.
http://blog.naver.com/beachboys7/140051610483

그 분의 소신과 입장에 존경을 표하고 싶어지네요.

이명박 대통령이 이끌고 있는 이 나라에서 적어도
소고기, 대운하, 의료보험 민영화, 각종 민영화, 부동산 버블등의 일들이
더 이상 일어나지 않았으면 좋겟어요.

요새는 부동산 하나 없는 저도, 살 엄음판 걷는 기분이에요

저도, 그분이 그립네요.

수요일, 5월 21, 2008

Development Conventions and Guidelines

Eclipse에는 Development Conventions and Guidelines라인이 있다
(http://wiki.eclipse.org/Development_Conventions_and_Guidelines)

종류로는
.Naming Conventions - How to name things like packages, classes, and methods
.Coding Conventions - How to make Java code readable
.Javadoc - How to write documentation comments, especially for API
.User Interface Guidelines - How to achieve user interface consistency
.Version Numbering - How to evolve plug-in version numbers

나머지는 일반적인 개발환경에서 흔히 보는 것들이겟다.
Version Numbering도 좀 특이한가?????

흔히 디자이너의 영역이기도 한 User Interface Guidelines 는 개발자 입장에서 좀 살펴 보아야 한다.

----------------------
오늘 디자인 업체와 이야기 하는 중 User Interface Guidelines 문서를 알려주는데, 오버인가도 싶고....

RCP, plug-in 개발자라면 그냥 슬쩍 지나가게라도 읽어볼만 하지 않을까?


화요일, 5월 20, 2008

Vocabulary plug 1.1.0 빌드




아래 있는 것 처럼 하지 않았지만,
크게 신규단어 추가와 export 기능을 추가해서 빌드 했습니다.

--;;

안본지 몇달 지낫으니.. 또 힘드러지네요.

다운로드 <http://cafe.naver.com/eclipseplugin/2323>

Vocabulary plug 1.1.0 오늘 완성 목표



아래 게시글을 보다 보니.. 역시나... 예전에 만들었던 Vocabulary plug-in(http://cafe.naver.com/ArticleRead.nhn?clubid=11492512&page=1&menuid=28&boardtype=L&articleid=1809) 이 아쉽다.
추가하겟다고 한 기능을 추가해서 오늘은 완성해야겟다. 1.1.0은 사실 한시간이면 충분히 나올 기능들인데.. --;;

기존 모델을 EMF로 변경하는 작업은 다음번 기회로.. 해야할듯

Why so downcast

이러다 GEF, EMF, JET등 기존에 알았던(?) 것 다 잊어버릴듯해서
http://www.vogella.de/articles/EclipseEMF/article.html
자료를 보고있다.


이어폰에서 들려오는 노래가 흥미롭다.
Why so downcast oh my soul
Put you hope in God

월요일, 5월 19, 2008

오늘 그디어 GS인증 받으러 TTA로 출발했습니다.
황금기 5월 휴일을 거의 쉬지 못했는데..

결과가 잘 나왔으면....
좀 쉬었으면....

개발하는 것도 중요하고, 개발하는 것 만큼 유지 및 관리하는것도 중요한데요.
사뭇 앞으로의 일들이 기대가 되는군요.

그나 저나 오늘 이 무력감은 어떡할거야? 아 피곤하고 잠오고 ...

집에 가기 2시간 30분전~~~~~~~~

일요일, 5월 18, 2008

민이와 이야기 중에 나에 대한 몇가지 오해가 있는 듯하고 해서 2년반정도 나의 회사 이야기를 해보고자 한다.

지난 2년 반 동안 회사, 프리, 알바를 대략 지금까지 6군데 정도 다닌듯 합니다.
그 6곳중 월급 밀린 곳이 3군데 정도 이며, 아직도 2군데서는 월급을 못 받았습니다.
노동부에도 찾아가서 받았던 경험이 있으니, 또 가야할지도 모릅니다.

2년 반동안 6곳이나 옮겼으면, 좀 심하게 많이 옮긴건 사실인듯 합니다.

회사를 옮길라 치면, 이런 저의 경력이 문제가 됩니다. -..-;;

그러면 사람들은 묻습니다.
'나름 회사를 옮길때 조심하지 않았냐고 묻습니다.'
흐흠.. 흐흠.. 이지요.

이런 나를 사람을 뽑는 입장이라면 문제라면 문제가 되겠지요.
나라도 사람을 뽑을라 치면, 색안경을 쓸수 밖에 없는듯 합니다.

그리고, 나는 상상해보게 됩니다. 혹은, 직업을 바꿔 볼까도 생각해 봅니다.
몇몇 친한 분들과 하던 농담 처럼, 신발가게나 차려야 하는 거 아니냐구요.

왠지, 나름의 이유가 많음에도 불구하고, 나에대한 색안경이 부담스럽고 싫습니다.

강한넘이 이기는 세상이 아니라, 살아가기(?) 때문에 이기는 세상이 되었으면 좋겠습니다.

'민아 알바일 있음 줘라. 점때 말했던 것보다 많이 깍아도 된다야~ 내가 밥은 사꾸마!~
'



ps)
1) 사실 진즉에 이런글을 쓰고 싶었지만, 쪽팔려서 못썼는데..
이런것도 나의 기록이고, 허접한 인스톨이니, resource bundle이런 것보다 좋은듯..
2) 외국에 가서 일할 만 곳 있음 연락좀 주세요.(물런 영어 못하고, 가족과 함께 가야 합니다) - 많이 힘들겠지요.

토요일, 5월 17, 2008

ResourceBundle 정의하기



언어별로 제품을 팩킹하려다 보니 각 언어별로 파일을 만들어서 작업해야한다.

그럼, 각 언어별로 번역하는것은 문제가 안되겟지만(사실 이것도 좀... -..-;;)

예를 들어서, window vista를 '창 조망'이라고 원도우 시작때 보여진다면, 대략.. -;;
물런 보는 시각에 따라 다르겟지만,

그래서 몇 가지 규칙을 만들었다.
1) 레이블 이름, 텍스트 이름, 제품 이름등의 용어에 관련된 부분은 다 영어로 통일 한다.
레이블 이름이 모두 영어로 하더라도 properties 파일로 빼도록 한다.

한국어는 어색하지만, 중국어나 다른언어는 더 좋아할수도 있으므로....
2) tooltip, alert 메시지, 도움말등은 각 언어로 만들도록 한다.

다 알겠지만, product 만들때는 eclipse에서 정의하는 방식이 있으므로 그것을 기준으로 따라 가도록 한다



사용하는 플러그인은 : ResourceBundle Editor Plug-in 0.75 버전을 사용중이다

목요일, 5월 15, 2008

오늘 마로에게 메시지가왓다.
스승의 날이라 '만수무강하라는' 비슷한 메시지가 왓다...

여튼 마로야 고마워...

마로가 나중에 만나서 맛있는걸 사주겟다는걸..
언제 만날지 어캐 아냐고 내가 우겨서 기프트콘으로 '빨간모카' 한잔을 사게 만들었다.
ㅎㅎ 마로 팔 비틀어서 커피 선물 받으니 기분 캡짱 좋다니...

마로야 다음에 만나면 칙힌사줘... 누가, 소녀시대가 광고하는 칙힌있다네.. ^..^


흠냐~~ 여러 선생님들 고마워요.

자바 응용어플리 케이션 만들기

요사이 나는 Eclipse RCP로 응용 application 을 만들고 있다.

자바로 응용 application을 만드는 방법에는(모바일쪽은 모르므로 패스)
전통적으로 sun에서 만들수 있도록한 swing, NetBean 으로는 NetBean RCP등으로 만들수 있다.

<요건 swing으로 만든 모습이다. 좀 투박하고...>

sun 이외의 다른 진영에서는 Eclipse에서는 SWT, Eclipse RCP로 응용 어플리케이션을 만들수 잇겠다.

<요건 Eclipse 모습이다. 이쁘고 멋지고.. >

그래서 어떤걸 요새 더 많이 쓰냐고 묻는다면, sun의 표준 스펙 swing을 무시할수 없으므로 아직까지는 swing으로 만들어진 응용 어플리케이션이 많다.
물런 일부 선입관을 가지신 분들의 부정적인 시각이 많기는 하지만, 생각하는 것만큼 부정적이지 않다고 나는 단언하고 싶다.(jdk 1.6인 지금 시점에서는 더욱 더)

요새 새로운 주류는 Eclipse에서 나온 SWT나 RCP가 되겟다.
적어도 우리나라에서는 rcp나 swt가 좀더 인기를 끄는건 분명하고, 만드는것도 rcp나 swt의 빈도가 높은듯 하다
.
swt는 swing을 개발했던 사람이라면 거의 거부감없이 적응할수 있을것이고(JFace, Draw2D...가 있긴하지만..)
Eclipse rcp, plug-in은 swt를 알고 있는 상태에서 이 기술을 배우는 시간이 적어도 2개월정도는 되야 할듯하다.
물런 GEF, EMF, GMF, JET 요런건 빼고다. 다들 프레임웍이므로 사용하는 법을 알아야 한다.

더 주저리 써야할 말이 많은데.. 음

여튼 이렇게 개발하면 배포는 주로 java web start를 사용해서 배포하게 된다.
물런 안그럴수도 있겠지만...

swing인 경우는 update도 web start를 통해 진행해주면 되겟고, rcp나 plug-in인 경우는 update site(???)를 만들면 되겟다.

아효, 이 날림 글.. 다음은 web쪽 개발을.. 더..

토요일, 5월 10, 2008

burn out

엇그제 bong bong 이에게 burn out에 대해 이야기를 들었다
주변에 몇명이 그런 이야기를 하고 있으며, 나도 역시나 그런 기미가 오래 전부터 보였기에...
별로 새삼 스럽진 않지만, 봉봉이는 아직 학생이고..
좋은 프로그래머가 될수 있다는 생각이었는데.. 벌써 부터 그런생각을 하다니 아쉽거나..
혼나야 하는 그런 시기인데...

혼나긴 보다, 개발의 아푼 상황을 격고 있기에 모라 변명을 못하겟다.

분석 설계하고 코딩하고 테스트하고 이런 일련의 작업은 재미있다.

타버리기 전까지 만 일하고 회복할수 있는 직업이 되었으면...

금요일, 5월 09, 2008

InstallFactory를 이용한 배포




자바로 개발한 어플리케이션을 배포하려면 보통 java webstart를 이용하거나
혹은 InstallFactory로 인스톨 본을 만들어서 배포한다.

InstallFactory로 배포판을 만들어서 배포하려면 JRE를 함께 배포해야하는데,
여기서 몇가지 문제가 발생한다.
jre를 시스템 패스에 걸어주어야 하는 부담이 존재한다. InstallFactory에는 이 기능이 미약해서, 위와 같이 jre를 인스톨할수있도록 첨부했다.

끙.. 누군가 코멘트 해주지 않으므로 올바른 것인지도 잘 모르겟다는...

테스터들의 의견은 괸찮은듯 하니.. =고고싱...

수요일, 5월 07, 2008

Visual Editor, SWT Designer사용시.. 팁



Eclipse RCP로 view나 edit만들때 혹은 기타 에디터를 사용하여 개발할때 팁입니다.
(참고로 현재는 SWT Designer로 작업중입니다)

디자인을 도와주는 툴이 고마운건 직관적이고 빠르게 디자인 가능하게 해준다는 겁니다. 그래서 사용하구요.

근데, 원래 AView.java가 view라고 가정하고 코딩하다 보면, view이외의 업무가 붙으면서 지저분 해지기 마련입니다.

이런 저런 덕지 덕지 코드 붙고, 그러다 보면 어느 순간 위에서 디자인했던 ve와 코드 싱크가 맞지 않아서 더이상 디자이너의 도움을 받지 못할때가 있습니다. 흠..


여기서 쓰는 방법인데..



디자인은 일단 정상적인 방법으로 디자인합니다. 그리고 업무코드가 들어가는 부분은

public class AViewExtends extend AView {

...

}

이런 식으로 사용하는 겁니다.
이런 단순한 상속과 재활용을 생각 안하다니... aop이런걸알면 모한~~~~
초짜 한금씨~~

흠.. 정봉씨가 사용하는 방법인데.. 나름 view와 control을 어느정도 분리하여서 좋고 ve도 싱크 맞아서 좋구요.

괸찮은 방법가틉니다.
개인적으로 2000년 부터 계속 거의 자바를 사용해서 일을 해왔다.
물런 중간에 딱한번 c#으로 개발을 했지만, 그때도 swing도 함께 개발하며 병행했어야 했다.
물런, 내가 java가 최고이고 최강이다라고 이야기하는것도 아니고 밥먹고 살아야할 어쩔수 없는 선택이었다. -.0;;

이런 내가 visual basic, crystal report로 나의 모양을 바꾸어야 할 일이 발생할지도 모르겟다.

그러면서, 개발이라는 것은 똑같지만, 언어가 바뀌고 플렛폼이 바뀌게 된다.
그래서 ms의 개발 방향 흐름을 알고 싶어졌으나.... 어디를 어캐 찾아봐야 할지 모르겟다.
물런 zdnet이나 기타 매채를 통해 접근 할수 있지만, 가끔 그것은 꿈에 가까운 이야기 이기 때문에.. 나는 현업에서 잘 사용하는 그런 정보를 얻고 싶은 것이다.

그래서, 그동안 자바(?) 진영에 있으면서 내가 개발했던 환경을 틈틈히 써보고자 한다.
누군가는 도움이 될지도 모르니....

난 2002년부터는 계속 eclipse라는 걸 써왔다. web programing을 하던, stand application을 만들던.. 자바로 무슨 짖을 하던 eclipse을 사용했다.

to be continue...

금요일, 5월 02, 2008

헉, 내 블로그를 구경 오는 사람들은 누굴까? 궁금해지는데..
도대체 누구세요? 들..

하루에 70번이나 누군가 다녀갔는데..

물런 내가 나의 블로그를 몇명에게 알려주긴했지만.. 그래도 상당히 오버된 숫자다.
??????????????????????????????????????????????
??????????????????????????????????????????????
??????????????????????????????????????????????
??????????????????????????????????????????????
??????????????????????????????????????????????

여튼 쌩큐.. 합니다.

아 bcel의 sample은 ClassLoader을 약간 수정하고, 동적으로 호출된 클래스 목록을 뽑아보고 실행 시켜 보는 것으로 예제를 마무리 해야하지 않을까 싶습니다.

아니면, 더 좋은 아이디가 있으시면 그걸로...
아니면, 좀더 그럴싸한 제품 내지는 보시는 분의 모시기가 있으면 그걸로 만들어 보도록 하겠습니다.
얼마 살지 못했지만, 살아가면서 어떤일에 대해 간절히 이루어 지기를 원할때가 있다.

나는
아주 아주 몇일 몇주째 고민하는 몇 줄안되는 코드가... 잘 돌아가주기를 바랄때,
혹은 프로젝트 오픈을 앞두고, 내가 만든 코드 혹은 나의 팀 시스템이 잘 돌아가기를 바랄때...

잘 되기를 소망해 본다.

와 한국에서는 좋은결과 -> 다시 미국의 결과를 기다려야 한다.
좋은결과 있기를 기대해 본다