파이썬 클린 코드 : 북윈도
리뷰 0 위시 120

파이썬 클린 코드 요약정보 및 구매

유지보수가 쉬운 파이썬 코드를 만드는 비결

상품 선택옵션 0 개, 추가옵션 0 개

출판사 터닝포인트
저자 마리아노 아나야
ISBN 9791161340463 (1161340467)
정가 28,000원
판매가 25,200원(10% 할인)
배송비 무료배송
포인트 정책 설명문 닫기

00포인트

포인트 정책 설명문 출력

선택된 옵션

관심상품

상품 정보

사은품
상품 기본설명
유지보수가 쉬운 파이썬 코드를 만드는 비결
상품 상세설명


견고하면서도 확장성이 뛰어난 파이썬 코드를 만드는 비법 파이썬은 누구나 쉽게 시작할 수 있는 프로그래밍 언어이다. 그러나 이 책에서 소개하는 다음 내용을 제대로 숙지하지 않고 개발을 하다보면 더 이상은 수정이 불가능한 코드를 마주하게 된다. 어디서부터 무엇이 잘못된 걸까? 이 책을 통해 파이썬의 철학을 따르는 파이썬스러운 클린 코드를 작성하는 방법에 대해 알아보자. * 클린 코드란 무엇인가? * 파이썬스러운(pythonic) 코드란 무엇인가? * 파이썬에서 밑줄의 의미 * yield와 return의 차이 * 이터러블과 이터레이터, 제너레이터의 차이 * 코루틴을 사용한 비동기 프로그래밍 * LBYL - 코드 실행 전에 문제를 검사해야 할까? 아니면 EAFP - 일단 실행 후 발생한 예외를 잡아야 할까? * SOLID 원칙을 따르는 견고하고 확장성이 뛰어난 객체 만들기 * 파이썬의 덕 타이핑 (Duck Typing) * 데코레이터를 사용해 내 맘대로 객체 꾸미기 * 데이터 디스크립터와 비데이터 디스크립터의 차이 * 파이썬에서도 GoF의 디자인 패턴을 사용해야 할까? * 몽키 패치는 왜 몽키 패치라 할까? * "소프트웨어 공학의 사실과 오류" 부터 "성당과 시장"에 이르는 고서의 인사이트 엿보기





목차
서문
chapter 1 소개, 코드 포매팅과 도구
클린 코드의 의미
클린 코드의 중요성
클린 코드에서 코드 포매팅의 역할
프로젝트 코딩 스타일 가이드 준수
Docstring과 어노테이션
Docstring
어노테이션
어노테이션은 docstring을 대체하는 것일까?
기본 품질 향상을 위한 도구 설정
요약

chapter 2 파이썬스러운(pythonic) 코드
인덱스와 슬라이스
자체 시퀀스 생성
컨텍스트 관리자(context manager)
컨텍스트 관리자 구현
프로퍼티, 속성과 객체 메서드의 다른 타입들
파이썬에서의 밑줄
프로퍼티
이터러블 객체
이터러블 객체 만들기
시퀀스 만들기
컨테이너 객체
객체의 동적인 속성
호출형(callable) 객체
매직 메서드 요약
파이썬에서 유의할 점
변경 가능한(mutable) 파라미터의 기본 값
내장(built-in) 타입 확장
요약
참고 자료

chapter 3 좋은 코드의 일반적인 특징
계약에 의한 디자인
사전조건(precondition)
사후조건(postcondition)
파이썬스러운 계약
계약에 의한 디자인(DbC) - 결론
방어적(defensive) 프로그래밍
에러 핸들링
파이썬에서 어설션 사용하기
관심사의 분리
응집력(cohesion)과 결합력(coupling)
개발 지침 약어
DRY/OAOO
YAGNI
KIS
EAFP/LBYL
컴포지션과 상속
상속이 좋은 선택인 경우
상속 안티패턴
파이썬의 다중상속
함수와 메서드의 인자
파이썬의 함수 인자 동작방식
함수 인자의 개수
소프트웨어 디자인 우수 사례 결론
소프트웨어의 독립성(orthogonality)
코드 구조
요약
참고 자료

chapter 4 SOLID 원칙
단일 책임 원칙
너무 많은 책임을 가진 클래스
책임 분산
개방/폐쇄 원칙
개방/폐쇄 원칙을 따르지 않을 경우 유지보수의 어려움
확장성을 가진 이벤트 시스템으로 리팩토링
이벤트 시스템 확장
OCP 최종 정리
리스코프 치환 원칙(LSP)
도구를 사용해 LSP 문제 검사하기
애매한 LSP 위반 사례
LSP 최종 정리
인터페이스 분리 원칙
너무 많은 일을 하는 인터페이스
인터페이스는 작을수록 좋다.
인터페이스는 얼마나 작아야 할까?
의존성 역전
엄격한 의존의 예
의존성을 거꾸로
요약
참고 자료

