둘째날 후기입니다.

처음부터 Hands on Lab시간을 신청해서 그것을 들으러 갔습니다. 그.....쓰리다 레디(Sridhar Reddy)가 있었습니다. 아....속 쓰리다....-_-; 이름가지고 장난치면 안되는데-_-;
NetBeans를 이용한 JavaFX시간입니다! 이 JavaFX를 넷빈즈를 통해서 쉽게 개발할 수 있었습니다. 아직 JavaFX는 SDK가 preview버전이더군요. 아직 멀은 것 같습니다.

1.JavaFX SDK 시작하기 / Sridhar Reddy
가장 먼저 예제를 실행하는 사람에게 티셔츠를 준다고 했는데요. 저는 어제 Hands-on-Lab에서 느린 인터넷 속도를 체험을 했기때문에 집에서 먼저 예제를 실행하고 왔습니다-_-; 그래서 제가 티셔츠를 받았습니다-_-; 티셔츠가 2개가 되버렸군요-_-; 어제도 받았는데 ^^ 암튼, JavaFX로 동영상 재생이 플렉스처럼 쉽습니다^^ 음악재생도 쉽구요. 여러가지 다양한 Effect들과 Draw기능들이 있는데, 주로 Visual에 맞춘 것 같습니다. 게다가 직관적인 코드를 중심으로 설계를 한 것 같습니다. 앞으로 어떻게 발전할지 기대됩니다 ^^

밥은 뷔페로......-_-;

2. EJB 3.0 / Sridhar Reddy
뭔가 조정이 된 듯 합니다. 원래 AMD어쩌구 였는데, EJB3.0소개 시간으로 바뀐 것 같습니다. 어쨌든, EJB는 전혀 안해봐서 이해가 잘 안됐는데요. 말을 들어보니 그 전버전보다 라이트해지려고 노력을 많이 한 것 같습니다. POJO로 돌아가려고 한 것 같구요. Entity Bean을 애노테이션을 통해 구현으로 하구요. 여기에 포함되어 있는 JPA(Java Persistance Api)는 독립적으로 나와서 EJB없이 독립적으로도 사용이 가능하다는군요. 제가 예전에 올린 웹서비스예제를 보시면 ejb를 안쓰는데, JPA를 쓴 것을 볼 수 있습니다 ^^
Entity Bean에서 애노테이션을 통해 간소화 하려는 것을 느낄 수 있었습니다. @OneToMany, @ManyToOne 등의 직관적인 애노테이션들이 보이더군요. 시간나면 EJB도 해봐야겠습니다^^ 간단하다며 예제를 보여주긴 했는데, 전혀 간단해 보이지 않습니다-_-; 하긴 처음에 ejb의 대안으로 라이트웨이트형태로 나온 스프링도 엄청 복잡하다고 생각했으니 ^^

3. Comet 및 Ajax를 이용한 웹애플리케이션 개발 / Michael Li
오.....이거 물건입니다. Comet이라는 건데요. 기존 Ajax에서는 Client가 요청해서 데이터를 주고 받을 수 있는데요. 이 Comet는 다른 클라이언트에서 요청을 하면 이벤트를 발생시켜 현재 Connect된 클라이언트에 데이터를 줄 수 있다고 하는군요. 제가 설명을 그지같이 하는데, 즉 서버-클라이언트 모델 형태로 서버에서 push가 가능하다는 얘기입니다 ^^
제가 예전에 Ajax를 이용해서 오목을 만들었는데, 이것을 구현할 때 다른쪽 클라이언트가 데이터를 받아야할 때에는 데이터가 있는지, 계속 Polling을 하면서 확인을 했었습니다. 이렇게 폴링을 안해도 된다는 얘기입니다. 발표하면서 아쉬웠던 점은 예제구현으로 하려고 하는데, 예제 구동이 안되었습니다. 제가 보기엔 넷빈즈 껐다 키면 될 듯 싶었는데-_-; 넷빈즈에서 가끔 글래스피쉬가 맛이 갈 때가 있더라구요-_-; (넷빈즈....버그가 엄청많고, 아직도 불안하다고 생각하는 1인입니다^^) 이것도 해봐야겠습니다^^

