함수형 언어 산책

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

이동규 | 제이펍 | 2020년 03월 26일 | PDF

이용가능환경 : Windows/Android/iOS 구매 후, PC, 스마트폰, 태블릿PC에서 파일 용량 제한없이 다운로드 및 열람이 가능합니다.

구매

종이책 정가 24,000원

전자책 정가 16,800원

판매가 16,800원

도서소개

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

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

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

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

저자소개

저 : 이동규
도쿄에 살면서 라인재팬의 데이터 엔지니어로 일하고 있다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 하고 있다. 번역한 책으로는 『자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉』과 『처음 만나는 파이썬』이 있다.

목차소개

CHAPTER 0 실습 환경 구축하기

도커 설치 방법

기본적인 도커 사용법

컨테이너의 포트 열기

실습 이미지 다운로드하기



CHAPTER 1 함수형 프로그래밍 입문

수학에서의 함수

부작용이란?

순수 함수

변경 불가 변수

절차 지향 언어 vs 선언형 언어

람다 대수

마무리



CHAPTER 2 함수형 언어의 증조 할아버지 - 리스프

도커 컨테이너 접속

리스프 실행 방법 - REPL

S-표현식

함수 정의

변수

조건 분기

리스트

리스트와 재귀 함수

람다식

고차 함수

마무리



CHAPTER 3 즐겁고 재밌는 에디터 - 이맥스

이맥스를 배워야 하는 이유

도커 컨테이너 접속

이맥스의 단축키 표기법

이맥스 켜고 끄기

이맥스로 파일 열기

커서 이동

region 선택하기

복사/잘라내기/붙여넣기

지우기

버퍼, 화면 분할

이맥스 커맨드 사용하기

Elisp 평가하기

나만의 이맥스 커맨드 만들기 - 기초편

나만의 이맥스 커맨드 만들기 - 응용편

마무리



CHAPTER 4 자바 세상에 나타난 현대판 리스프 - 클로저

도커 컨테이너 접속

실행 방법

변수 정의

지역 변수 정의

조건 분기

함수 정의

람다 함수

리스트와 벡터

리스트에 고차 함수 적용

반복문

파일 읽기

단어 세기

게으른 방법으로 큰 파일 다루기

클로저에서의 동시성

병렬 요청하는 웹 클라이언트

동시성 환경에서의 웹 서버

아톰

소프트웨어 트랜잭션 메모리

마무리



CHAPTER 5 타입으로 무장한 순수 함수형 언어 - 하스켈

도커 컨테이너 접속

실행 방법

하스켈에서의 함수

람다 함수

리스트

고차 함수

타입

마무리



CHAPTER 6 객체지향과 함수형 언어의 절묘한 결합 - 스칼라

도커 컨테이너 접속

실행 방법

변수 - val와 var

함수

패턴 매치

리스트

객체지향적인 문법

Akka

마무리



CHAPTER 7 얼랭 위에 핀 영약 - 엘릭서

도커 컨테이너 접속

실행 방법

주요 자료 구조

패턴 매칭

제어 구조

함수 정의

리스트에 대한 재귀 함수

람다 함수

파이프 연산자

Enum 모듈

표준 입출력 모듈 - IO

파일 입출력 모듈 - File

Flow 모듈

마무리



CHAPTER 8 하둡과 맵리듀스

도커 컨테이너 접속

환경 설정

예제 프로그램 수행 - 정규식 검색

예제 프로그램 코드 분석

맵리듀스 프레임워크

워드 카운트 작성하기

최댓값 구하기

마무리



CHAPTER 9 메모리 기반 고속 분산 병렬 프레임워크 - 스파크

도커 컨테이너 접속

환경 설정

스파크 REPL

RDD란 무엇인가?

스파크의 기본 구조

스파크 기동

워드 카운트

최댓값 구하기

톱 5 구하기

마무리



CHAPTER 10 스트리밍 프로세싱하는 재간둥이 - 아파치 플링크

상태를 포함한 스트리밍 처리란?

도커 컨테이너 접속

환경 설정

플링크 REPL

배치 파일 처리

스트리밍 처리 - 준비

스트리밍 처리

중간 결과를 확인하기

jar submit

체크포인트와 세이브포인트

세이브포인트 동작 확인

마무리

책을 마치며



Appendix 부록

도커 명령어

tmux

Windows AutoHotKey

회원리뷰 (0)

현재 회원리뷰가 없습니다.

첫 번째 리뷰를 남겨주세요!