회원 로그인 창


로그인 메뉴

따끈따끈! 신착 전자책

더보기

콘텐츠 상세보기
함수형 언어 산책


SMART
 

함수형 언어 산책

이동규 저 | 제이펍

출간일
2020-03-26
파일형태
PDF
용량
4 M
지원 기기
PC
대출현황
보유1, 대출0, 예약중0
콘텐츠 소개
목차
한줄서평

콘텐츠 소개

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

이 책은 최초의 함수형 언어인 리스프(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

한줄서평

  • 10
  • 8
  • 6
  • 4
  • 2

(한글 300자이내)
리뷰쓰기
한줄 서평 리스트
평점 한줄 리뷰 작성자 작성일 추천수

등록된 서평이 없습니다.