홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
테스트 주도 개발 입문  이미지

테스트 주도 개발 입문
깔끔한 코드 작성을 위한 폴리글랏 안내서
에이콘출판 | 부모님 | 2024.06.28
  • 정가
  • 30,000원
  • 판매가
  • 27,000원 (10% 할인)
  • S포인트
  • 1,500P (5% 적립)
  • 상세정보
  • 18.8x23.5 | 0.631Kg | 332p
  • ISBN
  • 9791161758534
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 1~2일 안에 출고됩니다. (영업일 기준) ?
    출고일 안내
    출고일 이란
    출고일은 주문하신 상품이 밀크북 물류센터 또는 해당업체에서 포장을 완료하고 고객님의 배송지로 발송하는 날짜이며, 재고의 여유가 충분할 경우 단축될 수 있습니다.
    당일 출고 기준
    재고가 있는 상품에 한하여 평일 오후3시 이전에 결제를 완료하시면 당일에 출고됩니다.
    재고 미보유 상품
    영업일 기준 업체배송상품은 통상 2일, 당사 물류센터에서 발송되는 경우 통상 3일 이내 출고되며, 재고확보가 일찍되면 출고일자가 단축될 수 있습니다.
    배송일시
    택배사 영업일 기준으로 출고일로부터 1~2일 이내 받으실 수 있으며, 도서, 산간, 제주도의 경우 지역에 따라 좀 더 길어질 수 있습니다.
    묶음 배송 상품(부피가 작은 단품류)의 출고일
    상품페이지에 묶음배송으로 표기된 상품은 당사 물류센터에서 출고가 되며, 이 때 출고일이 가장 늦은 상품을 기준으로 함께 출고됩니다.
  • 주문수량
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

단위 테스트 코드 작성을 기본으로 하는 테스트 주도 개발 방식은 소프트웨어가 테스트 가능한(Testable) 구조를 갖도록 강제하며, 이로 인해 보다 간단하면서도 구조화된 설계로 이끌 뿐만 아니라 코드에 대한 신뢰를 높일 수 있는 효과적인 방법이다. 이 책에서는 Go, 자바스크립트, 파이썬의 세 가지 프로그래밍 언어로 테스트 주도 개발을 실천하는 실용적 방법을 제공한다.

켄트 벡(Kent Beck)의 저서 『테스트 주도 개발』(인사이트, 2014)에서 다룬 돈 문제(Money Problem) 예제를 각 언어로 재해석해 서술했으며, 테스트 주도 개발 방식에 쉽고 재미있게 익숙해질 수 있도록 돕는다. 실패하는 테스트를 먼저 작성하고 프로덕션 코드를 작성해 테스트를 통과하게 만든 후 개선하는, '레드-그린-리펙터 사이클'의 테스트 주도 개발 필수 구성 요소 세 단계를 다룬다. 또한 GitHub Action을 활용한 지속적 통합과, 자동화된 회귀 테스트의 실천적 방법을 제시한다.

  출판사 리뷰

◈ 이 책에서 다루는 내용 ◈

◆ 도메인 복잡성을 제어하기 위한 테스트 주도 개발의 분할 정복 접근 방법 사용
◆ 언어, 테스팅 프레임워크, 도메인 개념을 아우르는 테스트 주도 개발 동작 방식 이해
◆ 테스트 주도 개발이 지속적 통합을 가능하게 하는 방식 학습
◆ 테스트 주도 개발을 바탕으로 리펙터링 및 재설계 지원
◆ 자바스크립트로 간단하고 효과적인 단위 테스트 하네스 작성 방법 학습
◆ 테스트 주도 개발 진행 중 만든 단위 테스트를 바탕으로 지속적 통합 환경 구축
◆ 테스트 주도 개발을 사용해 Go, 자바스크립트, 파이썬으로 깨끗하고, 깔끔한 코드 작성

◈ 이 책의 대상 독자 ◈

소프트웨어를 작성하는 개발자를 대상으로 한다.
‘개발자’에 어울리는 직함이 많다. 소프트웨어 엔지니어, 애플리케이션 아키텍트, 데브옵스 엔지니어, 자동화 테스트 엔지니어, 프로그래머, 해커, 코드 위스퍼러 등 직함은 셀 수도 없다. 개발자를 가리키는 직함은 인상적이거나 겸손하거나 유행을 타거나 근엄하거나 전통적이거나 현대적인 느낌이 있다. 다양한 직함 속 개발자들은 매일은 아니더라도 적어도 일주일의 어느 정도는 컴퓨터 앞에서 소스 코드를 읽고 쓰는 데 시간을 보낸다는 공통점이 있다. 그런 이유로 ‘개발자’라는 용어로 대상 독자를 특정했다.
코딩은 상상력을 동원할 수 있는 가장 자유롭고 평등한 활동이다. 이론적으로, 신체적 기량에서 ‘두뇌’만 있다면 필요한 모든 것이 준비된 셈이다. 나이, 성별, 국적, 출신 중 어느 것도 장애물이 돼서는 안 된다. 특히 신체적 장애는 장애물이 될 수 없다.

  작가 소개

