이미 소장하고 있다면 판매해 보세요.
|
1장 얼랭을 사용해야 하는 이유
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 |
|
얼랭으로 쉽게 배우는 모바일 프로그래밍
김상근 (dk1022@yes24.com)
2016.01.14.
현재의 CPU 설계 구조에서 단일 코어의 성능은 그 물리적인 한계에 근접했기 때문에 큰 향상을 기대하기 힘들다고 한다. 때문에 컴퓨터 연산능력은 코어를 병렬로 연결하여 성능을 높이는 방향으로 발전하고 있다.
하드웨어의 그러한 흐름에 맞추어 소프트웨어분야에서도 하나의 프로세스에서만 요청을 처리하기 보다는 여러 개의 프로세스가 병렬적으로 요청을 처리하는 방법에 대한 중요성이 더 커졌다. 얼랭이라는 언어가 만들어진 시기는 꽤 오래 전에 전화교환 시스템을 위해서 만들어졌는데 이 언어를 만들 당시의 요구사항이 우연찮게 현 시대의 요구에 부합하는 점이 많아서 얼랭이 최근 재조명되고 있다. 이 책은 많지 않은 분량에 모바일 서버의 핵심기능을 얼랭의 스타일로 잘 설명하고 있다고 느껴졌다. 얼랭은 함수형 언어로, 업계보다는 학계에서 주로 사용되는데 함수형 언어가 가질 수 있는 어려운 점들을 경계한 듯 어려워 보일 수 있는 문법들을 앞세우지 않고 독자가 좀 더 쉽게 이해할 수 있도록 접근한 듯 하다. 초경량 프로세스, 슈퍼바이져, 동적 업데이트 등 다른 언어에서는 그 구현이 굉장히 복잡하고 어려운 작업이었으나 얼랭으로는 굉장히 쉬운 일이 되어버린다는 점에서 굉장히 매력적인 언어가 아닐 수 없다. 그리고 보너스로 추가된 듯 보이는 푸시서버 코드는 당장 실무에 적용할 수 있을 정도로 괜찮으면서도 또한 간단하다. 실무에 더욱 더 활용되기 위해서 이 책과 같은 스타일로 MMOG를 구현하는 내용을 담은 책도 기대해 본다. |
|
만들면서 이해하는 모바일 서버 프로그래밍 입문서다. 이제 서버도 모바일 시대에 맞는 기술을 적용해야 한다. 이 책은 모바일 시대에 ‘딱 들어맞는’ 서버 프로그램을 어떻게 만들 것인가에 관한 책이다. 서버 구축 언어로는 얼랭을 쓰고 있다. 6억명의 유저가 초당 100만건의 메시지를 만들어내는 왓츠앱(WhasApp)이나 동시접속자 800만명을 커버하는 리그오브레전드의 채팅시스템이 얼랭으로 구축되어 있다. 이러한 시스템의 근본원리를 이해할 수 있고 만들어낼 수 있는 기술을 담고 있는 책이다.
샘플원고 살펴보기 → www.roadbook.co.kr/148 모바일 서버는 어떻게 만들어지는지 궁금한 개발자 항상 배우기를 즐겨하는 열정있는 개발자 모바일 서버 프로그래밍에 딱 맞는 얼랭을 배우자! 얼랭은 서버 프로그래밍에 최적화된 프로그래밍 언어이면서 도구이다. 세계 최대의 메신저 서비스인 왓츠앱(WhatsApp)이나 리그오브레전드로 유명한 라이엇게임즈 및 수많은 회사들이 서버 시스템을 구축하는 데 얼랭을 사용하고 있다. 모바일 서버의 구조가 궁금하다면 이 책으로! 이 책은 얼랭을 구현언어로 선택하였지만, 모바일 서버가 어떻게 구성되는지에 관한 기반지식도 함께 제공하고 있다. 얼랭으로 구현도 해보면서 실제 모바일 서버는 어떻게 만들어야 하는지 그 원리까지 익힐 수 있다. 초보자가 쉽게 따라 할 수 있는 구성! 얼랭을 이용해서 실제 서버 프로그램을 제작해볼 수 있도록, Windows 기반의 개발 환경에서 초보자가 쉽게 따라할 수 있는 구성으로 되어 있다. 예제 코드를 기반으로 여러분은 실제 서비스에 사용할 수 있는 서버 프로그램을 만들 수 있을 것이다. 얼랭에 대해 알지 못해도 얼랭이 무엇이다 라는 감을 잡을 수 있도록 최소한의 설명을 추가하였다. 한국에서도 얼랭을 사용해서 보다 쉽고 빠르고 안정적인 서버 시스템을 구축하는 개발자들이 늘어 났으면 하는 바람이 있다. 혹은 얼랭을 사용하지 않더라도 서버를 구축한다는 것이 어떤 의미인지 기초를 쌓을 수 있는 역할을 이 책이 해주었으면 좋겠다. 그래서 많은 사람들과 재미있고 더 멋진 서버를 구현하는 방법에 대해 이야기를 나누고 싶다. |