본문 바로가기

추천 검색어

실시간 인기 검색어

클린 코드, 이제는 파이썬이다

한 권으로 읽는 파이썬 개발자 성장 프로젝트
책만

2022년 10월 14일 출간

종이책 : 2022년 08월 16일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (9.62MB)
ISBN 9791189909482
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
정가제Free
소장
정가 : 24,000원

쿠폰적용가 21,600

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

가독성 높으며 유지 보수와 기능 확장이 쉬운 파이썬 코드를 원하는가? 기초적인 파이썬 프로그래밍 문법이나 튜토리얼을 끝냈다면, 유능하고 자신감 넘치는 소프트웨어 개발자가 되기 위한 다음 단계는 무엇일까?
노련한 프로그래머의 유쾌한 경험과 진솔한 노하우를 한 권에 담아낸, 현업에서 즉시 적용할 수 있는 파이썬 클린 코드의 모든 것!
파이썬 개발자의 성장과 업그레이드를 위한 실무 프로그래밍 지식 총정리!

| 이 책에서 다루는 내용 |
● 코딩 스타일을 비롯해, 파이썬의 블랙 자동 포매팅 도구를 활용한 클린 코드 작성법
● 일반적인 버그의 원인 파악과 정적 분석기를 활용한 버그 감지
● 쿠키커터 템플릿 도구로 코드 프로젝트의 파일 구조를 짜는 법
● 람다 등 고차 함수의 함수형 프로그래밍 기법
● 파이썬의 내장 timeit과 cProfile 모듈로 코드 속도 프로파일링
● 주석과 독스트링을 유용한 정보로 만드는 방법 그리고 작성 주기
[1부] 준비
1장 에러 메시지 파악과 고수의 도움을 받기 위한 질문 에티켓
__파이썬 에러 메시지를 읽는 법
____추적정보 조사
____에러 메시지 검색
__린터를 활용한 에러 방지
__프로그래밍 조언을 구하는 방법
____미리 충분한 정보를 제공해 불필요한 커뮤니케이션을 줄이자
____물음표가 붙은 질문 형식으로 문장을 서술하자
____적절한 웹사이트를 찾아 질문하자
____질문을 요약한 표제를 달자
____코드로 어떤 일을 하고 싶은지를 설명하자
____전체 에러 메시지를 제공하자
____전체 코드를 공유하자
____적절한 포매팅으로 코드를 읽기 쉽게 만들자
____사람들에게 여러분이 무엇을 시도했는지를 알리자
____여러분의 설정 사항을 공유하자
__좋은 질문의 예시
__정리

2장 환경 설정과 명령행 사용 방법
__파일시스템
____파이썬의 경로
____홈 디렉터리
____현재 작업 디렉터리
____절대 경로 vs 상대 경로
__프로그램과 프로세스
__명령행
____터미널 창 열기
____명령행에서 프로그램을 실행하는 방법
____명령행 인수
____명령행에서 -c 옵션으로 파이썬 코드를 실행하는 방법
____명령행 프로그램에서 파이썬 프로그램 실행
____py.exe 프로그램 실행
____파이썬 프로그램에서 명령어 실행
____타이핑을 최소화하는 탭 완성 기능
____명령어 이력 보기
____필수 명령어 모음
__환경 변수와 PATH
____환경 변수 보기
____PATH 환경 변수를 이용한 작업
____명령행의 PATH 환경 변수 바꾸기
____폴더를 영구적으로 PATH에 추가: 윈도우 환경
____폴더를 영구적으로 PATH에 추가: 맥OS와 리눅스 환경
__명령행을 쓰지 않고 파이썬 프로그램을 실행하는 방법
____윈도우 환경
____맥OS 환경
____우분투 리눅스 환경
__정리

