간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (21,380원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (15,750원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (18,000원)
(최대할인 4만원 / 2만원 이상 결제)
Close

프로그래머를 위한 파이썬 : 실전 프로젝트로 배우는 소프트웨어 개발의 원리와 정석

원제 : Practices of the Python Pro
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 47
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

25,000원

  • 22,500 (10%할인)

    1,250P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 10/5(수) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

『프로그래머를 위한 파이썬』은 〈모든 것이 중요한 이유〉, 〈설계의 기초〉, 〈추상화와 캡슐화〉, 〈높은 성능을 위한 설계〉, 〈소프트웨어 테스트하기〉 등 수록하고 있는 책이다.

출판사 서평

자신의 작업을 개선하고자 하는 모든 프로그래머를 위하여!

전문가 수준의 코드는 버그 없이 실행되는 것 이상을 의미한다. 코드가 깔끔해야 하며, 가독성이 좋아야 하고, 유지보수하기 쉬워야 한다. 실력 있는 파이썬 프로그래머에서 전문 개발자로 발돋움하기 위해서는 코딩 스타일과 애플리케이션 설계, 그리고 개발 프로세스에 대한 업계 표준을 배워야 한다. 이 책이 필요한 이유가 바로 이것이다.

《프로그래머를 위한 파이썬》은 이해할 수 있으며, 유지보수가 가능하며, 확장 가능한 전문가 수준의 소프트웨어를 설계하고 작성하는 방법을 설명한다. 데인 힐라드는 프로그래밍 전문가가 되기 위해서 무엇이 필요한지 잘 알고 있으며, 유용한 예제와 연습 문제를 통해 코드를 모듈화하는 것과 복잡도를 줄여 품질을 향상시키는 시점과 이유 그리고 그 방법을 알려준다. 이러한 핵심 원칙을 배운다면 여러분의 코드는 읽기 쉽고, 관리하기 쉬우며, 재사용하기 좋게 변모할 것이다.

이 책의 주요 내용
■ 대규모의 파이썬 프로젝트 구성
■ 적절한 수준의 추상화
■ 깔끔하고 재사용 가능한 코드 작성
■ 상속과 조합
■ 테스트와 성능에 대한 고려 사항

이 책의 대상 독자
이 책은 파이썬의 기초 또는 다른 객체지향 언어에 익숙한 모든 프로그래머를 대상으로 한다.

추천사

David T. Kerns(Rincon Research Corporation)
“모든 언어에 적용할 수 있는 일반적인 소프트웨어 아키텍처와 진실에 대한 풍부한 정보!”

Davide Cadamuro(BMW Group)
“이 책을 읽고 전문가처럼 파이썬 코드를 작성하자.”

Mike Stevens(Silver Hammer Associates)
“가독성을 높이고 확장하기 쉬운 소프트웨어를 설계하는 방법에 대한 훌륭한 내용을 담은 따라하기 쉬운 책!”

Joseph Perenia(Sony Interactive Entertainment)
“이 책은 파이썬 개발자를 전문가가 되도록 안내할 것이다.”

목차

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쪽

저자소개

데인 힐라드 [저] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

황반석 [역] 신작알림 SMS신청
생년월일 -

저자 황반석은 한양대학교에서 컴퓨터 공학을 전공한 후로 지금까지 개발자의 길을 걷고 있다. 애플리케이션 개발이 천직임을 인정하면서도 혹시 다른 재능도 있는 건 아닐까 하는 희망으로 아이스하키도 해보고 기타도 만져보지만, 결국은 컴퓨터 앞에 앉아 개발에 몰두하는 자신을 발견하곤 한다. 최근에는 Flutter를 비롯한 멀티 플랫폼에 관심을 두고 있다. 옮긴 책으로는 《핵심만 골라 배우는 SwiUI 기반의 iOS 프로그래밍》 외 12종이 있다.

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    10.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용