컨텐츠 바로가기


product


이전 제품 보기

다음 제품 보기

크게보기

(링철가능) 길벗 읽기 쉬운 코드 - 더 좋은 코드를 작성하는 좋은 개발자 습관 적립금

() 해외배송 가능

(링철가능) 길벗 읽기 쉬운 코드 - 더 좋은 코드를 작성하는 좋은 개발자 습관 기본 정보
판매가
소비자가 33,000원
적립금
  • 0 (0%)
  • 무통장 결제시 적립금 ( %) 무
  • 카드 결제시 적립금 ( %) 카
  • 실시간 계좌 이체시 적립금 ( %) 실
  • 적립금 결제시 적립금 ( %) 적
  • 휴대폰 결제시 적립금 ( %) 휴
무이자할부
저자/출판사 마크 시먼/김현규/길벗
발행/판형/쪽수 2024.3.25/183*235/384
상품코드
수량

updown

국내/해외배송
QR코드  

이미지저장 | 코드URL복사

QR코드 보내기 페이스북으로 보내기 트위터로 보내기 미투데이로 보내기 요즘로 보내기
스프링철-반품불가

장바구니 담기 관심상품 등록 추천 메일 보내기

쇼핑 계속하기 바로 구매하기

event

 

상품상세정보


도서소개
『소프트웨어 장인』에 이은 또 한 권의 ‘로버트 C. 마틴 시리즈’ 베스트셀러!
70년 동안 개발자들에게 검증 받은 개발 방법론과 주옥 같은 팁들을 한 권으로 총 정리!


'좋은 소프트웨어 설계를 하라'는 말에 명확한 답과 방법을 떠올릴 수 있는가? 개발은 명확한 답이 없는 문제를 경험, 직관, 시행착오를 겪으며 점점 만족스러운 설계로 발전시키는 과정이다. 이 과정에서 더 뛰어난 사람들에게 배우기도 하고, 배운 것을 다시 조언해 주기도 한다. 이 책에서는 오랫동안 시도하고 개선한 끝에 검증된 방법들, 그러나 체계적으로 정리되지 않아 흩어져 있던 수많은 답과 방법들을 모아 일관되고 효율적인 방식으로 제시했다. 코드를 복잡하지 않게, 지속 가능하게, 유지/보수하기 쉽게, 인간이 이해할 수 있게 작성할 수 있는 방법과 아이디어들을 이 한 권으로 정리해보자.

목차
1부 속도를 높여봅시다

1장 예술인가? 과학인가?
__1.1 집 짓기 비유
____1.1.1 프로젝트라고 생각해서 발생하는 문제
____1.1.2 단계가 있다고 생각해서 발생하는 문제
____1.1.3 의존성의 차이
__1.2 정원 가꾸기 비유
____1.2.1 무엇이 정원을 키워주나요?
__1.3 공학으로 나아가기
____1.3.1 소프트웨어를 기술로 바라보는 관점
____1.3.2 휴리스틱 방식
____1.3.3 소프트웨어 공학의 초기 개념
____1.3.4 소프트웨어 공학으로 나아가기
__1.4 결론

2장 체크리스트
__2.1 기억 보조 수단
__2.2 새로운 코드베이스를 위한 체크리스트
____2.2.1 깃을 사용할 것
____2.2.2 빌드를 자동화할 것
____2.2.3 모든 오류 메시지를 켜둘 것
__2.3 기존 코드베이스를 위한 체크리스트
____2.3.1 점진적 개선
____2.3.2 조직 문화를 바꾸는 전략
__2.4 결론

3장 복잡성을 잘 다루는 법
__3.1 목적
____3.1.1 지속가능성
____3.1.2 가치
__3.2 프로그래밍이 어려운 이유
____3.2.1 두뇌에 비유하는 것
____3.2.2 코드는 작성하는 것보다 읽는 경우가 더 많다
____3.2.3 가독성
____3.2.4 지적인 작업
__3.3 소프트웨어 공학으로 나아가기
____3.3.1 컴퓨터 과학과의 관계
____3.3.2 인간 친화적인 코드
__3.4 결론