[2부] 클린 코드를 위한 모범 사례, 도구, 기법
3장 코딩 스타일 정립과 코드 포매팅 자동화
__동료나 협업자의 신뢰를 잃는 이유
__스타일 가이드와 PEP 8
__가로 간격
____들여쓰기를 위한 공백 문자 사용
____코드 행 내의 공백 활용
__세로 간격
____세로 간격의 사용 예
____세로 간격의 모범 사례
__엄격한 코드 포매터, 블랙
____블랙 도구 설치 방법
____명령행에서 블랙을 실행하는 방법
____코드 특정 부분에 대한 블랙 비활성화
__정리

4장 이해하기 쉬운 이름
__대소문자 표기법
__PEP 8의 명명 규약
__이름의 적정 길이
____너무 짧은 이름
____너무 긴 이름
__검색 가능한 이름 짓기
__농담, 말장난, 문화적 참조는 피하자
__내장 이름 덮어쓰기 금지
__역대 최악의 변수명
__정리

5장 코드 악취 감지와 대응
__중복된 코드
__매직 넘버
__주석 처리된 코드와 죽은 코드
__디버깅 출력
__숫자 접미사가 붙은 변수
__그냥 함수나 모듈이어야 하는 클래스
__중첩된 리스트 컴프리헨션
__빈 예외처리 블록과 부실한 에러 메시지
__코드 악취에 관한 잘못된 통념
____함수 마지막에는 return 문이 하나만 있어야 한다?
____함수에는 try 문이 둘 이상 있으면 안 된다?
____플래그 인수는 나쁘다?
____전역 변수는 나쁘다?
____주석은 불필요하다?
__정리

6장 파이썬다운 코드를 작성하는 법
__파이썬의 선(禪)
__의미 있는 들여쓰기
__흔히 잘못 사용되는 구문
____range()보다는 enumerate()를 사용하자
____open()과 close()보다는 with 문을 사용하자
____== 대신 is를 써서 None과 비교하자
__문자열 포매팅
____문자열에 백슬래시가 많은 경우에는 원시 문자열을 사용하자
____f-문자열을 사용한 문자열 포매팅
__리스트의 얕은 사본 만들기
__파이썬다운 딕셔너리 사용법
____딕셔너리에서 get()과 setdefault()를 사용하자
____기본값을 위해 collections.defaultdict를 사용하자
____switch 문 대신 딕셔너리를 사용하자
__조건식: 파이썬의 '보기 흉한' 3항 연산자
__변수값 작업
____체이닝 할당과 비교 연산자
____변수가 여러 값 중 하나인지 여부 확인
__정리

7장 파이썬 세상의 프로그래밍 용어
__각종 용어 정의
____프로그래밍 언어로서 파이썬 vs 인터프리터로서 파이썬
____가비지 컬렉션
____리터럴
____키워드
____객체, 값, 인스턴스, 아이디
____아이템
____가변 데이터 타입, 불변 데이터 타입
____인덱스, 키, 해시
____컨테이너, 시퀀스, 매핑, 집합 타입
____이중밑줄 메소드, 매직 메소드
____모듈, 패키지
____호출가능 객체, 일급 객체
__흔히 혼동되어 사용되는 용어
____문 vs 표현식
____블록 vs 절 vs 바디
____변수 vs 속성
____함수 vs 메소드
____반복가능 객체 vs 반복자
____구문 에러 vs 런타임 에러 vs 의미 에러
____파라미터 vs 인수
____타입 강제변환 vs 타입 캐스팅
____프로퍼티 vs 속성
____바이트코드 vs 기계어 코드
____스크립트 vs 프로그램, 스크립트 언어 vs 프로그래밍 언어
____라이브러리 vs 프레임워크 vs SDK vs 엔진 vs API
__정리
__추가 정보

8장 파이썬에서 빠지기 쉬운 함정들
__루프문 진행 중에는 리스트에서 아이템을 추가/삭제하지 말자
__copy.copy()나 copy.deepcopy() 없이 가변 값을 복사하지 말자
__기본 인수에 가변 객체는 사용하지 말자
__문자열을 문자열 연결로 생성하지 말자
__sort()가 알파벳 순으로 정렬하리라 기대하지는 말자
__부동소수가 완벽히 정확할 거라고 가정하지 말자
__부등 연산자 !=를 연달아 쓰지 말자
__단일 아이템 튜플에서는 쉼표를 잊지 말자
__정리

