서브메뉴

본문

실전 자바 소프트웨어 개발 (4가지 프로젝트로 배우는 최신 자바 개발 기법)
실전 자바 소프트웨어 개발 (4가지 프로젝트로 배우는 최신 자바 개발 기법)
저자 : 리처드 워버턴
출판사 : 한빛미디어
출판년 : 2020
ISBN : 9791162243176

책소개

실전 프로젝트로 배우는 최신 자바 개발 기법 레벨업 가이드

이제 막 경력을 쌓기 시작한 자바 개발자가 최신 소프트웨어 개발 방법까지 알기란 벅찬 일입니다. 테스트 주도 개발 같은 객체지향 원칙을 배워야 할지, 함수형 프로그래밍을 배워야 할지 갈피를 잡기도 어렵습니다. 이 책은 실전 프로젝트를 최신 자바 기법으로 개발하는 방법을 설명해 다양한 기술을 서로 연결하고 적용하는 법을 알려줍니다.

입출금 내역 분석기, 문서 관리 시스템, 비즈니스 규칙 엔진, SNS를 직접 구현해보며 실무에 필요한 핵심 기술을 익힐 수 있습니다. 각 장을 따라 해보며 간단한 명령줄 배치 프로그램부터 점차 완성도 높은 응용프로그램을 구현해보세요. 기초 자바 사용법만 알아도 세련되고 견고하며 유지보수 가능한 자바 소프트웨어를 개발하는 최신 개발 방법을 배울 수 있습니다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

개발자들에게 필요한 핵심 기술을 프로젝트를 구현해보며 배우는 유용한 책!

소프트웨어 개발과 관련된 여러 핵심 기술을 아는 사람은 많아도, 각 기술을 함께 사용하는 방법을 완벽하게 이해하는 사람은 흔치 않습니다. 때로는 무엇부터 익혀야 할지 몰라 체계적으로 기술을 습득하는 기회를 잡지 못하기도 합니다. 이 책은 프로젝트에 다양한 프로그래밍 기술을 사용하는 방법뿐만 아니라 각 기술이 얼마나 쉽고 재미있는지도 알려줍니다.

이 책의 4가지 프로젝트에서는 의뢰인 마크 버그저커와 치과 의사인 아바즈 선생님, 창업에 열정이 가득한 조의 요구 사항을 구현해봅니다. 장마다 도전 과제와 목표를 설정하고, 요구사항을 분석해 단계별로 구현한 다음, 되새김과 총정리로 한 번 더 내용을 되짚어봅니다. 도전 의식을 불러일으키는 의뢰인들의 요구 사항을 만족시켜보러 떠나볼까요?
주요 내용
● 핵심 디자인 원칙을 배워 유지보수 가능한 코드 작성하기
● 유연성 높은 코드를 작성하고 예외 처리하기
● 결합도, 응집도, SOLID 원칙을 이해하고 코드에 적용하기
● 테스트 주도 개발로 새로운 설계 문제 해결하기
● 큰 그림부터 애플리케이션 도메인의 핵심까지 거꾸로 생각해보기
● 함수형 프로그래밍 개념을 이해하고 자바로 사용해보기

장별 요약