4. 기업환경 프레임워크에 필요한 것들 / 임수경
아....졸았습니다-_-; iBATIS는 ORM이 아니고 SQL Map인데 왜 ORM에 분류를 해놨을까요-_-; 그냥 기업환경에 프레임워크를 선택할 때 기준이나 뭐 그런 것을 설명한 것 같습니다. 기술적인 내용이 아니였습니다^^

5. EJB3, Spring, SEAM / Chuk-Munn Lee
EJB3을 얘기하고, 그의 대안이나 보완하는 기술인 Spring, SEAM에 대해서 설명했습니다. 둘중 더 나은 것을 얘기하는 것이 아니라, 이런 대안이 있다는 것을 알려주는 강의라고 하더군요. 사전에 재미있는 말은...EJB를 모르면 강의가 끝나도 뭔 개소리인지 모를 것이라고 하더군요. 맞습니다. 저도 한 절반만 이해한 듯 하군요.
우선 JPA, JSF 등 ejb에 대해서 소개를 하고(근데, 스프링과 상당히 흡사하다고 생각했습니다...하긴 대안으로 나온거니-_-) 플로우에 대해서 설명했습니다.
그리고, 해당 플로우에 Spring을 적용하면 어떻게 변경되는가를 설명하는 식으로 했습니다. 스프링의 장점인 DI, AOP, 용이한 테스트를 설명하고, 스프링 기술에 대해 간단히 설명했습니다. 최근에 나온 애노테이션 방식의 스프링의 쉬운 코딩도 보여주고요. @Autowired가 대규모의 문제가 있다는 의견이 있었다는 얘기도 해줬네요^^ 대규모가 되면 어떤 눔이 Autowired가 된지 모르니 그런거라는데...명시적인 네이밍룰을 잘 하면 될 것같은데....
그리고, Seam을 설명했는데, 이거 뭔소리인지 잘 모르겠습니다. Bijection이라는 개념을 설명했는데, 1번 Injection되면 다시 안되는데, 다시 Injection을 하는건지 거꾸로 인젝션을 하는건지 모르겠습니다.-_-; @In, @Out이라는 어노테이션으로 막 설명하던데 잘 모르겠어요--;
간단히 마지막에 정리를 하니, Spring은 J2EE의 대체모델이고, Seam은 J2EE에 붙여주는 개념이라고 하네요-_-;
이 분 "뚜~ 뚜~" 라는 말을 자주 써요 ^^

아... 회사 휴가내고 선테크데이를 갔다왔습니다. 우선 유용한 기술들을 배워서 좋기는 하지만, 이 기술들을 써먹을 날은 먼 미래가 될 것 같네요. 좋은 기술들이 나와도 회사들은 그 기술을 사용함을 꺼려하죠. 기존에 쓰던 것에 익숙해 새로운 것을 써먹으려면 배우기도 귀찮고, 어떤 문제점이 발생할지도 모르기 때문인 것 같습니다.
하지만, 전 생각이 다릅니다. 새로운 기술은 기존 개발 시 문제가 됐던 것을 더욱 편하게 하기 위해서 나온 것이 많습니다. 그리고, 개발자들의 편의를 위한 기술들이 많죠.
스프링만 봐도 기존에 사용했던 J2EE의 복잡함을 간소화 하기 위해서 탄생했다고 들었습니다. Ajax 또한 Javascript를 활용하여 웹에서 구현하기 힘든 부분을 쉽게 구현하는데에 사용됩니다. 개발자들의 조금 더 노력하면 더욱 편하게 개발할 수 있을 것 같아요^^
 
Posted by 머드초보
,
 
사실 무료쿠폰이 없었으면 너무 비싸서 안갔을텐데, 무료쿠폰이 생겨서 갔습니다^^
유료행사인 만큼....사람이 많이 없겠지? 라는 생각에 갔는데, 사람이 뭐이리 많은지-_-;
마지막에 실습하는 사람 리스트보니, 약 70%가 무료쿠폰 관람자인듯?-_-;

암튼, 처음에 등록하고, 들어가니 모래로 삽질하는(?) 영상을 보여주더군요. 멋있었습니다^^
아....엄청 신기했던 것이 발표자가 대부분 외국사람이다보니 저는 어떤식으로 진행되는지 궁금했습니다. 통역리시버를 주더군요. 예전에 Adobe RIA Camp에 갔을때는 번역하시는 분과 발표하시는 분이 교대로 말씀했는데 ^^
이 통역리시버 좋네요. 가끔 통역하시는 분이 당황하시는 소리도 참 듣기좋았(?)습니다.

