그분의 새로운 블로그에 있는 내용입니다. 일주일 전에 사직의사를 회사에 말씀하셨다고 합니다. 잠시 쉬시면서 그 다음에 일을 찾으신다는 것과 왜 오라클에서 나오는지에 대한 이유를 말한다면 좋은 것보다 나쁜 영향이 더 클 것이기 때문에 말하지 않으시겠다는 것을 보면 씁쓸합니다.

제임스 고슬링 아저씨의 행복한 미래를 기원합니다.
image from: http://nighthacks.com/roller/jag/entry/time_to_move_on
트위터에 올라온 찬욱님의 글을 보고 알게 되었는데, 사이트 디자인이 바뀌었습니다.
http://www.sun.comhttp://www.oracle.com 으로 자동 이동되고,
http://java.sun.com은 Oracle 로고가 상단에 붙고, 오라클 컬러인 레드 톤으로 사이트 전체가 바뀌었습니다.

조직 정비 잘하시고, 자바 엔지니어들의 더 나은 친구가 되어주시길 바랍니다.

2008년 스샷에 나온 색이 언젠가 그리워지겠죠.


생각보다 사람이 많지 않았습니다.10여명 정도가 참석한 세미나이니 집중도는 높았지만 더 많은 사람들이 참여해도 좋을텐데라는 생각도 듭니다.
자바 성능 향상은 그간 경험을 바탕으로 자바 성능에 관한 개론적인 세미나였습니다. 50분동안 세미나를 한다는 것이 쉬운 일이 아닙니다. 다행히 강사님의 열정으로 인해 15분 정도 더 진행하시더군요. 깔끔한 콘사이스 사전급 내용이라고 할까요. 쉽게 설명을 잘 해주셨습니다.

20:80의 법칙보다 더 현실적인 5:95의 법칙
5%의 애플리케이션이 95%의 사용량과 리소스를 점유한다는 현실계의 이야기

Profiling 과 APM의 차이점에 대한 깔끔한 비교

오늘 인상적인 두 가지였습니다.

이상민님의 책이 정말 잘 어울리겠구나 싶은 세미나이기도 했습니다.

3월세미나라 하는데, 3가지 주제는 다음과 같습니다.

3월 24일(화)     | 19:00 ~ 19:50   |    데이타  성능과 보호를 위한 RAID솔루션
3월 26일(목)     | 19:00 ~ 19:50   |    SW Testing 자격 취득
3월 31일(화)     | 19:00 ~ 19:50   |    웹 접근성 표준화 현황

저녁시간 삼성동에서 가까운 개발자들이 참석하기 딱 좋은 세미나입니다.
http://blog.sdnkorea.com/sls/117



잠실 롯데 백화점과 삼성 아셈타워에서 오늘 하루를 다 보냈네요. 내일 오전에는 firebugs에 대해서 발표가 있습니다. 5~10분이라는 시간이기 때문에 간략하게 소개 정도로 마칠 듯 합니다. 임팩트가 중요한데 제대로 된 쇼를 하기는 힘들 듯 합니다.





여튼 내일도 기대가 됩니다.

썬(Sun Microsystems)에서 밀고 있는 오픈소스 JEE서버가 글래스피쉬(glassfish)입니다. 특징적인 것은 제품을 오픈소스로 키워가고 있습니다. 지난 자바원 2008에서 글래스피쉬에 대해 얘기하기를 79KB짜리 엔진을 갖고 있다고 합니다. 최경량이죠. ejb3.0이 구현된 것으로 알고 있습니다.

여러 배포판이 있는데, 인수한지 얼마 안되는 mysql과 함께 있는 배포버전은 다운받았습니다. 관리자 기능이 포함된 Sun Application Server 로 배포되고 있습니다.

처음 설치 버전입니다. Sun Java System Application Server 9.1 버전이고 MySQL 커뮤니티 서버가 같이 설치된다는 안내문입니다.

라이센스에 대한 얘기입니다. agree를 선택해야겠죠.


기본 설치 경로는 C:\Sun\AppServer 입니다. 솔직히 저는 C:\Program Files\... 이런거 싫습니다. ^^;


jdk가 설치된 경로를 지정해줍니다. Java 5.0 이상을 사용하시길 바랍니다. 1.4 말구요.


관리자 설정입니다. 비밀번호 설정하도록 되어 있습니다.