9장 파이썬의 기이한 특징들
__256 is 256은 참이지만 257 is 257은 참이 아닌 이유
__문자열 인터닝
__파이썬의 가짜 증감연산자
__아무것도 없으면 참인 all()
__부울값은 정수값이다
__다중 연산자 연달아 쓰기
__파이썬의 antigravity기능
__정리

10장 파이썬다운 함수 만들기
__함수명
__함수 크기의 트레이드오프
__함수 파라미터와 인수
____기본 인수
____*와 **를 사용해 함수에 인수 전달하기
____*를 사용해 가변인수 함수 만들기
____**를 사용해 가변인수 함수 만들기
____*와 **로 래퍼 함수 만들기
__함수형 프로그래밍
____부수효과
____고차원 함수
____람다 함수
____리스트 컴프리헨션을 이용한 매핑과 필터링
__결괏값은 항상 동일한 데이터 타입이어야 한다
__예외 발생시키기 vs 에러 코드 반환하기
__정리

11장 주석과 타입 힌트
__주석
____주석 스타일
____인라인 주석
____설명 주석
____요약 주석
____경험 지식을 담은 주석
____법무 정보를 담은 주석
____전문적인 주석
____코드태그와 TODO 주석
____매직 주석과 소스 파일 인코딩
__독스트링
__타입 힌트
____정적 분석 도구 사용
____타입 힌트를 다중 타입으로 설정하기
____리스트, 딕셔너리 등을 위한 타입 힌트 설정
____주석을 활용한 타입 힌트 백포팅
__정리

12장 깃을 이용한 코드 관리 기법
__깃 커밋과 리포
__쿠키커터 패키지를 이용한 새로운 파이썬 프로젝트 생성
__깃 설치
____깃 사용자 이름과 이메일 설정
____GUI 깃 도구 설치하기
__깃 워크플로
____깃이 파일 상태를 관리하는 방식
____파일을 스테이징 상태로 바꿔야 하는 이유
__자신의 컴퓨터에 깃 리포 만들기
____깃으로 파일을 추가해 관리하기
____리포의 특정 파일 무시하기
____변경사항 커밋
____리포에서 파일 삭제하기
____리포에서 파일 이름 변경과 이동
__커밋 로그 보기
__기존 변경 내역으로 복구하기
____커밋되지 않은 로컬 변경사항 취소하기
____스테이징된 파일을 스테이징 상태에서 해제하기
____가장 최근 커밋 롤백하기
____단일 파일을 특정 커밋으로 롤백하기
____커밋 이력 재작성하기
__깃허브와 git push 명령어
____기존 저장소를 깃허브에 푸시하기
____기존 깃허브 리포에서 리포 복제하기
__정리

13장 빅오를 활용한 알고리즘 성능 분석과 개선
__timeit 모듈
__cProfile 프로파일러
__빅오 알고리즘 분석
__빅오 차수
____책장 정리 사례를 이용한 빅오 차수의 이해
____최악의 시나리오를 측정하는 빅오
__코드의 빅오 차수를 파악해보자
____낮은 차수와 계수를 우리가 무시하는 이유
____빅오 분석 예제
____일반적인 함수 호출의 빅오 차수
____한눈에 분석하는 빅오
____n이 작을 경우 빅오는 의미가 없으며, n은 일반적으로 작다
__정리

14장 실전 프로젝트: 하노이 탑과 사목 게임
__하노이 탑 게임 프로젝트
____화면 출력 내용
____소스 코드
____코드 작성
__사목 게임 프로젝트
____화면 출력 내용
____소스 코드
____코드 작성
__정리

[3부] 파이썬과 객체지향 프로그래밍
15장 틱택토 게임으로 배우는 객체지향 프로그래밍과 클래스
__실세계 비유: 온라인 양식 기입
__클래스에서 객체 생성하기
__WizCoin이라는 간단한 클래스 생성하기
____메소드, __init__(), self
____속성
____프라이빗 속성과 프라이빗 메소드
__type() 함수와 __qualname__ 속성
__객체지향 vs 비 객체지향 방식의 프로그램 비교: 틱택토 게임
__실세계를 위한 클래스 설계는 어렵다
__정리