4장 수직 슬라이스
__4.1 동작하는 소프트웨어에서 시작하기
____4.1.1 데이터 수신에서 데이터 보존까지
____4.1.2 가장 간단한 수직 슬라이스
__4.2 동작하는 골격
____4.2.1 특성화 테스트
____4.2.2 준비-행동-어설트(AAA 패턴)
____4.2.3 정적 분석 조절
__4.3 외부 접근 개발
____4.3.1 JSON 수신
____4.3.2 예약 게시
____4.3.3 유닛 테스트
____4.3.4 DTO와 도메인 모델
____4.3.5 가짜 객체
____4.3.6 저장소 인터페이스
____4.3.7 저장소 생성
____4.3.8 의존성 구성
__4.4 슬라이스 완성
____4.4.1 스키마
____4.4.2 SQL 저장소
____4.4.3 데이터베이스 설정
____4.4.4 스모크 테스트 수행
____4.4.5 가짜 데이터베이스를 사용한 경계 테스트
__4.5 결론

5장 캡슐화하기
__5.1 데이터 저장하기
____5.1.1 변환 우선순위 전제
____5.1.2 매개변수를 이용하는 테스트
____5.1.3 DTO를 도메인 모델로 복사하기
__5.2 검증
____5.2.1 날짜가 잘못 입력된 경우
____5.2.2 빨강-초록-리팩터
____5.2.3 자연수
____5.2.4 포스텔의 법칙
__5.3 변하지 않는 값 보호하기
____5.3.1 항상 유효한 상태
__5.4 결론

6장 다각화하기
__6.1 단기 기억과 장기 기억
____6.1.1 레거시 코드와 메모리
__6.2 용량
____6.2.1 초과 예약
____6.2.2 악마의 변호인
____6.2.3 기존 예약 다루기
____6.2.4 악마의 변호인 vs. 빨강-초록-리팩터
____6.2.5 테스트는 언제 충분하다고 할 수 있을까?
__6.3 결론

7장 분해하기
__7.1 코드의 부패
____7.1.1 임계값
____7.1.2 순환 복잡도
____7.1.3 80/24 규칙
__7.2 머리에 잘 들어오는 코드
____7.2.1 육각꽃
____7.2.2 응집
____7.2.3 기능 편애
____7.2.4 바꾸는 과정에서 잃는 것들
____7.2.5 유효성 검사 대신 분석하라
____7.2.6 프랙탈 구조
____7.2.7 변수 세기
__7.3 결론

8장 API 설계
__8.1 설계의 원칙
____8.1.1 행동 유도성
____8.1.2 포카요케
____8.1.3 읽는 사람을 위한 코드 작성
____8.1.4 주석보다 중요한, 잘 지은 이름
____8.1.5 X로 이름 바꾸기
____8.1.6 명령과 쿼리의 분리
____8.1.7 정보 전달 단계
__8.2 API 설계 예제
____8.2.1 지배인
____8.2.2 캡슐화된 객체와의 상호작용
____8.2.3 구현의 자세한 부분
__8.3 결론

9장 팀워크
__9.1 깃
____9.1.1 커밋 메시지
____9.1.2 지속적 통합
____9.1.3 조금씩 커밋하기
__9.2 코드의 공동 소유
____9.2.1 짝 프로그래밍
____9.2.2 몹 프로그래밍
____9.2.3 코드 리뷰 대기 시간
____9.2.4 큰 변경 사항 거부하기
____9.2.5 코드 리뷰
____9.2.6 풀 리퀘스트
__9.3 결론

2부 지속가능성

10장 코드를 보강해봅시다
__10.1 기능 플래그
____10.1.1 캘린더 플래그
__10.2 스트랭글러 패턴
____10.2.1 메서드 수준의 스트랭글러
____10.2.2 클래스 수준의 스트랭글러
__10.3 버전 관리하기
____10.3.1 미리 경고하기
__10.4 결론