chapter 5 데코레이터를 사용한 코드 개선
파이썬의 데코레이터
함수 데코레이터
클래스 데코레이터
다른 유형의 데코레이터
데코레이터에 인자 전달
데코레이터 활용 우수 사례
데코레이터의 활용 - 흔한 실수 피하기
래핑된 원본 객체의 데이터 보존
데코레이터 부작용 처리
어느 곳에서나 동작하는 데코레이터 만들기
데코레이터와 DRY 원칙
데코레이터와 관심사의 분리
좋은 데코레이터 분석
요약
참고 자료

chapter 6 디스크립터로 더 멋진 객체 만들기
디스크립터 개요
디스크립터 메커니즘
디스크립터 프로토콜의 메서드 탐색
디스크립터의 유형
비데이터(non-data) 디스크립터
데이터 디스크립터
디스크립터 실전
디스크립터를 사용한 애플리케이션
다른 형태의 디스크립터
디스크립터에 대한 추가 고려사항
디스크립터 분석
파이썬 내부에서의 디스크립터 활용
데코레이터를 디스크립터로 구현하기
요약
참고 자료

chapter 7 제너레이터 사용하기
기술적 요구사항
제너레이터 만들기
제너레이터 개요
제너레이터 표현식
이상적인 반복
관용적인 반복 코드
파이썬의 이터레이터 패턴
코루틴(coroutine)
제너레이터 인터페이스의 메서드
코루틴 고급 주제
작은 코루틴에 위임하기 - yield from 구문
비동기 프로그래밍
요약
참고 자료

chapter 8 단위 테스트와 리팩토링
디자인 원칙과 단위 테스트
자동화된 테스트의 다른 형태
단위 테스트와 애자일 소프트웨어 개발
단위 테스트와 소프트웨어 디자인
테스트의 경계 정하기
테스트를 위한 프레임워크와 도구
단위 테스트 프레임워크와 라이브러리
코드 커버리지
모의(mock) 객체
리팩토링
코드의 진화
상용 코드만 진화하는 것이 아니다.
단위 테스트에 대한 추가 논의
속성 기반 테스트
변형 테스트
테스트 주도 개발 간략 소개
요약
참고

chapter 9 일반적인 디자인 패턴
파이썬에 디자인 패턴 적용 시 고려사항
실전 속의 디자인 패턴
생성(creational) 패턴
구조(structural) 패턴
행동(behavioral) 패턴
Null 객체 패턴
디자인 패턴에 대한 최종 정리
디자인에 대한 패턴의 영향성
모델의 이름
요약
참고

chapter 10 클린 아키텍처
클린 코드에서 클린 아키텍처로
관심사의 분리
추상화
소프트웨어 컴포넌트
패키지
컨테이너
유스케이스
코드
서비스
분석
요약
참고
최종요약

찾아보기
출판사 서평
이 책의 대상 독자
이 책은 소프트웨어 디자인에 관심이 있거나 파이썬에 대해 보다 자세히 알고 싶은 모든 개발 실무자에게 적합하다. 파이썬의 관점에서만 보면 이 책은 모든 수준에 개발자에게 적합하다. 각 장의 내용은 점점 복잡해지는 구조이기 때문에 차례로 학습하기에 좋다. 숙련된 개발자에게도 도움이 된다. 데코레이터, 디스크립터와 비동기 프로그래밍 같은 파이썬 고급 주제를 다룬다. 일부 주제는 언어 내부의 동작 원리부터 분석하기 때문에 파이썬을 좀 더 깊이 이해하는데 도움이 될 것이다.

