장바구니 담기 close

장바구니에 상품을 담았습니다.

실전 자바 소프트웨어 개발

실전 자바 소프트웨어 개발

  • 라울-게이브리얼우르마
  • |
  • 한빛미디어
  • |
  • 2020-06-20 출간
  • |
  • 216페이지
  • |
  • 183 X 235 mm
  • |
  • ISBN 9791162243176
판매가

18,000원

즉시할인가

16,200

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
16,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




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

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

이 책의 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 다음 단계와 추가 자료

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.