1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

IPython 6.0-IPython을 최대한 활용하기 위한 인터랙티브 컴퓨팅의 고급 개념 이해
저자 : 토마스비터만 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 심지현

2018.03.08 ㅣ 432p ㅣ ISBN-13 : 9791161751276

정가30,000
판매가27,000(10% 할인)
적립금 1,500원 (5%)
배송일정 05월 07일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 홈페이지언어(HTM...
IPython은 고성능 병렬 컴퓨팅을 위해 고안된 파이썬 기반 언어다. 이 책은 IPython의 병렬 아키텍처와 유연한 병렬 프로그래밍 모델, 제로MQ와 MPI라는 메시징 시스템을 상세히 설명하며 IPython이 고성능 병렬 컴퓨팅에 적합한 이유를 논한다. 또한 IPython의 명령행과 내부 라이브러리, 데이터 시각화를 지원하는 여러 도구의 사용법을 일관된 예제와 함께 제공해 실제 개발 사례에 적용할 수 있도록 돕는다. 끝으로 테스트와 설명서라는 개발 단계까지 어떻게 지원하는지 알아본다.
펼쳐보기

[목 차]

1장. IPython을 사용한 고성능 컴퓨팅

__속도의 필요성
__포트란으로 해결 - 포트란이 다룬 문제
____가독성
____이식성
____효율성

____컴퓨팅 환경
__IPython과 포트란 중 선택
____포트란
____IPython
________객체지향
________채택의 편이성
____대중성 - 포트란 대 IPython
________유용한 라이브러리
____소프트웨어 개발(과 유지보수) 비용
________요구사항과 명세 얻기
________개발
________실행
________테스트와 유지보수
__대안
________교차 언어 개발
________프로토타이핑과 탐색 개발
__사례 - 고속 푸리에 변환
____고속 푸리에 변환
________포트란
________Python
__성능 관점
__소프트웨어 공학 관점
________복잡도 기반 측정
________크기 기반 측정
____현황
__고성능 컴퓨팅
____고성능 컴퓨팅 학습 곡선
____넘쳐나는 병렬화의 기회(아마존의 컴퓨터는 사용자의 컴퓨터보다 크다)
____고성능 컴퓨팅과 병렬화
____클라우드와 고성능 컴퓨팅
__병렬
____용어
____병렬 프로그래밍 예제
________직렬 프로그램
________병렬 동등
________논의
__요약

2장. 고급 셸 주제

__IPython이란?
__IPython 설치
__통합 배포
____Mastering
____콘다로 패키지 관리
__캐노피 패키지 매니저
__노트북의 변화터미널에서 시작하기
__파이썬을 뛰어넘는 IPython
____셸 통합
____히스토리
__매직 명령어
____맞춤형 매직 명령어 생성
__싸이썬
__IPython 설정
__디버깅
____사후 분석 디버깅
____구동 시 디버깅
____디버거 명령어
__읽기 - 평가 - 출력 루프와 IPython 아키텍처
__대안 개발 환경
____스파이더
____캐노피
____PyDev
____그 밖의 환경
__요약


3장. IPython을 사용한 병렬 컴퓨팅

__직렬 프로세스
____프로그램 카운터와 주소 공간
____배치 시스템
____멀티태스킹과 선점
____시분할
__스레딩
____파이썬으로 스레딩
____예제
____스레딩의 한계
____전역 인터프리터 락
________인터프리터가 하는 일
________CPython
________멀티코어 장비
________전역 인터프리터 락 제거
__다수의 프로세서 사용
__IPython 병렬 아키텍처
____개요
____컴포넌트
________IPython 엔진
________IPython 컨트롤러
________IPython 허브
________IPython 스케줄러
__ipyparallel 시작하기
____ipcluster
____Hello world
____map_sync 사용하기
____비동기 호출
____동기식 임포트
__병렬 매직 명령어
____%px
____%%px
____%pxresult
____%pxconfig
____%autopx
__병렬화 유형
____SIMD
____SPMD
________ipcluster와 mpiexec/mpirun
________ipcluster와 PBS
________엔진 구동
________컨트롤러 구동
________스크립트 사용하기
____맵리듀스
________스캐터와 개더
________더 정교한 방법
____MIMD
____MPMD
____태스크 파밍과 부하 분산
________@parallel 함수 장식자
__데이터 병렬화
____데이터 종속성이 없는 경우
____외부 데이터 종속성
__애플리케이션 조종
____디버깅
____사전 사후 분석 디버깅
____안전한 종료
__요약


4장. 제로MQ와 MPI를 사용한 메시징

__저장소 계층 구조
____주소 공간
____데이터 지역성
__제로MQ
____예제 제로MQ 프로그램
________서버
________클라이언트
____제로MQ의 메시징 패턴
________양방향
________클라이언트와 서버
________게시와 구독
________푸시와 풀
____제로MQ의 주요 특징
____제로MQ 사용 시 이슈
________시작과 종료
________프로세스 찾기
__MPI
____Hello World
____순위와 역할
____점대점 커뮤니케이션
____브로드캐스팅
____리듀스
____논의
________설정 변경
________작업 분할
________작업 분배
____프로세스 제어
________마스터
________워커
__제로MQ와 IPython
____제로MQ 소켓 타입
____IPython 컴포넌트
________클라이언트
________엔진(들)
________컨트롤러
________허브
________스케줄러
________연결 그림
____메시징 유스케이스
________등록
________심장 박동
________IOPub
__요약


5장. 툴킷 - IPython API

__성능 프로파일링
____utils.timing
____%%timeit 사용
____%%prun 사용
__AsyncResult 클래스
____multiprocessing.pool.Pool
________블로킹 메서드
________논블로킹 메서드
________결과 획득
________다양한 메서드를 사용한 예제 프로그램
____mp.pool.AsyncResult
________결과 획득
________다양한 메서드를 사용한 예제 프로그램
____AsyncResultSet 메타데이터
________메타데이터 키
________그 밖의 메타데이터
__Client 클래스
____속성
____메서드
__View 클래스
____View 속성
____파이썬 함수 호출
________동기식 호출
________비동기식 호출
________설정 호출
________잡 제어
__DirectView
________데이터 이동
________임포트
________논의
____LoadBalancedView
________데이터 이동
________임포트
__요약
6장. IPython과 외부 도구 통합

__R
____rpy2 모듈/확장
________rpy2 설치
____Rmagic 사용
________%R 매직
________%%R 매직
________푸시와 풀
____그래픽
____rpy2.r-objects 사용
________기초
________문자열을 R로 인터프리팅
__옥타브
____oct2py 모듈과 확장
________oct2py 설치
____옥타브 매직 사용
________%octave 매직
____%%octave 매직
____푸시와 풀
____그래픽
____옥타브 모듈 사용
________푸시와 풀
________옥타브 코드 실행
__하이
____hymagic 모듈과 학장
________hymagic 설치
____hymagic 사용
________%hylang 매직
________%%hylang 매직
____하이 간단 소개
________Hello world!
________괄호에 익숙해지기
________뜬금없는 위치에서의 산술 연산
________연쇄적 연산은 어디서든 가능하다
________하이의 제어 구조
________파이썬 호출
__요약

7장. 백문이불여일견 – 시각화

__Matplotlib
____matplotlib 시작
____초기 그래프
____그래프 수정
____대화형 제어
__보케
____보케 시작하기
____초기 그래프
____그래프 수정
________그래프 맞춤화
__대화형 플롯
________대화형 플롯 예제
__R
____ggplot2 설치와 판다스
________데이터 프레임 사용
____초기 그래프
________그래프 수정
________다른 관점
__파이썬-nvd3
____파이썬-nvd3 시작하기
____초기 그래프
____여러 도구를 함께 사용하기.
____다른 종류의 플롯
__요약


8장. 데모로는 부족해! – 테스트

__단위 테스트
____간단한 소개
________어서션
________환경 이슈
________테스트하기 쉽도록 테스트 작성
__unittest
____주요 개념
____setUp과 tearDown을 사용한 테스트
________일회성 setUp과 tearDown
____장식자
__pytest
____설치
____후방 호환성
____테스트 찾기
____테스트 파일 구성
____어서션
____setUp과 tearDown을 사용한 테스트
________전통적인 xUnit방식
____픽스처 사용
________누락과 실패
____몽키패치
__nose2
____설치
____후방 호환성
____테스트 찾기
________각 테스트 실행
____어서션과 설정, 해제
________xUnit방식의 수정
____장식자 사용
____플러그인
________junitxml 플러그인으로 XML 생성
__요약


9장. 설명서

__한 줄 주석
____한 줄 주석 사용하기
____함수 표기
________문법
________시맨틱
____타입 힌트
________문법
________시맨틱
__문서화 문자열
____예제
________문서화 문자열 상속
____추천 요소
________한 행 문서화 문자열
________문법
________다수 행 문서화 문자열
____예제
__RST(reStructuredText)
____역사와 목표
____고객
____해결안
____개요
________문단
________텍스트 방식
________글머리
________하이퍼링크
________섹션
__Docutils
____설치
____용법
____소스 파일 명세
__스핑크스
____설치와 시작
____소스 파일 명시
__요약


10장. 주피터

__설치와 시작
__대시보드
__노트북 생성
__파이썬 스크립트와 상호작용
__셀 작업
____셀 트릭
________셀 범위
________셀 실행
________재시작과 모두 실행
________매직
____셀 구조
________코드 셀
________마크다운 셀
________로우 셀
________헤딩 셀
__그래픽 생성
____matplotlib 사용
____보케 사용
____R 사용
____파이썬-nvd3 사용
__형식 변환
____그 외 형식
____nbviewer
__요약


11장. 미래

__역사
__주피터 프로젝트
____노트북
____콘솔
____주피터 클라이언트
____주피터의 미래
________공식 로드맵
________공식 하위 프로젝트
________인큐베이션
__IPython
____현재 활동
__병렬화의 대두
____메가헤르츠 전쟁의 종말
____문제점
____과거와의 유사점
____현재
________문제는 더 커지고 어려워진다
________컴퓨터는 더 병렬화되고 있다
________클라우드가 밀려온다
________방법이 없다
__성장하는 전문성
____NSF
________지속적인 혁신을 위한 소프트웨어 인프라
__요약
펼쳐보기
★ 요약 ★

IPython은 고성능 병렬 컴퓨팅을 위해 고안된 파이썬 기반 언어다. 이 책은 IPython의 병렬 아키텍처와 유연한 병렬 프로그래밍 모델, 제로MQ와 MPI라는 메시징 시스템을 상세히 설명하며 IPython이 고성능 병렬 컴퓨팅에 적합한 이유를 논한다. 또한 IPython의 명령행과 내부 라이브러리, 데이터 시각화를 지원하는 여러 도구의 사용법을 일관된 예제와 함께 제공해 실제 개발 사례에 적용할 수 있도록 돕는다. 끝으로 테스트와 설명서라는 개발 단계까지 어떻게 지원하는지 알아본다.

★ 이 책에서 다루는 내용 ★


■ 고성능 컴퓨팅에 IPython을 사용하는 개발 기술
■ IPython 인터랙티브 쉘의 이해
■ 제로MQ와 MPI를 사용한 메시지 전송
■ R, 줄리아, 자바스크립트와 같은 외부 도구와 IPython의 통합
■ 데이터 시각화
■ 데이터 테스트, 설명서 작성 방법
■ 주피터 노트북 시스템의 최신 개발 이해


★ 이 책의 대상 독자 ★

IPython을 최대한 활용해 인터랙티브 컴퓨팅을 쉽게 이용하며 IPython으로 고급 과학 컴퓨팅을 수행하려는 IPython 개발자를 위한 책이다.
IPython 6.0의 대화형 특징과 병렬 컴퓨팅 측면, 그 외 외부 도구와의 통합, 테스트, 설명서 같은 개념을 함께 배우려는 사용자에게 이상적이다.


★ 지은이의 말 ★

고성능 병렬 환경에서 활약 중인 IPython 6.0의 세계에 온 걸 환영한다. 지금까지는 파이썬이 관련 분야를 선도해왔으며, 이러한 강점을 기반으로 IPython이 만들어졌다.
고성능 컴퓨팅(HPC, High-performance computing)에는 다른 대다수 컴퓨팅 영역과 구별되는 많은 특징이 있다. 고성능 컴퓨팅의 특징과 IPython이 어떻게 판도를 바꾸는 기술이 될 수 있을지 간단히 요약한다.
우선 IPython 명령행을 설명한다. 주피터를 IPython 프로젝트로부터 분리했으므로 명령행은 개발자가 IPython 언어와 소통하는 기본 수단이다. 두 장에 걸쳐 설명할 만큼 중요한 주제다. 1장은 기초 명령어에 중점을 둬 IPython의 명령어 수행 방법을 설명한다. 2장은 좀 더 고급 명령어를 다루면서 명령행이 반드시 제공해야 하는 기능을 이해시킨다.
이어서 병렬 프로그래밍의 세부적인 내용을 설명한다. IPython에서 병렬 기능은 하나의 패키지로서 IPython으로 병렬 컴퓨팅을 수행하는 데 필요한 수많은 기능을 포함한다. 이 패키지는 유연한 병렬 프로그래밍 모델을 지원하며, 다중 병렬 아키텍처를 활용하는 데 매우 중요하다.
서로 다른 프로세서에서 병렬로 실행되는 프로그램들은 별도의 주소 공간이 있다 해도 종종 정보를 교환해야 한다. 이때 메시지 전송을 이용한다. 메시징 시스템인 제로MQ와 MPI를 소개하고, 두 시스템이 기존 프로그램에서 어떻게 쓰이며 IPython과 어떻게 상호작용하는지 다룬다.
사용자의 생산성을 강화할 수 있는 라이브러리도 자세히 알아본다. IPython 내에 들어있는 라이브러리와 외부 도구에서 제공하는 라이브러리를 포괄한다. 이 책이 다루는 많은 도구뿐만 아니라 다른 책에서도 계속 여러 도구를 설명하고 있지만, 병렬과 고성능 컴퓨팅 프로젝트에 적용할 만한 도구는 많지 않다.
IPython의 중요한 기능은 데이터셋과 결과의 시각화 지원이다. 언어에 내장된 기능과 외부 도구를 통한 지원을 포함해 IPython의 폭넓은 기능을 설명한다.
IPython에 대한 설명은 테스트와 설명서를 다루며 마무리한다. 종종 도외시되는 주제지만, 실패한 코드와 전문 코드를 분리해낼 때 중요하다. IPython이 2개발 단계를 어떻게 지원하는지 살펴본다. 끝으로 병렬 컴퓨팅 분야의 흐름을 논한다. 모든 기술이 늦어도 한 해 걸러 한 번씩은 변하는 점이 프로그래밍의 재미 중 하나다. 미래에 일어날 일을 예상해보자.

★ 옮긴이의 말 ★

오늘날은 바야흐로 빅데이터의 세상이다. 빅데이터가 일상에 깊숙이 스며들면서 대용량 분산 처리를 넘어 고성능 컴퓨팅과 병렬 컴퓨팅의 필요성도 자연히 커졌다. 과거 포트란이 주도하던 이 분야에 새롭게 등장한 강자가 바로 IPython이다.
IPython은 Interactive Python의 약자로 기존의 배치 처리 방식이 아닌 시스템과의 인터랙션을 강조한 고성능 컴퓨팅 언어다. IPython의 개발자인 페르난도 페레즈는 전통적인 파이썬에서 벗어나 명령행에서 인터랙티브하게 수행될 수 있는 노트북 형식의 인터페이스를 만들고자 했다. 그 결과 파이썬의 여러 강점과 객체지향 패러다임을 포함하는 IPython이 탄생했다.
이 책은 고성능 병렬 컴퓨팅의 관점에서 IPython이 갖는 고유한 특징을 면밀히 소개하고, 실제 프로젝트에 적용할 수 있도록 다양한 예제로 패키지와 라이브러리를 설명한다. 독자가 이해해야 할 핵심은 크게 세 가지다.
첫째, 고성능 병렬 컴퓨팅을 가능케 하는 IPython의 내부 병렬 아키텍처와 메시징 시스템이다. IPython의 병렬 아키텍처는 기본적으로 엔진, 컨트롤러, 허브, 스케줄러라는 네 개의 컴포넌트로 구성되는데, 실제 병렬 잡을 수행하는 엔진과 이를 관리하는 컨트롤러 (허브와 스케줄러를 포함)가 어떻게 동작하는지 보여준다. 또한 ipyparallel 라이브러리로 다양한 유형의 병렬 구조를 지원하는 방식도 설명한다. 더불어 병렬 프로세스 간 커뮤니케이션을 지원하는 대표적인 메시징 시스템인 제로MQ와 MPI도 살펴본다. 특히 제로MQ가 IPython의 내부 메시징 프레임워크로서 어떻게 쓰이고 있는지 예제와 함께 알아본다.
둘째, 앞서 설명한 병렬 아키텍처를 쉽고 효율적으로 다룰 수 있는 IPython의 내부 라이브러리를 알 수 있다. IPython이 제공하는 API를 사용하면 병렬 계산 결과에 접근하고 조작하거나 성능 프로파일링 등을 수행할 수 있다. 이 중 비동기식 호출을 가능케 하는 AsyncResult, 잡을 제어하는 Client 클래스, 여러 엔진을 하나의 엔티티처럼 다룰 수 있는 DirectView, 스케줄러를 사용해 블로킹 없이 다수의 잡을 실행하는 LoadBalancedView를 중점적으로 살펴본다.
셋째, IPython을 더욱 풍부하게 사용할 수 있는 외부 도구와 언어를 다룬다. 이 책은 두 가지 목적으로 나눠 설명하는데, 먼저 복잡한 컴퓨팅을 지원하는 외부 언어와의 통합이다. 통계에 적합한 R, 수 계산에 특화된 옥타브, 빅데이터 분석에 유용한 하이 등을 논한다. 다음은 데이터 시각화를 위한 외부 도구와의 통합이다. 파이썬 기반의 2D 그래프 라이브러리인 matplotlib, 파이썬 대화형 시각화 라이브러리인 보케, 그리고 R 등을 예제 코드와 함께 다룬다.
이 밖에도 모든 개발 프로젝트의 기본인 테스트와 설명서도 빼놓지 않는다.
과학과 공학 분야에 걸쳐 고성능 컴퓨팅 자원을 반드시 필요로 하는 문제들이 점차 늘어나고 있다. 또한 높은 성능과 확장을 위해 클라우드와 같은 병렬 컴퓨팅에 점점 더 의존하고 있다. IPython은 병렬 컴퓨팅을 위한 새로운 아키텍처와 병렬 장비로의 강력하고 유연한 인터페이스를 제공한다. 이 책을 통해 고성능 병렬 컴퓨팅에 IPython을 적극적으로 활용해보고 IPython의 가치를 스스로 평가해보길 바란다.


펼쳐보기
토마스비터만
루이지애나 주립대학교에서 박사 학위를 받고 현재 비텐베르크 대학의 조교수로 재직 중이다. 수년의 경력이 있고, 가장 최근에는 오하이오 슈퍼컴퓨터 센터에서 일했다. 전자 상거래, 기업 메시징, 무선 네트워크, 슈퍼컴퓨팅, 학계에 걸쳐 다양한 경험을 갖고 있다. 여가 시간에는 팩트출판사와 오라일리의 책을 저술하며 프로그래밍 감각을 잃지 않으려 노력한다.



옮긴이 심지현
이화여대 컴퓨터공학과를 졸업하고, KAIST 대학원 전산과에서 데이터베이스 전공으로 석사 학위를 취득했다. DB 외에 온톨로지, 개인화검색 등을 연구했으며, 졸업 후 네이버에서 검색 서버 설계 및 개발 실무 경험을 쌓다가 현재는 검색연구실에서 검색 모델링과 추천 시스템 관련 연구를 진행 중이다.

펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기