Practical 자바 유틸리티 - Git, 서브버전, 메이븐, 그레이들, JUnit, 트랙, 젠킨스, JMeter 프로그래밍 인사이트 Programming Insight
장윤기 지음 / 인사이트 / 2016년 9월
평점 :
장바구니담기


## 0

스프링을 공부하거나, 스프링 부트를 사용하려고 준비중인 자바 개발자 초보분들에게 강력하게 추천하고 싶다. 이 책을 다 읽고 느꼈던 점은 자바의 필수적인 유틸리티를 '전부' 설명하고 있다는 점이다. 정말로 해당 분야의 유틸리티를 전부 설명하고 있다. 


## 1

자바(Java)의 또 다른 이름을 붙여준다면 나는 그 이름을 스프링(Spring)이 적당하다고 생각한다. 친구들과 농담삼아 하는 말이지만 "요즘에 누가 자바쓰니? 스프링 쓰지!"라는 말에서 느낄 수 있지만 스프링의 부분집합으로 자바가 존재한다고 요즘은 과언이 아닌듯 하다. 누군가에겐 안드로이드의 다른 이름일 수도 있겠다. 자바의 고유한 영역이 서서히 사그라들고 있는 이유는 자바를 기반으로 한 거대한 프레임워크나 SDK가 더 많이 활용되고 있기 때문이다.


자바 진영의 발전이 더디 가고 있고 언어적인 선호도와 점유율이 점점 내려가고 있을지라도 [...] 널리 사용하는 언어로 계속 자리 잡고 있을 것이라고 확신할 수 있다. - p. vi


그렇다고 스프링을 배우는 과정이 쉬웠으면 좋겠지만 스프링도 녹녹치 않다. 스프링을 구성할 때 고민했던 철학이나 프레임워크의 원리를 배우고 익히는 일도 쉽진 않다. 관점지향 프로그래밍(AOP), 제어의 역전(IoC), 의존성 주입(DI) 등의 흔한 삼각형 그림을 이해하고 잘 사용하기 위한 과정도 험난하다. 


[...] 하지만 Git을 선택하고 사용하려면 기존 형상 관리 소프트웨어와는 개념과 프로세스가 달라서 처음에 적응하고 익숙해지는 데 다소 시간이 거릴 수 있음을 고려해야 한다. - p. 51


특히 개발자에게 곤혼스러운 일은 그 흔한 'Hello World!'라도 출력하려고 들면 생각보다 복잡한 과정을 거쳐야 된다는 점이다. 자바를 공부할 땐 이클립스를 실행하고 클래스를 만들어서 sysout이라 적고 '컨트롤+스페이스'로 손쉽게 슥슥 만들어 낼 수 있었는데, 스프링은 `메인븐(Maven)` 프로젝트를 만들지, `그레이들(Gradle)` 프로젝트를 만들지 결정해야 된다. 이건 시작에 불과하고 하면 할수록 내가 알지 못하는 세부적인 기술들이 너무 많이 등장해서 식은땀이 흐르기 일수다.


[...] 필자의 예측으로는 메이븐에서 그레이들로 빌드 도구의 유행이 이동하는 것은 시간 문제라 생각한다 -p. 230


스프링 혹은 전자전부프레임워크 때문에 자바를 공부했는데 스프링을 사용하려고 하면 다른 것들이 발목을 잡는다. 그렇다고 검색을 하면 잘 나오는 것도 아니고, 이것도 좋고 저것도 좋고, 이것대신 저것을 쓴다는 글이 많아서 너무 혼란스러워서 어디서 부터 시작해야 될지 모르는 경우가 많다. 


## 2

커피한잔 하면서 친구들과 수다를 떨고 놀고 있는데, 친구가 탁자위의 책을 슥슥 넘겨보면서 "ANT라는 이젠 기억도 안 난다!" 라며 한마디 거들었다. 그렇다 나도 기억이 안난다. 예전에 ANT로 jar로 압축하고 배포까지 했고, 이클립스에 내장된걸 사용했던 것 같은데 그냥 아련한 기억으로 남아있다.


책을 다 읽고 느꼈던 점은 자바의 필수적인 유틸리티를 '전부' 설명하고 있다는 점이다. 정말로 해당 분야의 유틸리티를 전부 설명하고 있다. 


예를 들어서, 지금 시점에 `엔트(Ant)`를 사용하는 분들은 없을 것이다. 최소한 메이븐 정도는 사용할 것라 생각된다.  그럼에도 불구하고 책에서 엔트를 설명하는 이유는 '빌드 프로세스'의 발전사를 하나하나 소개하고 있기 때문이다. 거의 모든 챕터(형상관리, 의존성 관리 및 빌드도구, 단위테스트, 성능 측정, 협업, CI 등)가 초창기 기술부터 시작해서 현재 사용하고 있는 도구나 기술을 소개하고 있다. 


ANT, 메이븐, 그레이들의 기능을 이해하기 전에 반드시 이해해야 할 것이 빌드 프로세스이다. -p. 88



## 3