여긴 패스합니다. ^^;

테스트용이라 서버의 시스템 사이즈는 SMALL로 정했습니다.

설치 준비가 끝났다고 합니다. 글래스피쉬 엔진은 작은데, 관리자 애플리케이션이 장난이 아닌듯 합니다. 300M 가까운 용량을 필요로 하는군요.


Sun Developer Networks 계정이 있다면 연결해 줄 수 있습니다. 몇 가지 특혜들이 나열되어 있는데, 크게 와닿지는 않습니다. (영어라... ^^;)
Skip Regsitration으로 넘어가실 수도 있습니다.


등록 완료라는 메시지입니다.

서버를 시작한다는 메시지입니다.

서버가 정상적으로 구동되었습니다. 휴~ 다행이죠. ^^;


C:\Sun\AppServer\docs\about.html 페이지창이 뜨면서 안내 문서들이 나옵니다.

이렇게 설치기를 마칩니다.

사용자 삽입 이미지



마인드맵을 이용해서 강의한 두 번째입니다. 저도 허진영님 덕분에 알게 된 강의 방식이었죠. 자료는 부분 캡쳐를 차례대로 ppt에 붙여놓았습니다.

최상훈 JCO회장의 인사말과 자바원 개관으로 세션은 시작되었습니다.

사용자 삽입 이미지
현장의 모습에 대한 인상적인 사진이죠. 택시 옆문에 쓰여진 OUR PEOPLE. OUR COMMUNITY.는 자바원과 상관없는 것이지만 눈에 띄는군요.
사용자 삽입 이미지

총 370석이라고 하는데, 300분 정도 참여하신 것 같습니다.
사용자 삽입 이미지

세미나는 JavaOne 2008 내용을 요약해서 발표하는 것이었습니다. 자바의 2008 트렌드에 대한 이야기라고 할 수 있죠.
사용자 삽입 이미지

참가 기념품은 인형스피커인데, 깜찍합니다. 지금도 ipod video에 연결해서 잘 듣고 있습니다. 강사 기념품은 USB였습니다. 이거 뭥미~ 할 뻔하다가 8기가 USB에 헉~뜨 했습니다. 잘 쓰겠습니다. ^^;
사용자 삽입 이미지



세미나 끝나고 문 밖에서 질문받고 있었는데, 테스트 케이스의 효용성에 대해서 프로젝트 후반에 "삽질"을 효과적으로 줄일 수 있다고 답변을 도와주신 분께 감사드립니다.
SI 환경에서 테스트케이스를 만드는 것은 이미 생각하신대로 힘든 일입니다. 일정의 압박이나 그 외 스트레스가 많은 환경이니까요. 팀장의 의지와 팀원들의 소통도 원활해야 가능한 일이 아닌가 생각됩니다.

테스트케이스와 더불어 매일 30분 정도의 프로젝트 팀 코드리뷰시간을 갖는 것을 추천합니다. 팀원들 사이에 좋은 커뮤니케이션 시간이 될 것입니다.

들어주신 분들 감사합니다.
40분의 시간 동안 Changing Software라는 제목으로 JavaOne 2008 에서 들었던 강의를 요약해서 발표합니다. 10분은 Q&A시간이고, 어떤 질문이 들어올지 대답할 자신이 없습니다. ^^;

사용자 삽입 이미지

40분 동안 나오는 코드는 System.out.println() 두 줄 뿐입니다. ^^;
이 그림 한 장으로 40분을 얘기하니까 너무 기대하지 않으시길 바랍니다.

신청안내: http://sdnkorea.com/blog/584

사용자 삽입 이미지

사용자 삽입 이미지
관심있는 주제들을 뽑아봤습니다.
하루에 5개의 세션을 소화한다고 생각하고 20개를 골라봤습니다.

