조금씩 그럴싸 해지는 듯 하네요.
자 기대해 보아요.
화요일, 3월 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( "_" ); 처럼 수정 되어야 합니다.
그러나 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( "_" ); 처럼 수정 되어야 합니다.
월요일, 3월 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아래에 컨텍스트 루트 아래에 존재하게 됩니다.
다음에 시간이 되면 좀더 플어서 적어보도록 할게요
예를 들어 -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등.. 갈길이 한참 멀었다는 생각만드네요.
아래는 성공적으로 동작한 모습입니다.
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등.. 갈길이 한참 멀었다는 생각만드네요.
아래는 성공적으로 동작한 모습입니다.
토요일, 3월 28, 2009
2009년 목표
이제 30대 중반이 되어 가고 있습니다.
이대로 나이 먹는 것에대해 나름 고민을 많이 했지요. 이렇게 나이를 먹어가는게 ....
고민해보았습니다. 스트래스가 좀 심했지요.
어제 집에 들어가서 맥주한잔 먹으며, 이래저래 생각했습니다.
이 허덥한 실력으로... -_-;;;;
아직도 초급도 못 땐 미숙한 능력으로 무엇을 할수 있을까나 싶었습니다.
그나마 하고있는 것, 조금이라도 경쟁력 있는 것..
몇년동안 고민했던 것...
Eclipse platform......
문득 이지만, 나도 Eclipse Commiter가 되봐야겠다고 생각했습니다.
2009년은 이것을 위해 노력해야겠습니다.
나의 개발인생의 전환점이 될거라 생각해봅니다.
어디서 부터 시작해야하는지도 모르겠지만, 되 보겠습니다.
이대로 나이 먹는 것에대해 나름 고민을 많이 했지요. 이렇게 나이를 먹어가는게 ....
고민해보았습니다. 스트래스가 좀 심했지요.
어제 집에 들어가서 맥주한잔 먹으며, 이래저래 생각했습니다.
이 허덥한 실력으로... -_-;;;;
아직도 초급도 못 땐 미숙한 능력으로 무엇을 할수 있을까나 싶었습니다.
그나마 하고있는 것, 조금이라도 경쟁력 있는 것..
몇년동안 고민했던 것...
Eclipse platform......
문득 이지만, 나도 Eclipse Commiter가 되봐야겠다고 생각했습니다.
2009년은 이것을 위해 노력해야겠습니다.
나의 개발인생의 전환점이 될거라 생각해봅니다.
어디서 부터 시작해야하는지도 모르겠지만, 되 보겠습니다.
금요일, 3월 27, 2009
가끔 카페에서 q/a를 하다보면 질문 내용중에 다음과 같은 내용이 있다.
.... 눈에 눈물이 날 정로도 봣는데도.. 모르겟어요. ....
나도 눈물이 나고 있다.
휴.. 몇시간동안 집중해서 보고 반복해봐도 되지 않는다.
어디가 잘못되었는지도 모르겟다.
젠장 어디 물어볼 곳이라도 속시원이 있었으면 좋겟다.
이것도 알게되겠지..
이 아는 사실을 다른이에게 알려줄때면 한마디 혹은 1분이면 끝날지도 모르겟다.
다른 누구보다 더 많은 눈물을 흘리는 것...
한두시간 헤메고 하루 이틀 헤메고.. 안될때도 허다하다.
개발을 처음 시작하시는 분들이라면.. 좀더 인내하고, 고민하고.. 논리적으로 생각해보라고 말해주고 싶다.
그나저나 휴..... 온몸이 오늘 해매고 있는것에 대해 보기를 거부하네요. -_-;;;;;;;;;;;
.... 눈에 눈물이 날 정로도 봣는데도.. 모르겟어요. ....
나도 눈물이 나고 있다.
휴.. 몇시간동안 집중해서 보고 반복해봐도 되지 않는다.
어디가 잘못되었는지도 모르겟다.
젠장 어디 물어볼 곳이라도 속시원이 있었으면 좋겟다.
이것도 알게되겠지..
이 아는 사실을 다른이에게 알려줄때면 한마디 혹은 1분이면 끝날지도 모르겟다.
다른 누구보다 더 많은 눈물을 흘리는 것...
한두시간 헤메고 하루 이틀 헤메고.. 안될때도 허다하다.
개발을 처음 시작하시는 분들이라면.. 좀더 인내하고, 고민하고.. 논리적으로 생각해보라고 말해주고 싶다.
그나저나 휴..... 온몸이 오늘 해매고 있는것에 대해 보기를 거부하네요. -_-;;;;;;;;;;;
목요일, 3월 26, 2009
Eclipse Con 2009기간
어제 부터 Eclipse con기간 인가 봅니다.
지방에 사는 분이 서울을 부러워하듯..
서울에 사는 저는 미국이 부럽네요.
적어도 오늘은 미국에 사는 분들이 부럽기만 합니다.
여러권의 책과 문서들에서 보던 Jeff MacAffer의 강의도 듣고싶네요.
물런 온라인으로 볼수도 있겠습니다만...
젠장, 몇년전부터 가고싶다고 말만했는데...
영어도 안되고 돈도없으며, 시간도 안되네요.
괸시리 우울해 집니다. -_-;;;
음음음... 좀더 구체적인 계획을 세워서, 어캐든 ..................
끙..........................
.....................
.....................
.....................
.....................
a zest of life
지방에 사는 분이 서울을 부러워하듯..
서울에 사는 저는 미국이 부럽네요.
적어도 오늘은 미국에 사는 분들이 부럽기만 합니다.
여러권의 책과 문서들에서 보던 Jeff MacAffer의 강의도 듣고싶네요.
물런 온라인으로 볼수도 있겠습니다만...
젠장, 몇년전부터 가고싶다고 말만했는데...
영어도 안되고 돈도없으며, 시간도 안되네요.
괸시리 우울해 집니다. -_-;;;
음음음... 좀더 구체적인 계획을 세워서, 어캐든 ..................
끙..........................
.....................
.....................
.....................
.....................
a zest of life
수요일, 3월 25, 2009
RAP Keyevents
RAP에는 keyEvents가 없어서..
keyEvent가 없으면 키보드 이벤튼 어떻게하라고...
흠흠 이었더니 1.2 M4에서 수정된 사항이네요.
3.5에서나 구경할수있는 키 이벤트
http://www.eclipse.org/projects/project-plan.php?projectid=rt.rap
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................................................
좋은 점
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................................................
화요일, 3월 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부분을 참조하세요
이 테마는 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부분을 참조하세요
일요일, 3월 22, 2009
미라이 공업이야기
신년사에서 고문님이 소개하셨던 미라이 공업이야기를 xper그룹의 어떤분이 이야기 하셨습니다.
그 중에 그 사장님의 말이 흥미롭습니다.
"
어디에나 있는것, 그런 건 안돼
어디든지 있는것은 안돼
그래서 어디든지 있는 것은 안돼니까 없는 것을 생각해야 하는거야
이것이 미라이 공업의 기반이야
"
지금 내가 하고 있는 것..
추구하는 것을 점검해보고 수정해 봐야겠습니다.
그 중에 그 사장님의 말이 흥미롭습니다.
"
어디에나 있는것, 그런 건 안돼
어디든지 있는것은 안돼
그래서 어디든지 있는 것은 안돼니까 없는 것을 생각해야 하는거야
이것이 미라이 공업의 기반이야
"
지금 내가 하고 있는 것..
추구하는 것을 점검해보고 수정해 봐야겠습니다.
금요일, 3월 20, 2009
혹시 하게 될지도 모르는 Eclipse Rich Client(RCP) PPT를 만드는 중입니다.
이번주에는 대강 목차는 잡았으니, 이미 절반을 시작한 셈 입니다.
나름 저번 SWT/JFace 스터디 처럼은 어떻게 해서든 안되야 겠다도 싶구요.
또 내가 해야할 별다른 이유도 발견하지 못한 상태입니다.
사실 별다른 의욕이 없어서 그냥 놔두고 있었지요.
네이버 이클립스 카페의 Q/A도 어찌됐든 하고 있는데, 그것도 이제 그만 해야 할지도 모르겠습니다.
요즘 보고 있는 책들도 많구요.
자바병렬프로그래밍, 톰켓최종분석,코드컴플릿, Eclipse Rich Ajax Platform등...
나름 정신없이 보내고 있지요.
병렬프로그래밍 책을 보는 중에 뒤통수 얻어 맞는것처럼, 나의 허덥한 코드와 얄팍한 지식에 눈물을 흘리기도했습니다. RAP책은 사실 좀더 깊이 있는 지식을 원했는데 아쉽기도했지요.
그나저나 이제 봄이고 인라인 시즌이 돌와 왔습니다.
가지고 다니던 노트북을 팔아버리고.... 노트북이 있으면 자꾸 보게 되고 타이핑하게 되고, 그냥 바보처럼 노트북 켜서 무언가 하고있는 나를 봅니다.............. 그냥 원시인으로 돌아가볼까도 싶습니다.
나를 좀 뒤집어야 할 때 입니다.
이번주에는 대강 목차는 잡았으니, 이미 절반을 시작한 셈 입니다.
나름 저번 SWT/JFace 스터디 처럼은 어떻게 해서든 안되야 겠다도 싶구요.
또 내가 해야할 별다른 이유도 발견하지 못한 상태입니다.
사실 별다른 의욕이 없어서 그냥 놔두고 있었지요.
네이버 이클립스 카페의 Q/A도 어찌됐든 하고 있는데, 그것도 이제 그만 해야 할지도 모르겠습니다.
요즘 보고 있는 책들도 많구요.
자바병렬프로그래밍, 톰켓최종분석,코드컴플릿, Eclipse Rich Ajax Platform등...
나름 정신없이 보내고 있지요.
병렬프로그래밍 책을 보는 중에 뒤통수 얻어 맞는것처럼, 나의 허덥한 코드와 얄팍한 지식에 눈물을 흘리기도했습니다. RAP책은 사실 좀더 깊이 있는 지식을 원했는데 아쉽기도했지요.
그나저나 이제 봄이고 인라인 시즌이 돌와 왔습니다.
가지고 다니던 노트북을 팔아버리고.... 노트북이 있으면 자꾸 보게 되고 타이핑하게 되고, 그냥 바보처럼 노트북 켜서 무언가 하고있는 나를 봅니다.............. 그냥 원시인으로 돌아가볼까도 싶습니다.
나를 좀 뒤집어야 할 때 입니다.
목요일, 3월 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로 주는 것이지.. 헤헤 좀 폼나지요.
책 서문에 다음과 같은 구문이 있다.
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로 주는 것이지.. 헤헤 좀 폼나지요.
수요일, 3월 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도 볼줄 알아야 하는거다 한금이
Thread가 너무 짧은 간격으로 돌아서 데이터를 핸들링 해서 메모리 그래프가 너무 급격하게 요동쳤다. 대략 1초에 300건의 쿼리를 해서 300개의 데이터를 검증해서 조건에 맞게 리프레쉬해서인지도... 주말에 롱런 테스트를 다시 해봐겟다.
어제 배포버전을 만드려고 프러덕을 생성하는데.. 여간해도 되지 않았다.
메뉴얼에는 간단하게 되어 있었는데.. 흠냐...
결국은 못하고.. 집으로..
아침에와서 eclipse cvs에 demo가 최신 버전이 있어서 그 버전을 받을 요량으로 나의 workspace에 있던 demo project를 삭제하고 cvs에 있는 demo를 가져왔다. 몇가지를 참조하고..
개발중이던 프로젝트를 실행했다. javax.servlet 참조 되지 않았다고 실행되지 않는다. -_-;;;
결국은 어제 배포가 안돼었던것은 demo에 있는 환경을 참조하여 실행하였던 것이다. 지금까지 개발환경의 실행은 데모의 번들을 참조해서 실행했던 것이다.
이 문제는 rcp개발때부터 있었던 문제이다.. 개인적으로.. 이 부분이 rcp에서 xx 부분일지도 모르겟다. 이 부분을 좀더 개선하면 좋을텐데...
이제는 CSS도 볼줄 알아야 하는거다 한금이
금요일, 3월 13, 2009
오늘의 삽질기...
RAP로 만들고 있는 시스템에 폰트를 헤드 폰트의 크기와 종류 볼드등을 바꿔주고 싶었다.
그리하여. 평소에 하던데로 시스템 디폴트 폰트를 가져와서 출력해주고 싶었다.
Display.getSystemFont() 이런 메소드를 찾았지.. 라는 생각으로 Display 클래스를 들어가 보았다.
얼라리 안보인다. 음음.. 내 기억이 틀린건가...
이렇게 한참을 실갱이......
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
한참을 더 고민... 왜 메소드가 없지....
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
이건 웹이지...
아움아.. 같으면서도 다른 이 무서움이란.
RAP로 만들고 있는 시스템에 폰트를 헤드 폰트의 크기와 종류 볼드등을 바꿔주고 싶었다.
그리하여. 평소에 하던데로 시스템 디폴트 폰트를 가져와서 출력해주고 싶었다.
Display.getSystemFont() 이런 메소드를 찾았지.. 라는 생각으로 Display 클래스를 들어가 보았다.
얼라리 안보인다. 음음.. 내 기억이 틀린건가...
이렇게 한참을 실갱이......
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
한참을 더 고민... 왜 메소드가 없지....
유유유유융융융
유유유유융융융
유유유유융융융
유유유유융융융
이건 웹이지...
아움아.. 같으면서도 다른 이 무서움이란.
목요일, 3월 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
주로 사용했떤 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
수요일, 3월 11, 2009
RAP, SQLMaP....
RAP에 셈플을 작성중이다.
데몬쓰레드를 만들어서 테이블뷰와 다른 파트에 이벤트 주는것을 하였다.
자 이건 잘 되므로 다음...
데몬쓰레드에 실제 데이터가 있는 디비 데이터를 가져와야한다.
SQLMap를 연결.... apache에 있는 SQLMap에는 DataSource에서 가져오는 것으로 되어 있다.
아음음.. 에러메시자가 엽기적으로 보여서 이 에러 찾는것만도 엄청 걸렸다는.
라이브러리 걸린걸 한참 찾다가는 mysql lib도 클래스패스에 안잡혔네. -_-_;;
아아아 이건 웹이 아니야라고 주문 걸면서 우선.. Apache DBCP, Pool을 클래스 패스로 걸어줌.
SqlMapConfig.xml에 datasource type을 dbcp로 바꾸어줌.
어제 퇴근 직전부터 시작했다곤 하지만... 은근히 짜증난다...........
데몬쓰레드를 만들어서 테이블뷰와 다른 파트에 이벤트 주는것을 하였다.
자 이건 잘 되므로 다음...
데몬쓰레드에 실제 데이터가 있는 디비 데이터를 가져와야한다.
SQLMap를 연결.... apache에 있는 SQLMap에는 DataSource에서 가져오는 것으로 되어 있다.
아음음.. 에러메시자가 엽기적으로 보여서 이 에러 찾는것만도 엄청 걸렸다는.
라이브러리 걸린걸 한참 찾다가는 mysql lib도 클래스패스에 안잡혔네. -_-_;;
아아아 이건 웹이 아니야라고 주문 걸면서 우선.. Apache DBCP, Pool을 클래스 패스로 걸어줌.
SqlMapConfig.xml에 datasource type을 dbcp로 바꾸어줌.
어제 퇴근 직전부터 시작했다곤 하지만... 은근히 짜증난다...........
월요일, 3월 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
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
금요일, 3월 06, 2009
SWT/JFace Study 후기직전
SWT/JFace 스터디가 내일 마지막으로 5주 정확히는 4주차 일정이 끝납니다.
내일을 지내보고 정리하는 글을 적어야 하는데, 마음은 벌써 정리하는것으로 ...
결론을 내리고 싶어 하네요.
내일은 아무것도 준비된것 없이 각 조가 3시간 정도에 해결할수 있는 프로젝트를 하는 시간인데,.. 과연 진행될지 의문 스럽습니다.
스터디의 기획은 1,2,3 주차에 기본 강의를 한 후에 4주차 실습입니다.
1,2,3주차 후에 집에서 복습을 열심히 한다는 전제가 있어야 실습이 가능한 일입니다. 이것을 참여하는 분들에게 제대로 인지를 못 시킨듯 합니다.
결정적인것은 이 좋은(?) 기술을 참여한 분들에게 제대로 전달했는지 의문 스럽습니다.
좀더 준비하고 전달 할 수 있었지 않나 싶습니다. (물런 나름 많은 시간을 들여 준비를 했습니다.) 이런 말을 하는 이유는 내가 준비한것보다 참여한 분들의 이해가 적은듯해서 나를 탓하는 것 입니다. 전달을 잘 못했으니 이해가 적을 것입니다.
그리고, 이런 마음은 나와 나와같이 스터디를 하는 분들에게 좋은것 이지요.
RCP에 대한 문의도 몇분은 해주시는데...
RCP는 SWT/JFace위에 올라가는 것들이라... 난이도가 좀더 있습니다.
물런 제대로 설명할수있을지가 더 의문 스럽네요.
...... 나머지는 내일 스터디 끝나고 .........
내일을 지내보고 정리하는 글을 적어야 하는데, 마음은 벌써 정리하는것으로 ...
결론을 내리고 싶어 하네요.
내일은 아무것도 준비된것 없이 각 조가 3시간 정도에 해결할수 있는 프로젝트를 하는 시간인데,.. 과연 진행될지 의문 스럽습니다.
스터디의 기획은 1,2,3 주차에 기본 강의를 한 후에 4주차 실습입니다.
1,2,3주차 후에 집에서 복습을 열심히 한다는 전제가 있어야 실습이 가능한 일입니다. 이것을 참여하는 분들에게 제대로 인지를 못 시킨듯 합니다.
결정적인것은 이 좋은(?) 기술을 참여한 분들에게 제대로 전달했는지 의문 스럽습니다.
좀더 준비하고 전달 할 수 있었지 않나 싶습니다. (물런 나름 많은 시간을 들여 준비를 했습니다.) 이런 말을 하는 이유는 내가 준비한것보다 참여한 분들의 이해가 적은듯해서 나를 탓하는 것 입니다. 전달을 잘 못했으니 이해가 적을 것입니다.
그리고, 이런 마음은 나와 나와같이 스터디를 하는 분들에게 좋은것 이지요.
RCP에 대한 문의도 몇분은 해주시는데...
RCP는 SWT/JFace위에 올라가는 것들이라... 난이도가 좀더 있습니다.
물런 제대로 설명할수있을지가 더 의문 스럽네요.
...... 나머지는 내일 스터디 끝나고 .........
목요일, 3월 05, 2009
RAP(Rich Ajax Platform)시작
어제 Eclipse RAP에 대해 자료를 보고 오늘부터 셈플을 만들어보기시작한다.
자료라고 해봐야 흠흠이지만...
rcp의 subset이라고 하니 rcp처럼 만들고있다.
그래도 잘 돌아가니 나름 만족하는중이다.
콘트롤이 많아지면 어떨까 염려스러운데 대략 400개정도를 콘트롤을 고정하게 올려봣는데 아직은 괸찮다. 이 콘트롤들을 동적으로 움직일수만 있다면 일단은 합격점인데...
코딩해보지않고 데모만 봣을때보다는 불안감이 확실히 덜하다.
이게과연나올까 염려스러운데, 나올때의 안도감이 있지만, 좀더 테스트해보고 그러면 괸찮겟지....
지금은 그저 신기할 따름.
자료라고 해봐야 흠흠이지만...
rcp의 subset이라고 하니 rcp처럼 만들고있다.
그래도 잘 돌아가니 나름 만족하는중이다.
콘트롤이 많아지면 어떨까 염려스러운데 대략 400개정도를 콘트롤을 고정하게 올려봣는데 아직은 괸찮다. 이 콘트롤들을 동적으로 움직일수만 있다면 일단은 합격점인데...
코딩해보지않고 데모만 봣을때보다는 불안감이 확실히 덜하다.
이게과연나올까 염려스러운데, 나올때의 안도감이 있지만, 좀더 테스트해보고 그러면 괸찮겟지....
지금은 그저 신기할 따름.
화요일, 3월 03, 2009
기본기의 중요함
아침 출근부터 마소 3월호를 봤습니다.
30분동안 처음부터 끝까지 넘기면서 느낀점은..
마소를 2,3월 호만 몇년만에 보는지 기억도 못하겟지만, 몇 가지 느낀점은
마소가 점점 프로그래머세계(?)와 닮아가고 있다는것과...
어떤 주재이던 필자의 배경과 관련깊은 부분에 초점이 맞추어져 가고 있다는 것입니다.
이것은 당연 한 결과 이겠지요.
하지만 읽는 사람에게는 혼란입니다. 그 초점이 혼란이 되고 어느 부분을 보아야하는지 중심을 잃게 만듭니다. 무엇인가 하나 진득하게 보고 쌓아가야할 입문자들에게는 더욱 그렇지요.
대안은.
경력이 쌓이고 쌓였지만, 허접 탈피를 아직도 못하고 있는 상태이지만...
처음 vb로 시작해서 php -> jsp -> web -> struts -> swing -> rcp 이렇게 흘러온 나로서는 역시 기본기 중요함은 100만배라 생각됩니다.
좀 어렵고 개발자 찾기도 힘들다는 gmf, gef, ecf 이런거 백만번 잘한다고해도 항상 힘들고 막히는 부분은 기본이었던듯 합니다.
자신이 개발하려는 것들을 이해하고 그것을 구체화 하고 코드로 나오기까지의 어느정도 과정을 이해하는것이지 않을까 싶습니다.
30분동안 처음부터 끝까지 넘기면서 느낀점은..
마소를 2,3월 호만 몇년만에 보는지 기억도 못하겟지만, 몇 가지 느낀점은
마소가 점점 프로그래머세계(?)와 닮아가고 있다는것과...
어떤 주재이던 필자의 배경과 관련깊은 부분에 초점이 맞추어져 가고 있다는 것입니다.
이것은 당연 한 결과 이겠지요.
하지만 읽는 사람에게는 혼란입니다. 그 초점이 혼란이 되고 어느 부분을 보아야하는지 중심을 잃게 만듭니다. 무엇인가 하나 진득하게 보고 쌓아가야할 입문자들에게는 더욱 그렇지요.
대안은.
경력이 쌓이고 쌓였지만, 허접 탈피를 아직도 못하고 있는 상태이지만...
처음 vb로 시작해서 php -> jsp -> web -> struts -> swing -> rcp 이렇게 흘러온 나로서는 역시 기본기 중요함은 100만배라 생각됩니다.
좀 어렵고 개발자 찾기도 힘들다는 gmf, gef, ecf 이런거 백만번 잘한다고해도 항상 힘들고 막히는 부분은 기본이었던듯 합니다.
자신이 개발하려는 것들을 이해하고 그것을 구체화 하고 코드로 나오기까지의 어느정도 과정을 이해하는것이지 않을까 싶습니다.
월요일, 3월 02, 2009
환율도 1560원인 마당에...
점심 먹고왔는데 1590인데...
'이너 게임을 통해 기천 배우기 II'를 참여하고 싶은데, 시간이 겹친다.
역시나 이번 스터디는 어쩌면 참아야 했는지도 모른다.
친구는 키보드와 모니터 뿐(?)인지도 모르는데...
누군가와 의사 소통하고 이야기하는 연습, 내가 가지고 있는 생각을 다른 사람에게 이야기하고 듣는 연습이 필요한지도 모르겟다.
내일 부터는 인라인을 가지고 출퇴근을...
영어 학원 등록도 다시...
만들다가 만 것들과 시도하다 만 것들을 다시...
3월 한달을 알차게 보내봐야지
'좀 더 나은 사회를 위한 몇 가지 방법 –- 어쩌면 IT기술을 사용해서 ' 를 들었는데...
어쩌면이다. 어쩌면... 핑계를 대자면 어쩌면
점심 먹고왔는데 1590인데...
'이너 게임을 통해 기천 배우기 II'를 참여하고 싶은데, 시간이 겹친다.
역시나 이번 스터디는 어쩌면 참아야 했는지도 모른다.
친구는 키보드와 모니터 뿐(?)인지도 모르는데...
누군가와 의사 소통하고 이야기하는 연습, 내가 가지고 있는 생각을 다른 사람에게 이야기하고 듣는 연습이 필요한지도 모르겟다.
내일 부터는 인라인을 가지고 출퇴근을...
영어 학원 등록도 다시...
만들다가 만 것들과 시도하다 만 것들을 다시...
3월 한달을 알차게 보내봐야지
'좀 더 나은 사회를 위한 몇 가지 방법 –- 어쩌면 IT기술을 사용해서 ' 를 들었는데...
어쩌면이다. 어쩌면... 핑계를 대자면 어쩌면
피드 구독하기:
글 (Atom)