WOC(Winter Of Code)의 시작 행사라고 보면 되겠네요 ^^
WOC는 학생들이 멘티로 참가해서 프로젝트 멘토들과 함께 프로젝트를 진행하는 행사입니다.
저는 학생도 아닌데-_-; 친구가 아직 학생이라 같이 놀러갔습니다-_-;

조금 늦었는데요. 들어가니 NCSOFT대표이사이신 김택진님이 개회사를 하고 계시고 있었습니다. 다 끝날 때 가서
뭔얘기하신지는 모르겠네요 ㅠ
끝나고 오늘 w데이 행사에 대해서 간단히 설명을 하더군요.
아.......사전등록할 때 나눠준 봉투가 있는데요. 오늘 행사에서 준비한 네트워킹 시간에서 사용할 도구(?)를 나눠줬습니다. 태그 스티커랑, 명함, 뱃지, 네임팬 등이 들어있더라구요 ^^ 이번행사에 중요점이 Network라는 점을 강조해서인지 사람들간에 네트워크관련 행사를 준비한 듯 합니다. 하지만, 반응은 그리 좋지 않았습니다-_-;

1. 마이크로소프트 김국현 부장
이 분 발표에 대한 ppt가 매우 신기했는데요^^ 손으로 쓴 듯한 글씨체를 이용한 PPT였던 것 같습니다(손글씨 맞나요-_-) 특이한 PPT에, 가끔 빵 터지는 강연! 재미있었습니다. 하지만, 조금 어려운 면이 있었습니다-_-; 잘 모르는 한자의 난무가.....-_-;
말씀의 핵심은 창조! 열정! IT발전에 대한 좋은 얘기를 많이 해주셨습니다 ^^

2. 구글코리아 노정석 PM
음......이 분의 말씀은 자신의 인생의 굴곡을 얘기했는데....사실.....뭘 말하려고 한 건지 모르겠습니다. 자신의 굴곡을 그리라는 건지 모르겠네요. 암튼, 이 분 천국과 지옥을 경험한 산증인이시군요 ^^ 히스토리 재미있게 잘 들었습니다.
혹시.....텍스트큐브닷컴을 개발하는 회사분이신거죠? 검색하니까 사장님으로 나오네-_-;

3. 한국 리눅스파운데이션 조광제 대표
오...리눅스가 이렇게 가치있는지 진심으로 느끼고 갑니다. 그리고, 오픈소스의 위대함에 대해서도 설명해주셨는데, 정말 이해가 잘 되도록 설명해주셨습니다. 오픈소스에 대한 사례를 설명해주셨는데, 어떤 회사가 20명인데, 자신의 CRM툴을 오픈소스해서 그것을 공개해 사용자의 참여를 유도하여 9000명의 개발자가 해당 오픈소스에 참여하여 극대화적인 효과를 얻었다라는 좋은 예를 설명해주셨습니다.
그리고, 항상 비지니스 관점으로 보라고 말씀하셨는데, 오픈소스는 manage측면에서 수익을 창출할 수 있다는 점을 얘기해주셨습니다. 오픈소스를 그대로 사용하는데에서는 무료지만, 사용 후 문제점에 대해서 책임을 지지않는다. 다만 유지보수계약을 하면 유료사용으로 돈을 받겠다 뭐 그런 걸 말씀하셨습니다.
실제로 솔라리스도 그런 식으로 사용하는 듯 하던데요. 스프링소스도 그렇구요. MySQL은 엔터프라이즈급에서만 돈을 받죠 ^^ 결론은 네트워크! 커뮤니티!
얘기를 들어보니 저도 오픈소스 프로젝트에 참여해보고 싶네요 ^^