16장 코드 복제는 이제 그만! 상속으로 해결하기
__상속의 작동 방식
____메소드 오버라이드
____super() 함수
____상속보다는 합성을
____상속의 단점
__isinstance()와 issubclass() 함수
__클래스 메소드
__클래스 속성
__정적 메소드
__클래스와 정적 객체지향 기능을 사용할 때
__객체지향과 관련된 전문 용어들
____캡슐화
____다형성
__상속을 사용하지 않아야 할 경우
__다중 상속
__메소드 결정 순서
__정리

17장 파이썬다운 객체지향 프로그래밍
__프로퍼티
____속성을 프로퍼티로 바꾸기
____데이터 검증을 위한 setter 사용
____읽기 전용 프로퍼티
____프로퍼티를 사용할 시점
__파이썬의 이중밑줄 메소드
____문자열 표현 이중밑줄 메소드
____숫자 이중밑줄 메소드
____거울 숫자 이중밑줄 메소드
____제자리 바꿔치기 증강 대입 이중밑줄 메소드
____비교 이중밑줄 메소드
__정리

| 이 책의 구성 |
이 책은 단순히 파이썬 구문을 깊이 다루는 선에서 그치지 않고, 명령행, 코드 포매터, 린터, 버전 관리 등 전문 개발자가 사용하는 명령행 도구에 대해 다양하게 설명한다. 무엇이 코드의 가독성을 높이고 어떻게 하면 제대로 클린 코드를 작성할 수 있는지 설명했으며, 프로그래밍 프로젝트 몇 가지를 수행하면서 이런 원리가 실제 소프트웨어에 어떻게 적용되는지 확인해볼 수 있다. 이 책이 컴퓨터 과학 교과서는 아니지만, 빅오 알고리즘 분석과 객체 지향 설계에 대한 주제도 다룬다.

[1부] 준비

1장 에러 메시지 파악과 고수의 도움을 받기 위한 질문 에티켓
남들에게 효과적으로 질문하고 스스로 필요한 답을 찾는 방법을 보여준다. 또한 에러 메시지를 읽는 법과 온라인으로 도움을 요청하는 예절도 알려준다.

2장 환경 설정과 명령행 사용 방법
개발 환경을 준비하고 PATH 환경 변수를 설정하는 내용과 함께 명령행 탐색 방법을 살펴본다.

[2부] 클린 코드를 위한 모범 사례, 도구, 기법
3장 코딩 스타일 정립과 코드 포매팅 자동화
PEP 8 스타일 가이드와 가독성을 높이는 코드 포맷에 대해 살펴본다. 코드 포매팅 도구인 블랙을 사용해 이 과정을 자동화하는 방법도 배운다.

4장 이해하기 쉬운 이름
코드 가독성을 개선할 수 있게 변수와 함수의 이름을 짓는 법을 알아본다.

5장 코드 악취 감지와 대응
코드에 버그가 있을지도 모른다고 알려주는 몇 가지 잠재적인 경고 신호를 다룬다.

6장 파이썬다운 코드를 작성하는 법
파이썬 코드를 작성하는 몇 가지 관례와 파이썬다운 코드를 만드는 방법을 살펴본다.

7장 파이썬 세상의 프로그래밍 용어
프로그래밍 분야에서 사용되는 전문 용어와 자주 혼동되는 용어에 관해 알아본다.

8장 파이썬에서 빠지기 쉬운 함정들
파이썬 언어에서 자주 나오는 혼동과 버그의 원인, 해결방법, 그리고 이를 회피할 코딩 전략을 다룬다.

9장 파이썬의 기이한 특징들
스트링 인터닝과 반중력 이스터에그 등 여러분이 미처 알지 못한 파이썬 언어의 기이한 기능들을 다룬다. 어떤 데이터 타입과 연산자가 왜 이렇게 예상치 못한 행동을 초래하는지 파악한다면 파이썬의 작동 방식에 대한 이해도가 좀 더 깊어질 것이다.

