본문 바로가기

추천 검색어

실시간 인기 검색어

함수형 언어 산책

도커 기반의 함수형 언어 실습에서 빅 데이터 처리 프레임워크까지
이동규 지음
제이펍

2020년 03월 28일 출간

종이책 : 2019년 12월 05일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (4.48MB)
ISBN 9791190665056
쪽수 284쪽
듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3.0.26, iOS v3.0.09,PC v1.2 버전 이상)
소득공제
소장
정가 : 16,800원

쿠폰적용가 15,120

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

함수형 언어와 빅 데이터 처리 프레임워크 학습을 위한 실습형 안내서!
이 책은 최초의 함수형 언어인 리스프(LISP)부터 리스프를 바탕으로 만들어진 강력한 에디터인 이맥스(Emacs), JVM 위에 되살아난 현대판 리스프인 클로저(Clojure), 순수 함수형 언어인 하스켈(Haskell), 객체지향과 함수형 패러다임을 조합한 스칼라(Scala), 얼랭(Erlang) 위에 핀 모던한 언어인 엘릭서(Elixir)에 이르기까지 과거와 현대를 아우르는 함수형 언어들을 도커를 기반으로 실습해 볼 수 있도록 구성했다. 핸즈온(hands-on) 방식으로 돌아가는 코드를 직접 만져보며 개념들을 쉽고 재밌게 익힐 수 있을 것이다.
CHAPTER 0 실습 환경 구축하기 1
도커 설치 방법 2
기본적인 도커 사용법 5
컨테이너의 포트 열기 7
실습 이미지 다운로드하기 8

CHAPTER 1 함수형 프로그래밍 입문 9
수학에서의 함수 10
부작용이란? 11
순수 함수 12
변경 불가 변수 13
절차 지향 언어 vs 선언형 언어 14
람다 대수 14
마무리 16

CHAPTER 2 함수형 언어의 증조 할아버지 - 리스프 17
도커 컨테이너 접속 18
리스프 실행 방법 - REPL 18
S-표현식 19
함수 정의 23
변수 26
조건 분기 28
리스트 30
리스트와 재귀 함수 33
람다식 42
고차 함수 42
마무리 43

CHAPTER 3 즐겁고 재밌는 에디터 - 이맥스 45
이맥스를 배워야 하는 이유 46
도커 컨테이너 접속 47
이맥스의 단축키 표기법 47
이맥스 켜고 끄기 48
이맥스로 파일 열기 48
커서 이동 49
region 선택하기 51
복사/잘라내기/붙여넣기 51
지우기 52
버퍼, 화면 분할 52
이맥스 커맨드 사용하기 54
Elisp 평가하기 56
나만의 이맥스 커맨드 만들기 ? 기초편 57
나만의 이맥스 커맨드 만들기 ? 응용편 59
마무리 63

CHAPTER 4 자바 세상에 나타난 현대판 리스프 - 클로저 65
도커 컨테이너 접속 66
실행 방법 66
변수 정의 68
지역 변수 정의 68
조건 분기 69
함수 정의 70
람다 함수 70
리스트와 벡터 72
리스트에 고차 함수 적용 73
반복문 74
파일 읽기 76
단어 세기 76
게으른 방법으로 큰 파일 다루기 83
클로저에서의 동시성 94
병렬 요청하는 웹 클라이언트 100
동시성 환경에서의 웹 서버 102
아톰 104
소프트웨어 트랜잭션 메모리 108
마무리 112

CHAPTER 5 타입으로 무장한 순수 함수형 언어 - 하스켈 113
도커 컨테이너 접속 114
실행 방법 114
하스켈에서의 함수 117
람다 함수 122
리스트 123
고차 함수 125
타입 127
마무리 138

CHAPTER 6 객체지향과 함수형 언어의 절묘한 결합 - 스칼라 141
도커 컨테이너 접속 142
실행 방법 142
변수 - val와 var 145
함수 146
패턴 매치 148
리스트 149
객체지향적인 문법 153
Akka 160
마무리 173

CHAPTER 7 얼랭 위에 핀 영약 - 엘릭서 175
도커 컨테이너 접속 176
실행 방법 176
주요 자료 구조 176
패턴 매칭 180
제어 구조 182
함수 정의 182
리스트에 대한 재귀 함수 183
람다 함수 184
파이프 연산자 |〉 185
Enum 모듈 186
표준 입출력 모듈 - IO 188
파일 입출력 모듈 - File 189
Flow 모듈 190
마무리 195

CHAPTER 8 하둡과 맵리듀스 197
도커 컨테이너 접속 198
환경 설정 198
예제 프로그램 수행 - 정규식 검색 199
예제 프로그램 코드 분석 200
맵리듀스 프레임워크 204
워드 카운트 작성하기 205
최댓값 구하기 210
마무리 216

CHAPTER 9 메모리 기반 고속 분산 병렬 프레임워크 - 스파크 217
도커 컨테이너 접속 218
환경 설정 218
스파크 REPL 218
RDD란 무엇인가? 219
스파크의 기본 구조 220
스파크 기동 221
워드 카운트 225
최댓값 구하기 228
톱 5 구하기 230
마무리 231

