logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

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

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

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

알 스웨이가트 (지은이), 박재호, 김동현 (옮긴이)
  |  
책만
2022-08-16
  |  
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 27,000원 -10% 0원 1,500원 25,500원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
aladin 24,000원 -10% 1200원 20,400원 >

책 이미지

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

책 정보

· 제목 : 클린 코드, 이제는 파이썬이다 (한 권으로 읽는 파이썬 개발자 성장 프로젝트)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9791189909451
· 쪽수 : 440쪽

책 소개

단순히 파이썬 구문을 깊이 다루는 선에서 그치지 않고, 명령행, 코드 포매터, 린터, 버전 관리 등 전문 개발자가 사용하는 명령행 도구에 대해 다양하게 설명한다. 무엇이 코드의 가독성을 높이고 어떻게 하면 제대로 클린 코드를 작성할 수 있는지 등을 설명했다.

목차

[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 사용
____읽기 전용 프로퍼티
____프로퍼티를 사용할 시점
__파이썬의 이중밑줄 메소드
____문자열 표현 이중밑줄 메소드
____숫자 이중밑줄 메소드
____거울 숫자 이중밑줄 메소드
____제자리 바꿔치기 증강 대입 이중밑줄 메소드
____비교 이중밑줄 메소드
__정리

저자소개

알 스웨이가트 (지은이)    정보 더보기
시애틀에 거주하는 소프트웨어 개발자이자 기술서 저자다. 프로그래밍 언어 가운데 파이썬을 가장 좋아해서 파이썬용 오픈 소스 모듈을 여럿 개발했다. 직접 집필한 모든 책을 크리에이티브 커먼즈 라이선스하에 웹사이트(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 위주의 개발 프로젝트를 주도하고 있으며 이따금씩 후학 개발자들을 위해 따로 멘토링을 제공한다.
펼치기

책속에서



이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책