우선 SUN TECH DAYS 2008은 크게 3가지를 홍보하러 온 것 같습니다. Open Solaris, JavaFX, NetBeans...
처음 오픈솔라리스를 소개했는데요. 가장 멋진 것은, 비스타의 3D Flip보다 더 멋진 텝전환이였습니다-_-; 이것만 봐도 깔아보고 싶다는 생각이 들더군요^^ 예전에 VirtualBox로 깔아봤는데, 노트북 밀고 한번 설치해봐야겠습니다^^ 그리고, 가상화기술은 VirtualBox를 소개했는데요. 이건 제 블로그에 한번 소개를 했었죠^^ 이것만 있으면 다중환경에 테스팅이 용이하다는 것을 설명하더군요. 그리고, ZFS에 대해서 소개했는데, 뭔소리하는지 몰라서 패스-_-;

그 다음 JavaFX! 제가 좀 관심을 가지고 있는데요.
넷빈즈의 특성인 드래그앤드랍코딩-_-을 이용해서 코딩하는데, 완전 신기하더군요. 문법이 이상해요^^ 매우 직관적인 문법을 표현하려고 애쓴 것 같아요. 순식간에 이미지를 조합하고, 알파효과와 Fade효과를 적용했어요. 문법은 AS3처럼 스크립트언어더군요. 그리고, 강조하는 것 중 하나가 Bind입니다. AS3에서도 [Bindable]이라는 엄청난 기능이 있죠. 이것과 같은 것입니다. 또 웹에서 보이기 위한 애플릿으로 실행이 가능한데요, 더 신기한 것은...만든 애플리케이션이 웹에서 보여지고, 웹에서 떼어지기도 합니다-_-; 공부해봐야겠군요^^

그....Rich Green씨의 말 중 가장 마음에 와닫는 것이....'최고의 기술이 선택을 받는다' 라는 말인데요. 정말 맞다고 생각해요 ^^

그 외, Zembly라는 이상한....것을 소개했는데. 뭐하는 건지 모르겠더군요-_-;

1. 첫번째 세션! JAVA SE 6 Update 10
사실....이것을 들으려고 한게 아니라 GlassFish를 들으려고 했는데...전 맨끝에 있는 곳에 1번세션인줄 알았어요-_-; 이런 트릭을 넘어가다니....ㅠ
암튼, u10버전에서 달라진 점을 소개했는데요.
첫번째로 ColdStart라는 것인데요. 메모리에 커널을 조금 올려서 빠르게 시작시킬 수 있는 기술이라는 것 같네요.
두번째로 Install Time을 줄이는 것이라고 하네요. 설치 시 자바커널만 설치하고, 나중에 실행에 필요한 라이브러리는 필요할 때 다운 받는 것이라고 하네요. 보니까, 커널만 설치 후, Swing애플리케이션을 실행했는데, 업데이트를 자동으로 하더니 라이브러리가 생기는 것을 보여주더라구요. 설치 시간을 줄이려고 이런 노력을 하다니...대단합니다.
세번째는 Deployment에 대해서 애기했는데, 뭔소리인지 모르겠더군요-_-;
그 외, 룩앤필을 개선하고, Direct3d를 쓸 수 있다고 한 것 같은데...암튼, 이것저것 얘기를 하시더군요.

2. 두번재 세션! MySQL 어쩌구~
대륙의 발표자인 듯 했습니다. (대세는 대륙시리즈-_-). 이 분 영어 잘 못하시는 듯 하던데-_-; 암튼, 버벅이고, 엄청 지루했습니다. 사실....잤습니다-_-; MySQL을 소개했는데, 깨어나보니 어떤 형이 있는지 소개를 하고 있더군요. 나쁜 스키마에 대해서 소개하고, SQL을 튜닝하고 적게 날리라는 당연한 말씀을 하셨습니다.

