KSUG 제10회 한국 스프링 사용자 모임 세미나

저도 발표자로 참석합니다.
봄싹에서 사용한 스프링 코드를 보여드릴 예정입니다.
설명만 하면 지겨우실테니,  스프링을 사용하여 어떤 간단한 서비스를 구현하는 모습도 보여드릴까 합니다.
많이 참석해 주세요~

[KSUG] 스프링 AOP 선택, 활용, 이슈 – 스크린캐스팅

4918ca0e0a45cDR.zip


위 링크에서 동영상 링크를 사용하여 mov 파일을 다운 받으시거나, 퀵 타임 플레이어가 설치되어 있다면, 웹에서 바로 보실 수도 있습니다.

발표를 하고 2주 정도 지난 다음 녹화를 한 건데, 스크린캐스팅을 좀 짧게 찍고 싶어서 총 다섯 개로 나눠서 한 편당 10~15 내외로 찍었습니다. KSUG 블로그를 통해서 한 주에 한 편식 올리겠습니다. 쉬는 시간 짬짬히 구경해 주세요. 🙂

이번에 올린 동영상은 AOP에 대한 내용인데, AOP 자체에 대해서는 깊게 알지 못하기 때문에, 제가 아는 한도 내에서만 살짝 살펴봤습니다. 따라서 내용이 다소 수박겉할기식으로 느껴질 수도 있는데요. 첫 번째 동영상의 목적은 AOP에 대해 자세히 설명 드리는 것이 아니라 AOP라는 개념을 프로젝트에 도입하면 어떤 도움을 받을 수 있는지 좀 더 현실적인(코드를 통해서) 감을 잡게 해드리는 것이 목적이기 때문에 그다지 AOP 개념이나 역사에 대해 자세히 다루진 않았습니다. 가볍게 보실 수 있겠죠.ㅋ

어느새 점심 시간이네요. 식사 맛나게 하세요.


updated 2008/11/11

이번에는 스프링 AOP에 대한 주제로, 코딩으로 Proxy 만드는 방법, 스프링 API 사용 방법, XML 스키마 사용 방법, @AspectJ 사용 방법, AspectJ 연동 방법까지 살펴봅니다.


next 2008/11/18

스프링 AOP 선택, 활용, 이슈 – 발표자료 & 소스코드

원래 계획대로면 스크린캐스팅도 제공해야 하는데, 제가 이번 주에는 여유가 없을 것 같아서 일단 발표자료만 올립니다. KSUG에서 별다른 연락이 없기 때문에 일단 제 블로그에 올리죠. 나중에 KSUG에서 일괄적으로 정리해서 발표 자료 묶음을 올리면 좋겠네요.

nk0.pdf
방명록에 보니 소스코드 요청도 있어서, 같이 올려둡니다. 메이븐 프로젝트인데, 몇몇 라이브러리는 메이븐 중앙 저장소에서 받지 못할 수도 있습니다. 그럴 때는, OSAF 메이븐 저장소를 원격 저장소로 등록해서 사용하시면 됩니다. OSAF 메이븐 저장소 주소는 다음과 같습니다.

http://www.opensprout.org:8082/nexus/content/groups/public/

48f432da54eb7B8.zip

제 9회 스프링 세미나 후기

kk1.mp3

시작이 안 좋군(10:00 ~ 11:20)

아침 열시 몇 분. 전철역에서 나가려는데 찬욱이를 만났습니다. 최근에 안경을 바꿔서 그런지 하두 오랜만에 만나서 그런지 처음 몇 초 동안 ‘누구지..’ 하다가 금방 알아보곤 반갑게 세미나장으로 발걸음을 옮기기 시작했습니다. 하지만.. 얼마후 찬욱이한테 전화가 오더군요. 영회형 전화인 것 같은데 전화받는 소리를 들어선 좋은 소식이 아니구나 싶었습니다. ‘뭐?? 영회형이 못 오신다고?’ 당황스러웠지만, 지난 번에도 비슷한 경험이 있기 때문에 그때 보단 덜 당황스러웠습니다. 일단 준비해야 할 것은 점심. 그리고 일정. 일정 조정은 비교적 간단한데 문제는 점심. PM용어로 완벽한 Critical Path. 찬욱이는 전화국에 전화해서 주변 도시락집 알아보고, 대엽이는 맥가이버같이 세미나 시설 조작을 완벽하게 해냈습니다. 음향, 조명, 스크린까지 캬.. 전 도시락집이 전화 안받길래. 나가서 점심 때울만한거 찾아봤으나. 샌드위치 만한게 없더군요. 문제는 주문을 어떻게 하고 돈을 어떻게 걷고. 분명 발표 중에 사람들은 또 올텐데. 주문은 몇 시간 전에 해야 제때 다 만들 수 있을지… 등등 머릿속이 발표 말고 이런 자봉활동으로 가득 찹니다. 하나 하나 대엽, 찬욱과 셋이서 결정하고, 봄싹 스터디 회원분들(김재진, Arawn, HeloIs)의 도움을 받아 무사히 점심 준비를 제때 완벽하게 끝낼 수 있었습니다.