10장 파이썬다운 함수 만들기
함수를 구조화해서 유용성과 가독성을 극대화하는 방법을 알아본다. *와 ** 인수 구문, 큰 함수와 작은 함수의 장단점, 람다 함수 등 함수형 프로그래밍 기법을 배워본다.

11장 주석과 타입 힌트
프로그램에서 비코드부의 중요성과 유지보수에 미치는 영향을 다룬다. 주석과 독스트링을 얼마나 자주 써야 하는지, 어떻게 하면 유용한 정보를 담을 수 있는지를 설명한다. 이 장에서는 타입 힌트와 마이파이MyPy 같은 정적 분석기를 사용해 버그를 탐지하는 방법도 알아본다.

12장 깃을 이용한 코드 관리 기법
깃 버전 관리 도구를 사용해 소스 코드 변경 이력을 기록하고 이전 버전의 작업을 복구하거나 버그가 처음 나타났을 때를 추적하는 법을 알아본다. 또한 쿠키커터 도구로 코드 프로젝트의 파일을 구성하는 방법도 다룬다.

13장 빅오를 활용한 알고리즘 성능 분석과 개선
timeit과 cProfile 모듈을 사용해 코드의 속도를 객관적으로 측정하는 방법을 알아본다. 또한 처리해야 하는 데이터의 양이 증가함에 따라 코드의 성능이 얼마나 느려지지를 빅오 알고리즘 분석을 활용해 예측하는 방법도 다룬다.

14장 실전 프로젝트: 하노이 탑과 사목 게임
명령행 게임 두 가지를 작성하며 지금까지 배운 기법을 적용해본다. 한 탑에서 다른 탑으로 원판을 옮기는 퍼즐 게임인 ‘하노이 탑’과 유서 깊은 2인용 말판 게임인 ‘사목’이다.

[3부] 파이썬과 객체지향 프로그래밍
15장 틱택토 게임으로 배우는 객체지향 프로그래밍과 클래스
종종 오인되는 객체 지향 프로그래밍(OOP)의 역할을 정의한다. 남들도 다한다고 생각하기 때문인지 많은 개발자가 자신의 코드에 OOP 기법을 남용하는데, 이는 소스 코드를 복잡하게 만드는 주요 원인이 된다. 이 장에서는 클래스 작성법도 알려주지만, 클래스를 사용해야 하는 이유와 사용하지 말아야 하는 이유를 알려준다는 점이 더 중요하다.

16장 코드 복제는 이제 그만! 상속으로 해결하기
클래스 상속과 그것이 코드 재사용에 얼마나 유용한지를 알아본다.

17장 파이썬다운 객체지향 프로그래밍
프로퍼티, 이중밑줄 메소드, 연산자 오버로드 같은 파이썬 특유의 객체 지향 설계 특징을 다룬다.

