간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (23,760원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (21,600원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (24,300원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (25,110원)
(최대할인 3만원 / 3만원 이상 결제)
Close

함수형 파이썬 프로그래밍 : 파이썬으로 배우는 쉬운 함수형 프로그래밍

원제 : Functional Python Programming: Create succinct and expressive implementations with functional programming in Python

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

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

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(319)

  • 사은품(2)

책소개

간결하고 이해하기 쉬운 파이썬 프로그램 작성을 위한 책!

파이썬은 배우기 쉽고 확장성과 생산성이 높은 언어로 다양한 분야에서 활용된다. 파이썬의 여러 기능 중에는 함수형 프로그래밍과 잘 어울리는 것이 많다. 이 책에서는 최근 인기가 높아진 함수형 프로그래밍 기법을 파이썬으로 적용하는 방법을 알려준다. 먼저 함수형 프로그래밍에 대해 소개하고, 일급 시민 함수와 고차 함수 등 기본적인 함수형 프로그래밍 개념을 파이썬으로 활용하는 방법을 설명한 다음, 제네레이터나 이터레이터 등을 활용해 성능과 개발 편의성을 동시에 잡을 수 있는 함수형 프로그래밍 기법을 알려준다. 그 과정에서 데이터 탐색과 관련된 다양한 예제를 통해 데이터를 정리하고 준비하는 함수형 프로그래밍 기법이 인공지능이나 머신 러닝에서 활용할 때 아이디어를 간결하고 우아하게 코딩할 수 있는 좋은 도구가 될 수 있음을 보여준다.

출판사 서평

이 책에서 다루는 내용
- 파이썬의 제네레이터 함수와 제네레이터 식을 사용해 엄격하지 않은 방법으로(지연 계산을 활용) 컬렉션을 다루는 방법
- itertools, functools, multiprocessing, concurrent.futures 등 파이썬 라이브러리 모듈을 사용한 효율적인 함수형 프로그램 작성 방법
- 객체지향적인 전위 표기법과 후위 표기법을 통해 파이썬 문자열을 활용하는 방법
- 튜플 종류를 활용해 상태가 있는 클래스 사용을 피하는 방법
- 합성 함수를 만들기 위해 데코레이터를 설계하고 구현하는 방법
- max(), min(), map(), filter(), sorted()와 같은 함수를 사용하는 방법
- 고차 함수를 작성하는 방법

이 책의 대상 독자
이 책은 함수형 프로그래밍에서 디자인 패턴과 기법을 빌려 간결하고 이해하기 쉬운 파이썬 프로그램을 작성하고자 하는 프로그래머를 위한 것이다. 함수형 스타일을 사용하면 일부 알고리즘을 우아하게 기술할 수 있다. 그러한 알고리즘을 사용하는 경우에는 파이썬 프로그램의 가독성을 높이고 유지 보수를 쉽게 하기 위해 함수형 스타일을 채택할 수 있고, 채택 해야만 한다.
어떤 문제를 함수형으로 접근하면 매우 성능이 뛰어난 알고리즘을 만들 수 있는 경우가 있다. 파이썬에서는 메모리와 처리 시간을 높일 가능성이 있는 큰 중간 데이터 구조를 만들어 내기가 쉽다. 함수형 프로그래밍 디자인 패턴을 활용하면, 큰 리스트를 같은 내용을 쉽게 표현하면서도 훨씬 더 작은 메모리를 차지하고 실행 시간도 더 짧은 제네레이터 식으로 바꿀 수 있다.

이 책의 구성
1장, '함수형 프로그래밍 소개'에서는 함수형 프로그래밍을 특징짓는 몇 가지 기법을 소개한다. 각각을 파이썬으로 구현하는 몇 가지 방법을 식별하고, 파이썬 애플리케이션을 만들기 위해 함수형 프로그래밍의 디자인 패턴을 도입하며, 그 장점을 살릴 수 있는 몇 가지 방법을 설명한다.
2장, '함수형 기능 소개'에서는 함수형 프로그래밍 패러다임의 여섯 가지 주요 특징을 살펴본다. 각각을 파이썬으로 구현하는 방법을 자세히 살펴본다. 또한 특징 중 일부는 파이썬에 잘 들어맞지 않는다는 것을 보여줄 것이다. 예를 들면, 많은 함수형 프로그래밍 언어에는 컴파일과 최적화를 지원하기 위한 복잡한 타입 지정 규칙이 있지만, 파이썬은 그렇지 않다.
3장, '함수, 반복자, 제네레이터'에서는 불변적인 파이썬 객체와 제네레이터 식을 활용하고, 함수형 프로그래밍의 개념을 파이썬에 도입하는 방법을 보여준다. 내장 파이썬 컬렉션을 살펴보고, 이를 함수형 프로그래밍의 개념에서 크게 벗어나지 않고 활용하는 방법도 살펴본다.
4장, '컬렉션으로 작업하기'에서는 내장 파이썬 함수를 사용해 데이터의 컬렉션에 대한 작업을 수행하는 방법을 보여준다. 이 장은 any(), all()과 같은, 값의 컬렉션을 축약해 단일 값을 만들어 내는 상대적으로 간단한 함수 몇 가지에 초점을 맞출 것이다.
5장, '고차 함수'에서는 map()과 filter()와 같이 일반적으로 사용하는 고차 함수를 살펴본다. 또한 다른 고차 함수도 몇 가지 다루고, 우리 스스로 고차 함수를 작성하는 방법에 대해서도 설명할 것이다.
6장, '재귀와 축약'에서는 재귀를 사용하는 알고리즘을 설계하는 방법을 보여주고, 이를 고성능 for 루프를 사용해 최적화하는 방법을 설명한다. 또한 collections.Counter()를 포함한 여러 가지 축약 함수도 살펴본다.
7장, '튜플을 사용하는 다른 기법'에서는 불변 튜플과 이름 있는 튜플을 상태가 있는 객체 대신 활용하는 여러 가지 방법을 보여준다. 불변 객체는 훨씬 단순한 인터페이스를 제공한다. 그래서 애트리뷰트를 잘못 사용하거나 객체를 일관성이 없거나 잘못된 상태로 만들 가능성에 대해 걱정하지 않아도 된다.
8장, 'itertools 모듈'에서는 itertools 표준 라이브러리 모들이 제공하는 몇 가지 함수를 살펴본다. 이들을 활용하면 컬렉션이나 제네레이터 함수를 다루는 프로그램을 쉽게 작성할 수 있다.
9장, '더 많은 itertools 사용 기법'에서는 itertools 모듈이 제공하는 조합 함수에 대해 설명한다. 이러한 함수들은 조금 덜 유용하다. 이 장에서는 이러한 함수를 부주의하게 사용함으로써 조합으로 인한 폭발적인 복잡도 증가가 발생하는 경우를 보여주는 예제를 다룬다.
10장, 'functools 모듈'에서는 함수형 프로그래밍을 위해 그 모듈에 있는 함수를 활용하는 방법을 보여준다. 이 모듈에 있는 함수 중 몇 가지는 데커레이터를 만들 때 사용하기 적합하므로 11장에서 다룬다. 하지만 나머지 함수는 함수형 프로그램을 설계하고 구현할 수 있는 몇 가지 방법을 제공한다.
11장, '데커레이터 설계 기법'에서는 데커레이터를 합성 함수 제작을 위한 방법으로 사용할 수 있다는 것을 보여준다. 이러한 사용 방법은 상당한 유연성을 가지고 있지만, 개념적인 한계도 존재한다. 또한 지나치게 복잡한 데커레이터가 유용성을 제공하기 보다는 혼동을 야기할 수 있는 몇 가지 이유를 살펴본다.
12장, '다중 프로세스와 스레드 모듈'에서는 함수형 설계를 잘 하면, 그 결과로 처리 부하를 분산시킬 수 있다는 사실을 알려준다. 불변 객체를 사용한다는 것은 잘못 동기화한 쓰기 연산으로 인해 객체가 오염되는 일이 없다는 뜻이다.
13장, '조건식과 연산자 모듈'에서는 파이썬의 엄격한 평가 순서를 깰 수 있는 방법을 보여준다. 하지만 그러한 방면에서 우리가 할 수 있는 일은 한계가 있다. 또한 operator 모듈을 살펴보고, 몇 가지 간단한 처리를 수행할 때 그 모듈을 사용하면 더 명확하게 프로그램을 짤 수 있음을 보여준다.
14장, 'PyMonad 라이브러리'에서는 PyMonad 라이브러리의 기능을 일부 살펴본다. PyMonad는 몇 가지 함수형 프로그래밍 기능을 추가 제공한다. 또한 이 라이브러리를 활용하여 모나드를 배울 수 있다. 일부 함수형 언어에서는 최적화 시 원하지 않는 순서로 뒤섞일 수 있는 연산의 순서를 정확하게 지정하기 위해 모나드를 사용해야만 한다. 하지만 파이썬은 이미 식과 문장의 엄격한 실행 순서를 지키기 때문에 모나드를 배우는 것은 실용성을 위해서라기보다는 교육적인 목적을 위해서다.
15장, '웹 서비스에 대한 함수적 접근'에서는 웹 서비스를 요청을 응답으로 변경하는 여러 가지 함수를 내포하는 컬렉션으로 정의할 수 있다는 사실을 확인한다. 또한 동적으로 사용자 요청에 응답하는 웹 콘텐츠를 만들 때 함수형 프로그래밍의 개념을 활용할 수 있는 방법을 살펴본다.
16장, '최적화와 개선'에서는 성능과 최적화를 위한 조언을 제공한다. 구현하기 쉽고, (올바른 맥락에서 활용하기만 하면) 성능을 극적으로 향상시켜줄 수 있는 메모라이제이션(memorization) 등의 기법을 강조할 것이다.

지은이의 말
파이썬은 다양한 함수형 프로그래밍 기능을 제공하며 배우기 쉽고 확장하기 쉬운 프로그래밍 언어다. 파이썬은 다양한 데이터 과학 분야의 애플리케이션에서 사용하기에 이상적이다.
실용적인 이 안내서는 다양한 함수형 프로그래밍 기법과 디자인 패턴을 파이썬으로 구현하는 방법을 보여준다. 일반적인 함수형 프로그래밍 개념을 살펴보는 것부터 시작해서, 일급 계층 함수나 고차 함수, 순수 함수 등의 함수형 기능과 그런 기능을 파이썬으로 만드는 방법에 대해 배우게 될 것이다. 추가로, 파이썬에서 일반적인 함수형 최적화를 처리할 수 있는 방법도 보게 된다. 더불어 데이터를 준비와 탐구 기법을 자세히 살펴본다. 더 나아가, 파이썬 표준 라이브러리의 기능이 함수형 프로그래밍 모델에 어떻게 잘 들어맞을 수 있는지 배울 것이다. 그 후 PyMonad 프로젝트와 대규모 시스템에 대한 몇 가지 예제를 사용해 마무리할 것이다.
이 책을 다 읽고 나면, 함수형 프로그래밍이 어떤 것인지와 프로그래밍 과정에 함수형 프로그래밍이 어떤 영향을 끼치는지, 왜 함수형 프로그래밍이 중요한지, 그리고 파이썬으로 함수형 프로그래밍을 어떻게 구현할 수 있는지를 이해할 수 있을 것이다.

옮긴이의 말
역자가 처음 함수형 프로그래밍 언어인 Standard ML을 접했던 20여 년 전만 해도 함수형 프로그래밍은 (일반 개발자들에게) 낯선 개념이었고, 지원하는 언어도 그리 많지 않았다.
하지만 세월이 지나면서 함수형 프로그래밍 요소를 지원하지 않는 언어를 찾아보기가 어려울 정도로 상황이 바뀌었다. 이제 클로저(람다)나 함수를 반환하는 함수, `map`이나 `fold`, `reduction` 등의 컬렉션 함수나 메소드를 지원하지 않는 언어는 거의 없고, 본격적인 함수형 언어인 스칼라나 클로저, 하스켈 등을 업무에 사용하는 직장이나 개인도 많이 늘어났다. 예를 들어 파이썬에서도 대규모 프로그래밍에서는 객체지향이나 모듈화 등 전통적인 복잡도 관리 기법을 주로 사용하지만, 개별 함수나 식의 계산 등의 소규모 프로그래밍에서는 제네레이터나 이터레이터, 데코레이터와 컬렉션을 사용해 함수적인 접근 방식을 사용하는 경우가 많다.
우리 나라에서도 실용적이면서도 생각을 코드로 표현하고 읽기 쉬운 파이썬을 사용하는 경우가 많이 늘어났다. 전통적인 명령형 코드로 파이썬 애플리케이션을 작성하는 것도 즐거운 일이지만, 함수형 프로그래밍을 좀 더 배우고 그것을 적재적소에 활용할 수 있다면 더 많은 재미와 더 높은 생산성을 함께 즐길 수 있을 것이다. 이 책은 바로 그런 개발자를 위한 것이다.
전통적인 명령형 프로그래밍에 익숙한 개발자들이 함수 프로그래밍을 사용하기 시작할 때 배워야 할 기본적인 코딩 방식과 개념이 몇 가지 있다. 또한, 처음부터 함수 프로그래밍을 지원하기 위해 만들어진 함수 언어와 달리 파이썬에서 함수 프로그래밍을 활용할 경우에 알아둬야 할 주의사항도 몇 가지 있다. 이 책은 함수 프로그래밍이 무엇인지 간략히 설명하고, 여러 함수 프로그래밍 기법을 파이썬으로 어떻게 구현하는지를 이해하기 쉬운 예제와 자세한 설명을 곁들여 소개한다. 그 과정에서 파이썬의 특성상 주의해야 할 여러 가지 사항을 알려줌으로써 프로그래머가 함정에 빠지지 않도록 도와준다. 이 책을 읽고 코드를 작성해 본 독자들은 곧 함수형 프로그래밍의 재미에 빠져들고, 실무에서도 다양한 부분에 함수형 프로그래밍 기법을 사용할 수 있게 될 것이다. 또한, 최근 각광받는 머신 러닝이나 인공지능에서 파이썬이 자주 사용되는 경향을 반영해, 탐색적 자료 분석 예제를 통해 통계를 처리하고 데이터에 숨어있는 경향을 분석하는 작업에 파이썬 함수형 프로그래밍을 어떻게 활용할 수 있는지를 맛보게 해준다.
자바와 C/C++만 강조하던 우리나라 전산 환경에 다양한 언어들이 도입되고, 개발자들이 한 언어의 패러다임에 매몰되지 않고 다양한 패러다임을 접하고 활용하는 것은 매우 바람직한 일이라 생각한다. 새로운 언어나 패러다임을 배우는 것은 그 자체로도 재미있을 뿐 아니라, 기존에 자신이 알고 있던 언어나 패러다임에 대한 이해를 한 단계 높여주며, 개발 시 사용할 수 있는 연장 통에 새로운 연장을 하나 더 추가함으로써 필요한 작업을 더 쉽게 처리하게 해준다. 아무쪼록 이 책이 독자 여러분이 조금 더 나은 프로그래머로 한 단계 올라가는 데 기여할 수 있기를 바란다.
- 브리즈번에서 오현석

목차

1장, 함수형 프로그래밍 소개
패러다임 구별하기
명령형 패러다임 구분하기
함수형 패러다임 사용하기
함수형 혼합체 사용하기
객체 생성 살펴보기
거북이의 스택
함수형 프로그래밍의 고전적인 예제
탐색적 자료 분석
요약

2장, 함수형 기능 소개
일급 계층 함수
- 순수 함수
- 고차 함수
변경 불가능한 데이터
엄격한 평가와 엄격하지 않은 평가
명시적 루프 상태 대신 재귀 사용
함수형 타입 시스템
낯익은 영역
어려운 개념 남겨두기
요약

3장, 함수, 반복자, 제네레이터
순수 함수 작성하기
일급 계층 객체인 함수
문자열 사용하기
tuple과 namedtuple 사용하기
- 제네레이터 식 사용하기
- 제네레이터의 한계
- 제네레이터 식 조합하기
제네레이터 함수를 사용해 원자료 정리하기
list, dict, set 사용하기
- 상태가 있는 매핑 사용하기
- bisect 모듈을 사용해 매핑 만들기
- 상태가 있는 집합 사용하기
요약

4장, 컬렉션으로 작업하기
함수의 다양성에 대한 정리
반복 가능 객체로 작업하기
- XML 파일 구문 분석하기
- 파일을 상위 수준에서 구문 분석하기
- 시퀀스의 원소를 둘씩 짝 짓기
- iter() 함수를 명시적으로 사용하기
- 단순한 루프 확장하기
- 제네레이터 식을 스칼라 함수에 적용하기
- 축약으로 any()와 all()을 사용하기
- len()과 sum() 사용하기
- 통계에 합계와 원소 개수 활용하기
zip()을 사용해 시퀀스를 구조화하거나 펼치기
- 튜플로 묶은 시퀀스를 다시 풀기
- 시퀀스 펼치기
- 평평한 시퀀스 구조화하기
- 평면 시퀀스 구조화하기 - 다른 방법
순서를 바꾸기 위해 reversed() 사용하기
enumerate()를 사용해 인덱스 번호 포함시키기
요약

5장, 고차 함수
max()와 min()을 사용해 최댓값, 최솟값 알아내기
파이썬의 람다 식 사용하기
람다와 람다대수
map() 함수를 사용해 함수를 컬렉션에 적용하기
- map()에 람다 형식 사용하기
map()을 여러 시퀀스에 활용하기
filter()를 사용해 데이터를 받아들이거나 거부하기
filter()를 사용해 이상값 식별하기
iter() 함수와 끝을 표시하는 특별한 값 사용하기
sorted()를 사용해 데이터 정렬하기
고차 함수 작성하기
고차 매핑과 필터 작성하기
- 매핑하면서 데이터 풀기
- 매핑하면서 추가 데이터를 감싸기
- 매핑하면서 데이터를 펼치기
- 걸러내면서 데이터 구조화하기
제네레이터 함수 작성하기
Callable로 고차 함수 만들기
- 좋은 함수형 설계를 보장하기
디자인 패턴 살펴보기
요약

6장, 재귀와 축약
수를 계산하는 간단한 재귀
- 꼬리재귀 호출 구현하기
- 재귀를 그대로 남겨두기
- 처리하기 어려운 꼬리재귀 다루기
- 재귀를 사용해 컬렉션 처리하기
- 컬렉션에 대한 꼬리 호출 최적화
- 축약과 겹치기 - 많은 값을 한 가지 값으로 줄이기
그룹 만들기 축약 - 많은 값을 좀 더 적은 값으로 줄이기
- Counter로 매핑 만들기
- 정렬을 사용해 매핑 만들기
- 키 값에 따라 데이터를 그룹화하거나 분할하기
- 더 일반적인 그룹화 축약 작성하기
- 고차 축약 함수 작성하기
- 파일 구문 분석기 작성하기
- - CSV 파일 구문 분석하기
- - 헤더가 있는 일반 텍스트 파일 구문 분석하기
요약

7장, 튜플을 사용하는 다른 기법
변경 불가능한 이름 있는 튜플을 레코드로 사용하기
함수형 생성자로 이름 있는 튜플 만들기
상태가 있는 클래스 사용을 피하기 위해 튜플 사용하기
- 통계적인 순위 할당하기
- 상태를 바꾸는 대신 감싸기
- 상태를 바꾸는 대신 다시 감싸기
- 스피어맨 순위 상관계수 계산하기
다형성과 파이썬다운 패턴 매치
요약

8장, itertools 모듈
무한 반복자로 작업하기
- count()로 개수 세기
- cycle()을 사용해 순환되는 원소를 계속 반복하기
- repeat()로 단일 값 반복하기
유한한 반복자 사용하기
- enumerate()로 수 할당하기
- accumulate()로 현재까지의 합계 구하기
- chain()으로 반복자 조합하기
- groupby()로 반복자 분할하기
- zip_longest(), zip()을 사용해 반복 가능 객체 합치기
- compress()로 걸러내기
- islice()로 부분 집합 선택하기
- dropwhile()과 takewhile()로 상태를 사용해 걸러내기
- 걸러내기 위한 두 가지 접근 방법인 filterfalse()와 filter()
- starmap()과 map()을 사용해 함수를 데이터에 적용하기
tee()를 사용해 반복자 복제하기
itertools 요리법
요약

9장, 더 많은 itertools 사용 기법
데카르트 곱 열거하기
곱을 축약하기
- 거리 계산하기
- 모든 픽셀과 모든 색 얻기
- 성능 분석
- 문제를 다시 배열하기
- 두 가지 변환 조합하기
값의 컬렉션 순열 구하기
모든 조합 구하기
요리법
요약

10장, functools 모듈
함수 도구
lru_cache로 결과 캐시하기
완전한 순서가 정해져 있는 클래스 정의하기
- 수 클래스 정의하기
partial()로 인자 중 일부만 적용하기
데이터 집합을 reduce()를 사용해 축약하기
- map()과 reduce() 조합하기
- reduce()와 partial() 사용하기
- 원데이터를 정리하기 위해 map()과 reduce() 사용하기
- groupby()와 reduce() 사용하기
요약

11장, 데커레이터 설계 기법
고차 함수로서의 데커레이터
- functools의 update_wrapper() 함수 사용하기
횡단 관심사
합성 설계
- 잘못된 데이터 처리하기
매개변수를 데커레이터에 추가하기
좀 더 복잡한 데커레이터 구현하기
설계의 한계를 인식하기
요약

12장, 다중 프로세스와 스레드 모듈
- 동시성의 진정한 의미는 무엇인가?
- 경계 조건
- 프로세스나 스레드 사이에 자원 공유하기
- 어디서 이익이 누적되는가?
다중 프로세싱 풀과 작업 사용하기
- 여러 큰 파일 처리하기
- 로그 파일 구문 분석하기 - 행 수집하기
- 로그 항목을 이름 있는 튜플로 만들기
- Access 객체의 추가 필드 구문 분석하기
- 자세한 접근 정보 걸러내기
- 자세한 접근 정보 분석하기
- 완전한 분석 프로세스
동시 처리에 다중 프로세스 풀을 사용하기
- apply()를 사용해 단일 요청 만들기
- map_async(), starmap_async(), apply_async() 사용하기
- 더 복잡한 다중 프로세스 구조
- concurrent.futures 모듈 사용하기
- concurrent.futures 스레드 풀 사용하기
- 스레드와 큐 모듈 사용하기
- 동시 처리 설계하기
요약

13장, 조건식과 연산자 모듈
조건식 평가하기
- 엄격하지 않은 딕셔너리 규칙 활용하기
- 참인 조건식 컬러내기
람다 대신 operator 모듈 사용하기
- 고차 함수를 사용할 때 이름 있는 애트리뷰트 가져오기
연산자를 사용한 starmap
연산자를 사용해 축약하기
요약

14장, PyMonad 라이브러리
다운로드 및 설치하기
함수적 합성과 커링
- 커링한 고차 함수 사용하기
- 더 어려운 방식으로 커링하기
함수적 합성과 PyMonad 곱셈 연산자
펑터와 적용 가능 펑터
- 지연 List() 펑터 사용하기
모나드의 개념과 bind() 함수, 이진 오른쪽 시프트 연산자(]])
모나드를 사용해 시뮬레이션 구현하기
추가 PyMonad 기능들
요약

15장, 웹 서비스에 대한 함수적 접근
HTTP 요청-응답 모델
- 쿠키로 상태 주입하기
- 서버를 함수형으로 설계하기
- 함수적인 관점에서 더 깊이 살펴보기
- 서비스 내포시키기
WSGI 표준
- WSGI 처리 도중에 예외 발생시키기
- 실용적인 WSGI 애플리케이션
웹 서비스를 함수로 정의하기
- WSGI 애플리케이션 만들기
- 원데이터 얻기
- 필터 적용하기
- 결과 직렬화하기
- 데이터를 JSON이나 CSV로 직렬화하기
- 데이터를 XML로 직렬화하기
- HTML로 데이터 직렬화하기
사용량 추적하기
요약

16장, 최적화와 개선
메모이제이션과 캐싱
메모이제이션 특화시키기
- 꼬리재귀 최적화
메모리 최적화
정확도 최적화
- 고객의 요구에 맞춰 정확도를 감소시키기
사례 분석 - 카이 제곱을 사용한 결정
- 원데이터를 Counter 객체를 사용해 걸러내고 축약하기
- 요약한 데이터 읽기
- Counter 객체에서 확률 계산하기
- 다른 요약 방법
예상 값을 계산하고 분할표 표시하기
- 카이 제곱 값 계산하기
- 카이 제곱 문턱값 계산하기
- 부분 감마 함수 계산하기
- 완전한 감마 값 계산하기
- 임의적인 분포의 확률 계산하기
요약

저자소개

스티븐 로트(Steven F. Lott) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 4종
판매수 111권

컴퓨터가 크고 비싸며 드물던 70년대부터 프로그래밍을 시작했으며, 프리랜서 소프트웨어 개발자 및 아키텍트로서 다양한 규모의 수많은 프로젝트를 수행했다. 10년 이상 비즈니스 문제를 해결하기 위해 파이썬을 사용해왔다. 현재 파이썬을 활용해 마이크로서비스와 ETL 파이프라인을 구현하고 있으며, [객체지향 파이썬 프로그래밍](에이콘, 2017), [함수형 파이썬 프로그래밍](에이콘, 2017), [유쾌한 파이썬](에이콘, 2015), [Python Essentials](packt, 2015) 등을 저술했다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

KAIST에서 전산학 학사와 석사 학위(프로그래밍 언어 연구실)를 취득했다. 삼성메디슨, 비트앤펄스 등에서 UI 개발자와 개발 팀장을 지냈고 호주에서 C++/풀스택 개발자로 일하고 있다. 웹과 모바일 등의 분야에서 값 중심 프로그래밍을 통해 오류 발생 가능성이 더 적으면서 유지보수가 편한 프로그램을 작성하는 방법과 이를 지원하는 여러 도구를 만드는 일에 관심이 많다. 최근에는 스칼라와 파이썬을 사용한 대규모 병렬 처리나 액터를 활용한 분산 처리 등을 공부하는 중이다.
[고성능 파이썬], [프로그래밍 스칼라](이상 한빛미디어), [Programming in Scala(3판

펼쳐보기

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 320권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

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

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

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

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용