첫 번째 발표 시작(11:30 ~ 1:05)

일정 변경과 대표님 부재에 대해 죄송한 마음을 전달하고, 첫번째 발표가 시작 됐습니다. 찬욱군의 스프링 JDBC. 오랜만에 보는 라이브코딩. 그래 이게 스프링 세미나였지. 라는 옛 추억이 새록 새록 떠오르는 발표였습니다. 썡 JDBC 코드를 하나씩 점진적으로 리팩토링 해가면서 Pluggable Behavior 패턴을 적용해 나가는 모습이 멋졌습니다. 스프링 JDBC를 직접 구현해버리는 건가 의심스러울 정도 였습니다. 찬욱군 발표가 끝나갈 즈음, 대엽군과 주문해둔 샌드위치를 가지러 다녀오고, 저는 단상에 올라 안내 말씀을 드리고, 봄싹 스터디 회원분들은 그 사이 음료수를 준비해 왔습니다. 타이밍 맞추기 숨가쁜 순간이었는데, 얼추 잘 맞았습니다.

점심시간(1:10 ~ 2:00)

먹고나니 이제 한시름 놨다..라는 생각이 들더군요. 인원수를 정확히 예측하기 힘든 상황이어서, 2만원 가량 개인적인 손해를 보긴 했지만, 그 정도는 그냥 KSUG에 기부한걸로 생각하기로 하고, 남아있는 점심 시간에 탁구를 치며 놀았습니다. 자주 왔던 곳이라 탁구를 하고 놀 수 있다는 걸 알고 있었거든요.ㅋㅋ 오랜만에 보는 선배(성일이형)가 세미나에 오셨길래, 탁구 한 판. 룰도 잘 몰라서 대강 대강. 대강 대강 승리. ㅋㅋ. 점심 시간에 짧게나마 맥스님, 박재성님과 짱가님을 볼 수 있어서 좋았습니다.

두 번째 발표 시작(2:00 ~ 3:10)

두 번째 발표는 현준이형의 스프링 Security. 캬오. 어렵죠. Acegi 부터 공부를 했었는데 전혀 쉽지 않았습니다. 하긴 AOP도 쉽진 않았었지만, 개인적으론. Acegi가 더 어려웠던 것 같습니다. Acegi는 레퍼런스 보다는 Spring In Action같이 재밌고 쉽게 설명한 책을 통해 학습하는것이 좋겠다는 생각입니다. 기본 개념 설명 부터 DAO 기반 예제까지 볼 수 있었습니다. 개인적으론 공부한지 오래되서 그런지 클래스 이름들이며 역할들이 잘 기억나지 않았습니다. 복습의 소중함을 느낄 수 있었습니다. 두 번째 발표에는 참가해주신 분들의 참여가 눈부셨습니다. 특히 박재성님의 질문들은 식곤증으로 졸까 말까 고민하는 저를 깨워주셨습니다. 질문 내용은 “(URL 기준 권환 확인으로 부족한 경우로 인해) 메소드 단위의 권한 확인을 하는 경우는 없는가?” 였습니다. 이 부분은 제가 몇일 전에 본 TSE 2008 동영상에 등장하는 내용이라 그 내용을 조금 언급해었습니다.

마지막 발표 시작(3:20 ~ 4:50)