4. Creative Commons Korea 윤종수 판사
이 분 JCO에서도 본 것 같고...암튼 라이센스문제로 자주 강연을 하시는 것 같아요^^ 오늘은 학생들에게 강연을 하는 만큼 이 분도 네트워크에 대한 얘기를 하셨는데요. GPL이 83년도에 처음 나왔는데, 그 전까지는 활성화가 안되다가 Internet의 발전으로 급격히 활성화가 됐다고 합니다. 이 분이 강조한 것은 네트워크였던 것 같은데, 왠지 강의 내용은 기억이 잘 안나고, 마지막에 보여준 오바마의 연설을 노래로 부른 동영상만 생각이 나네요-_-; 유튜브에 찾아보니 있네요 ^^ http://kr.youtube.com/watch?v=jjXyqcx-mYY
Yes, We Can인데요. 마지막에 Yes, You Can이라고 보여줬습니다. 학생들에게 힘이 되는 단어였던 것 같습니다.

5. 개발자 IT 트렌드
너무 빨리 진행해서 뭐가 트렌드인지 모르겠네요-_-; 오픈소셜이랑 모바일 쪽을 얘기하신 것 같아요. 사실.....친구랑 떠드느라....-_-; 못들었어요-_-;

6. 프로젝트 소개(손권남)
음...손권남님 블로그는 제가 구독을 하고 있는데요. 그전 블로그메인에 사진이 있어서 얼굴을 알고 있었는데, 실제로 보니....음..뭔가 틀린데요?-_-; 암튼^^ Spring으로 프로젝트를 진행하실 생각인 것 같아요. 책과 관련하여 리뷰를 쓰고, 그것을 공유하는 듯한 프로젝트를 만들 생각인 것 같아요. 손권남님 블로그를 보게 되면 책에 대한 리뷰가 많이 올라옵니다. 책을 많이 읽는 것에 대해서 많이 부러웠는데, 역시 이것도 손권남님이 쓰시려고 만드는 것이라는 말씀을 하셨습니다-_-;

7. iPhone(정상일)
아이폰 애플리케이션을 만드는거군요! 애플스토어에 등록을....-_-; 제 친구가 아이폰에 관심을 가지면서 대박을 꿈꾸고 있습니다. 이 친구 아마 이 프로젝트를 신청할 것 같은데요 ^^ 저는 맥맹(-_-)이라....-_-; 예전에 해킨토시를 깔아봤습니다만, 드라이버가 안 잡혀서 무선랜, 사운드 카드 등등이 안잡혀서 지웠던 기억이있습니다 ^^ 암튼 재미있는 시도입니다 ^^

아.....끝났군요. 중간중간 네트워킹 행사에서 매우 흥미로웠던 것은 샌드위치를 나눠줬다는 겁니다-_-;가 아니고, 태그스티커로 사람을 연결시키려고 시도했다는 겁니다. 이거 참 신선하고 좋은 아이디어였는데요^^ 보통 블로그에 글쓰기, 플리커에 이미지업로드 등을 할 때 그 컨텐츠에 대해서 태그를 답니다. 이건 사람한테 직업 태그스티커로 붙여서 자신과 같은 관심사의 태그가 붙은 사람들에게 네트워킹을 시도하려는 의도는 좋았지만.....-_-; 결과적으로는 참여도가 별로 였습니다 ^^

마지막으로 설문지 작성하고 좋은 선물도 주셨습니다^^ 롤링리스트교통카드5000원!, 스프링진짜노트!, WOC담요!, 포스터! 사람들이 포스터는 그자리에서 버리더군요. 참 보기 안 좋았습니다. 저는 벽에다가 붙여야겠습니다-_-; 그래도 열심히 준비한 선물인데 ^^(사실....제가 보기엔 포스터를 너무 많이 인쇄해서 남은 것 같은...-_-)

PS. 추첨을 통해 USB준다고 했는데, 그건 왜 안 준거죠? ㅠㅠ
 
Posted by 머드초보
,
 
넷빈즈에 관심이 있어서 여기에도 갔습니다^^