TS-5040 The Many Moons of Eclipse Technical Session
TS-6072 Advanced Enterprise Debugging Techniques  Technical Session
TS-5250 Asynchronous Ajax for Revolutionary Web Applications  Technical Session
TS-5502 Ten Ways to Destroy Your Community Technical Session
TS-5918 Open-Source Service-Oriented Architecture with Service Component Architecture and Apache Tuscany Technical Session
TS-6389 Growing Open-Source Developer Communities Technical Session
TS-5535 Tying Java™ Technologies Together the RESTful Way Technical Session
TS-6574 How to Implement Your Own OpenSocial Container on the Java™ Platform Technical Session
TS-5859 Unit-Testing Database Operations with DBUnit Technical Session
TS-5274 Groovy on a Cloud: Testing Java™ Platform, Enterprise Edition (Java EE Platform) Applications on Amazon EC2  Technical Session
TS-6537 Applications for the Masses by the Masses: Why Engineers Are an Endangered Species Technical Session
TS-5415 Java™ Servlet 3.0 API: What’s New and Exciting Technical Session
TS-6421 Mylyn: Code at the Speed of Thought Technical Session
TS-6163 Building Effective Mobile Enterprise Applications Technical Session
TS-5969 Distributed Client-Server Persistence with the Java™ Persistence API  Technical Session
TS-5596 Pimp My Build: 10 Ways to Make Your Build Rock  Technical Session
TS-6053 Optimizing JavaScript™ Programming Language Performance Technical Session
TS-6547 Improving the Engineering Process Through Automation by Hudson  Technical Session
TS-5389 Rich Internet Applications with Adobe Flex and Java™ Technology Technical Session
LAB-7430  Developing Distributed Wireless Applications Using Sun™ Small Programmable Object Technology (Sun SPOT) Systems Hands-On Lab

관련 세션 정보는 아래 링크를 통해서 찾아볼 수 있습니다.
http://java.sun.com/javaone/sf/sessions.jsp 

그리고 전체 세션 목록은 329개입니다. JCO에서 하루에 개최한 30개보다는 많죠. 보통 세션은 60분 단위입니다. 전체 목록 엑셀 파일 첨부합니다.


아으~ 가고 싶군요. 미니멈 400만원(등록 150만, 항공 150만, 체류 100만) 정도의 예산이 들 듯 합니다. ^^; 2004년, 2006년, 휴가내고 사비로 다녀왔는데, 출혈이 크긴 큽니다. 다녀와서 카드값 지불하느라 ㄷㄷㄷ 이었죠.

그땐 투자라 생각했는데, 지금은 소심해진 듯 하기도 하고...

www.sdnkorea.com 에 기고한 내용입니다.

카멜레온 개발자

부제- 변화, 익숙하지 않은 것들에 대한 두려움

 

허광남

OKJSP.pe.kr 운영자

GS이숍 EC정보팀 재직

 

자바에 대하여

자바가 나온 지 10년이 넘었습니다. 1982년에 처음 베이직으로 프로그램을 짠 이후로 포트란, 어셈블러, C 등의 몇 가지 언어를 거쳐왔는데, 자바에 대한 첫 느낌은 문자열 처리가 C보다 낫기 때문에 좋았습니다.

1999년 취업을 하기 위해 SCJP과정을 거쳤는데, 당시 jdk1.1에서 1.2 버전으로 가면서 Java2라고 명명되고 있는 과정이었습니다. 그래서 제 SCJP 자격증은 버전이 1.1이었죠.

 

2001,2년 무렵 직장 생활 초기에는 웹을 주로 했기 때문에 jdk의 버전에 민감하지 않았습니다. 대신 OKJSP라는개인 사이트를 운영하면서 정보를 공유하다 보니 1.2에서 1.3으로 업그레이드 되면서 안정성이 높아졌다는 것을 간접적으로 알 수 있었습니다.

 

jdk1.3에서 1.4로 가면서 기능이 확장되었습니다. 로깅, XML, NIO API가 대표적이죠. 버전이 올라가면 항상 그렇듯이 버추얼 머신의 성능도 20%정도 향상됩니다.

 

Java5 2004 Tiger라는 이름으로 정식 출시 했습니다. 공교롭게도 지금 한국에서 작은 파란을 일으키고 있는 Mac OS X 10.4 버전과 코드명이 같았고, 같은 해 샌프란시스코의 바로 이웃한 곳에서 같은 시간 오프닝 쇼를 하고 있었습니다. 썬은 모스콘 센터에서 JavaOne 2004로 애플은 그 옆에서 WWDC로 말이죠.

Java5는 언어적인 완성도를 높였습니다. 제네릭(Generics), 어노테이션(Annotation) 등의 문법적인 변화가 가장 두드러졌습니다.

 

