Spring은 정말 많이 공부하고 실전에 적용도 오래하고 했지만 끊이 없이 공부할 것이 있다.

2004년 초에 처음 Spring1.0을 쓸 때는 내용이 매우 빈약한 Reference Manual과 API Doc그리고 몇개의 심플한 튜토리얼이 전부였다. :(   이해가 잘 안되면 소스코드를 뒤지고 포럼을 찾아보고 하면서 수많은 삽질을 통해서 Spring을 익혀 나갔다. 그 당시 주위에는 Spring을 쓰는 사람은 아무도 없었으니까 누구와 같이 의논할 사람도 없고 참 외롭고 힘들게 공부하던 시기였던 것 같다.

그 뒤로 Expert One-on-One J2EE Development without EJB가 나왔다. Spring에 관한 책은 아니라고 명시하기는 했지만 Spring을 제대로 이해하는데 정말 많은 도움이 된 책이다. Spring사용법 보다는 그 기반 개발철학과 아이디어를 많이 알게 되었다. 이책을 보면서 앞부분을 한챕터씩 정리해서 블로그에 올렸는데 그 때 쓴 내용이 지금도 많은 사람들의 블로그나 사이트에서 참조되고 있는 것을 보면서 신기하게 생각되기도 했다.

그 다음에 본 책은 Spring In Action이었는데 Manning의 Hibernate In Action에 워낙 감동을 받은 터라 잔뜩 기대하고 있었는데 막상 받아본 Spring In Action은 실망 그 자체였다. Spring처럼 방대한 프레임워크를 600페이지도 안되는 분량에 소개하려고 했고 내용도 너무 가벼웠다. 사실 거의 배운게 없는 책이라고 할 수도 있다. 한번 읽고 다시는 쳐다보지도 않은 책.

Spring Live도 나왔지만 역시 비슷한 이유로 실망.

Spring을 사용한지 1년쯤 지났을 때 Pro Spring을 보게되었다. 지금까지도 나에게는 Spring에 관한 최고의 책으로 꼽을 수 있는 그런 책이었다. 누가 나한테 Spring을 공부하는데 필요한 책 한권만 추천해달라고 하면 그 책을 권하고 있다. 실무 개발자의 철학과 경험이 듬뿍 묻어있는 그런 책. 원리와 개념을 가볍지 않게 다뤄주는 책. 물론 모든 Spring의 분야를 다 상세히 다뤄주지 못하고 특히 SpringMVC에 대해서는 너무 내용이 빈약했지만 그 외에는 참 만족스럽게 본 책이다. 특히 Domain Object를 사용하는 것과 관련된 내용은 Spring의 레퍼런스 성격의 내용이 아닌 Spring을 활용한 애플리케이션 개발의 전반적인 틀과 전략을 알게 해준 아주 좋은 내용이었다. 나중에 보니 그 책의 저자는 결국 Spring핵심개발자로 활동하다가 Interface21직원이 되었다.

그 즈음에 나온 Professional Spring Programming은 Spring의 핵심개발자들이 쓴 책이다. Rod Johnson이 책을 쓰는 그 스타일 그대로 체계적으로 빈틈없이 Spring의 내용을 소개하고 있는 책이었다. 레퍼런스 성격이라서 좀 딱딱하기는 하지만 그동안 무심코 지나쳤던 Spring의 많은 부분을 살펴보고 자세히 이해하기에 아주 도움이 됐다.

그리고 본 책은 박재성씨의 Spring 프레임워크 워크북. 재성씨는 다른 책의 저자와 달리 내 블로그 독자인 관계로 내용에 대한 평가는 생략 :)   책에 나오는 “생각해볼거리”라는 부분이 마음에 들었다. 여러가지로 생각하고 고민하면서 읽기 좋은 책. 저자의 고민도 많이 느껴졌다.

Spring MVC & WorkFlow는 가장 최근에 본 책이다. 그 동안 Spring책에서 소홀히 취급했던 SpringMVC에 대해서 자세히 소개해준 것이 아주 마음에 들었다. 특별히 새로운 내용은 없었지만 DispatcherServlet과 관련된 여러가지 개발아이디어를 알게 된 것이 제일 큰 수확. SpringMVC는 Spring의 다양한 기능중에서도 가장 잘 설계되고 확장성이 뛰어난 부분이라고 생각된다. 그 많은 Java Web Framework과 View기술과 기타 부분을 아주 체계적으로 연동하게 설계되어있고 웹 개발에 필요한 수많은 요소들을 잘 모듈화해놨다. 정말 배울게 많은 설계이다. Matt Raible같은 경우는 SpringMVC가 너무 복잡한 것이 단점이라고 지적했지만 그것은 정말 유치한 비평이다.

그 중에서 그동안 Spring과 관련해서 공부한 것 중에 가장 오랜 시간을 투자하고 많은 도움을 받은 것은 바로 소스코드 분석이다.

Spring 소스코드는 정말이지 보물과 같다. 로우레벨의 내부 인터페이스까지 세세히 달려있는 그 친절한 Document와 TDD방식으로 개발된 소스코드와 함께 살펴보는 Spring코드는 정말 볼 수록 즐겁고 흥미롭다. 지난 2년동안 Spring소스코드를 통해서 배우고 그것을 연구해 내 일에 적용한 것은 정말 셀 수 없이 많다.

