책소개
4가지 프로젝트로 배우는 최신 자바 개발 기법으로 개발하는 방법을 설명해 최신의 자바 기법을 사용하고 적용하는 방법을 알려준다.
입출금 내역 분석기, 문서관리 시스템, 비지니스 규칙 엔진, 트우터의 4가지 프로젝트를 직접 구현해 봄으로써 실무에 필요한 핵심 기술을 익힐 수 있다.
어떤 기술을 선택해서 배우든 다양한 기술들을 서로 어떻게 연결해야 할지 처음에는 파악하기가 어렵다. 프로젝트를 진행하면서 어느 시점에 함수형 프로그래밍 개념을 적용해야 할지 언제 테스트를 고민해야 할까? 이런 기술을 언제 새로 추가하거나 개선해야 할지 어떻게 알 수 있을까? 각 기술을 다루는 책은 또 언제 읽을까, 해당하는 불로그나 동영상도 추가로 봐야 하나? 프로젝트를 진행하면서 이런 고민들을 하게 될것이다.
이와 같은 고민도 저자도 하여 이 책을 집필했다고 하니 나와 같은 고민을 하는 개발자라면 꼭 한번 읽어봤으면 한다!
각 장에는 소프트웨어 프로젝트가 포함되어 있다. 각 장을 따라가면 자연스럽게 그 프로젝트를 구현 할 수 있다. 처음에는 간단한 명령줄 배치 프로그램으로 시작하지만, 점점 형식을 갖춘 복잡한 응용프로그램을 구현해 볼 수 있다.
1장 - 여행의 시작
1장에서는 책에서 사용하는 개념과 원칙을 소개한다. 기술은 좁은 분야에 적용되지만 관습과 원칙은 모든 분야를 아우른다고 한다. 특정 기술을 다루는 책은 많이 있지만 이 책은 그런 책과 다르다고 한다. 직접 책에서 확인해 보자!
2장 - 입출금 내역 분석기
2장 부터는 좋은 소프트웨어 개발의 기반이 무엇인지 배운다. 먼저 한 개의 클래스로 문제를 구현해 보고, 프로젝트를 진행하면서 바뀌는 요구사항이나 유지보수에 대응하며 기존 구조의 한계가 무엇인지 직접 확인해 보자.
3장 - 입출금 내역 분석기 확장판
3장에서는 소프트웨어 개발 여정의 깊숙한 곳으로 탐험한다. 먼저 코드베이스에 유연성을 추가하고, 유지보수성을 개선하는 데 도움을 주는 개방/폐쇄 원칙을 배운다.
4장 - 문서 관리 시스템
4장에서는 다양한 소프트웨어 개발 원칙을 배운다. 문서 관리 기능 설계의 핵심은 상속 관계, 즉 어떻게 클래스를 상속하거나 인터페이스를 구현하는가에 달렸다. 문서 관리 기능을 제대로 설계할려면 컴퓨터 과학자 바버라 리스코프의 이름을 따라 만든 리스코프 치환 원칙을 알아야 한다.
5장 - 비즈니스 규칙 엔진
5장에서는 테스트 주도 개발 기법으로 새로운 설계 문제를 풀어나가는 방법을 배운다. 그리고 유닛테스트를 구현하는데 유용한 모킹 기법도 전반적으로 배운다.
6장 - 트우터
6장에서는 소프트웨어 응용프로그램을 한데 모아 큰 그림을 완성하는 방법을 배운다. 지금까지는 작은 예제(명령줄에서 실행할 만한 간단한 일괄 작업)를 살펴봤다. 6장에서 좀 더 상세하게 알아본다
7장 - 트우터 확장판
7 장은 앞선 6장에서 코어 비지니스 도메인 구현 방법뿐만 아니라 설계를 검증하는 테스트도 만들어 보았다. 7장에서는 의존관계 역전 원칙, 의존관계 주입으로 결합도 피하기, 저장소패턴, 쿼리 객체 패턴으로 데이터 영구 저장하기에 관한 방법을 구현해 본다.
8장 - 결론
마지막 8장에서는 프로그래밍 경력에 무엇을 더해야 할지, 기술을 발전시키고 개발자로서 경력을 한 단계 높이는 방법에 대해서 알아본다.
이책은 막 대학을 졸업한 주니어 개발자라면 꼭 읽어봤으면 한다. 그리고 자바 개발자를 꿈구는 개발자도 읽어보면 반드시 도움이 될것이라 생각된다. 실무에서 사용되는 자바 개발 기법들을 미리 공부해봄으로써 실제 현업에 적용할 수 있으리라 본다.
이 책의 장점이라 하면 프로젝트 주도 학습 덕분에 높은 집중력으로 즐겁게 배울 수 있다. 각 장에는 새프로젝트가 등장하므로 새로운 내용을 배울 수 잇을 것이다.