마지막 발표 전에 양수열님을 아주 잠깐 뵐 수 있었습니다. 발표하러 올라가야 할 순간이라..ㅎㅎ 마지막 발표는 제가 스프링 AOP를 발표했습니다. 원래 계획 대로였으면 4시 40분부터 발표를 시작했을텐데 일정이 바껴서, 1시간 20분이 앞당겨진 3시 20분부터 발표를 시작했습니다. 이제와서 생각이지만, 다행이라는 생각이 들더군요. 원래 시간에 발표를 했었으면, 듣는 분들이나 발표하는 저까지 지칠뻔 했습니다. 마지막 발표라고 생각하니 그 동안 아껴뒀던 모든 힘과 그 동안 준비해온 모든 걸 다 보여줘야겠다는 생각이 들어군요. 그런 결심을 하고 단상에 올라갔습니다. 발표 준비를 할 때는 한 주제 당 시간까지 계산해 뒀었는데, 이번 발표에선 그럴 필요가 없겠다는 생각에 정말 모든 걸 쏟아내듯이 발표했습니다. 슬슬 지쳐가는 모습이 보이는 청중들을 농담과 질문으로 깨워가면서 잼나게 진행했습니다. 역시.. 발표 할 때는 뭔가가 잘 안 됩니다. 잘 돌아가던 이클립스가 갑자기 터무니 없이 느려지고, PPT 슬라이드 쇼가 중간에 정지 되서 강제종료후에 다시 실행하는 사태가 있었습니다. 그런 상황에서도 아무런 동요없이 잘 봐주시는 청중분들의 자세가 고마웠습니다. 그래서 더 열심히 했습니다. 발표를 끝내고 마지막 인사를 하며 남는 아쉬움은 거의 없었습니다. 준비한 모든걸 보여드릴 수 있어서 만족스러웠습니다.

집으로

발표가 끝나고 뒷 정리를 하고 나와보니, 그새 많은 분들이 가셨습니다. 아쉬운건.. 오늘 오신 분들 중에 말을 걸고 싶은 분이 있었는데 말을 못 걸었습니다. -_-;; 너무 바빴습니다.. 는 핑계고 왠지 먼저 다가가 인사를 나누는걸 아직도 잘 못하는 제 자신 때문이었습니다. 그게 좀 아쉽다고 하면 아쉬웠습니다. 썬 테크 데이에 가서는 먼저 인사를 나누는 연습도 좀 해야겠습니다. 암튼.. 남아있던 분들과 저녁 식사를 간단하게 하고, 집에 가는 전철에 오르니까 피로가.. 한 방에 몰려오기 시작했습니다. 아침부터 이것 저것 신경쓰고 마지막에 시원하게 발표를 했더니 그 피로 때문에 눈이 자꾸 감겼습니다. 그래도 동네에 사는 분이 계셔서 잼나게 이 얘기 저 얘기 나누면서 올 수 있었습니다. 집으로 들어오기 전 맥주 두 캔와 과자 한 봉지를 샀는데 아직 뜯지도 않고 후기를 정리했습니다. 이제 다 썼으니까 기선이랑 한 잔 할까 합니다. 수고했다.

감사의 인사

이번 세미나에서 고마움을 느낀 분들에게 감사의 인사를 드립니다.

대엽님: 완전 맥가이버. 만능입니다. 세미나 환경 세팅, 점심 주문, 이것 저것 시작부터 끝까지 정말 감사합니다.
김재진님, Awarn님, HeloIs님: 감사합니다. 이 분들 안 계셨으면 음료수 73개를 어떻게 들고 오고, 오신 분들에게 나눠 드리고, 쓰레기 정리하고.. 캬오. 감사합니다.
참석하신 모든 분들: 스프링 사용자들은 다들 매너 남/녀 인가요? 뒷정리 할 것도 없더군요. 쓰레기도 잘 분리해서 버려주시고, 발표 중에 한 분도 조는 모습을 못 봤습니다. (행씌도 안 자던데? 오오..)
아. 오늘의 유일한 지원 썬.: 박안나님께서 카드 형 USB 2GB 두 개를 지원해주셨습니다. 감사합니다. 🙂

KSUG 9번째 스프링 세미나

사용자 삽입 이미지
정말 오랜만에 발표를 합니다. 너무 오랜만에 하는 발표라 잘 할 수 있을지 걱정이 되는데요. 이번이 KSUG에서 하는 마지막 발표가 될지도 모르니만큼 준비를 열심히 해서 유익한 시간이 될 수 있도록 하겠습니다. 접수는 이곳에서..

Spring AOP를 주제로 발표를 맡았는데, 구체적으로 어떤 내용들을 다뤘으면 하는지 의견을 듣고 싶습니다. Spring AOP와 관련해서 평소 궁금하셨던 것이 있으신 분들은 이곳에 의견을 주시면 적극 반영하겠습니다.