내가 많이 분석해 소스는 SpringIoC와 SpringMVC, JDBC/Hibernate(DAO)/Transaction 부분이다.  SpringMVC의 그 멋진 계층구조나 DAO쪽의 Template구현 부분등은 보면서 많은 충격을 받았던 부분이다. AOP쪽은 워낙 복잡해서 자세히 들여다 보지는 못했다. 그 외에 Util쪽이나 Core부분에도 흥미로운 내용이 많다. Sandbox에 먼저 올라오는 코드들을 보면 앞으로 어떤 것을 Spring이 내놓으려는지 기대가 커지게 된다. 사람들이 최근에 이런 기능이 있었으면 좋겠어요 하는 것들 중에 찾아보면 Sandbox에 이미 1년 전부터 등록되어 연구되고 있었다는 사실에 깜짝 놀라기도 한다.

아무튼 나름 Spring에 관해서 잘 안다고 생각하지만 여전히 부족한 부분이 많다고 느낀다.

제일 큰 이유는 내가 개발하는 시스템에 적용하는 Spring의 기능이 제한적이기 때문이다. 모든 경우와 모든 프레임워크를 다 연동하지 않기 때문에 당연히 빠지는 부분이 많다. 2.0의 신기능은 아직도 1/5도 적용 못해봤다.

그래서 매뉴얼이나 책만 읽고 공부하는 것의 한계를 느낄 때가 가끔 있다.

이제 새롭게 시작하는 Spring공부는 Spring Reference문서를 읽으면서 나오는 내용의 모든 부분을 예제를 만들어보는 방법으로 하려고 한다. 실제 구현된 코드를 보고 후에 그것을 참조 할 수 있도록 하려는 것이다. 내가 생각하는 매뉴얼에 나오지 않는 케이스를 테스트 해보고 다양한 조합도 시도 해보고. 그리고 나서 그 핵심이 되는 코드를 하나씩 뜯어볼 생각이다.

이제 Core부분을 들어가고 예제를 만들수 있는 준비를 해놨다.

하나씩 작업하면서 세세한 모든 기능을 다 연구해볼 생각이다. 만약 관련되서 나오는 프레임워크가 있다면 그것도 함께 공부하면서.

얼마나 걸릴지 모르지만 재밌는 도전이 될 듯 싶다.

어느 정도 진행되면 그간 공부한 내용을 정리해서 오픈서적 개념으로 배포할 생각도 하고 있다. 누가 관심을 가져줄지는 모르겠지만. 아마 Spring Internal쯤 되려나…

아무튼 시작.

Related posts:

  1. SpringFramework의 바이블 – Pro Spring
  2. Spring vs. EJB3
  3. The Spring Experience 첫날
  4. JBoss + Spring + EJB 3.0 Integration
  5. Spring Framework 1.1.3 released
  6. Spring In Action 구입하다
  7. The Spring Experience
  8. 7월 7일 Spring활용적략 세미나
  9. Spring에 관한 흥미로운 글 몇가지
  10. developerWorks Column – ‘열띤 토론의 장, The Spring Experience 2006’
  11. The Spring Experience 셋째날 – TSE사람잡네
  12. The Spring Experience 2006
  13. Spring 2.0의 XML확장기능 (1)
  14. Spring 1.1.5 에서 MessageSource 문제
  15. EJB3 vs Spring

Facebook comments:

to “Spring 공부 다시 시작”

  1. You are my inspiration , I have few web logs and sometimes run out from to brand.

  2. I am just writing to make you be aware of of the remarkable experience our daughter developed checking yuor web blog. She came to find plenty of pieces, not to mention what it is like to have an amazing coaching nature to make many others completely gain knowledge of some problematic topics. You really did more than people’s desires. Thanks for churning out such powerful, healthy, informative and in addition fun tips about your topic to Julie.

  3. I really like your writing style, superb information, appreciate it for posting : D.

  4. Very interesting subject , thanks for putting up. “All human beings should try to learn before they die what they are running from, and to, and why.” by James Thurber.

  5. Thank you for the auspicious writeup. It in fact was a amusement account it. Look advanced to far added agreeable from you! By the way, how can we communicate?

  6. Amazing many of useful knowledge! lisinopril 10mg

  7. Incredible quite a lot of great info. tretinoin hydrochlorot Titrating Off Baclofen

  8. This is nicely said! . glycomet

  9. we prefer to honor quite a few other world-wide-web web sites around the internet, even though they arent linked to us, by linking to them. Under are some webpages really worth checking out

  10. Here are a number of the sites we advocate for our visitors

  11. With thanks. Ample facts!
    prinivil

  12. Information effectively used.! generic for advair levitra 20mg rezeptfrei bestellen

  13. Great information, With thanks. hctz medication

  14. Truly plenty of great data! finasteride bnf

  15. I like this post, enjoyed this one thanks for posting .

  16. I really appreciate this post. I’ve been looking all over for this! Thank goodness I found it on Bing. You’ve made my day! Thanks again!

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha