책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9791161752044
· 쪽수 : 388쪽
· 출판일 : 2018-09-18
책 소개
목차
1장. 시작하기
__동시성 개념의 역사
__스레드와 멀티스레드
____스레드란?
____멀티스레딩이란?
__프로세스
____프로세스의 속성
__멀티프로세싱
____이벤트 기반 프로그래밍
____터틀
__반응형 프로그래밍
____ReactiveX(RxPY)
__GPU 프로그래밍
____PyCUDA
____OpenCL
____Theano
__파이썬의 한계
____Jython
____IronPython
__동시에 그림 다운로드하기
__순차적으로 다운로드하기
____동시에 다운로드하기
__멀티프로세싱으로 소인수 찾기
____순차적으로 소인수 구하기
____동시에 소인수 구하기
__요약
2장. 병렬화
__동시성에 대한 이해
____동시성 시스템의 특징
__I/O 문제
__병렬화 이해하기
____CPU 제약 문제
__CPU상에서 어떻게 작동될까?
____단일 코어 CPU
____클록 속도
____마르텔리 범용성 모델
____시분할(작업 스케줄러)
____멀티 코어 프로세서
__시스템 아키텍처 스타일
____SISD
____SIMD
____MISD
____MIMD
__컴퓨터 메모리 아키텍처 스타일
____UMA
____NUMA
__요약
3장. 스레드 라이프
__파이썬에서의 스레드
____스레드 상태
____상태 플로우 차트
____여러 형태의 스레드
____스레드를 시작하는 방법
____포킹
____스레드 데몬화
__파이썬에서 스레드 다루기
____스레드 시작하기
____스레드를 이용해 프로그램 속도 낮추기
____현재 실행 중인 모든 스레드의 개수 구하기
____현재 스레드 나타내기
____메인 스레드
____모든 스레드 열거하기
____스레드 확인하기
____스레드 종료하기
____고아 프로세스
__운영체제는 어떻게 스레드를 다룰까?
____프로세스 생성과 스레드 생성
__멀티스레딩 모델
____일대일 스레드 매핑
____다대일
____다대다
__요약
4장. 스레드 간 동기화
__스레드 간 동기화
____철학자의 저녁식사
____경합 조건
____위험 영역
__공유 자원과 데이터 경합
____join 메소드
____락
____R락
____R락과 일반적인 락
____컨디션
____세마포어
____한정된 세마포어
____이벤트
____배리어
__요약
5장. 스레드 간의 통신
__기본적인 자료 구조
____세트
____데코레이터
____클래스 데코레이터
____리스트
____큐
____queue 객체
____deque 객체
____원소 추가하기
____원소 꺼내기
____원소 삽입하기
____회전
__자체적인 스레드 세이프 통신 구조 정의하기
____웹 크롤러 예제
__요약
6장. 디버깅과 벤치마킹
__테스트 전략
____왜 테스트를 해야 하는가?
____동시성 소프트웨어 시스템 테스트
____어떤 것을 테스트할까?
____단위 테스트
____동시성 코드의 단위 테스트
____통합 테스트
__디버깅
____단일 스레드에서 작동해보기
____Pdb
____자식 스레드에서 예외 처리하기
__벤치마킹
____timeit 모듈
____데코레이터 활용하기
____타이밍 컨텍스트 관리자
__프로파일링
____cProfile
____line_profiler 툴
____메모리 프로파일링
__요약
7장. 실행자와 풀
__동시성 퓨처
____Executor 객체
__퓨처 객체
____퓨처 객체 내의 메소드
____퓨처 객체의 단위 테스트
____호출 가능한 작업 취소하기
____결과 얻어내기
____as_completed 사용하기
____콜백 설정하기
____예외 클래스
__ProcessPoolExecutor
____ProcessPoolExecutor 생성하기
____컨텍스트 관리자
____연습
____연산 속도 높이기
__웹 크롤러 성능 높이기
____계획하기
____연습: 각 페이지에서 크롤링한 더 많은 정보 얻기
__파이썬 2
__요약
8장. 멀티프로세싱
__GIL 작업
____하위 프로세스 활용하기
__프로세스 라이프
____fork를 사용해 프로세스 시작하기
____프로세스 스폰
____forkserver
____데몬 프로세스
____PID를 이용해 프로세스 확인하기
____프로세스 종료하기
____현재 프로세스 얻기
____프로세스를 하위 클래스화하기
__멀티프로세싱 풀
____concurrent
____컨텍스트 관리자
____프로세스 풀에 작업 전달하기
__프로세스 간 통신
____파이프
____파이프로 작업하기
____예외 처리하기
__multiprocessing
____네임스페이스
____큐
____Listener와 Client 클래스
__로깅
________예제
__순차적인 프로세스 통신하기
____PyCSP
__요약
9장. 이벤트 기반 프로그래밍
__이벤트 기반 프로그래밍
____이벤트 루프
__asyncio
____시작하기
____이벤트 루프
____태스크
____태스크 함수
__퓨처
____코루틴
____트랜스포트
____프로토콜
____코루틴 간의 동기화
____세마포어와 한정된 세마포어
____하위 프로세스
__asyncio 프로그램 디버깅
____디버깅 모드
__트위스티드
____간단한 웹 서버 예제
__gevent
__이벤트 루프
____greenlet
____예제: 호스트이름
____monkey 패키지를 이용한 패치
__요약
10장. 리액트 프로그래밍
__리액트 프로그래밍의 기본
____진정한 리액트 프로그래밍
__ReactiveX(RX)
____RxPY 설치하기
____관찰 가능 속성
____람다 함수
____오퍼레이터와 연결
____다양한 오퍼레이터
____핫 및 콜드 관찰 가능 속성
____이벤트 내보내기
____멀티캐스팅
____관찰 가능 속성 연결하기
____동시성
__PyFunctional
____설치와 공식 문서
____간단한 예제
____스트림, 변환, 액션
____필터링 리스트
____SQLite3 읽기 및 쓰기
____압축된 파일
____병렬 실행
__요약
11장. GPU 사용하기
__GPU 소개
__왜 GPU를 사용하는가?
____데이터 사이언스
__CUDA
____엔비디아 그래픽 카드 없이 CUDA로 작업하기
__PyCUDA
____특징
____간단한 예제
____커널
____GPU 배열
__Numba
____개관
____Numba의 특징
____하드웨어 간 호환성
____CUDA 기반 GPU에서의 Numba
____AMD APU에서의 Numba
__Accelerate
__Theano
____필요사항
____시작하기
____GPU에서 Theano 사용하기
____멀티 GPU 활용하기
__PyOpenCL
____예제
__요약
12장. 솔루션 선택하기
__책에서 다루지 못한 라이브러리
____GPU
____이벤트 기반과 리액트 라이브러리
____데이터 사이언스
__시스템 디자인하기
____요구사항
____디자인
____디자인과 관련된 책
____연구
__요약