11장 유닛 테스트 편집하기
__11.1 유닛 테스트 리팩터링하기
____11.1.1 안전망 변경하기
____11.1.2 새로운 테스트 코드 추가하기
____11.1.3 테스트와 프로덕션 코드에 대한 리팩터링 분리하기
__11.2 테스트 실패 참조하기
__11.3 결론

12장 문제 해결하기
__12.1 이해하기
____12.1.1 과학적인 방법
____12.1.2 단순화
____12.1.3 고무 오리 디버깅
__12.2 결함
____12.2.1 결함을 테스트로 재현하기
____12.2.2 느린 테스트
____12.2.3 비결정적 결함
__12.3 이분법
____12.3.1 깃에서 이분법 방식 사용하기
__12.4 결론

13장 관심사의 분리
__13.1 조합
____13.1.1 중첩 조합
____13.1.2 순차적 조합
____13.1.3 참조 투명성
__13.2 횡단 관심사
____13.2.1 로그 남기기
____13.2.2 데코레이터
____13.2.3 무엇을 로그로 남길까?
__13.3 결론

14장 리듬
__14.1 개인적인 리듬
____14.1.1 타임 박싱
____14.1.2 휴식 취하기
____14.1.3 시간을 계획적으로 사용하기
____14.1.4 자판 외우기
__14.2 팀의 리듬
____14.2.1 주기적으로 의존성 갱신하기
____14.2.2 다른 작업 일정 잡기
____14.2.3 콘웨이의 법칙
__14.3 결론

15장 유력한 용의자
__15.1 성능
____15.1.1 과거의 유산
____15.1.2 명료성
__15.2 보안
____15.2.1 STRIDE 위협 모델
____15.2.2 스푸핑
____15.2.3 변조
____15.2.4 거부
____15.2.5 정보 노출
____15.2.6 서비스 거부
____15.2.7 권한 상승
__15.3 다른 기법들
____15.3.1 속성 기반 테스트
____15.3.2 행위 기반 코드 분석
__15.4 결론

16장 여행
__16.1 코드베이스 탐색하기
____16.1.1 큰 그림 보기
____16.1.2 파일 정리
____16.1.3 세부 사항 찾아보기
__16.2 아키텍처
____16.2.1 모놀리식
____16.2.2 순환 구조
__16.3 사용법
____16.3.1 테스트를 통해서 배우기
____16.3.2 테스트에 귀를 기울이자
__16.4 결론

부록 A 프랙티스 목록
__A.1 50/72 규칙
__A.2 80/24 규칙
__A.3 준비-행동-어설트
__A.4 이분법
__A.5 새로운 코드베이스를 위한 체크리스트
__A.6 명령과 쿼리의 분리
__A.7 변수 개수 세기
__A.8 순환 복잡도
__A.9 횡단 관심사에 대한 데코레이터
__A.10 악마의 변호인
__A.11 기능 플래그
__A.12 함수형 코어, 명령 셸
__A.13 정보 전달 단계
__A.14 예외 규정이 있을 때 이유 설명하기
__A.15 유효성 검사 말고 구문 분석 하기
__A.16 포스텔의 법칙
__A.17 빨강-초록-리팩터
__A.18 정기적인 의존성 업데이트
__A.19 결함을 테스트로 재현하기
__A.20 코드 리뷰
__A.21 유의적 버전 관리
__A.22 테스트와 프로덕션 코드에 대한 리팩터링 분리하기
__A.23 슬라이스
__A.24 스트랭글러
__A.25 위협 모델
__A.26 변환 우선순위 전제
__A.27 XX-주도 개발
__A.28 X로 이름 바꾸기

부록 B 참고 문헌

부록 C 예제 빌드해보기
__C.1 예제 파일 관련 정보
__C.2 윈도우 환경에서 빌드하는 방법
__C.3 리눅스/WLS 환경에서 컴파일하는 방법
__C.4 끝내면서

찾아보기

상품결제정보

고액결제의 경우 안전을 위해 카드사에서 확인전화를 드릴 수도 있습니다. 확인과정에서 도난 카드의 사용이나 타인 명의의 주문등 정상적인 주문이 아니라고 판단될 경우 임의로 주문을 보류 또는 취소할 수 있습니다.  