이 책에서 다루는 내용들
1장 소개, 코드 포맷팅과 도구
파이썬에서 개발 환경을 설정하는 데 필요한 주요 도구에 대해 소개한다. 파이썬 개발자가 작업을 시작하기 위해 알아야 할 기초 지식뿐만 아니라 정적 분석, 문서화, 타입 검사와 코드 포맷팅과 같은 도구를 사용해 가독성이 높은 코드를 작성하기 위한 가이드라인을 제시한다.2장 파이썬스러운(Pythonic) 코드
파이썬의 특정 기능을 살펴보고 이들이 어떻게 사용되고 있는지 살펴본다. 품질 좋은 코드를 만들게 하는 파이썬스러운 코드에 대한 근본 아이디어를 살펴본다.3장 좋은 코드의 일반적인 특징
유지보수가 쉬운 코드 작성에 초점을 두고 소프트웨어 엔지니어링의 일반적인 원칙을 검토한다. 어떤 개념들이 있는지 살펴보고 도구를 사용해 해당 개념을 적용하는 방법에 대해서도 알아본다.4장 SOLID 원칙
객체지향 소프트웨어를 위한 디자인 원칙에 대해 다룬다. 이 약자는 소프트웨어 공학에서 사용되는 용어로 각각을 파이썬에 어떻게 적용하는지 살펴본다. 5장 데코레이터를 사용한 코드 개선
파이썬의 가장 훌륭한 기능 중 하나인 데코레이터를 살펴본다. 함수 또는 클래스를 위한 데코레이터를 작성하는 방법을 이해한 다음에 데코레이터를 코드 재사용, 책임 분리, 기능 세분화에 어떻게 사용하는지 살펴본다.6장 디스크립터로 더 멋진 객체 만들기
객체지향 디자인의 수준을 새로운 차원으로 끌어올린 파이썬의 디스크립터에 대해 알아본다. 이 기능은 프레임워크나 도구에 가까운 기능인데 디스크립터를 사용하면 코드의 가독성을 높이고 재사용성을 높일 수 있다.7장 제너레이터 사용하기
제네레이터는 아마도 파이썬에서 가장 멋진 기능일 것이다. 반복(iteration)이라는 파이썬의 핵심 개념을 사용해 새로운 프로그래밍 패러다임을 제시한다. 제너레이터와 이터레이터를 사용해 프로그램을 작성해보고 이를 통해 알게 된 내용을 토대로 코루틴(coroutine)과 비동기 프로그래밍의 기초에 대해 알아본다.8장 유닛 테스트와 리팩토링
유지보수가 필요한 코드에 대해 단위 테스트가 얼마나 중요한지에 대해 논의한다. 이 장에서는 단위 테스트의 중요성에 대해 살펴보고 이를 지원하는 주요 프레임워크인 unittest와 pytest를 살펴본다.9장 일반적인 디자인 패턴
문제 해결의 관점이 아니라 유지보수성의 관점에서 어떤 식으로 파이썬 코드를 디자인하는 것이 좋은지 검토한다. 파이썬에서 디자인 패턴을 구현하기 위한 실용적인 접근법을 살펴본다.10장 클린 아키텍처
클린 코드는 훌륭한 아키텍처의 기본이다. 첫 번째 장에서부터 언급된 모든 것들을 전반적으로 살펴보는 것은 상용 배포를 할 때 중요한 역할을 할 것이다.
상품 정보 고시
도서명 파이썬 클린 코드
저자 마리아노 아나야
출판사 터닝포인트
ISBN 9791161340463 (1161340467)
쪽수 336
출간일 2019-02-25
사이즈 188 * 241 * 29 mm /807g
목차 또는 책소개 서문
chapter 1 소개, 코드 포매팅과 도구
클린 코드의 의미
클린 코드의 중요성
클린 코드에서 코드 포매팅의 역할
프로젝트 코딩 스타일 가이드 준수
Docstring과 어노테이션
Docstring
어노테이션
어노테이션은 docstring을 대체하는 것일까?
기본 품질 향상을 위한 도구 설정
요약

chapter 2 파이썬스러운(pythonic) 코드
인덱스와 슬라이스
자체 시퀀스 생성
컨텍스트 관리자(context manager)
컨텍스트 관리자 구현
프로퍼티, 속성과 객체 메서드의 다른 타입들
파이썬에서의 밑줄
프로퍼티
이터러블 객체
이터러블 객체 만들기
시퀀스 만들기
컨테이너 객체
객체의 동적인 속성
호출형(callable) 객체
매직 메서드 요약
파이썬에서 유의할 점
변경 가능한(mutable) 파라미터의 기본 값
내장(built-in) 타입 확장
요약
참고 자료

chapter 3 좋은 코드의 일반적인 특징
계약에 의한 디자인
사전조건(precondition)
사후조건(postcondition)
파이썬스러운 계약
계약에 의한 디자인(DbC) - 결론
방어적(defensive) 프로그래밍
에러 핸들링
파이썬에서 어설션 사용하기
관심사의 분리
응집력(cohesion)과 결합력(coupling)
개발 지침 약어
DRY/OAOO
YAGNI
KIS
EAFP/LBYL
컴포지션과 상속
상속이 좋은 선택인 경우
상속 안티패턴
파이썬의 다중상속
함수와 메서드의 인자
파이썬의 함수 인자 동작방식
함수 인자의 개수
소프트웨어 디자인 우수 사례 결론
소프트웨어의 독립성(orthogonality)
코드 구조
요약
참고 자료

