'지식로그'에 해당되는 글 14건

  1. 2007.12.07 2006 자바원 - 참가후기 한승훈(2006 SW컨테스트 대상)




첫날

아침 일찍부터 일어나서 나갈 채비를 하고, Hotel을 빠져나와 Moscone Center로 향했습니다. 가는 길이 어디인지 잘 몰랐지만, 2006 JavaOne Conference 플랜카드가 가로등마다 걸려 있어 쉽게 찾아 갈 수 있었습니다. 처음 도착한곳이 South Gate로비였는데 안내하시는 분이 친절하게 North Gate 가서 등록을 하라고 해서 North Gate로 기분 좋은 맘으로 향했습니다. 저는 이미 사전등록이 되어있어서 시간 지체 없이, 이메일 주소 하나로 등록신청을 마쳤고, 자바카드를 한 장 발급 받았습니다. 이 자바카드는 각종 행사 참가할 때의 출석체크, 파빌리온 세션에서 입장 확인용 신분증으로 사용 되었습니다. 역시 JavaOne 컨퍼런스 답게 JavaCard를 이용한 유연한 행사 처리가 돋보이는 부분이었습니다. 카드를 발급 받은 뒤에 간단하게 아침 식사를 했는데, 처음 가본 Moscone Center의 규모가 굉장 하다는 것을 느꼈습니다. Moscone Center안에 임시로 마련된 식당 한 개가 축구장 2~3개 정도의 크기였습니다. 이러한 공간이 3개가 존재하니 그 규모를 짐작 하실 수 있을 것입니다. 이곳에서 간단하게 아침식사를 한 뒤에, General Session을 들으러 갔습니다. General Session의 간단한 내용은 Java EE 5의 설명과 JCP.org의 간단한 소개와 JCP의 가입방법, 그리고 JCP의 하는일을 소개 하였습니다. (JCP.org는 Java Process Community의 약자로써 자바 개발하는데 필요한 자바 규약을 정하는 커뮤니티라 생각하시면 되겠습니다). 지금 이 홈페이지를 처음 알게 되었던 분은 한번쯤 들러보시길 권합니다. 그후, 간단히 Java studio creator를 설명하였고, 그 다음엔 AJAX로 구현한 간단한 Pet Store(쇼핑몰)를 보여주었습니다. 예제를 통해 보여준 AJAX와 자바와의 궁합을 강조에 강조를 하였습니다.

제너럴 세션이 끝난 뒤 필자는 예전에 미리 스케줄을 잡아뒀던 테크니컬 세션들을 듣기 시작했습니다.



Desktop Java™ Technology Today: Deep Dive

자바데스크톱의 현재 사용분야와 비전을 제시하였는데 앞으로는 브라우저 기반의 자바 어플리케이션, 그리고 애플릿을 통한 언제 어디서나 접근 가능함을 강조하였는데, 과연 이루어볼지는 두고 봐야 할 것 같습니다. (사실 이 말은 과거에 많이 나온 말이죠.)

그리고 그 예를 들어 ThinkFree Office(우리나라 제품에 대해 언급이 나와 기분이 좋았습니다.^^)와 기타 다른 어플리케이션의 예를 들며 "가능하다" 라는 비전을 제시하였으며, 이번 Independent Games Festival 2006 finalist에서 수상한 Tribal rouble이라는 3D게임을 소개하였습니다. 게임은 직접 시현을 하진 않았지만, 자바로 어느 정도 3D게임 제작에 무리가 없는 정도의 완성도를 보여줬습니다.

또한, Java SE 5 다음 버전인 코드명 "mustang"에서 추가된 Swing의 기능에 대해 소개를 하였습니다, 간략하게 정리하자면 GroupLayout 이 새로 추가 되었고 Drag and Drop의 향상, True double buffering, Tab as component. JTable sorting and iltering 이었습니다.



Mastering Mustang and Developing Dolphin

