아.....드디어 6주차의 과정이 끝났네요. 토요일마다 나가서 들으려니 죽을 것 같았어요-_-
3차 강의신청도 10월중순쯤에 받고, 11월에 시작된다고 하니 관심있으신 분들은 KSUG 메일링 리스트에 가입을 하세요~^^
3차 강의에 관심있으신 분들을 위해-_- 후기를 남깁니다-_-(뭐 전 KSUG랑 관계없는 사람이구요-_- 그냥 강의가 좋아서 글을 남깁니다-_- 어차피 선착순이고 하루이틀이면 다차기 때문에 빨리하지 않으면 손해임 ㄷㄷ)
그리고, 강의를 들으시는 분들은 스프링을 한번쯤 사용해보신 분이 가장 적당한 것 같습니다^^ 그냥 멋도 모르고 사용해보신 분이면 더 좋구요(저처럼-_-). 그런 분들은 왜 이렇게 사용하지? 이런걸 알게 되는 좋은 기회일테니까요^^

Korea Spring User Group http://groups.google.com/group/ksug

스프링을 국내에 널리 알린 KSUG에서 하는 강의라 역시 스프링강의 중에는 최고입니다. 그냥 책을 보면서 스프링을 익히는 것 보단 스프링에 대해서 정말 잘 알고 관심있어하시는 분께 강의를 들으니 이해가 가지 않았던 개념도 많이 잡히더군요.

1주차 - IoC / DI
전 1주차 때가 역시...맘에 듭니다. 의존성을 개선하는 좋은 예제와 Junit을 이용한 테스트를 하는 것을 배우게 될 것입니다. 의존성을 개선하는 과정에서도 테스트는 항상 같기 때문에 항상 통과해야합니다. 테스트는 리펙토링을 할 때 매우 유용하더군요.
또한 예제를 준비해오셨는데, IoC/DI개념을 이해하기 좋을만한 예제를 준비해서 쉽게 실습합니다. 셋팅 관련된 것은 거의다 만들어오시고, 실제 중요한 로직만 코딩하는 방식으로 주로합니다. ^^

2주차 - JDBC
스프링에서 제공하는 JdbcTemplate을 처음부터 만들어봅니다. 이걸 만드는 이유는 Spring에 있는 Template류의 구현 패턴을 이해하기 위함이였습니다. JDBC Template를 만들면서 느끼는 점은 스프링이 참 대단하구나 라는 것을 느끼게 됩니다-_- Strategy pattern을 이용해 중복코드는 제거해가는 것을 직접해보는데, 이클립스의 강력한 기능인 리펙토링(사실 개발하면서 써본적 없음 ㅠㅠ)을 이용해서 합니다. 이클립스 리펙토링기능도 많이 알게 되는 좋은 시간이였던 것 같습니다. 덕분에 이클립스의 많은 기능을 배웠던 것 같아요^^

3주차 - Transaction & Advanced JDBC
전 대규모프로젝트나 트랜잭션이 필요한 프로젝트를 해본적이 거의 없어서-_- 트랜젝션에 대한 개념이 조금 전무했었습니다. 그냥 두개의 테이블에 데이터를 넣는데, 두번째가 실패하면 첫번째도 롤백이라는 간단한 개념만 알고 있었죠-_- 업무단위라고 주로하죠^^
이번 강의도 트랜젝션을 적용하기 위해선 업무로직과 섞이기 마련인데요. 이걸 트랜젝션만 따로 빼주는 Transaction Template을 만들어봅니다^^ 그러면 업무로직에만 집중할 수 있는 걸 보여주죠^^
이것보다 더 편한 AOP를 이용한 선언적 트랜젝션도 배우고요^^
그리고, 트랜젝션하면서 이건 대체 뭐하는 거지 라고 생각된 Propagation에 대해서도 잘 설명해줍니다^^ 재미있는 사례와 함께요^^

4주차 - Web MVC
전 웹에 관심이 많다보니 MVC가 역시 ^^ 여기서도 SpringDispatcherSerlvet이 어떤식으로 동작하는지를 알기 위해 FrontController라는 DispatcherServlet과 비슷한 걸 만들어보는 실습을 하게 됩니다^^ 이런 원리를 알고 사용하면 역시나 나머지에 대한 이해가 참 빨라집니다^^
이것 외에는 MVC쪽은 많이 삽질을 해봐서 복습한다는 내용으로 많이 들었던 것 같네요.

