둘째날 후기입니다.

처음부터 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 머드초보
,