프로그래머를 위한 파이썬
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 데인 힐라드
현재 비영리 고등교육 회사인 ITHAKA에서 웹 애플리케이션 수석 개발자로 일하고 있으며, 이전에는 바이오인포매틱스 애플리케이션을 위한 ETL 파이프라인과 원격 측정 데이터에 대한 추론 엔진을 개발하였다. 그의 초창기 프로그래밍 이력으로는 마이스페이스(MySpace) 페이지에 커스텀 스타일링 생성, 라이나서러스(Rhinoceros) 3D 모델링 애플리케이션 스트립
트 작성, MS-DOS 게임인 리에로(Liero)에 커스텀 스킨과 무기 제작 등이 있다. 그는 창의적인 코딩을 좋아하며, 그가 사랑하는 음악, 사진, 음식, 소프트웨어를 서로 어떻게 결합할지를 고민하고 있다. 또한 그는 국제 파이썬 장고 콘퍼런스에서 연설했으며, 누가 그만두라고 하기 전까지는 계속할 계획이다
저자 황반석은 한양대학교에서 컴퓨터 공학을 전공한 후로 지금까지 개발자의 길을 걷고 있다. 애플리케이션 개발이 천직임을 인정하면서도 혹시 다른 재능도 있는 건 아닐까 하는 희망으로 아이스하키도 해보고 기타도 만져보지만, 결국은 컴퓨터 앞에 앉아 개발에 몰두하는 자신을 발견하곤 한다. 최근에는 Flutter를 비롯한 멀티 플랫폼에 관심을 두고 있다. 옮긴 책으로는 《핵심만 골라 배우는 SwiUI 기반의 iOS 프로그래밍》 외 12종이 있다.
목차
- 1부 모든 것이 중요한 이유 1
CHAPTER 1 더 큰 그림 3
1.1 파이썬은 엔터프라이즈 언어다 5
1.2 파이썬은 교육용 언어다 6
1.3 설계는 과정이다 6
1.4 설계는 더 좋은 소프트웨어를 만든다 9
1.5 설계에 투자할 시점 12
1.6 새로운 시작 13
1.7 설계는 민주적이다 14
1.8 이 책을 어떻게 활용할 것인가? 17
2부 설계의 기초 19
CHAPTER 2 관심사 분리 21
2.1 네임스페이스 22
2.2 파이썬에서 관심사 분리의 계층구조 28
CHAPTER 3 추상화와 캡슐화 45
3.1 추상화란? 45
3.2 캡슐화 51
3.3 Try it out 53
3.4 프로그래밍 스타일 역시 추상화다? 56
3.5 타이핑, 상속, 다형성 60
3.6 잘못된 추상화 인식하기 63
CHAPTER 4 높은 성능을 위한 설계 65
4.1 시간과 공간을 뚫고 나가기 66
4.2 성능과 데이터 타입 72
4.3 작동하게 하고, 올바르게 만들고, 빠르게 하라? 77
4.4 도구들 82
4.5 Try it out 86
CHAPTER 5 소프트웨어 테스트하기 87
5.1 소프트웨어 테스트란? 88
5.2 기능 테스트 방법 90
5.3 사실에 대한 진술 97
5.4 unittest로 단위 테스트하기 98
5.5 pytest로 테스트하기 109
5.6 기능 테스트를 넘어서 111
5.7 테스트 주도 개발: 기본지침 113
3부 대규모 시스템에 적용하기 115
CHAPTER 6 실전! 관심사 분리 117
6.1 커맨드라인용 북마킹 애플리케이션 118
6.2 애플리케이션 둘러보기 119
6.3 관심사에 따른 초기 코드 구조 120
CHAPTER 7 확장성과 유연성 147
7.1 확장 가능한 코드란? 147
7.2 경직에 대한 해결책 154
7.3 확장 실습 160
CHAPTER 8 상속의 규칙과 예외 165
8.1 과거 프로그래밍에서의 상속 165
8.2 프로그래밍의 상속 168
8.3 파이썬의 상속 173
8.4 Bark에서의 상속과 조합 181
CHAPTER 9 경량화하기 185
9.1 클래스/함수/모듈이 얼마나 커야 할까? 185
9.2 복잡성 깨뜨리기 192
9.3 클래스 분해하기 197
CHAPTER 10 느슨한 결합 만들기 205
10.1 결합의 정의 205
10.2 결합도 인식하기 212
10.3 Bark에서의 결합 215
10.4 결합 해결하기 217
4부 다음으로는? 227
CHAPTER 11 향상과 진보 229
11.1 지금은? 229
11.2 디자인 패턴 235
11.3 분산 시스템 238
11.4 파이썬 파고들기 240
11.5 여러분이 배운 것들 242
APPENDIX A 파이썬 설치하기 245
A.1 어떤 버전의 파이썬을 사용해야 하나? 245
A.2 ‘시스템’ 파이썬 246
A.3 다른 버전의 파이썬 설치하기 246
A.4 설치 검증하기 248
찾아보기 250
추천사
-
“모든 언어에 적용할 수 있는 일반적인 소프트웨어 아키텍처와 진실에 대한 풍부한 정보!”
-
“이 책을 읽고 전문가처럼 파이썬 코드를 작성하자.”
-
“가독성을 높이고 확장하기 쉬운 소프트웨어를 설계하는 방법에 대한 훌륭한 내용을 담은 따라하기 쉬운 책!”
-
“이 책은 파이썬 개발자를 전문가가 되도록 안내할 것이다.”
책 속으로
이 책은 프로그래밍을 이제 막 시작한 모든 사람을 위한 책이다. 소프트웨어 업계에 있지는 않지만 소프트웨어를 사용하여 작업하는 사람들 역시 이 책을 통해 많은 것을 배울 수 있다. 이 책에 담긴 개념은 유지보수가 더 쉬운 소프트웨어를 만들 수 있도록 도와줄 것이며, 더 쉽게 협업하여 소프트웨어를 개발할 수 있게 할 것이다. _xvi쪽
이번 절에서 살펴본, 어떤 문제부터 시작하여 최종 해결책을 도출할 때까지의 과정이 바로 설계 과정이다. 이 과정을 통해 이전보다, 그리고 그 이전보다 더 개선할 영역을 알 수 있게 된다. 결국, 어떤 코드를 작성하기 전에 기회와 위험을 예측하는 다이어그램을 사용하기 위하여 소프트웨어의 여러 복잡한 부분을 나타내는 고급 다이어그램을 그리기 시작하게 될 것이다. 물론, 모든 사람이 이렇게 일하는 것은 아니므로 여러분은 이 책에서 배운 내용을 최대한 활용해야 할 것이다. _16쪽
만약 여러분이 처음 프로그래밍하는 거라면 이와 같은 스타일이 친숙하게 느껴질 수 있다. 왜냐하면 이 함수가 다른 것을 호출하는 시작점이기 때문이다. 하나의 긴 프로시저에서 몇 가지 함수를 호출하는 다른 프로시저로 이동하는 흐름이 자연스럽게 느껴질 수 있도록, 이 스타일을 먼저 배우는 게 좋다. 절차적 프로그래밍은 함수에 중점을 두기 때문에 절차적 프로그래밍의 장점은 3.1.4절에서 설명한 것과 중복된다. _57쪽
수동 테스트와는 반대로, 자동화된 테스트(automated testing)는 금요일부터 긴 주말을 보내려 할 때 테스트할 것을 빠뜨릴 걱정 없이 원하는 만큼 여러 번 실행할 수 있는 테스트를 작성할 수 있게 한다. 이 가상의 상황이 실제처럼 느껴질 수 있다. 왜냐하면 이것은 그저 가상의 이야기가 아닌 실제로 일어나는 일이기 때문이다. _90쪽
데이터베이스에서 북마크를 가져오기 위해 DatabaseManager.select 메서드를 사용하고 싶을 것이다. SQLite는 디폴트 생성 순서로(즉, 테이블의 기본키로) 레코드를 정렬하지만, 날짜나 제목으로 정렬하는 것도 유용할 것이다. Bark에서는 북마크를 추가할 때 북마크의 아이디와 날짜가 모두 증가하기 때문에 무엇으로 정렬해도 동일한 결과가 나오지만, 관심을 두는 칼럼으로 정렬되도록 명시적으로 하는 게 좋은 습관이다. _136쪽
클래스, 메서드, 함수의 크기에 대해 조금 더 개방된 측정 방법은 그것이 얼마나 다양한 작업을 하는가다. 관심사 분리를 배운 것처럼, 이상적인 작업 개수는 하나다. 함수와 메서드의 경우, 하나의 계산 또는 작업을 수행함을 의미한다. 클래스에서는 여러 가지 큰 비즈니스 문제 중 하나의 집중된 측면만 다룬다는 의미다. _187쪽
출판사 서평
자신의 작업을 개선하고자 하는 모든 프로그래머를 위하여!
전문가 수준의 코드는 버그 없이 실행되는 것 이상을 의미한다. 코드가 깔끔해야 하며, 가독성이 좋아야 하고, 유지보수하기 쉬워야 한다. 실력 있는 파이썬 프로그래머에서 전문 개발자로 발돋움하기 위해서는 코딩 스타일과 애플리케이션 설계, 그리고 개발 프로세스에 대한 업계 표준을 배워야 한다. 이 책이 필요한 이유가 바로 이것이다.
《프로그래머를 위한 파이썬》은 이해할 수 있으며, 유지보수가 가능하며, 확장 가능한 전문가 수준의 소프트웨어를 설계하고 작성하는 방법을 설명한다. 데인 힐라드는 프로그래밍 전문가가 되기 위해서 무엇이 필요한지 잘 알고 있으며, 유용한 예제와 연습 문제를 통해 코드를 모듈화하는 것과 복잡도를 줄여 품질을 향상시키는 시점과 이유 그리고 그 방법을 알려준다. 이러한 핵심 원칙을 배운다면 여러분의 코드는 읽기 쉽고, 관리하기 쉬우며, 재사용하기 좋게 변모할 것이다.
이 책의 주요 내용
■ 대규모의 파이썬 프로젝트 구성
■ 적절한 수준의 추상화
■ 깔끔하고 재사용 가능한 코드 작성
■ 상속과 조합
■ 테스트와 성능에 대한 고려 사항
이 책의 대상 독자
이 책은 파이썬의 기초 또는 다른 객체지향 언어에 익숙한 모든 프로그래머를 대상으로 한다.
기본정보
ISBN | 9791190665636 ( 1190665638 ) | ||
---|---|---|---|
발행(출시)일자 | 2020년 11월 13일 | ||
쪽수 | 280쪽 | ||
크기 |
187 * 245
* 23
mm
/ 630 g
|
||
총권수 | 1권 | ||
원서명/저자명 | Practices of the Python Pro/Hillard, Dane |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립