간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (35,910원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (26,460원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (30,240원)
(최대할인 4만원 / 2만원 이상 결제)
Close

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

원제 : Programming Elixir >= 1.6
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 36
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

42,000원

  • 37,800 (10%할인)

    2,100P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 8/19(금) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

모험을 즐기는 개발자라면! 동시성·함수형 프로그래밍의 세계로 떠나보자

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

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

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

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

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

출판사 서평

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

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

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


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

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

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

추천사

조제 발림(엘릭서 창시자)
엘릭서와 얼랭 VM은 여러분이 소프트웨어를 작성하는 방식을, 앞으로 다가올 프로그래밍 커리어를 바꿔줄 겁니다

목차

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.1 Enum: 컬렉션 처리하기
_10.2 Stream: 지연 계산하기
_10.3 Collectable 프로토콜
_10.4 컴프리헨션 문
_10.5 과거의 신성함으로부터 돌아오기

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

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

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

14장 툴링
_14.1 IEx를 사용한 디버깅
_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.1 OTP가 제공하는 것
_17.2 OTP 서버
_17.3 젠서버 콜백
_17.4 프로세스에 이름 짓기
_17.5 인터페이스 다듬기
_17.6 서버를 컴포넌트로 만들기

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

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

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

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

[3부 엘릭서 심화]

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

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

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.2 catch, 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)

관련이미지

저자소개

데이브 토머스 [저] 신작알림 SMS신청
생년월일 -

데이브 토머스는 루비 커뮤니티의 주춧돌 같은 사람이며, 앞장서서 커뮤니티의 혁신적인 방향과 독창성을 보여주고 있다.

저자의 다른책

전체보기
권두호 [역] 신작알림 SMS신청
생년월일 -

대한민국 수도권에 거주하는 IT 노동자. 엘릭서를 사용한 메신저 서비스의 코어 개발에 초기 멤버로 참여해 아키텍처 설계부터 다양한 기능 개발까지 폭넓은 분야를 담당했다. 사람의 발길이 많이 닿지 않은 영역을 개척하고, 그곳에서 매력을 발견해 다른 사람들에게 전파하기를 즐긴다.

최성락 [감수]
생년월일 -

자바 서버 개발자로 경력을 시작했지만 Web 2.0 시기 자바스크립트에 빠져들어 HTML5 부흥기까지 웹 프런트엔드 엔지니어로 활동했다. 이후 루비와 엘릭서를 통해 다시금 서버 프로그래머로 전향, 현재는 금융 개발 분야에서 도메인 주도 설계를 접목하기 위해 노력하고 있다.

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용