1장 여행의 시작
책에서 사용하는 개념과 원칙을 간단히 소개합니다.
2장 입출금 내역 분석기
사람들이 자신의 재정 상황을 더 잘 이해하도록 은행 계좌 내역을 분석하는 프로그램을 구현합니다. 이 과정에서 단일 책임 원칙, 결합도, 응집도 같은 핵심 객체지향 디자인 기법을 배웁니다.
3장 입출금 내역 분석기 확장판
2장에서 만든 코드에 전략 디자인 패턴, 개방/폐쇄 원칙으로 기능을 추가하고, 예외를 이용해 실패를 처리하는 방법을 배웁니다.
4장 문서 관리 시스템
잘나가는 의사가 환자 기록을 더 잘 관리하도록 돕습니다. 이 과정에서 소프트웨어 설계상의 상속, 리스코프 치환 원칙, 조합과 상속의 장단점을 소개합니다. 또한 자동화된 테스트 코드로 더 안정적인 소프트웨어를 개발하는 방법도 배웁니다.
5장 비즈니스 규칙 엔진
유연하고 유지보수하기 쉬운 핵심 비즈니스 규칙 엔진을 만드는 방법을 배웁니다. 테스트 주도 개발, 플루언트 API 개발, 인터페이스 분리 원칙을 알아봅니다.
6장 트우터
6~7장에서는 팔로워에게 짧은 메시지를 발송하는 기능을 제공하는 메시징 플랫폼 ‘트우터(Twootr)’를 만듭니다. 6장에서는 시스템 코어를 만들며, 주어진 요구 사항을 응용프로그램의 코어로 구현하는 방법을 배웁니다. 테스트 더블을 사용하는 방법을 익히고 코드베이스 내의 다양한 컴포넌트와 상호작용을 테스트합니다.
7장 트우터 확장판
6장에서 구현한 트우터를 확장합니다. 7장에서는 의존관계 역전 원칙을 설명하며, 이벤트 주도와 육각형 아키텍처(hexagonal architecture) 같은 전체적인 아키텍처를 선택하는 방법을 배웁니다. 테스트 자동화에 사용하는 스텁과 목 같은 테스트 더블을 설명하고, 함수형 프로그래밍 기법도 소개합니다.
8장 결론
이 책에서 소개한 주요 테마와 개념을 되짚어보며 참고할 만한 자료를 소개합니다.
[교보문고에서 제공한 정보입니다.]

목차정보

chapter 1 여행의 시작
1.1 테마
1.2 각 장에서 다루는 내용
1.3 되새김

chapter 2 입출금 내역 분석기
2.1 도전 과제
2.2 목표
2.3 입출금 내역 분석기 요구 사항
2.4 KISS 원칙
2.5 코드 유지보수성과 안티 패턴
2.6 단일 책임 원칙
2.7 응집도
2.8 결합도
2.9 테스트
2.10 총정리
2.11 되새김
2.12 도전 과제를 완료하며

chapter 3 입출금 내역 분석기 확장판
3.1 도전 과제
3.2 목표
3.3 확장된 입출금 내역 분석기 요구 사항
3.4 개방/폐쇄 원칙
3.5 인터페이스 문제
3.6 명시적 API vs 암묵적 API
3.7 다양한 형식으로 내보내기
3.8 예외 처리
3.9 빌드 도구 사용
3.10 총정리
3.11 되새김
3.12 도전 과제를 완료하며

chapter 4 문서 관리 시스템
4.1 도전 과제
4.2 목표
4.3 문서 관리 시스템 요구 사항
4.4 설계 작업
4.5 리스코프 치환 원칙(LSP)
4.6 대안
4.7 기존 코드 확장과 재사용
4.8 테스트 위생
4.9 총정리
4.10 되새김
4.11 도전 과제를 완료하며

chapter 5 비즈니스 규칙 엔진
5.1 도전 과제
5.2 목표
5.3 비즈니스 규칙 엔진 요구 사항
5.4 테스트 주도 개발
5.5 모킹
5.6 조건 추가하기
5.7 플루언트 API 설계
5.8 총정리
5.9 되새김
5.10 도전 과제를 완료하며

chapter 6 트우터
6.1 도전 과제
6.2 목표
6.3 트우터 요구 사항
6.4 설계 개요
6.5 이벤트에서 설계까지
6.6 작업 순서
6.7 비밀번호와 보안
6.8 팔로워와 트웃
6.9 Position 객체
6.10 총정리
6.11 되새김
6.12 도전 과제를 완료하며

chapter 7 트우터 확장판
7.1 도전 과제
7.2 목표
7.3 이전 줄거리
7.4 영구 저장과 저장소 패턴
7.5 함수형 프로그래밍
7.6 사용자 인터페이스
7.7 의존관계 역전과 의존관계 주입
7.8 패키지와 빌드 시스템
7.9 한계와 단순화
7.10 총정리
7.11 되새김
7.12 도전 과제를 완료하며

chapter 8 결론
8.1 프로젝트 기반 구조
8.2 되새김
8.3 의식적 연습
8.4 다음 단계와 추가 자료
[교보문고에서 제공한 정보입니다.]

QuickMenu