[옮긴이의 말]
로버트 C 마틴의 『클린 코드: 애자일 소프트웨어 장인 정신』이 출간된 이후로 깨끗한 코드 작성과 리팩토링에 대한 개발자들의 관심은 나날이 높아지고 있다. 가독성 높은 코드가 제공하는 유지보수 편의성과 기능 확장 가능성은 레거시 코드를 다루는 개발자는 물론, 처음부터 프로젝트를 시작하는 개발자들도 추구해야 하는 소프트웨어의 속성으로 인정받고 있다. 이를 위해 다양한 실천 방법과 우수 사례가 공유되고 있으며, 통합개발환경(IDE)의 발전으로 인해 자동화의 혜택까지 얻을 수 있다. 하지만 이렇게 무르익은 분위기와 환경에서도 뭔가 2% 부족함을 느낀다면 딱히 당신만의 문제는 아니다.
다른 여느 프로그래밍 언어와 마찬가지로 파이썬 역시 입문은 쉽고 마스터하기는 어렵다. 특히 여타 프로그래밍 언어와 비교해 파이썬은 고수준 특성으로 인해 처음 문턱을 넘기가 상대적으로 쉽기 때문에 초보 개발자들은 컴퓨터로 할 수 있는 다양한 가능성에 눈을 뜨게 되지만, 막상 실전에 부딪혀 문제를 풀려고 하면 그제서야 파이썬이 결코 만만하지 않다는 사실을 깨닫고 충격에 휩싸이게 된다. 파이썬 언어의 문제일까? 아니면 복잡한 라이브러리와 프레임워크의 문제인가? 아니면 컴퓨터 하부 지식을 모르는 내 기초 역량의 문제인가? 정말 고수들은 어떻게 파이썬을 사용하고 있으며 그 과정에서 남들은 내가 모르는 파이썬의 어떤 비밀을 알고 있을까?
『클린 코드, 이제는 파이썬이다』는 제목에서 잘 드러나듯이 클린 코드를 파이썬에 적용해서 파이썬다운 코드를 만드는 방법을 소개한다. 기존의 클린 코드 관련 서적과 온라인 문서에서 다루는 내용을 파이썬에 그대로 이식하는 대신, 이 책은 초보 개발자가 우수 개발자로 탈바꿈하는 과정에서 반드시 넘어야 하는 장애물을 파악하고 이를 정석대로 해소하는 방법을 다양한 사례와 팁으로 제시한다는 특징이 있다. 이 책은 전문가처럼 정보를 찾고 명령행을 활용하고, 클린 코드에서 중요하게 생각하는 이름을 지으며, 코딩 스타일과 포매팅, 코드 악취 해소, 효율적인 함수 작성, 주석과 타입 힌트에 대해 파이썬다운 지침을 따르고, 파이썬의 기이한 특징과 함정들을 잘 피하기 위한 실전 팁과 현업의 요령을 소개한다. 또한 컴퓨터 전문 지식을 강화하기 위해 각종 프로그래밍 용어, 반드시 알아야 하는 핵심 버전 관리 방법, 알고리즘 성능 측정에 대한 이론과 도구, 객체지향에 대한 설명도 빼놓지 않는다. 앞쪽에서 습득한 지식을 바탕으로 마지막에는, 간단한 게임을 파이썬다운 객체지향 방식으로 확장해 나가는 방안을 단계별로 제시하므로 점진적으로 발전하고 확장 가능한 소프트웨어 개발에 대한 감을 잡을 수 있도록 배려한다.
이 책이 획기적인 돌파구를 마련해주지는 않을지 몰라도, 매일 조금씩 실력을 높이고 싶은 개발자들에게 동기를 부여하고 출발점을 알려주며 도전에 직면했을 때 두려워하지 않도록 기초를 튼튼하게 다지는 내용으로 매우 알차게 구성되어 있다. 이 책을 읽고, 책에서 배운 내용을 실행해보며, 자신만의 색깔로 바꾸는 과정을 반복하다 보면 어느 순간 소프트웨어 전문 개발자로 거듭난 자신을 발견하게 될 것이다. 아무쪼록 독자 여러분의 개발 여정에서 이 책이 훌륭한 스승이자 좋은 벗이 되면 좋겠다.
- 박재호

자바, Golang, C++ 같은 언어에 비해 파이썬이라는 언어가 지니는 독특함이 있다. 다른 언어보다 접근성이 좋고 설명하거나 이해하기 쉽지만 알고리즘 코딩 테스트에서의 실행 속도가 다른 언어에 비해 느린 측면도 있고 디버깅에 어려움을 표현하는 개발자들도 있다. 으레 파이썬 전문가라는 단어를 쓸 때 그 파이썬 전문가가 어떤 스킬이나 이해를 갖고 있는지, 어떤 스텝을 통해 후학들이 파이썬 전문가로 될 수 있는지를 설명하는 것을 일반적으로 숙련된 개발자들조차 어려워할 때가 많다.
이 책은 파이썬 입문서와는 거리가 멀다. 하지만 지나치게 현학적인 책과도 거리를 둔다. 초보자와 전문가의 중간 단계를 어떻게 메워 나갈 것인가에 대한 저자의 고민이 곳곳에 숨어 있는 것을 볼 수 있다. 이 책은 어려운 데코레이터를 쓰지도 않으며 심한 축약형 람다를 쓰지도 않는다. 하지만 초보자들이 한 스텝 더 실행해 볼 수 있는 여러 방법들을 제시해준다.
- 김동현

