토비의 스프링 3.1 책 읽는 소프트웨어개발자

토비의 스프링 3.1 세트

이일민 저
에이콘출판사 | 2012년 09월

 

이 책의 내용은 워낙 이 쪽 분야에서 유명한 책이라 서평은 아니고, 개인적인 스프링에 대한 감상을 적은 것입니다.

지금 회사에 들어오기 전에 도서관에서 IT서적들을 공부하다가 '스프링'이라는 것을 우연히 보게 되었습니다. 아마 전자정부프레임워크에서 쓰고 있다는 정도의 얘기는 들었을테지요.

이 책은 문제의 그 스프링을 상당히 상세하고 쉽게 설명하려고 한 책입니다(물론, 이쪽 업계 - 자바 - 의 기반 지식이 없다면, 쉽게 느껴질리가 없겠지만... 주로 C, JavaScript/jQuery, PHP, Python 정도를 주로 쓰던 과거의 프로그래머인 저 포함하여서 말입니다.)

이미 스프링에 관한 책만 4권 이상을 보았는데, 전자정부프레임워크의 예제를 분석하려고 하니까 왠지 복잡하여 보기가 싫더군요. 나중에 알고 보니까, 역시 관련된 기반 지식이 없어서 머리에 들어오지 않는 것이었습니다. 전자정부프레임워크가 익숙해지려면 기반이 된 Spring이외에 eGov용으로 개발된 공통모듈들에 대한 작업은 별도로 필요하겠지요.

분명히, 개발자가 편하게 하려고 이러한 훌륭한 프레임워크를 만들었다고 했는데... JSP/Servlet으로 막 짜는 것보다 더 쉬워야 하는데(? ㅋㅋ)... 그냥 스프링의 @MVC정도의 수준만 알면 되는 것 같은데... "

모든 일이 다 그렇지만, 알고 나면 쉬운데 모를 때엔 두렵고 어려운 것일 뿐인 거죠. 물론 지금 다 알았다고 하는 이야기는 아니고, 지금도 모르는게 뭔지 찾는 중입니다^^

제가 잘 몰랐던 부분들을 나열하면 지금 회사의 직원들에겐 미안한 일이겠지만, 다른 분야(임베디드 펌웨어)에서 오다보니 스터디 기간은 미리 양해를 구했던 부분이라 이해해주기를 바래야지요. 순서는 무순입니다.

  • 메이븐 - mvn tomcat:run, mvn eclipse:eclipse -Dwtpversion=2.0 이런게 뭔지 알고 있어야 했던 것이지요. 
  • 빌드 툴인 ANT
  • 서브버전과 연동하여 Continuous Integration을 이루는 허드슨
  • VO(Value Object) - DTO(Data Transfer Object)패턴 이것도 마찬가지... 
  • JPA(Java Persistent API)사양으로 ORM(Object Relational Mapping)을 구현한 Hibernate
  • SQL맵을 이용하여 반복적이고 복잡한 DB작업 코드를 줄였다는 iBatis
  • 스프링 JDBC가 JDBC보다 나은 점
그나마, 한 1년 가량 웹쪽 작업을 간간히 해왔고, 자바, 디자인패턴 등도 공부해왔기 때문에 그나마 대충 넘어갈 수 있는 부분들도 어느 정도 있었던 것 같습니다. 

결론적으로 스프링이 아무리 POJO(Plain Old Java Object)를 이용한 프로그래밍에 DI(Dependency Injection)을 접목하여, 프로그래머의 부담을 많이 덜어주었다고 하더라도, 자바 관련 오픈소스를 활용한 적이 없다면 이 프레임워크에 적응하기 위하여서는 2~4주 가량의 집중적인 배경지식의 습득과 실습을 병행하는게 맞지 않나 싶습니다.

다행히 스프링과 관련된 책들이 번역된 것들도 많고, 좋은 예제들도 있고, 우리말 동영상 강의들도 있어서 각오만 다진다면 얼마든지 활용할 수 있다라는 당연한 말로 글을 맺습니다. 


덧글

  • windily 2012/12/22 19:35 # 답글

    저도 펌웨어쪽에서 일하다가 웹개발쪽으로 왔습니다. 처음 자바를 시작했을때 언어만으로는 아무것도 할 수 없다는것에 조금 놀랐던 기억이 나네요. ^^
  • 무재칠시 2012/12/24 09:15 #

    그러시군요^^ 사실 저같은 경우 OOP, 디자인패턴을 뒤늦게 공식처럼 배우다보니 프레임워크의 깊은 뜻을 머리로만 이해하여도 잘 쓸 수 있을 지 우려가 되긴 합니다.

    C언어 기초만 알면 별의 별 펌웨어를 다 짤 수 있었을 옛날보다는 익혀야할 분야가 광범위한 것이 사실이지요.~
댓글 입력 영역