처음 배우는 엘릭서 프로그래밍 (쉽고 빠르게 익히는 함수형 프로그래밍)

처음 배우는 엘릭서 프로그래밍 (쉽고 빠르게 익히는 함수형 프로그래밍)

$42.00
Description
모험을 즐기는 개발자라면! 동시성·함수형 프로그래밍의 세계로 떠나보자
엘릭서는 고성능의 분산 얼랭 VM 위에서 동작하는 함수형 프로그래밍 언어다. 불변 데이터 구조와 액터 기반 동시성 모델을 깔끔하고 현대적인 문법으로 감싸고 있다. 엘릭서를 사용하면 그동안 시간을 잡아먹었던 데이터 정합성이나 애플리케이션 스케일링 같은 문제를 더는 걱정하지 않아도 된다.

함수형 프로그래밍이 어렵게만 느껴진다면 이 책을 펼쳐보자. 배경지식이 전혀 없어도 고수준 언어를 다뤄본 경험과 넘치는 모험심만 있다면 누구나 쉽고 빠르게 엘릭서 프로그래밍을 익힐 수 있다. 모든 문법과 함수를 세세하게 다루기보다는 간결하고 흥미로운 내용으로 구성하여 엘릭서와 함수형 프로그래밍이라는 새로운 세계로 이끌어준다. 책에서 소개하는 기능과 예제 코드는 엘릭서 최신 버전으로 테스트했으며 한국어판 부록에는 1.6 버전 이후 추가된 내용을 따로 수록했다.

Part 1 모험을 시작하자
코드 작성법, 도구와 컨벤션 등 엘릭서 프로그래밍 기초

Part 2 엘릭서의 핵심으로
액터 기반 동시성 모델과 높은 확장성 및 안정성을 위한 OTP

Part 3 더 깊이 빠져보자
메타프로그래밍을 위한 매크로와 모듈 기능 확장을 위한 비헤이비어 및 프로토콜
저자

데이브토머스

DaveThomas
좋은것을사람들에게널리알리는일을즐기는프로그래머.『실용주의프로그래머』(인사이트,2014)를공저했으며,애자일소프트웨어개발선언(https://agilemanifesto.org)을만드는데참여했다.『프로그래밍루비』(인사이트,2007)를집필해루비언어를세상에알렸으며『레일스와함께하는애자일웹개발』(인사이트,2007)은‘레일즈혁명’을촉발하는계기가되었다

목차

1장빨간약을먹어보자
_1.1프로그래밍은데이터를변형하는과정이다
_1.2엘릭서설치하기
_1.3엘릭서실행하기
_1.4이책을잘읽는방법

[1부전통적프로그래밍]

2장패턴매칭
_2.1할당문:당신이생각하는할당문이아니다
_2.2더복잡한매칭
_2.3언더스코어로값무시하기
_2.4변수는매칭당한번씩만바인딩된다
_2.5등호를바라보는다른시각

3장불변성
_3.1우리는이미불변데이터를알고있다
_3.2불변데이터는확실한데이터다
_3.3성능에미치는영향
_3.4불변데이터를이용해코딩하기

4장엘릭서기초
_4.1내장자료형
_4.2값타입
_4.3시스템타입
_4.4컬렉션타입
_4.5맵
_4.6바이너리
_4.7날짜와시간
_4.8이름,소스파일,컨벤션,연산자등등
_4.9변수의스코프
_4.10마무리하며

5장익명함수
_5.1함수와패턴매칭
_5.2함수는하나,본문은여러개
_5.3함수를반환하는함수
_5.4함수를인자로전달하기
_5.5함수는엘릭서의핵심이다

6장모듈과기명함수
_6.1모듈컴파일하기
_6.2함수의본문은블록이다
_6.3함수호출과패턴매칭
_6.4가드조건절
_6.5기본파라미터
_6.6프라이빗함수
_6.7끝내주는파이프연산자:|〉
_6.8모듈
_6.9모듈속성
_6.10모듈의이름:엘릭서,얼랭,아톰
_6.11얼랭라이브러리의함수호출하기
_6.12라이브러리찾기

7장리스트와재귀
_7.1리스트의머리와꼬리
_7.2머리와꼬리를사용해리스트처리하기
_7.3머리와꼬리를사용해리스트만들기
_7.4맵함수만들기
_7.5리스트를줄여하나의값으로만들기
_7.6더복잡한리스트패턴
_7.7리스트모듈실전
_7.8리스트와친해지기

8장맵,키워드리스트,집합,구조체
_8.1무엇을써야할까?
_8.2키워드리스트
_8.3맵
_8.4패턴매칭하기,맵수정하기
_8.5맵수정하기
_8.6구조체
_8.7중첩된딕셔너리구조
_8.8집합
_8.9큰힘은큰유혹을낳는다

9장속닥속닥-타입이란무엇일까?
_9.1엘릭서에서타입이란

10장컬렉션다루기-Enum과Stream
_10.1Enum:컬렉션처리하기
_10.2Stream:지연계산하기
_10.3Collectable프로토콜
_10.4컴프리헨션문
_10.5과거의신성함으로부터돌아오기

11장문자열과바이너리
_11.1문자열리터럴
_11.2‘문자열’이라는이름
_11.3작은따옴표문자열은문자코드의리스트다
_11.4바이너리
_11.5큰따옴표문자열은바이너리다
_11.6바이너리와패턴매칭
_11.7친숙하지만아직낯선

12장제어구문
_12.1if와unless
_12.2cond
_12.3case
_12.4예외발생시키기
_12.5예외를이용해설계하기
_12.6더적은것들로더큰효과를

13장첫번째프로젝트
_13.1목표:깃허브에서이슈가져오기
_13.21단계:mix로새로운프로젝트만들기
_13.3변형:명령줄파싱
_13.4기본적인테스트작성하기
_13.5리팩터링:거대함수주의보
_13.6변형:깃허브에서데이터가져오기
_13.72단계:라이브러리사용하기
_13.8변형:응답변환하기
_13.9변형:데이터정렬
_13.10변형:첫n개항목가져오기
_13.11변형:표형식으로포맷팅하기
_13.123단계:명령줄실행파일만들기
_13.134단계:로깅추가하기
_13.145단계:프로젝트문서생성하기
_13.15데이터변형을통해코딩하기

14장툴링
_14.1IEx를사용한디버깅
_14.2테스트
_14.3코드의존성
_14.4서버모니터링
_14.5소스코드포맷팅
_14.6물론이것이다가아니다

[2부동시성프로그래밍]

15장여러프로세스다루기
_15.1간단한프로세스
_15.2프로세스부하
_15.3프로세스가종료될때
_15.4병렬맵-얼랭의“Hello,World”
_15.5피보나치서버
_15.6에이전트:예고편
_15.7프로세스관점에서생각하기

16장노드-분산서비스의핵심
_16.1노드에이름짓기
_16.2프로세스에이름짓기
_16.3입력,출력,PID,노드
_16.4노드는분산처리의기본이다

17장OTP-서버
_17.1OTP가제공하는것
_17.2OTP서버
_17.3젠서버콜백
_17.4프로세스에이름짓기
_17.5인터페이스다듬기
_17.6서버를컴포넌트로만들기

18장OTP-슈퍼바이저
_18.1슈퍼바이저와워커
_18.2워커재시작옵션
_18.3슈퍼바이저는신뢰성의핵심이다

19장애플리케이션설계예제
_19.1Duper소개
_19.2Duper애플리케이션
_19.3잘실행될까?
_19.4엘릭서애플리케이션설계하기

20장OTP-애플리케이션
_20.1부모님세대의애플리케이션이아니다
_20.2애플리케이션명세파일
_20.3수열프로그램을OTP애플리케이션으로바꾸기
_20.4슈퍼비저닝은신뢰성확보의토대다
_20.5코드릴리스하기
_20.6디스틸러리:엘릭서릴리스매니저
_20.7OTP는믿을수없을정도로거대하다

21장태스크와에이전트
_21.1태스크
_21.2에이전트
_21.3더큰예제
_21.4에이전트와태스크냐,젠서버냐

[3부엘릭서심화]

22장매크로와코드실행
_22.1if문구현하기
_22.2매크로는코드를주입한다
_22.3내부표현을코드로서다루기
_22.4값주입에바인딩사용하기
_22.5매크로의스코프분리
_22.6코드조각을실행하는다른방법
_22.7매크로와연산자
_22.8한걸음더깊이
_22.9엄청나게더깊이

23장모듈연결하기-비헤이비어와use
_23.1비헤이비어
_23.2use와__using__
_23.3종합:메서드호출추적하기
_23.4use를사용하자

24장프로토콜-함수의다형성
_24.1프로토콜정의하기
_24.2프로토콜구현하기
_24.3사용가능한자료형
_24.4프로토콜과구조체
_24.5기본내장프로토콜
_24.6프로토콜과다형성

25장더멋진것들
_25.1사용자정의시길만들기
_25.2여러앱을관리하는엄브렐라프로젝트
_25.3아직끝이아니다!

[4부부록]

부록A예외-raise와try,catch와throw
A.1예외생성하기
A.2catch,exit,throw
A.3새로운예외정의하기
A.4이제이부록을무시하자

부록B타입명세와타입검사
B.1타입명세의사용처
B.2타입명세작성하기
B.3새타입정의하기
B.4함수와콜백의타입명세
B.5다이얼라이저사용하기

부록C엘릭서1.6이후추가된내용
C.1로거개선(1.7)
C.2릴리스기능추가(1.9)
C.3설정API개선(1.9,1.11)
C.4정렬기능개선(1.10)
C.5범위타입개선(1.12)
C.6파이프라이닝강화(1.12)
C.7스크립팅개선(1.12)

출판사 서평

프로그래밍커리어에전환점이필요하다면?엘릭서로함수형프로그래밍입문하기

멀게만느껴졌던함수형프로그래밍.엘릭서로시작해보는건어떨까요?엘릭서는함수형프로그래밍에가치를두면서도생산성에초점을맞춘실용적인언어입니다.이책을통해여러분은함수형프로그래밍이꼭복잡하거나수학적일필요가없다는걸알게될겁니다.그리고객체지향의틀에서벗어나프로그래밍을다른방식으로생각하게되고,무엇보다코딩이즐거워질겁니다!

이책은대표적인엘릭서입문서인데이브토머스의『ProgrammingElixir1.6』를전면보강한국내1호엘릭서입문서입니다.국내엘릭서사용자와입문자를만나기위해원서를탄탄히보완하고풍부한역주와팁으로설명을더했습니다.엘릭서최신버전을반영한예제코드와원서출간이후업데이트된내용을정리한한국어판부록까지든든히챙겨,매력적인엘릭서의세계로탐험을시작해보세요!


엘릭서는참재미있는언어입니다.메인언어로두기는쉽지않더라도서브언어로,또는취미로알아두면‘이런것도있구나’하고시야가넓어지는경험을가져다주는언어라고생각합니다.
_’옮긴이의말’중에서

이책은낯선프로그래밍언어의문법과프레임워크의상세한사용법에집중하기보다는그이면에깔린함수형프로그래밍,액터기반설계를위한프로그래머의사고방식변화에초점을맞추고있습니다.이책이훌륭한엘릭서소개책이면서도훌륭한함수형프로그래밍입문서가될수있는이유이기도합니다.
_’감수자의말’중에서

대상독자
컴퓨터,고수준언어지식약간,모험심만있다면누구나!