책소개
실전 프로젝트로 배우는 최신 자바 개발 기법 레벨업 가이드 이제 막 경력을 쌓기 시작한 자바 개발자가 최신 소프트웨어 개발 방법까지 알기란 벅찬 일이다. 테스트 주도 개발 같은 객체지향 원칙을 배워야 할지, 함수형 프로그래밍을 배워야 할지 갈피를 잡기도 어렵다. 이 책은 실전 프로젝트를 최신 자바 기법으로 개발하는 방법을 설명해 다양한 기술을 서로 연결하고 적용하는 법을 알려준다. 입출금 내역 분석기, 문서 관리 시스템, 비즈니스 규칙 엔진, SNS를 직접 구현해보며 실무에 필요한 핵심 기술을 익힐 수 있다. 각 장을 따라 해보며 간단한 명령줄 배치 프로그램부터 점차 완성도 높은 응용프로그램을 구현해보자. 기초 자바 사용법만 알아도 세련되고 견고하며 유지보수 가능한 자바 소프트웨어를 개발하는 최신 개발 방법을 배울 수 있다.
저자소개
영국 데이터 과학자와 개발자를 선도하는 교육 커뮤니티인 케임브리지 스파크 공동 창업자로 변환 데이터 과학, AI 교육, 경력 개발 분야의 리더다. 케임브리지 대학교에서 컴퓨터 과학 박사 학위를 수료했다. 임페리얼 칼리지 런던 석사 과정에서 다수의 기술 혁신상을 수상하고 수석 졸업했다. 관심 연구 분야는 프로그래밍 언어, 컴파일러, 소스코드 분석, 머신러닝, 교육이다. 2017년에 자바 챔피언으로 임명되었다. 자바, 파이썬, AI, 비즈니스 등 다양한 분야의 국제적 연사로 활동했다. 여러 스타트업 프로젝트를 포함해 구글, 이베이, 오라클, 골드만삭스 등의 회사와 함께 일했다. 『모던 자바 인 액션』(한빛미디어, 2019)을 비롯한 책을 집필했다.
목차
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 암묵적 API3.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 다음 단계와 추가 자료