Insight? Practice!

Road to myself. 자기자신에게로 이르는 길.

[책] Spring in Action

잘 모르는 분야로 진입할때는 그 분야에서 꽤 유명한 프레임워크를 시작점으로 삼는게 좋겠다. 왜냐하면 새로운 도메인을 이해하는데 있어서 그 지식을 기본바탕으로 사용할 수 있기 때문이다. 하나에 익숙해지면 같은 도메인의 다른 프레임워크도 한결 수월하게 익힐 수 있을 것이고 무엇보다 중요한건, 하나를 익혔다는 조그마한 자신감을 가질 수 있다는 점이다. 그래서 집어든 첫번째 프레임워크. 스프링이다.

처음부터 토비책을 볼까 했지만 엄청난 두께에 압도당해서 도저히 시작할 수가 없더라. 중요개념만 먼저 살펴보자는 생각으로 얇고 좋은 책을 찾으니 이 책이 나왔다.

제목그대로 스프링에 눈뜨기 좋은 책이다. DI, IoC, AOP, MVC, REST 등의 필수개념들을 최대한 쉽게 설명하고 있고 특히 초반 DI, IoC를 적절한 은유로 설명하는게 마음에 들었다. 간단한 프로젝트로 스프링 MVC 를 설명하는것도 좋았다. 예제들이 개념익히기에는 충분하지만 실제로 사용하기에는 뭔가 부족한 느낌이라 실용적인 예제가 많은 책을 함께보는것도 좋겠다.

다 읽고 나니 스프링에 대해서 어느정도 알게된 느낌이다. 하지만 확실히 어렴풋하다. 스프링을 처음 시작하는 사람에게 딱 좋은 책이지만, 이책만 봐서는 안되겠다.

간간히 어색한 문장이 나오긴 하지만 번역은 잘된 편. 이해하는데는 무리가 없다.

읽으면서 떠올랐던 스프링에 대한 생각들을 두서없이 나열해본다. 스프링에 대한 첫인상인 셈.

  • DI 와 AOP 라는 개념이 익숙하면서도 새롭게 느껴진다. 도메인이 달랐던것 뿐인데 새로운 세상이 있구나. 어느 도메인에서나 써먹을 수 있는 core 지식을 더 갖고 싶다.
  • 신선하다. SpEL. 스프링안에 스크립트 언어. 반지의 제왕 작가가 소설을 위한 새로운 언어를 하나 만든 얘기가 생각났다.
  • 스파게티 코드가 될 수 있는 가능성을 Spring 프레임워크에서 최대한 막아주는 느낌.
  • 적절히 등장하는 은유가 참 좋다. 나도 나중에 책을 쓰게 된다면 가능한한 은유를 많이 써야겠다. 이해하기 너무 좋네.
  • AOP 는 해킹의 느낌이 강하다. 중간에 내가 원하는 코드를 실행하게 만들다니 말이야.
  • 확실히 스프링 프레임워크는 우아하다. 프레임워크를 만들어야 한다면 스프링의 우아함이 좋은 출발점이 되겠다.
  • 스프링으로 간소화된 Java 코드는 마치 script 언어나 함수형 언어처럼 보인다.
  • 분명히 server 도메인에 특화된 프레임워크인데도 도메인과 상관없는 순수한 Java 로 보이기위해 아니 정말로 순수해지기 위해 노력을 많이 하는구나. 그래서 간결하고 강력하다.
  • 편하게 사용하기 위해서 빈 ID 를 특정한 이름으로 설정해야하는등의 눈에 잘 띄지않는 규약이 존재한다는건 조금 별로다.
  • 스프링 웹 플로는 마치 레고블럭을 조립하는것 같다.
  • 스프링에서 제공해주는 xml 을 설정하면 무언가 저절로 쨘하면서 돌아간다. 마치 wizard 를 사용해서 프로젝트를 만드는 느낌이다. 안에서 어떻게 돌아가는건지는 하나도 모르니 답답하다.
  • 모든것을 POJO 로 만들고 dependency 는 xml 로 최대한 처리하자. 이왕이면 자동으로.
  • 최대한 generalize! 세부적인 impl 이 달라져도 그대로 사용할 수 있도록 generalize
  • 그냥 책만 한번 읽을때는 몰랐는데, 예제로 구성된 다른책을 한번 보고 Toy project 를 진행하면서 다시 보니 새롭다. 이런. 예제가 있는 책과 함께 보는게 좋겠다.
  • 새로운 생각은 알고 있는 지식을 바탕으로 나온다. 여러가지 프레임워크를 더 경험해보자.

걸린시간

예상뽀모도로는 18번. 실제 걸린 시간은 세상에 32번. ( 32 x 30 min = 16시간 )

처음 접하는 개념들이 많았으니 오래걸릴 수 밖에. 처음 추정할 때 고려했었어야 했다.

Comments