무통장 입금은 상품 구매 대금은 PC뱅킹, 인터넷뱅킹, 텔레뱅킹 혹은 가까운 은행에서 직접 입금하시면 됩니다.  
주문시 입력한 입금자명과 실제입금자의 성명이 반드시 일치하여야 하며, 7일 이내로 입금을 하셔야 하며 입금되지 않은 주문은 자동취소 됩니다.

배송 정보

  • 배송 방법 : 택배
  • 배송 지역 :
  • 배송 비용 : 무료
  • 배송 기간 : 1일 ~ 2일
  • 배송 안내 :

    * 배송마감 : 평일 오후 5시까지 입금확인시 당일발송됩니다.

    *  배송기간 : 입금확인후 1~2일(제주도 등은 2~3일)

    * 품절 등의 사유로 배송이 1~2일 정도 지연될 수 있습니다.

    * 일부 테이프나 플레이디스크, 또는 신간이 나와있는 도서의 구판 등
       재고를 가지고 있지 않은경우는 입고되어 발송해드리는 경우가 있습니다.
       이때에는 배송일이 2~3일 소요될 수 있습니다.

    * 예약판매도서 안내
    - 출판사 사정에 따라 발송이 지연될 수 있습니다.
    - 다른 도서와 같이 주문 시 일괄배송됩니다. (◐ 급하신 도서는 따로 주문하시기 바랍니다.)

교환 및 반품 정보

교환 및 반품이 가능한 경우

- 상품을 공급 받으신 날로부터 5일이내 단,  포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우에는 교환/반품이 불가능합니다.

- 공급받으신 상품이 주문내용과 다른 경우


교환 및 반품이 불가능한 경우

- 고객님의 책임 있는 사유로 상품등이 멸실 또는 훼손된 경우. 단, 상품의 내용을 확인하기 위하여
  포장 등을 훼손한 경우는 제외

테이프, 플레이디스크, 서브종류 등은 상품특성상 교환 및 반품이 불가능합니다. 

- 복제가 가능한 상품등의 포장을 훼손한 경우
  (자세한 내용은 고객만족센터 02)812-9070 , 1:1 E-MAIL상담을 이용해 주시기 바랍니다.)

- 도서의 스프링 제본 선택시 교환, 반품, 환불이 불가능합니다.

※ 고객님의 마음이 바뀌어 교환, 반품을 하실 경우 상품반송 비용은 고객님께서 부담하셔야 합니다.
 

상품 사용 후기

상품의 사용후기를 적어주세요.

게시물이 없습니다

모두 보기 사용 후기 쓰기

상품 Q&A

상품에 대해 궁금한 점을 해결해 드립니다.

게시물이 없습니다

모두 보기 상품 Q & A 쓰기

관련 상품

관련상품 주문폼
선택 상품명 판매가 적립금 옵션 수량
(링철가능) 2024 엔트미디어 D60-1 전기기사 필기 최근23년기출문제 33,300원 0원
  • 본책링철-반품불가 :
  • 부록링철-반품불가 :

updown

(링철가능) 2024 엔트미디어 D30-1 전기기사 실기 최근 33년 기출문제 35,100원 0원
  • 본책링철-반품불가 :
  • 부록링철-반품불가 :

updown

(링철가능) 2024 엔트미디어 D30-2 전기산업기사 실기 최근 33년 기출문제 35,100원 0원
  • 본책링철-반품불가 :
  • 부록링철-반품불가 :

updown

(링철가능) 2024 엔트미디어 D30-3 전기공사기사 실기 최근 33년 기출문제 35,100원 0원
  • 본책링철-반품불가 :
  • 부록링철-반품불가 :

updown

(링철가능) 2024 엔트미디어 D30-4 전기공사산업기사 실기 최근 33년 기출문제 35,100원 0원
  • 본책링철-반품불가 :
  • 부록링철-반품불가 :

updown

장바구니 담기