앞으로 나올 Mustang에 대해 직접 테스트 해보고 코딩을 해보는 Hands-on-lab 세션이었습니다. 다만 Eclipse에 익숙해진 저에게 있어 NetBeans를 쓰는데 처음에 곤욕을 치뤘습니다. 매뉴얼에 있는대로 User Interface 부분을 직접 만져봤는데, 그중에서 눈여겨볼 부분은 Mustang에서는 SplashScreen 클래스입니다. SplashScreen은 어플리케이션이 가동될 때 나오는 이미지라 보시면 되는데 , 이는 Java프로그램이 실행되면서 지루하게 기다리는 걱정을 해소해 줄 것 이라 생각됩니다. 직접 테스트 하는 컴퓨터 속도가 빨라서 자바를 실행한 즉시 뜨는지 확인을 제대로 못했지만, 앞으로 어플리케이션을 제작함에 있어 좋은 기능이 될 것이라 생각됩니다. 그리고 System Tray가 완벽하게 추가된 것을 눈으로 직접 확인해 볼 수 있었습니다. 그리고 자바에서 지원하는 Scripting부분이 추가 되었습니다. 이것의 이름은 JRunScript인데 간단하게 스윙 버튼이 뜨는 스크립트를 작성해 볼 수 있는 기회가 있었습니다. 또한 눈여겨볼 사항이 JRunScript의 Script Engine을 바꿀 수 있는 부분인데 Groovy, JPython, JRuby, Scheme 등과 같은 엔진을 JRunScript로 사용할 수 있다는 점 이었습니다.