1. NetBeans 최신 동향 소개 / Sridhar Reddy
처음에 5대 오픈소스에 대해서 말하는 사람에게 큐브를 줬는데요. 나도 가지고 싶었는데....-_-; 우선 넷빈즈 6.5를 내 놓으면서 새로워 지는 것은 PHP를 향상되게 지원하고, MySQL을 지원하고, JavaFX를 지원, Hibernate지원 등등이 있었는데요.
신기한 것을 보았는데요. NetBeans에서 Hibernate를 Swing에다가 연동을 하는데, 5분이면 하더군요-_-; Hibernate를 손쉽게 할 수 있었습니다. 설정파일도 쉽게 만들고, HQL을 테스트를 할 수 있었습니다. HQL을 날리니 실제 DB로 날리는 쿼리로도 보여주는 등 Hibernate를 위한 배려를 많이 했더군요(국외에는 Persistence층에서 가장 많이 사용하는게 Hibernate라고 하더라구요. 국내에서는 iBATIS를 많이 사용하죠^^). 저도 Hibernate로 삽질 좀 해봐야겠습니다. DB영역에서 조금 강화된 것이 DB쿼리관련이 잘 되어있더군요. sql쿼리도 테스트해 볼 수 있고, SQL코드컴플리션도 되구요^^
그 다음에 Profiler를 소개했는데요. 성능을 분석해서 메모리를 많이 잡아먹는 부분을 최적화 할 때 유용히 사용할 수 있는 것이죠(최적화 툴!) 무료로 제공하는 프로그램은 많이 없는데, 넷빈즈는 무료로 제공한다고 자랑합니다^^ 게다가 이클립스 프로젝트 임포터를 제공해서 최적화를 넷빈즈에서 해라라곡 하는데, 이것의 목적은 이클립스 유저를 뺏어오기 위함인듯?-_-;

2. NetBeans 6.5를 통해 더욱 쉬워진 스크립트 언어 구현 / Micheal Li
보니까 놀라울 정도로 Javascript 코드 완성을 제공하더라구요. 물론 완벽하지는 않지만(완벽하게는 안되겠죠^^) Aptana랑 비교했을 때 누가 더 뛰어날까요^^ 궁금하네. 암튼, Javascript / HTML / css editor가 매우 향상 되었습니다. 좀 맘에 들었던 것이 css Editor! 미리보기를 할 수 있고, UI처럼 CSS를 수정할 수 있습니다-_-; 좋아요!
그 다음, jMaki라는 Ajax프레임워크를 보여줬는데, 제가 Hands-on-Lab에서 한 것을 시연해줬습니다. 드래그앤 드랍으로 구글맵을 1분만에 띄울 수 있는...-_-;
그 외에 여러 스크립트 프레임워크를 보여줬는데요. JSF, Dynafaces, Woodstock 등등~
그 중에서도 신기한 것 중에 하나가 Wicket이라는 것이였는데요.
Ajax without Javascript입니다. Java와 HTML로 합니다. HTML에 widcket:id=hello 라고 넣으면, Java코드에서는 그 해당 hello를 가지고 액션을 취하게 합니다. 많이 사용한다는데...왜 몰랐지....-_-;
이번 행사를 통해 여러 신기한 기술을 많이 배우고 가네요^^

3. 데스크탑 개발자를 위한 NetBeans 사용법 / Chuk-Munn Lee
음....스윙은 예전에 학교다닐 때 swing으로 WebService클라이언트를 만들 때 사용하고 사용해본 적이 없어요^^
아...회사에서 운영할 때 편하게 하려고 스윙으로 뭔가 만든적이 있네요^^
초반에 넷빈즈를 통해 쉬운 Swing애플리케이션을 만들더군요. 매우 쉽게 만들던데, 직접 하려고하면 잘 안되는데-_-;
스윙에 대해서 좋아진 점을 발표한 것 같은데, 스윙을 많이 사용하지 않아서 내용이 잘 안들어오더라구요-_-; 손쉬운 Splash Screen만들기(애플리케이션 뜨기전에 뜨는 화면), Nimbus LookAndFeel(벡터로 만들어져서 확대해도 픽셀이 깨지지 않으며 매우 빠르다고 하네요), 크로스플랫폼적인 TrayIcon, 스윙에서 자바스크립트 콜~, 손쉬운 소켓통신을 위한 XMPP 등의 설명을 하더군요. 시간이 없어서 다 못했습니다만^^(준비해오신 내용이 너무 많았어요^^)