이 책의 단점은 당연하게도 모든 것을 설명하다 보니 내용이 너무 방대하다는 점이다. 내용의 방대함 보다 형상관리, 빌드도구, 단위테스트 등 책에서 다루고 있는 큰 주제가 다른 곳에선 책 한권 분량으로 나오기 때문에 내용의 방대함은 초보 자바 개발자 입장에선 받아들여야 하는 난관이라 할 수 있다.


자바가 사용된 시기가 20년이 넘기 때문에 배워야 할 내용이 많고, 스프링을 비롯한 현재 많이 사용하고 있는 프레임워크는 기존의 단점을 보완하기 위해서 만들어진 기술이다 보니 생태계의 방대함에 짖눌리기 쉽다. 그나마 이렇게 체계적으로 갖춰진 가이드북이 있다는 점에서 한결 다행이라 생각되고, 초보 개발자 분들은 책의 '목차'와 '찾아보기'로 난관을 슬기롭게 해처 나가길 기원한다.


## 4

한마디로 현재 스프링이나 자바 프레임워크를 구성하고 있는 생태계를 지탱하고 있는 중요한 기술에 대한 맥락과 그 기술의 지향점을 손쉽게 알 수 있도록 모아놓은 책이라 할 수 있다.


[...] 하지만 인텔리제이를 통해 훌륭한 환경과 개발 생산성을 확보할 수 있다고 판단한다면 충분히 투자할 가치는 있다. -p. 448




댓글(0) 먼댓글(0) 좋아요(2)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
미국헌법의 탄생
조지형 지음 / 서해문집 / 2012년 11월
평점 :
장바구니담기


## 1

헌번에 대한 내용보다 미국 건국에 관한 내용이 많이 나와서 헌법이 탄생하는 시대상에 대해서 알 수 있어서 좋았다.


## 2

근대나 현대의 논쟁이나 쟁점을 좀 더 소개했으면 좋았을텐데 그 점은 아쉽다.


댓글(0) 먼댓글(0) 좋아요(2)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
붓다의 치명적 농담 - 한형조 교수의 금강경 별기別記
한형조 지음 / 문학동네 / 2011년 3월
평점 :
장바구니담기


## 1

산 속에 위치한 금강경이 시내에 내려온 듯한 분위기의 글이다.


## 2

굉장히 읽기 쉽고, 금강경을 들여다 보기 전에 마음을 진정시켜 줄 책이다.

[…] 이를테면 유시그이 교설은 한역으로 읽기가 매우 까다롭고 애매하다. 현장이 굳이 인도로 떠난 것도 그 때문이고, […] 현장의 신역을 통해 불교를 더욱 분명히 이해하기 위해서였다.

혜능이 […] 줄기차게 강조하는 것이 있다. "입으로만 경전을 외지 말고 마음으로 믿고, 몸으로 실전하라"는 것이다.



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
팀을 위한 Git - Git 워크플로우를 효율적으로 만드는 사용자 중심 접근법
엠마 제인 호그빈 웨스트비 지음, 최병현 옮김 / 한빛미디어 / 2016년 9월
평점 :
절판


## 1

조엘 테스트 덕분에 CVS를 알게 되었다. 회사를 다니면서 SVN을 사용하다가 요즘엔 Git을 사용하고 있다. 요즘에는 Mercurial을 사용하는 회사도 간혹 보곤한다. 결론은 SVN이 되었든, Git이 되었든 CVS를 사용하는건 이제 유행이 아니라 필수가 되었다.


## 2

인류문화유산의 보고라고 할 수 있는 Github덕분에 Git 사용이 보편화 되었음에도 불구하고, 많은 사람들이 Git을 잘 사용하는 방법에 대한 고민은 끝이없다. 이 책은 Git을 잘 사용하고 싶은 ‘개인’이나 ‘팀’에게 무척이나 유용하다. 특히 ‘3장의 브랜치 전략’과 ‘4장의 효과적인 워크플로우’ Git을 처음 사용하는 개인과 팀에 많은 도움이 될것으로 생각된다.


## 3

대부분 다루고 있지 않는 GitLab을 다루고 있기 때문에 평소에 궁금했던 점을 해소할 수 있었지만, 결론적으로 github내용이 좀 더 풍부했으면 좋겠단 생각을 하게 되었다.



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
자바스크립트 이해와 AngularJS 활용 - MVC 패턴 웹 사이트 개발을 위한
강요천 지음 / 프리렉 / 2014년 5월
평점 :
장바구니담기


## 1

"자바스크립트 핵심가이드"가 정말 핵심을 다루고 있다면, 이 책은 그 핵심을 구성하고 있는 요소에 대한 세부적인 속성에 대해서 자세히 소개하고 있다.


## 2

무엇보다 좋은 점은 필수적인 핵심 요소에 대해서 '목록'형식으로 요약해주고 있기 때문에 자바스크립트를 정리할 때 아주 훌륭하다.


## 3

MVC 패턴을 근간으로 AngularJS를 파악할 수 있다는 점에서 후한 점수를 주고 싶다. AngularJS 2가 나오는 시점에서 1.x에 대한 내용이 절반을 차지하고 있다는 점이 불만일 수 있으나 시간을 들여서 읽어볼 가치는 충분하다고 생각된다.


## 4

시간이 없으면 자바스크립트 부분이라도 읽어보길 권한다. 강추다!


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo