신간소개 2015.07.06 10:22


 

  ● 저자: 이국현

  ● 페이지: 344

  ● 판형: 사륙배변형판(172*225) 

  ● 도수: 1

  ● 정가: 27,000원

  ● 발행일: 2015년 7월 14일

  ● ISBN: 978-89-97924-17-2 93000




[강컴] [교보] [반디] [알라딘] [예스24] [인터파크]

[샘플원고 보기]

sample.pdf

※ 예제소스와 안드로이드 앱 다운로드 : 클릭


_도서 내용

만들면서 이해하는 모바일 서버 프로그래밍 입문서다

이제 서버도 모바일 시대에 맞는 기술을 적용해야 한다. 이 책은 모바일 시대에 딱 들어맞는서버 프로그램을 어떻게 만들 것인가에 관한 책이다. 서버 구축 언어로는 얼랭을 쓰고 있다. 6억명의 유저가 초당 100만건의 메시지를 만들어내는 왓츠앱(WhatsApp)이나 동시접속자 800만명을 커버하는 리그오브레전드의 채팅시스템이 얼랭으로 구축되어 있다

이러한 시스템의 근본원리를 이해할 수 있고 만들어낼 수 있는 기술을 담고 있는 책이다.

                                                                              

_대상 독자

모바일 서버는 어떻게 만들어지는지 궁금한 개발자

항상 배우기를 즐겨하는 열정있는 개발자


_목차

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 기본 모바일 서버 만들기

 

_주요 내용 

모바일 서버 프로그래밍에 딱 맞는 얼랭을 배우자!

얼랭은 서버 프로그래밍에 최적화된 프로그래밍 언어이면서 도구이다. 세계 최대의 메신저 서비스인 왓츠앱(WhatsApp)이나 리그오브레전드로 유명한 라이엇게임즈 및 수많은 회사들이 서버 시스템을 구축하는 데 얼랭을 사용하고 있다.

 

모바일 서버의 구조가 궁금하다면 이 책으로!

이 책은 얼랭을 구현언어로 선택하였지만, 모바일 서버가 어떻게 구성되는지에 관한 기반지식도 함께 제공하고 있다. 얼랭으로 구현도 해보면서 실제 모바일 서버는 어떻게 만들어야 하는지 그 원리까지 익힐 수 있다.

 

초보자가 쉽게 따라 할 수 있는 구성!

얼랭을 이용해서 실제 서버 프로그램을 제작해볼 수 있도록, Windows 기반의 개발 환경에서 초보자가 쉽게 따라할 수 있는 구성으로 되어 있다. 예제 코드를 기반으로 여러분은 실제 서비스에 사용할 수 있는 서버 프로그램을 만들 수 있을 것이다. 얼랭에 대해 알지 못해도 얼랭이 무엇이다 라는 감을 잡을 수 있도록 최소한의 설명을 추가하였다.

 

한국에서도 얼랭을 사용해서 보다 쉽고 빠르고 안정적인 서버 시스템을 구축하는 개발자들이 늘어 났으면 하는 바람이 있다. 혹은 얼랭을 사용하지 않더라도 서버를 구축한다는 것이 어떤 의미인지 기초를 쌓을 수 있는 역할을 이 책이 해주었으면 좋겠다. 그래서 많은 사람들과 재미있고 더 멋진 서버를 구현하는 방법에 대해 이야기를 나누고 싶다.

_저자 이국현


_편집자 코멘트

모바일 서버는 어떻게 움직이는가?”라는 부제가 어울릴 만한 책이다. 그만큼 모바일 서버의 기반지식을 충분히 설명해주고 있다. 또한 적은 코드로 놀라운 성능을 내는 얼랭이라는 언어의 능력에도 매료될 것이다. 얼랭의 아키텍처적인 부분, OS 같은 프로세스나 동시성과 병행성 기술 등의 설명 또한 무척 잘 되어 있다. 개발 환경도 윈도우 환경 기반의 IntelliJ를 쓰고 있어 쉽게 따라해 볼 수 있다. 모바일 서버의 아키텍처와 구현 방법 등이 궁금하거나 좀더 다양한 분야의 기술지식을 습득하고자 하는 개발자에게 강추할 만한 책이다.

 

_저자 소개

이국현

임베디드, 인터넷, 보안, 게임, 모바일 등의 분야에서 full-stack 프로그래머로 일해왔다. 특정 분야에 종속되기보다는 제품에 맞는 다양한 도구를 사용하여 개발하는 것을 즐긴다. 2008년 얼랭을 현업에서 사용하기 시작하면서 얼랭의 매력에 빠졌다. 현재 ㈜플레아의 창업자이자 대표이사 및 개발자로 일하고 있다.

_끝

posted by 로드북

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply 송재운

    옷..
    항상 그렇지만 그 열정이 부럽습니다.
    얼랭이 예전에 제가 잠시 볼때 참 독특하고 재미난 언어였는데요 ^^
    축하드려요.~

    2015.07.07 21:29
  2.  Addr  Edit/Del  Reply 송재운

    감사합니다. 책이 너무 재미있을거 같네요 &^^

    2015.07.10 22:58
  3.  Addr  Edit/Del  Reply psyren

    죄송합니다만
    궁금한게 있는데 8장의 채팅부분을 tcp로 구현해보려고 노력중인데,
    http로 가입하는것까지는 해보았습니다.

    chat_admin:chat(room2,"psyren","hi")을 어떻게 해야할지 막막하더라고요

    http로 연결하고 자식서버에 tcp로 전송하면되는건지 감이 잘안잡히는데

    그뒤로 채팅을 보내는건 어떻해야할지 막막합니다.

    간단한 예제나 추가설명좀 해주셨으면 좋겠습니다.

    그거 외에는 Unity3D로 연결을 해보았는데 아주 잘됩니다.
    감사합니다.

    2015.08.26 23:46
    •  Addr  Edit/Del 이국현

      간단하게 설명드리겠습니다. 두가지 방법을 말씀드릴께요.
      (1)
      Client -> HTTP CHAT -> Server
      Server -> Push -> Target Client
      Unity3D에서 http api를 이용해서 서버로 메세지를 전달하면
      서버는 GSM등의 Push기능을 이용해서 해당 유저의 클라이언트로 메시지를 전달하는거죠.
      (2)
      서버에서 gen_tcp나 Ranch를 이용해서 tcp socket을 하나 엽니다. 클라이언트들은 해당 tcp socket으로 접속을 하구요.
      그 다음 http를 이용해서 메세지를 받으면 해당 유저의 tcp socket으로 보내는 방법입니다. 유저의 socket은 ets로 관리하면 되겠죠.
      gen_tcp나 Ranch의 사용법은 인터넷에 찾아보시면 많습니다. ^^

      2015.08.27 11:08
  4.  Addr  Edit/Del  Reply James

    안드로이드앱의 소스코드를 받을 수 없을까요? 클라이인트의 구현 또한 궁금합니다.부탁드려요.

    2015.10.29 01:35
  5.  Addr  Edit/Del  Reply newbie

    안녕하세요 책보는중에 질문이 있습니다.
    책 2장에서 보면 compile-run을 하고 start-run을 하게 되면
    Erlang에서 아래와 같은 메시지가 나오고 있습니다.

    =INFO REPORT==== 14-Mar-2016::16:37:49 ===
    application: mon
    exited: {bad_return,
    {{mon_app,start,[normal,[]]},
    {'EXIT',
    {undef,
    [{'TopSupervisor',start_link,[],[]},
    {mon_app,start,2,
    [{file,"src/mon_app.erl"},{line,39}]},
    {application_master,start_it_old,4,
    [{file,"application_master.erl"},
    {line,272}]}]}}}}
    type: temporary

    진행하는데 문제 가 없는건가요? 아니면 에러메세지 인건가요.

    2016.03.14 21:55
    •  Addr  Edit/Del 이국현

      에러메세지입니다.
      책 67페이지에 TopSupervisor를 mon_sup로 수정하는 부분을 작업하지 않으신것 같습니다.

      2016.03.15 23:11
  6.  Addr  Edit/Del  Reply newbie

    몇번이고 책을 봤는데 왜 그곳만 그냥 지나쳤는지 ㅠㅠ. 좀더 세심하게 봐야하겠네요 정말 감사합니다.

    2016.03.15 23:32