5주차 - Annotation-style Programming
1~4주차까지 한 내용을 다 애노테이션으로 바꿉니다-_- 지금까지 한 내용들은 애노테이션을 사용하기전에 개념과 원리를 잡기 위한 내용이였다고 보면 되구요. 애노테이션으로 바꾸면서 이것들을 매우 쉽게 사용할 수 있게 되었습니다. 설정에 들어가는 XML도 줄어들구요.
이거 처음부터 애노테이션을 사용해서 배워버리면 이게 왜 이렇게 되는지 알기 힘들고, 사용법만 배우는 건 완전 겉핥기가 되버리기 때문에 이렇게 강의를 구성한 것 같아요. 좋아요^^

6주차 - Security
Security는 역시 보안, 인증관련된 부분이라 어려운 것이라고 하더군요. 예전부터 로그인할 때 인증하는 것이라고만 알고있어서 더 알고 싶었던 것도 있었는데요. 근데, 역시나 하루만에 많은 걸 가르칠 수 없었기에 웹인증과 권한관련된 내용만 했습니다.
그래도 유용했던 것은 그 전 Acegi때 했던 필터 기반을 먼저 보여주고, 네임스페이스 기반을 보여줘서 원리에 대해서 잘 알았던 것 같네요. 그리고, 사실 어떻게 쓰는 줄 몰라서 못해봤었는데, 사용법도 알게 되어서 좋았네요^^


덕분에 많은 것을 배웠던 것 같네요. 강사님이 중간중간 현장 얘기도 좀 해주시고, 스프링관련 얘기도 해주시고 그래서 더욱 재미있었던 것 같네요.

3차 신청하시는 분들 참고하세요-_-
 
Posted by 머드초보
,
 
스프링에 예전부터 관심만 계속 가져왔었는데, 스프링에 대한 국비지원 무료강의가 있다고 해서 신청했습니다. 박찬욱님 블로그를 구독하고 있었는데, 강의를 모집한다는 글을 보자마자 신청^^

예전에 KSUG 세미나할 때 참석했을 때 박찬욱님이 JDBC강의를 했던 것으로 기억합니다.
http://mudchobo.tomeii.com/tt/342
그 당시에 jdbc templete을 만드는 것이 였는데, 화면이 휙휙 지나가! 이런 느낌을 받았는데요. 무슨무슨 패턴들이 나오면서 막 지나가면서 이해를 못했던 강의를 들었던 것 같습니다.
정말 다행인 것은 이번 스프링강의 때 이와 비슷한 내용을 한다는 것! 저도 꼭 만들어보고 싶었거든요-_- 아직 디자인 패턴도 잘 모르고 해서-_- 이번 기회에 디자인패턴을 좀 공부해야겠습니다.
이야기는 삼천포로 빠졌군요.

어쨌든, 첫시간인데요. 사실 전 java쪽 일을 하고 있지 않은데요-_- 그래도 Spring에 대한 기본적인 과정에 대해서 꼭 배우고 싶었습니다(미래는 어떻게 될지 모르니까요!)
이날 강의에서 배운것들^^

1. JUnit
우선 개발할 때 거의 안 쓰는 JUnit을 배웠는데, 이거 정말 유용하군요. 예전에는 JUnit같은 것 귀찮게 왜하지 그랬는데, 오늘 하는 것 보니까 이유가 있네요-_- 테스트를 작성해놓고, 나중에 리팩토링을 해도 제대로 돌아가는지 확인을 할 때 매우 유용하군요. 젠장 난 헛살았어.....

2. 초보자들이 IoC / DI 이해하기에 만족할만한 예제
저같은 허접도 이해할 수 있도록 쉬운 예제와 쉬운 설명으로 강의를 해주셨습니다. 이 피자스토어 예제는 제가 예전에 Head First Design Patterns 팩토리패턴에서 본 예제와 비슷하네요. 그걸 스프링에 맞게 수정하셨어요^^ 후....디자인패턴 공부해야겠다.......-_-

3. 그 외에 여러 팁
역시 단축키를 써야해요. 그래야 누가 뒤에서 코딩하는 것을 지켜볼 때 자랑할 수 있어요............

저랑 갑으로 알고 있는데, 강의를 너무 잘하심^^ 저도 분발해야겠습니다-_- 덕분에 스프링에 대해서 조금 더 다가가는 계기가 되었네요.
 
Posted by 머드초보
,