지은이 : 살림 시디퀴
소프트웨어 개발자, 교육자, 연사이자 저자다. 몇 번의 기술 호황과 불황이 반복되는 시기를 겪으며 의료, 유통, 관공서, 금융 및 제약 부문에서 크고 작은 팀의 일원으로 소프트웨어를 개발했다. 소프트웨어를 개발하는 동안 부끄러운지도 모른 채 저질렀던 실수에서 얻은 교훈을 다른 이들과 공유하고자 한다.노력을 토대로 세계 무대로 나아가길 즐긴다. 경험을 글로 풀어 블로그(http://thesaleem.com/blog)에 게시하는데, 가끔은 제삼자의 관점에서 쓴 글도 볼 수 있다.

  목차

1부 시작하기

1장. 돈 문제
__레드-그린-리팩터: TDD 구성 요소
__문제 인식
__첫 번째 실패하는 테스트
____Go
____자바스크립트
____파이썬
__그린으로 전환
____Go
____자바스크립트
____파이썬
__마무리하기
____Go
____자바스크립트
____파이썬
__변경 사항 반영하기
__중간 점검
____Go
____자바스크립트
____파이썬

2장. 다양한 통화로 돈 계산
__유로에 발 들이기
____Go
____자바스크립트
____파이썬
__DRY한 코드를 유지하라
____Go
____자바스크립트
____파이썬
__반복하지 말라고 하지 않았나?
__분할 정복
____Go
____자바스크립트
____파이썬
__마무리하기
____Go
____자바스크립트
____파이썬
__변경 사항 반영하기
__중간 점검

3장. Portfolio
__다음 테스트 설계하기
____Go
____자바스크립트
____파이썬
__변경 사항 반영하기
__중간 점검

2부 모듈화

4장. 관심사의 분리
__테스트 코드와 프로덕션 코드
____단방향 의존성
____의존성 주입
____패키징 및 배포
__모듈화
__의존성 제거
__중간 점검

5장. Go의 패키지 및 모듈
__코드를 패키지로 분리하기
__Go 모듈
__패키지 생성하기
__캡슐화
__테스트에서 중복 제거하기
__변경 사항 반영하기
__중간 점검

6장. 자바스크립트의 모듈
__코드를 모듈로 나누기
__자바스크립트 모듈로 넘어가기
____CommonJS
____비동기 모듈 정의
____유니버설 모듈 정의
____ESModules
__테스트 개선하기
____테스트에서 중복 제거하기
____테스트 클래스 및 테스트 메서드 추가하기
____자동으로 테스트를 찾고 실행하기
____테스트가 성공적으로 실행되면 출력 생성하기
____앞서 실행된 테스트가 어써션에서 실패해도 모든 테스트를 실행하기
__변경 사항 반영하기
__중간 점검

7장. 파이썬의 모듈
__모듈로 코드를 분리하기
__테스트에서 중복 제거하기
__변경 사항 반영하기
__중간 점검

3부. 피처와 재설계

8장. 포트폴리오 평가하기
__돈 섞기
____Go
____자바스크립트
____파이썬
__변경 사항 반영하기
__중간 점검

9장. 여기도 통화, 저기도 통화
__해시(맵) 만들기
____Go
____자바스크립트
____파이썬
__변경 사항 반영하기
__중간 점검

10장. 오류 처리
__오류 위시리스트
____Go
____자바스크립트
____파이썬
__변경 사항 반영하기
__중간 점검

11장. 은행 업무로 재설계
__의존성 주입
__모두 합치기
____Go
____자바스크립트
____파이썬
__변경 사항 반영하기
__중간 점검

4부. 마무리 짓기

12장. 테스트 순서
__환율 변경
____Go
____자바스크립트
____파이썬
__변경 사항 반영하기
__중간 점검

13장. 지속적 통합
__핵심 개념
____버전 관리
____빌드 서버 및 에이전트
____아티팩트 저장소
____배포 환경
__모두 합치기
____깃허브 계정 생성
____깃허브 계정 인증
____코드 저장소를 깃허브에 푸시
____CI 빌드 스크립트 준비
____Go
____JavaScript
____Python
__변경 사항 반영하기
__중간 점검

14장. 회고
__프로필
____순환 복잡도
____결합도
____단순성
__목적
____응집도
____완전성
__프로세스
__모두 합치기
____Go
____자바스크립트
____파이썬
__TDD는 죽었다?
__중간 점검

부록 A. 개발 환경 구축
__온라인 REPL
____Repl.it
____LeetCode
____CoderPad
____Go 플레이그라운드
____온라인 REPL의 종합 목록
__통합 개발 환경
____비주얼 스튜디오 코드
____인텔리제이 IDEA
____이클립스
__언어 도구 설치하기
____Go
____자바스크립트/ES6
____파이썬

부록 B. 세 언어의 간략한 역사
__Go
__자바스크립트
____단언 모듈
____모듈 메커니즘
__파이썬

부록 C. 감사의 말

  회원리뷰

리뷰쓰기