넷빈즈는 매우 훌륭한 IDE인 것 같습니다. 보면 개발자들을 위해 신경을 많이 쓴 것 같구요. 하지만, 이클립스와는 다르게 플러그인이 정해져있는 것 같습니다. 이클립스는 사용자들이 플러그인을 제작할 수 있죠. 이것도 할 수 있으려나-_-; 암튼, 넷빈즈를 사용해보면 개발자들이 자주 쓰는 기능을 손쉽게 사용할 수 있게 만들어져있습니다. 라이브러리도 자동으로 추가시켜주며, Junit테스트도 용이하고, SVN, CVS 등도 잘 지원해주며, 배포가 매우 쉽게 배포파일을 생성시켜줍니다. 이클립스는 플러그인으로 설치를 다 해야하는데, 넷빈즈는 자주 쓰는 것을 다 포함하고 나옵니다. 서버까지 포함되어있죠^^(물론 자기네들 서버인 글래스피쉬가 기본입니다^^)
뭐 넷빈즈와 이클립스를 비교하면 장단점이 서로 있죠. 선택은 개발자들의 몫입니다^^
 
Posted by 머드초보
,
 
둘째날 후기입니다.

처음부터 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 머드초보
,
 
아...저번 회 때에는 박재성씨가 준비한 세미나를 들어서 그 때에는 스프링에 관한 것 보다 그냥 협업프로세스를 도울 만한 유용한 프로그램이나 작업 방법을 소개하는 자리였습니다. 그래서 스프링에 관해서는 많이 듣지 못했는데요.

오늘 세미나는 우선 2가지 세션을 못들은 것이 좀 아쉽구요. 그래도 백기선씨의 Spring AOP가 도움이 많이 되었구요. 박찬욱씨의 그 괴물같이 손이 보이지 않을 정도로 하는 라이브로 코딩하는 실력을 보면서 감탄사를 내뱉느라 제대로 못 듣기는 했지만, 꽤나 유용한 시간이였습니다. 그리고 스프링 보안인 Spring Security에 관한 설명도 들었는데....마침 이 시간이 졸려서-_- 잤습니다(발표자님께는 죄송하지만ㅠ)

우선 11시에 도착을 했는데, 20분부터 한다고 공지가 되어있더라구요.

1. 박찬욱님의 Refactoring JDBC Programming
우선 기존 JDBC를 접근하는 방식을 스프링 jdbc templete을 라이브로-_-; 만들어 보는 과정을 보게 되었습니다. 이건 뭐 감탄사밖에 안 나오는 군요. 이런 것을 한번도 보지 못한 저로썬 그냥 놀랄 따름입니다-_-; 보통 이클립스의 리펙토리 기능은 잘 쓰기 힘든데, 저걸 저렇게 활용하는 사람도 있구나 라는 생각이 드는군요 ^^
기존에 JDBC는 Try Catch Finally Try Catch의 반복으로 이루어져있죠. 그래서 그걸 템플릿으로 만들어서 중복코드에 대한 제거를 하고, 바뀌는 부분만 비교해서 잘 보여주셔서 이해가 매우 빨랐습니다. (하지만....휙휙~지나가는 화면들..OTL...)
사실 기존에 DB연동 부분은 그냥 항상 사용하기만 해서 내부 구조를 볼 겨를이 없었거든요. 실제 구현체를 보니 신기할 따름이군요. 그냥 queryForObject, queryForList, update, delete, insert 등의 메소드를 가져다가 쓰기만 했지, 어떻게 돌아가는지 몰랐는데, 이제 보니 확실히는 아니지만, 어느정도 알겠네요. 인터페이스를 활용하여 Strategy패턴을 이용해서 하는 것이더군요. 이제부터 디자인패턴을 공부해야겠다는 생각이 좀 드네요-_-; 사실 Head First Design Patterns책이 있는데...왠지 펼치기 싫습니다만, 이제 펼쳐야겠습니다 ㅠ
아....그리고, 저도 이클립스 단축키를 좀 외워야겠습니다-_-; 저도 이제부터 간지코딩을...-_-;

