모바일 서버 프로그래밍 입문
얼랭으로 만들며 배운다
만들면서 이해하는 모바일 서버 프로그래밍 입문서다. 이제 서버도 모바일 시대에 맞는 기술을 적용해야 한다. 이 책은 모바일 시대에 ‘딱 들어맞는’ 서버 프로그램을 어떻게 만들 것인가에 관한 책이다. 서버 구축 언어로는 얼랭을 쓰고 있다. 6억명의 유저가 초당 100만건의 메시지를 만들어내는 왓츠앱(WhasApp)이나 동시접속자 800만명을 커버하는 리그오브레전드의 채팅시스템이 얼랭으로 구축되어 있다. 이러한 시스템의 근본원리를 이해할 수 있고 만들어낼 수 있는 기술을 담고 있는 책이다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
_대상 독자
모바일 서버는 어떻게 만들어지는지 궁금한 개발자
항상 배우기를 즐겨하는 열정있는 개발자
_주요 내용
모바일 서버 프로그래밍에 딱 맞는 얼랭을 배우자!
얼랭은 서버 프로그래밍에 최적화된 프로그래밍 언어이면서 도구이다. 세계 최대의 메신저 서비스인 왓츠앱(WhatsApp)이나 리그오브레전드로 유명한 라이엇게임즈 및 수많은 회사들이 서버 시스템을 구축하는 데 얼랭을 사용하고 있다.
모바일 서버의 구조가 궁금하다면 이 책으로!
이 책은 얼랭을 구현언어로 선택하였지만, 모바일 서버가 어떻게 구성되는지에 관한 기반지식도 함께 제공하고 있다. 얼랭으로 구현도 해보면서 실제 모바일 서버는 어떻게 만들어야 하는지 그 원리까지 익힐 수 있다.
초보자가 쉽게 따라 할 수 있는 구성!
얼랭을 이용해서 실제 서버 프로그램을 제작해볼 수 있도록, Windows 기반의 개발 환경에서 초보자가 쉽게 따라할 수 있는 구성으로 되어 있다. 예제 코드를 기반으로 여러분은 실제 서비스에 사용할 수 있는 서버 프로그램을 만들 수 있을 것이다. 얼랭에 대해 알지 못해도 얼랭이 무엇이다 라는 감을 잡을 수 있도록 최소한의 설명을 추가하였다.
목차
목차
1-1 서버란 무엇인가?
1-2 모바일 세상과 서버
1-3 얼랭에 대해서
1-4 얼랭과 다른 언어의 비교
1-4-1 C++, Java와의 비교
1-4-2 Node.js와의 비교
1-4-3 도구는 도구일 뿐
1-5 얼랭 프로그래머의 자세
2장 개발 환경 구축
2-1 준비물
2-2 얼랭(Erlang) 설치
2-2-1 얼랭 쉘 (Erlang Shell)
2-2-2 Erlang Data Type
2-2-3 PATH 환경 설정
2-3 Git 설치
2-4 Rebar 설치
2-5 IntelliJ IDEA 설치
2-5-1 Erlang Plugin 설치
2-6 프로젝트 설정
2-7 기본 파일 추가
3장 기본 모바일 서버 만들기
3-1 서버 설계
3-1-1 Concurrency와 Parallelism
3-1-2 얼랭의 방식
3-2 기본 모바일 서버 만들기
3-2-1 컴퓨터 네트워크
3-2-2 프로토콜(Protocol) 정의
3-2-3 HTTP
3-2-4 얼랭의 HTTP Server
3-2-5 Cowboy 사용하기
3-2-6 Cowboy Router, Handler 작성
3-2-7 모바일 앱 연동
4장 로그인
4-1 로그인(Login)
4-1-1 API 설계
4-1-2 HTTP Method
4-1-3 API 정의
4-2 기능 구현
4-2-1 Cowboy router
4-2-2 URL Parser
4-2-3 Dynamic Code Loading
4-2-4 /login, /join
4-2-5 ETS와 Dets
4-3 모바일 앱 연동
4-4 문제점
5장 데이터베이스
5-1 데이터베이스란
5-1-1 ACID 트랜잭션(Transaction)
5-1-2 CAP 정리
5-1-3 얼랭과 데이터베이스
5-2 Mnesia
5-2-1 Record
5-2-2 Schema와 얼랭 노드
5-2-3 Table 생성
5-2-4 쓰기 읽기
5-3 DB 연동 구현
5-4 모바일 앱 연동
6장 유저 세션
6-1 User session
6-1-1 Erlang Process
6-1-2 Process Internals
6-1-3 Process 생성
6-1-4 Message 전달 및 받기
6-1-5 Links
6-2 구현하기
6-2-1 User Session Process 생성
6-2-2 Session Key
6-2-3 Point 저장 기능 추가
6-2-4 자동 로그아웃
6-3 모바일 앱 연동
6-4 코드 보완
7장 푸시 알림
7-1 푸시 알림이란?
7-1-1 무선 이동통신
7-1-2 푸시 알림
7-1-3 Google Cloud Messaging
7-1-4 Apple Push Notification Service
7-2 구현하기
7-2-1 서버 API 추가
7-2-2 /users/token 구현
7-2-3 GCM 구현
7-2-4 APNs 구현
7-3 안드로이드 앱과 연동
7-4 보완 해야 할 기능
8장 채팅과 메신저
8-1 채팅과 메신저
8-1-1 WhatsApp 메신저
8-1-2 League of Legends
8-2 설계하기
8-3 OTP application
8-3-1 gen_server
8-3-2 gen_fsm
8-3-3 gen_event
8-3-4 supervisor
8-4 구현하기
8-4-1 채팅방 지배인
8-4-2 채팅방 관리자
8-4-3 채팅방 사용하기
8-4-4 복구 테스트
9장 랭킹과 알고리즘
9-1 랭킹
9-2 정렬 알고리즘
9-1-1 lists
9-1-2 ordsets, orddict
9-1-3 sets, dict
9-1-4 gb_trees, gb_sets
9-1-5 ets
9-1-6 maps
9-2 성능 측정
9-2-1 Pseudo Random Number Generator
9-2-2 시간 계산
9-3 랭킹 구현
10장 보안
10-1 보안의 기본
10-1-1 클라이언트 보안
10-1-2 서버 보안
10-2 암호화
10-2-1 Base64
10-2-2 MD5, SHA-1
10-2-3 DES, AES
10-2-4 RSA
10-2-5 Diffie-Hellman key exchange
10-2-6 SSL/TLS
10-3 실전 사례
10-3-1 패스워드 저장
10-3-2 패킷 암호화
10-3-3 모바일 결제 검증
11장 분산 컴퓨팅
11-1 Distributed Erlang
11-1-1 Nodes
11-1-2 RPC
11-1-3 Remote Processes
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