CHAPTER 10 스트리밍 프로세싱하는 재간둥이 - 아파치 플링크 233
상태를 포함한 스트리밍 처리란? 234
도커 컨테이너 접속 235
환경 설정 235
플링크 REPL 235
배치 파일 처리 237
스트리밍 처리 - 준비 239
스트리밍 처리 239
중간 결과를 확인하기 242
jar submit 244
체크포인트와 세이브포인트 248
세이브포인트 동작 확인 249
마무리 252
책을 마치며 253

Appendix 부록 255
도커 명령어 256
tmux 257
Windows AutoHotKey 258

함수형 프로그래밍이 각광받기 시작한 지도 제법 시간이 지났습니다. 그래서 이제는 많은 프로그래밍 언어들이 함수형 프로그래밍을 문법적으로 지원하게 되었습니다. 그러나 아직도 많은 개발자들이나 컴퓨터학을 공부하는 학생들이 ‘함수형 프로그래밍은 수학과 얽혀 있어 어렵고 복잡한 것’이란 선입견을 가지고 있지는 않은지요? 이 책은 함수형 프로그래밍을 마치 여행지를 산책하듯이 가벼운 마음으로 입문할 수 있도록 구성하였습니다. _xii

타이핑에 대한 이야기는 여기에서 마치고 다시 본론으로 돌아와 리스프에서의 함수에 대한 이야기를 이어 가자. 리스프에서의 함수는 하나의 값을 반환하는 것이 기본 전제다. 이것은 함수형 언어의 공통된 특징으로, 함수는 반드시 하나의 값을 반환한다. 이는 함수형 언어가 수학에서의 함수에 기초하기 때문이다. 다음과 같은 수학에서의 함수를 생각해 보자. _24p

현대 컴퓨터의 물리적인 구조는 폰 노이만 아키텍처를 따른다. 이 구조를 그대로 모사한 튜링 머신 계열의 절차/명령형 언어들은 메모리에 값을 기재하고 그 값을 바꿔가면서 프로그램을 작성하는 패러다임을 따른다. 즉, 메모리에 공간을 만들고 거기에 기재된 값을 바꾸는 일을 프로그래밍 언어를 통해 하나하나 기술해 주는 것이다. _80p

지금까지의 내용을 다시 한번 정리하면 타입이란 값들의 집합이고, 타입 클래스를 통해 그 집합에 속하는 값들 간에 적용할 수 있는 연산을 정의할 수 있다. Ord, Eq, Show와 같이 하스켈에서 제공하는 타입 클래스에 속하게 하거나, 나만의 타입 클래스를 만들어서 값들 간의 연산을 새롭게 정의할 수 있다. _133p

아직까지는 이것이 정말 분산 병렬 처리 프레임워크인지 실감이 나지 않을 것이다. 그저 함수형 언어의 REPL과 크게 다르지 않아 보이기 때문이다. 따라서 먼저 스파크의 기본 구조를 알아본 후, 스탠드얼론 클러스터(Stand-alone Cluster)를 기동하여 분산 처리되는 동작을 직접 확인해 보도록 하자. _220p

함수형 언어와 빅 데이터 처리 프레임워크 학습을 위한 실습형 안내서!

이 책은 최초의 함수형 언어인 리스프(LISP)부터 리스프를 바탕으로 만들어진 강력한 에디터인 이맥스(Emacs), JVM 위에 되살아난 현대판 리스프인 클로저(Clojure), 순수 함수형 언어인 하스켈(Haskell), 객체지향과 함수형 패러다임을 조합한 스칼라(Scala), 얼랭(Erlang) 위에 핀 모던한 언어인 엘릭서(Elixir)에 이르기까지 과거와 현대를 아우르는 함수형 언어들을 도커를 기반으로 실습해 볼 수 있도록 구성했다. 핸즈온(hands-on) 방식으로 돌아가는 코드를 직접 만져보며 개념들을 쉽고 재밌게 익힐 수 있을 것이다.

또한 이 책은 최근에 각광받고 있는 오픈 소스 빅 데이터 프레임워크의 인터페이스에 녹아 있는 함수형 패러다임에 대해서도 다룬다. 빅 데이터 시대를 개막한 아파치 하둡의 맵리듀스, 메모리 기반의 분산 병렬 프레임워크인 아파치 스파크, 분산 스트리밍 처리를 위해 탄생한 아파치 플링크에 대해 알아보며, 그 안에 담겨 있는 함수형 프로그래밍 테크닉에 대해서도 다룬다.

이 책의 특징
● 도커를 이용하여 사용 환경에 관계 없는 완벽한 실습 환경을 제공한다.
● 다양한 함수형 언어를 통해 프로그래밍의 원리를 학습한다.
● 빅 데이터 프레임워크에서의 함수형 프로그래밍을 배운다.

작가정보

저자(글) 이동규

라인에서 데이터 엔지니어로 일하고 있다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 해오다 처음으로 책 집필에 도전해 보았다. 번역한 책으로는 《자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉》과 《처음 만나는 파이썬》, 《칼퇴를 부르는 엑셀 테크닉 122》, 《모두를 위한 리눅스 프로그래밍》이 있다. 앞으로도 많은 사람이 즐겁게 공부할 수 있는 책을 꾸준히 번역/집필하며 살고 싶다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    함수형 언어 산책 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    함수형 언어 산책 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    함수형 언어 산책
    도커 기반의 함수형 언어 실습에서 빅 데이터 처리 프레임워크까지
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)