작가정보

Al Sweigart
시애틀에 거주하는 소프트웨어 개발자이자 기술서 저자다. 프로그래밍 언어 가운데 파이썬을 가장 좋아해서 파이썬용 오픈 소스 모듈을 여럿 개발했다. 직접 집필한 모든 책을 크리에이티브 커먼즈 라이선스하에 웹사이트(https://www.inventwithpython.com/)에서 무료로 읽을 수 있도록 공개해뒀다.

포항공과대학교 컴퓨터공학과 학부와 대학원을 졸업했다. 임베디드 시스템 개발, 기업용 백업 소프트웨어 개발, 방송국 콘텐츠 수신제한 시스템 개발과 운영 지원, 클라우드에서 동작하는 서비스 개발에 이르기까지 다양한 실무 경험을 토대로 고성능 고가용성 시스템을 설계하고 있다. 코스닥 상장사인 엑셈 CTO로 인공지능과 스마트팩토리 관련 개발을 총괄했으며, 클라우드용 모니터링 시스템을 위한 아키텍처 설계도 주도했다. 『마이크로서비스 도입, 이렇게 한다』(책만, 2021), 『Clean Code 클린 코드』(인사이트, 2013), 『피플웨어』(인사이트, 2014) 번역, 『엘라스틱 스택 개발부터 운영까지』(책만, 2021) 감수 등 번역·감수하거나 집필한 책이 40여 권이 넘는다.
각종 기술 소식을 다루는 블로그 ‘컴퓨터 vs 책’(https://jhrogue.blogspot.com/)과 개발자를 위한 유튜브 ‘채널 박재호’(https://www.youtube.com/c/박재호dev)를 운영하며, 개발자들을 위한 각종 교육과 세미나도 지속적으로 진행하고 있다.

연세대 컴퓨터공학 학·석사를 졸업하고 네이버 검색 부서와 현대자동차 AIRS 컴퍼니에서 백엔드 서빙을 전문적으로 다루고 있다. 검색/추천의 전문성 키워드 아래에 현재 컨테이너 기반 파이썬/Golang 위주의 개발 프로젝트를 주도하고 있으며 이따금씩 후학 개발자들을 위해 따로 멘토링을 제공한다.

작가의 말

이 책을 그저 클린 코드 작성에 유용한 팁 모음집 정도로 보면 오산이다. 이 책은 명령행을 누비고 코드 포매터, 타입 검사기, 린터, 버전 관리 등 각종 전문 도구의 활용법을 보여준다. 저자 알 스웨이가트는 개발환경 설정, 변수 이름 짓기, 가독성 향상을 위한 모범 사례부터, 문서화, 코드 구성, 성능 측정, 객체 지향 설계, 빅오 알고리즘 분석까지 온갖 지식과 노하우를 전수해준다. 이 책에서 설파하는 중고급 기술은 파이썬뿐만 아니라 모든 언어에서 유용하며, 여러분의 프로그래밍 능력을 크게 향상시켜줄 것이다.
아무리 좋은 책이라도 한 권을 읽고 바로 전문 소프트웨어 개발자가 될 수는 없겠지만 이 책은 디버깅하기 쉽고 파이썬다우며 가독성 높은 코드를 작성하는 법을 명쾌하게 안내해 준다. 여러분 앞에 전문가로 가는 길이 곧 성큼 앞으로 다가올 것이다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    클린 코드, 이제는 파이썬이다 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    클린 코드, 이제는 파이썬이다 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    클린 코드, 이제는 파이썬이다
    한 권으로 읽는 파이썬 개발자 성장 프로젝트
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)