목차

1장 출발

1.1 로드맵
1.2 다시 출발

2장 시작

2.1 개관
2.2 얼랭 설치하기
2.3 이 책의 코드
2.4 셸 시작하기
2.5 간단한 정수 연산
2.6 변수
2.7 부동 소수점 수
2.8 애텀
2.9 튜플
2.10 리스트
2.11 문자열
2.12 패턴 매칭 다시 한번

3장 순차 프로그래밍

3.1 모듈
3.2 쇼핑으로 돌아가서
3.3 이름은 같고 애리티가 다른 함수
3.4 펀
3.5 간단한 리스트 처리
3.6 리스트 해석
3.7 산술 식
3.8 가드
3.9 레코드
3.10 case와 if 식
3.11 정상 순서로 리스트 구성하기
3.12 누산기

4장·예외

4.1 예외(Exceptions)
4.2 예외 발생시키기
4.3 try…catch
4.4 catch
4.5 오류 메시지 개선하기
4.6 try…catch 프로그래밍 스타일
4.7 가능한 모든 예외를 잡기
4.8 구식과 신식 예외 처리 스타일
4.9 스택 추적

5장 고급 순차 프로그래밍

5.1 BIF
5.2 바이너리
5.3 비트 구문
5.4 나머지 짧은 주제들

6장 프로그램 컴파일하고 실행하기

6.1 얼랭 셸 시작하고 중지하기
6.2 개발 환경 수정하기
6.3 프로그램을 실행하는 다른 방법들
6.4 Makefile로 컴파일 자동화하기
6.5 얼랭 셸에서 명령 편집하기
6.6 고민거리 떨쳐버리기
6.7 뭔가 잘못되었을 때
6.8 도움 받기
6.9 환경 개조하기
6.10 크래시 덤프(Crash Dump)

7장 병행성(Concurrency)

 

8장 병행 프로그래밍

8.1 병행성 프리미티브
8.2 간단한 예제
8.3 클라이언트-서버 개론
8.4 프로세스를 생성하는 데 걸리는 시간은?
8.5 타임아웃이 있는 receive
8.6 선택적 수신(Selective Receive)
8.7 등록된 프로세스
8.8 병행 프로그램을 작성하는 법
8.9 꼬리 재귀에 관한 한마디
8.10 MFA로 띄우기
8.11 과제

9장 병행 프로그램과 오류

9.1 프로세스 연결하기
9.2 on_exit 핸들러
9.3 오류의 원격 처리
9.4 오류 처리 상세
9.5 오류 처리 기본명령
9.6 연결된 프로세스 집합
9.7 모니터
9.8 계속 살아 있는 프로세스

10장 분산 프로그래밍

10.1 이름 서버
10.2 분산 프리미티브
10.3 분산 프로그래밍용 라이브러리
10.4 쿠키 보호 시스템
10.5 소켓-기반 분산

11장 IRC Lite

11.1 메시지 시퀀스 다이어그램
11.2 사용자 인터페이스
11.3 클라이언트 측 소프트웨어
11.4 서버 측 소프트웨어
11.5 애플리케이션 실행하기
11.6 채팅 프로그램 소스코드
11.7 연습

12장 인터페이스 기법

12.1 포트
12.2 외부 C 프로그램과 인터페이스하기
12.3 open_port
12.4 링크인 드라이버
12.5 노트

13장 파일 프로그래밍

13.1 라이브러리의 구성
13.2 파일을 읽는 여러 방법
13.3 파일에 쓰는 여러 방법
13.4 디렉터리 조작
13.5 파일에 관한 정보 찾기
13.6 파일 복사하고 지우기
13.7 잡동사니
13.8 Find 유틸리티

14장 소켓 프로그래밍

14.1 TCP 사용하기
14.2 제어 이슈
14.3 그 접속은 어디서부터 왔는가?
14.4 소켓과 오류 처리
14.5 UDP
14.6 여러 머신으로 동보하기
14.7 SHOUTcast 서버
14.8 더 깊이 들어가기

15장 ETS와 DETS: 대량 데이터 저장소 메커니즘

15.1 테이블에 대한 기본 조작
15.2 테이블의 유형
15.3 ETS 테이블 효율성 고려 사항
15.4 ETS 테이블 생성하기
15.5 ETS 예제 프로그램
15.6 DETS
15.7 아직도 못 다한 말?
15.8 코드 내역

16장 OTP 개론

16.1 제네릭 서버로 가는 길

16.2 gen_server 시작하기
16.3 gen_server의 콜백 구조
16.4 코드와 템플릿
16.5 더 들어가기

17장 Mnesia: 얼랭 데이터베이스

17.1 데이터베이스 질의
17.2 데이터베이스에 데이터 추가하고 제거하기
17.3 Mnesia 트랜잭션
17.4 테이블에 복잡한 데이터 저장하기
17.5 테이블의 유형과 위치
17.6 초기 데이터베이스 생성하기
17.7 테이블 뷰어
17.8 더 들어가기
17.9 코드 내역

18장 OTP로 시스템 구축하기

18.1 범용 이벤트 핸들링
18.2 오류 로거
18.3 알람 관리
18.4 애플리케이션 서버
18.5 슈퍼비전 트리
18.6 시스템 시작하기
18.7 애플리케이션
18.8 파일 시스템 구성
18.9 애플리케이션 모니터
18.10 더 들어가기
18.11 도대체 그 소수는 어떻게 만들었을까?

19장 멀티코어 서곡

 

20장 멀티코어 CPU 프로그래밍

20.1 멀티코어 CPU에서 효율적으로 실행되는 프로그램을 만들기
20.2 순차 코드 병렬화시키기
20.3 메시지는 작게, 계산은 크게
20.4 mapreduce와 디스크 색인하기
20.5 미래로 성장하기

부록 A 프로그램 문서화(Documentation)

A.1 얼랭 형 표기법
A.2 형을 사용하는 도구들

부록 B 마이크로소프트 윈도와 얼랭

B.1 얼랭
B.2 MinGW 내려 받아 설치
B.3 MSYS 내려 받아 설치
B.4 MSYS 개발자 툴킷 설치(선택)
B.5 이맥스(Emacs)

부록 C 자원(Resources)

 

부록 D 소켓 애플리케이션

 

부록 E 나머지 잡다한 것들

 

부록 F 모듈과 함수 레퍼런스