chapter 4 SOLID 원칙
단일 책임 원칙
너무 많은 책임을 가진 클래스
책임 분산
개방/폐쇄 원칙
개방/폐쇄 원칙을 따르지 않을 경우 유지보수의 어려움
확장성을 가진 이벤트 시스템으로 리팩토링
이벤트 시스템 확장
OCP 최종 정리
리스코프 치환 원칙(LSP)
도구를 사용해 LSP 문제 검사하기
애매한 LSP 위반 사례
LSP 최종 정리
인터페이스 분리 원칙
너무 많은 일을 하는 인터페이스
인터페이스는 작을수록 좋다.
인터페이스는 얼마나 작아야 할까?
의존성 역전
엄격한 의존의 예
의존성을 거꾸로
요약
참고 자료

chapter 5 데코레이터를 사용한 코드 개선
파이썬의 데코레이터
함수 데코레이터
클래스 데코레이터
다른 유형의 데코레이터
데코레이터에 인자 전달
데코레이터 활용 우수 사례
데코레이터의 활용 - 흔한 실수 피하기
래핑된 원본 객체의 데이터 보존
데코레이터 부작용 처리
어느 곳에서나 동작하는 데코레이터 만들기
데코레이터와 DRY 원칙
데코레이터와 관심사의 분리
좋은 데코레이터 분석
요약
참고 자료

chapter 6 디스크립터로 더 멋진 객체 만들기
디스크립터 개요
디스크립터 메커니즘
디스크립터 프로토콜의 메서드 탐색
디스크립터의 유형
비데이터(non-data) 디스크립터
데이터 디스크립터
디스크립터 실전
디스크립터를 사용한 애플리케이션
다른 형태의 디스크립터
디스크립터에 대한 추가 고려사항
디스크립터 분석
파이썬 내부에서의 디스크립터 활용
데코레이터를 디스크립터로 구현하기
요약
참고 자료

chapter 7 제너레이터 사용하기
기술적 요구사항
제너레이터 만들기
제너레이터 개요
제너레이터 표현식
이상적인 반복
관용적인 반복 코드
파이썬의 이터레이터 패턴
코루틴(coroutine)
제너레이터 인터페이스의 메서드
코루틴 고급 주제
작은 코루틴에 위임하기 - yield from 구문
비동기 프로그래밍
요약
참고 자료

chapter 8 단위 테스트와 리팩토링
디자인 원칙과 단위 테스트
자동화된 테스트의 다른 형태
단위 테스트와 애자일 소프트웨어 개발
단위 테스트와 소프트웨어 디자인
테스트의 경계 정하기
테스트를 위한 프레임워크와 도구
단위 테스트 프레임워크와 라이브러리
코드 커버리지
모의(mock) 객체
리팩토링
코드의 진화
상용 코드만 진화하는 것이 아니다.
단위 테스트에 대한 추가 논의
속성 기반 테스트
변형 테스트
테스트 주도 개발 간략 소개
요약
참고

chapter 9 일반적인 디자인 패턴
파이썬에 디자인 패턴 적용 시 고려사항
실전 속의 디자인 패턴
생성(creational) 패턴
구조(structural) 패턴
행동(behavioral) 패턴
Null 객체 패턴
디자인 패턴에 대한 최종 정리
디자인에 대한 패턴의 영향성
모델의 이름
요약
참고

chapter 10 클린 아키텍처
클린 코드에서 클린 아키텍처로
관심사의 분리
추상화
소프트웨어 컴포넌트
패키지
컨테이너
유스케이스
코드
서비스
분석
요약
참고
최종요약

찾아보기
배송공지

사용후기

회원리뷰 총 0개

사용후기가 없습니다.

상품문의

등록된 상품문의

상품문의 총 0개

상품문의가 없습니다.

교환/반품

[반품/교환방법]
마이페이지> 주문배송조회 > 반품/교환신청 또는 고객센터 (070-4680-5689)로 문의 바랍니다.

[반품주소]
- 도로명 : (10882) 경기도 파주시 산남로 62-20 (산남동)
- 지번 : (10882) 경기도 파주시 산남동 305-21

[반품/교환가능 기간]
변심반품의 경우 수령 후 14일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

[반품/교환비용]
단순 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담

[반품/교환 불가 사유]
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
- 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
* (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시
‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)

[상품 품절]
공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.

[소비자 피해보상, 환불지연에 따른 배상]
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됩니다.
- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함.

회원로그인

오늘 본 상품

  • 파이썬 클린 코드
    파이썬 클린 코드
    25,200