2. 박현준님의 Spring Security
헉.....순간 졸다가 기절했습니다-_-; Spring Security를 사용 안해봐서 인지 모르겠지만, 내용도 너무 어렵고ㅠ 졸리고 해서....ㅠ 자다가 일어나니 그 데모를 좀 보여줬는데, 대충 내용을 보니, 그....로그인 프로세스를 데모로 보여준 것 같습니다. 인증을 한 페이지를 보여주고 막 그랬던 것 같은데.....사실 잘 모르겠군요 ㅠ
얼마전 OAuth를 공부한 적이 있었는데, Spring Security에서도 지원을 한다고 한 것이 생각나는군요. 갑자기 얘기가 또 새네-_-; 암튼 보안쪽도 공부를 해봐야겠습니다 ㅠㅠ

3. 백기선님의 Spring AOP
우선 AOP에 대한 개념을 쉽게 설명해주어서 좋았구요. 하지만, 제 친구는 AOP에 대한 개념을 처음 접하는데, 용어가 너무 어렵다고 하더군요. 저도 친구들이랑 AOP스터디를 했을 때 advice, advisor, pointcut, joinpoint 등의 용어가 처음에는 헷깔렸는데, 그런 용어를 통해 친구가 그냥 처음에 들으려니까 어려운 부분이 있었나 봅니다. 암튼, AOP에 대한 EMAIL예제를 보여주시고, 1.X대 방식, 2.0.X방식, 2.5방식(어노테이션)을 보여주시고 ^^ 예전에 최범균님의 스프링2.5프로그래밍이라는 책에서 나온 예제가 있는데, 그것이 생각나더군요. 거기에서도 다 나와있었어요. 1.X대 방식은 어떤 인터페이스를 구현하는 것으로 나오고 ^^ 2.0.X는 POJO로 하고, XML설정파일에서 포인트컷을 정의를 해주는 방식이죠. 2.5의 어노테이션은 마법이죠 ^^
아...그리고 신기했던 것이 저도 @AspectJ 붙이면 컴포넌트 스캔이 안되는데, 그걸 포함시킬 수 있더군요.
저는 그냥
[code]<bean class="~~~~.AnnotMyAop" />[/code]그냥 선언해줬는데-_-; 컴포넌트 스캔에 AspectJ클래스를 넣으면 되는군요.
그리고, Spring AOP와 AspectJ를 비교하셨는데, 역시 AspectJ는 안써봐서 모르겠군요-_-;
또 하이버네이트는 제가 안해봐서 몰르겠는데, 이거 db를 객체랑 매핑해주는 거로 알고 있는데, add를 하면 insert를 하는건데, 이거 지가 필요하면 하는 거군요. 그래서 jdbctemplete이랑 같이 쓰면 데이터를 가져오면 insert가 안되서 문제가 발생하는데, 이걸 AOP로 해결할 수 있더군요. AOP를 예전에 회사에 적용해보려고 하다가 실패를 했던 기억이 있어서-_-; 다시 한번 해봐야겠습니다-_-;

근데, 이번 세미나를 마지막으로 무료세미나를 마친다고 한 것 같더라구요. 이제 돈내고 들어야하는건가....
암튼, 어느 정도 좋은 정보를 얻을 수 있었고, 도움이 많이 되었습니다. 스프링에 대해서 공부를 안한지 쫌 됐는데, 다시 한번 되새기게 만들어주네요. 우선 @MVC관련된 강의를 듣지 못해서 좀 아쉽구요. 저도 열심히 공부를 해야겠다는 생각이 드는군요.

이런 모임이 자주 있어서 좋은 정보를 공유했으면 하는데, 아직도 스프링 자료는 외국에서 많이 찾아야해요 ㅠ


 
Posted by 머드초보
,