점심시간!
식사시간을.....뷔페음식이 떨어졌는지....저는 딴 곳에서 먹었습니다. 이동경로는 이렇습니다. 3층에서 -> B1층으로 가니 식권을 도림이라는 식권으로 나눠주더군요. 다시 1층으로 올라가니....도림은 32층에 있답니다-_-; 헉... 32층까지 언제가지 했는데, 미친 엘리베이터가 날아가더니 금방 가더군요. 코스요리인 듯한 중식을 먹었습니다. 역시 싸구려 입인 제게 안맞을 것 같았지만! 맛있었습니다 ^^ 생각해보니 이것도 대륙의 음식인가...-_-;

3. 세번째 세션! JavaFX 소개
식사가 늦게 끝나서 가니까 하고 있더군요. JavaFX에서 시퀀스문법이 있었는데, var days = [1..31]; 이렇게하면 days에 1부터 31까지 선언이 되는 문법을 보여주고 있었습니다. 그 외 직관적인 문법을 많이 보여주셨는데,
delete 1 from days -> [2..31] 같은 문법을 보여주더군요^^
넷빈즈에서 자랑하는 드래그앤드랍 신공으로 작성하는....-_-; 여러 컴포넌트를 소개하고, 효과를 쉽게 줄 수 있는 장점, Bind에 대한 간략한 설명(AS3의 Bindable과 매우 흡사 ^^), 직관적인 애니메이션 효과 등을 보여줬습니다.
JavaFX의 목적은 쉬운 RIA(Rich Internet Application)을 만드는 것인데요. 애니메이션, 효과, 다양한 컴포넌트, 쉬운 비디오 오디오 재생 등의 장점을 얘기하는 것 보면 사실인 듯하네요. 한번 해보고 싶군요^^
더 재미있는 것은 JavaFX에서 자바호출을 할 수 있다고 하더군요. 어떤 식으로 될지는 모르겠군요^^

4. 네번째 세션! 강여사님의 자바 플랫폼의 신기능
저의 넷빈즈 사부님이신 강진영여사님께서 발표를 하신다고 해서 들으러 갔습니다^^ 넷빈즈를 입문할 때 강여사님의 카페자료에서 많은 도움이 되었죠^^ http://cafe.naver.com/netbean
너무 많은 것을 준비해와서 다 보여주지 못하고, 빠르게 진행하고 끝났네요. Java 7에 관한 내용이 주로 였는데요. 어노테이션 문법을 통해 널포인트에러를 컴파일상에서 잡을 수 있는 것이 참 신기했습니다.
@NotNull 이런 걸 썼던 것 같은데....-_-;
그 외, Java Module이라는 것을 설명했는데, 뭐지.....JAM파일로 만들고 막 그러던데...OSGi와 비슷한 개념이라고 얘기를 하더군요^^
Closure라는 문법을 소개했는데, 대략 이런 식이였는데, { double x => math.log(x) } =>이것을 말하는 것 같습니다. 이것도 잘 모르겠습니다-_-;
그 외, AWT 향상, Bean Binding, 리소스맵, Action 등을 소개했는데... 하나도 모르겠습니다-_-; 나중에 발표자료를 다시 검토해봐야겠습니다^^ 한가지 반가운 것이 있다면 직관적인 파일시스템API가 생기는 것입니다. 기존에 io패키지에 있던 것은 사용하려면 매우 힘들었죠^^ 암튼 반가운 소식이네요. 너무 빨리 얘기하시느라 잘 못들은 부분이 많이 있네요 ㅠ

5. Hands-on-Lab! Ajax 프레임워크를 이용하여 리치 웹 애플리케이션 구축하기(jMaki Framework)
최악이였습니다. 하필 15일 Hands-on-Lab은 통역이 없답니다 OTL..그리고, 인터넷속도가 모뎀속도보다 안나옵니다. 넷빈즈 깔고, jMaki프레임워크를 설치하는데, 백만년걸립니다. 5메가 밖에 안하는데....-_-;
암튼, 설치하는데에 시간 다잡아먹고, 겨우 설치를 해서 따라해봤습니다.
이 jMaki라는 것(제이마키라고 발음하더군요^^)이 미리 만들어 놓은 컴포넌트들을 쉽게 사용할 수 있는 프레임워크입니다. 넷빈즈의 특징인 드래그앤드랍으로 오른쪽 Palette에서 가져다 놓으면 자동으로 생성됩니다. 드래그앤드랍코딩!

오늘 행사는 이렇게 끝이 났군요. 내일 JavaFX실습이 기대됩니다^^
 
Posted by 머드초보
,