하나 더, 버전얘기를 하고 넘어가죠. Java5부터 jdk1.5 또는 Java5 라고 불려지기 때문에 혼동이 되고는 합니다. 제품 버전(Production Version Number) Java 5입니다. 그럼 1.5는 뭐냐하면 말이죠. 개발자 버전(Developer Version Number)입니다.

 

작년 2006 Java6 Mustang이라는 코드명에서 정식으로 출시되었습니다.

우리 말로는 모피코트로 유명한 무스탕이라고 발음하지만 영어식 발음은 머스탱입니다.

Jdk1.5와 비교해서 도구로서의 유용성을 강화하기 위해 Tools & Tool APIs영역에 jconsole을 추가했고, Integreation Libraries Scripting이 추가된 것을 알 수 있습니다.

 

사용자 삽입 이미지
 

내년 2008년에는 코드명 돌핀(Dolphine) 즉 돌고래가 Java7 으로 우리곁에 정식으로 선 보이게 됩니다. https://jdk7.dev.java.net/ 을 통해서 오픈된 상태로 java 7이 만들어지는 모습을 볼 수 있습니다.

 

 

자바 따라잡기

이렇게 열심히 발전하는 자바와 현실과는 괴리감이 없을 수 없습니다. 최근 두 가지 사건이 있었는데, 애플의 신작 OS 레오파드에 jdk1.5버전이 기본으로 들어가 있고, 맥용 jdk1.6은 프리뷰버전으로 개발도 완료가 안된 상태라는 것 하나와 구글이 야심작으로 내 놓는 안드로이드라는 모바일 애플리케이션에 Rjava라 하여 표준인 JME(Java Mobile Edition)와는 다른 버전의 자바를 내놓는 일이었습니다. 물론 위 그림에서 보듯이 제일 상위에 있는 Java Language에 대한 확장 API 세트가 달라지는 것이라 자바 언어 자체에 대한 도전은 아닙니다만, 현실의 자바는 업계의 이해관계와 맞물려서 쉽지 않은 과정을 거쳐가고 있습니다. 기업용 언어였던 코볼의 전성기를 자바가 차지하고 있기 때문에 거쳐야될 성장통이라고 보여집니다.

 

다른 한 가지 양상은 자바 개발자들의 헉헉 거림입니다. 새로운 기능을 써보고 싶은 것은 얼리어댑터의 특성을 가진 프로그래머들의 공통적인 성향입니다. 하지만, 기업내에서 실험적으로 무엇인가를 만들어 내는 일은 쉽지 않습니다. 더군다나 이미 소프트웨어를 통해서 비즈니스가 진행되고 있는데, 업그레이드를 위해서 그것을 바꾼다는 것은 컴퓨터를 모르는 사업주 입장에서는 무한도전이 아닌 무모한 도전입니다. 그렇기 때문에 기술의 발전과 기업 내에서 기술을 담당하는 인력과의 격차는 점점 커져가는 것이지요.

 

지식 산업에서 인력의 기술을 기름짜듯이 뽑아먹으면 짜고 남은 찌개미처럼 버려지게 됩니다. 오히려 사내 세미라든가 구글의 20:80 업무시간 처럼 개인의 발전을 모색할 수 있는 숨통을 열어줘야 합니다. 요즘 가장 좋은 방법으로는 오픈소스 활동이 되겠지요.

 

카멜레온이 몸의 색을 변화시키는 것을 보면 생존을 위해서 참 피곤하게 산다라고 느낄 수도 있습니다만, 그렇기 때문에 카멜레온이라는 단어의 뉘앙스를 만들어 낼 수 있었습니다. 터미네이터2에 나오는 T1000처럼 완벽하게 몸을 바꾸기는 어렵겠지만, 개발 트렌드를 잘 따라갈 수 있는 스터디 모임이나 소규모 자체 프로젝트들을 자주 접하는 것이 좋을 것 같습니다. 회사 탓하고 앉아있으면 옛날 얘기하는 관리자 되기 쉽상입니다.

 

인간의 본성 가운데 익숙하지 않으면 두려움을 느끼게 됩니다. 익숙해지는 방법이 있습니다. 흔히 얘기하죠. “자꾸 해보면 늘어

 

관련

https://jdk7.dev.java.net/  java 7 정보

https://jdk6.dev.java.net/  java 6 정보

 

+ Recent posts