NetBeans를 이해하는데 시간을 많이 소모하여, 시간 관계상 매뉴얼에 있는 예제들을 모두 수행해보지는 못했는데, Annotation에 관한부분, JMX(Java Management Extensions (JMX) 등이 있었습니다.


Groovy Goes RFID with Smart Sensors for Real-World Control

이번 세션은 설명을 어렵게 해서인지 잘 이해가 안 갔지만, 휴먼 센서와, sornar인식, 음성인식에 대해 설명을 하였고, SUN SPOT이라는 Java ME기반의 Wireless Control Kit 을 개발하였는데, 각종 스펙,과 기능을 설명하면서 곧 출시 될 것이라고 간단하게 소개를 하였습니다. 그동안 줄기차게 이야기 되어왔던 sensor netwok, 혹은 smart dust라고 불리는 센서들을 직접 사용해볼 기회가 생길듯합니다.


The Java 3D™ API and Java Bindings for OpenGL?

JOGL로 많이 알려진 자바에서의 OpenGL 사용에 대한 세션이었는데, JAVA 3D 1.5에서는 JOGL의 OpenGL파이프라인이 거의 완벽하게 이식이 될 거라고 합니다.(JCP의 승인을 기다리는 중이랍니다). 또 새로운 기능으로 Texture IO, ScreenShot, Gamma, TileRenderer, Java3D와 JOGL의 통합을 통해 더욱 좋은 성능을 낼 거라고 합니다. 그리고 OpenGL과 기존 그래픽 처리에 관한 간단한 속도비교를 해줬는데 무려 78.9FPS에서 750 FPS로 바뀌는 굉장한 성능을 보여줬습니다. 뭐 Soft렌더링과 하드웨어 가속렌더링의 차이라고 보시면 됩니다. 또한 오리가 뒤뚱뒤뚱 걸으며 재미난 액션을 취하는 예제 샘플을 가져와서 청중을 재미있게 해주기도 하였습니다.



둘째날

Simplified Development of Wireless Sensor and Actuator Applications Using Java™ Technology

전날 RFID에 대해 설명하며 간단히 언급했던 SUN SPOT에 대한 세션이 다른 세션과 겹쳐 듣지는 못하였지만, Hand on Lab을 통해 SPOT Wireless Sensor에 대해 직접 프로그래밍된 예제를 테스트해 볼 수 있는 기회를 얻을 수 있었습니다. 첫 번째 예제는 센서의 구동 방법에 대해서, 두 번째 예제에서는 센서를 흔들면 LED가 반응 하는 예제, 세 번째 예제는 센서간의 거리에 따라 음악의 볼륨이 커졌다 작아졌다하는 예제, 네 번째 예제는 SPOT의 Accelerometer Sensor를 통한 3D화면으로 직접 보여주는 예제를 직접 수행해보았습니다. 예제 하나하나씩 수행 할 때마다 정말로 신기 하였습니다. 아직 출시가 되지 않았는데, 이것이 출시가 된다면, 바로 직접 구입하고 싶을 정도로 재미있고 흥미 있는 센서 였 습니다. 이 센서가 단독으로 수행 되지 않고 wireless network를 이루어 작동한다고 하니 그 무한한 가능성을 직접 확인해 볼 수 있는 좋은 기회 였습니다.


파빌리온 세션

파빌리온 세션은 한마디로 말하자면 각종 자바 관련 기업체의 홍보의 장이라 보면 되는데 이번 파빌리온은 Eclipse 진영 / Sun의 netbeans 진영이 나뉘면서 서로 제품을 경쟁하는 모습을 보여 보기 좋았습니다. 앞으로 두 IDE의 경쟁에 보다 좋은 IDE가 나올 것이라 생각됩니다. 그리고, 파빌리온 세션 입구 바로 앞에는 JSR 01 - Real Time System을 이용한 Slot car 프로그래밍 대회가 작게 열렸는데, RealTime Application을 직접 프로그래밍 하여 사용하여 자동차의 전압을 조절하여 레이싱을 벌여 가장 빨리 들어오는 사람에게 상품을 주는 작은 대회 였습니다. 만약 RealTime System을 사용하지 않으면 가비지 컬렉션 시간 때문에 센서를 읽지 못하고 자동차가 그냥 지나가버리는 사태가 오게 된답니다. RealTime System으로 보다 빠른 자바의 속도향상을 가져오리라 생각되며, 여기에 저도 참가를 하였지만 다들 쟁쟁한 실력(?) 때문에 결국 순위에 들어오지 못하는 아쉬움이 있었습니다. 아래는 제가 직접 프로그래밍해서 돌린 slot car인데, 아쉽게도 완주하는 동영상은 찍지 못하였고 마지막부근 커브를 돌때 트랙을 이탈해 멈추는 동영상입니다.




셋째날

IBM 제너럴세션 에 들어갔다가 Eclipse의 개발 프로세스의 소개를 잠시 들었습니다.

daily build와 green integration build, milstone build를 통해 build를 수행 하는데 warm-up (계획단계), M1. M2.(프로그래밍 작성단계), end game(fix, text ,fix, test반복)과 같은 개발 프로세스의 끊임없는 반복을 통해 Eclipse를 개발한다고 합니다. 저에게는 전혀 몰랐던 사실인데, 이러한 개발 프로세스가 오픈소스인 Eclipse를 발전시키는데 기여하지 않았나 생각이 듭니다.


Extreme GUI Makeover: Lookin' Better

칙칙한 기본 스윙 LookAndFeel을 벗어던지고 보다 좋은 스윙 GUI 를 직접 만드는 방법을 보여주며 스윙에 버튼 하나 하나, 1pixel에도 굉장하게 색에 신경을 쓰며 제작하는 모습을 예제를 통해 보여줬으며, 특히 DropShadow효과를 쓰며 GUI를 구현하였는데 정말 눈에 보기에도 깔끔하고 이쁜 GUI가 한순간에 뚝딱 나오는 것을 보며 감탄을 하였습니다. 보다 예쁘고 보기 좋은 GUI는 기본 painting에 한계가 있음을 보여주며 각종이미지 Filtering 을 사용하여 각종효과를 주었고 Drag And Drop을 통한 사용자 인터페이스 방식 개선, 그리고 딱딱한 GUI를 벗어나 Animation이 첨가된 GUI를 보여주며, 보다 좋아 보이는 인터페이스에 대해 설명을 해주었습니다.



High Performance: Writing a Sony PlayStation Emulator in Java™ Technology

Sony PlayStation을 자바로 에뮬레이션 했다는 그런 것이 눈에 띄어 이 세션을 듣게 되었습니다. 처음 에뮬레이션을 시연하였을 때 여기저기서 탄성이 터져 나왔고, 시연 후에는 각종 그래픽 처리와 자바로 에뮬레이션 하는 방법을 설명하면서 소스 코드를 간략하게 보여줬는데. 역시 하드웨어 에뮬레이션이라 객체지향과는 조금 먼(?), 각종 비트연산과 쉬프트 연산을 이용 하드웨어 에뮬레이션을 구현하였는데, 이것을 개발한 개발자가 대단해 보일정도로 코드에 깔끔함과 정교한 에뮬레이터 구조에 감탄을 하였습니다.



넷째날

마지막 날 제너럴세션은 James Gosling이 직접 무대로 나와 제너럴 세션을 진행하였습니다. 제너럴 세션을 진행하며 RealTime System 을 사용한 Slotcar 프로그래밍 대회 1,2,3위를 결정하는 결승전이 진행되었고, Tommy Car라는 RealTime System으로 구성된 자바 기반 자동차를 직접 행사장에 끌고 와서 직접 설명을 하였습니다. Real Time System 을 통한 자바 가비지 컬렉션 처리 개선이 가장 눈에 들어 왔습니다.

Introduction to AJAX

AJAX에 대한 간단한 소개를 하는 세션이었는데 원래 두 번째 날 사람이 너무 많아 제대로 듣지 못한 사람들을 위한 일종의 앙코르(?) Session 이었습니다. 두 번째 똑같이 진행을 하는 세션인데도 청중이 자리를 가득 메워 AJAX에 대한 개발자들의 뜨거운 관심을 한눈에 확인 해볼 수 있는 그런 자리였습니다. Tomcat을 사용하여 AJAX를 사용하여 대한 간단한 우편 주소를 입력하여 간단하게 정보를 출력하는 것을 직접 코딩하며 설명 해주었는데, 어렵게만 느껴졌던 AJAX가 쉽게 느낄 수 있었던 자리였습니다.



마지막으로..

세계 여러 나라 자바 개발자들이 한곳에 모이는 이번 행사에서 자바의 비젼과 힘을 다시 한 번 몸소 체험 할 수 있었습니다.

이번 JavaOne 2006에서 특히 가장 기억에 남았던 것은 RealTime System을 사용한 Slot car 프로그래밍입니다. 경주에 참여하여 보다 좋은 성적을 얻기 위해 다른 사람들과 의견을 주고받으며 서로 경쟁 하였던 것이 가장 기억에 남았으며, SUN SPOT이라는 Wireless Sensor를 실제로 직접 만져가며 테스트를 했던 것이 가장 기억에 남는 부분입니다. 이러한 것은 여러 기술에 대해 발표를 하고 보고 듣는 것만이 아니라, 직접 만져보고 사용해보는, 오감을 자극해 줄 수 있는 2006 JavaOne Conference가 아니었나 생각 됩니다.

나중에 기회가 된다면 꼭 다시 한 번 가보겠다는 그런 생각을 해봅니다. 그만큼 이번 2006 JavaOne Conference가 저에게 있어서 많은 것을 깨닫게 해주고 식견을 넓히는데 도움이 되였으며, 이글을 보시는 다른 분들도 기회가 된다면!! 꼭 한번이라도 가볼 것을 권유를 해봅니다.

이런 좋은 기회를 마련해준 Sun Microsystems, Korea에 감사의 마음을 전하며 이상 후기를 마칠까 합니다.


 
지식로그 2007. 12. 7. 07:50 ,