000 | 00000cam c2200205 c 4500 | |
001 | 000045925205 | |
005 | 20180104133705 | |
007 | ta | |
008 | 180104s2017 ulkd 001c kor | |
020 | ▼a 9791160502305 ▼g 93560 | |
035 | ▼a (KERIS)BIB000014554846 | |
040 | ▼a 241008 ▼c 241008 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 005.1 ▼2 23 |
085 | ▼a 005.1 ▼2 DDCK | |
090 | ▼a 005.1 ▼b 2017z13 | |
100 | 1 | ▼a Roestenburg, Raymond |
245 | 1 0 | ▼a Akka 코딩 공작소 / ▼d 레이먼드 뢰스텐버그, ▼e 롭 베커, ▼e 롭 윌리엄스 지음 ; ▼e 오현석 옮김 |
246 | 1 9 | ▼a Akka in action |
246 | 3 | ▼a 아카 코딩 공작소 |
260 | ▼a 서울 : ▼b 길벗, ▼c 2017 | |
300 | ▼a 552 p. : ▼b 도표 ; ▼c 24 cm | |
500 | ▼a 색인수록 | |
500 | ▼a 비동기 처리는 Akka에 맡기고 로직 구현에만 집중하자! | |
630 | 0 0 | ▼a Akka |
650 | 0 | ▼a Internet programming |
700 | 1 | ▼a Bakker, Rob, ▼e 저 |
700 | 1 | ▼a Williams, Rob, ▼e 저 |
700 | 1 | ▼a 오현석, ▼e 역 |
900 | 1 0 | ▼a 뢰스텐버그, 레이먼드, ▼e 저 |
900 | 1 0 | ▼a 베커, 롭, ▼e 저 |
900 | 1 0 | ▼a 윌리엄스, 롭, ▼e 저 |
945 | ▼a KLPA |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.1 2017z13 | Accession No. 121242878 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
아카(Akka)는 액터 모델을 기반으로 분산 및 동시성 애플리케이션을 작성하는 데 필요한 여러 도구를 제공해주는 툴킷이자 런타임이다. 반응형 프로그래밍을 구현하기 쉬울 뿐 아니라 비동기 처리에 드는 품을 줄일 수 있어 로직 구현에 더욱 집중할 수 있다.
최신 아카 버전인 2.5에서 동작을 확인했으며, 예제 코드는 스칼라로 작성되어 있다. 액터 모델 개념부터 액터 시스템 구축, 퓨처와 액터의 조합, 메시징 채널, 시스템 통합, 클러스터링 등 아카가 제공하는 기본 기능을 코드와 함께 살펴본다. 스칼라 기초 문법이나 JVM 및 자바에 관한 기초 지식이 있는 이들을 비롯해 아카로 애플리케이션을 만드는 방법을 배우고 싶어하는 이들에게 적합하다.
액터 모델, 동시성 처리, 테스트와 성능 튜닝, 클러스터링, 스트리밍 애플리케이션 구축까지!
아카의 개념과 사용법을 코딩하며 배운다!
아카(Akka)는 액터 모델을 기반으로 분산 및 동시성 애플리케이션을 작성하는 데 필요한 여러 도구를 제공해주는 툴킷이자 런타임이다. 아카를 사용하면 반응형 프로그래밍을 구현하기 쉬울 뿐 아니라 비동기 처리에 드는 품을 줄일 수 있어 로직 구현에 더욱 집중할 수 있다.
이 책은 최신 아카 버전인 2.5에서 동작을 확인했으며, 예제 코드는 스칼라로 작성되어 있다. 액터 모델 개념부터 액터 시스템 구축, 퓨처와 액터의 조합, 메시징 채널, 시스템 통합, 클러스터링 등 아카가 제공하는 기본 기능을 코드와 함께 살펴본다. 아카를 사용하면 삶이 얼마나 편해지는지 알게 될 것이다.
비동기 처리는 아카에 맡기고
로직 구현에만 집중하자!
《Akka 코딩 공작소》는 최신 아카 버전인 2.5에서 동작을 확인했으며, 예제 코드는 스칼라로 작성되어 있다. 액터 모델 개념부터 액터 시스템 구축, 퓨처와 액터의 조합, 메시징 채널, 시스템 통합, 클러스터링 등 아카가 제공하는 기본 기능을 코드와 함께 살펴본다. 아카를 사용하면 삶이 얼마나 편해지는지 알게 될 것이다.
* 다루는 내용
메시지 중심 시스템을 만드는 방법
동시성 처리
테스트와 성능 튜닝
내고장성 시스템 배포
규모 확장
클러스터화한 애플리케이션과 클라우드 기반 애플리케이션
최신 아카 버전 2.5 적용
* 독자 대상
-. 아카로 애플리케이션을 만드는 방법을 배우고 싶은 모든 사람
-. 스칼라 기초 문법을 알고 있으며 JVM 및 자바에 관한 기초 지식이 있는 사람
* 예제 소스 다운로드
https://github.com/gilbutITbook/006877
Information Provided By: :

Author Introduction
레이먼드 뢰스텐버그(지은이)
노련한 소프트웨어 장인이며 폴리글랏 프로그래머이고 소프트웨어 아키텍트다. 스칼라 커뮤니티에 적극적으로 참여하고 있으며 아카 커미터(committer)이기도 하다. akka-camel 모듈에도 기여했다.
롭 배커(지은이)
경험 많은 소프트웨어 개발자로 동시성 백엔드 시스템과 시스템 통합에 관심이 많다. 아카 버전 0.7부터 스칼라와 Akka를 사용해왔다.
롭 윌리엄스(지은이)
기계 학습에 초점을 맞춘, 자바 솔루션을 중심으로 하는 온토메트릭스(ontometrics)사의 설립자다. 십여 년 전부터 액터 기반 프로그래밍을 사용해왔고 프로젝트에 적용했다.
오현석(옮긴이)
모빌리티42 이사로 일하면서 매일 고객의 요청에 따라 코드를 만드는 현업 개발자다. 어릴 때 처음 컴퓨터를 접하고 매혹된 후 경기과학고, KAIST 전산학과(프로그래밍 언어 전공 석사)를 거치면서 계속 컴퓨터를 사용해왔다. 직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 여가시간에는 번역을 하거나 공부를 하면서 즐거움을 찾는다. 시간이 아주 많이 남을 때는 시뮬레이션 게임을 즐기면서 머리를 식히고, 어떻게 하면 막내 자식을 프로그래밍의 세계로 끌어들일 수 있을지를 고민하는 아빠이기도 하다. 『코어 파이썬 애플리케이션 프로그래밍』(에이콘, 2014)을 시작으로 『Kotlin in Action』(에이콘, 2017), 『아토믹 코틀린』(길벗, 2023), 『코딩 좀 아는 사람』(윌북, 2023) 등 30여 권의 책을 번역했다.

Table of Contents
1장 아카 소개 1.1 아카란 무엇인가? 1.2 액터: 간략한 정리 1.3 확장성에 대한 두 가지 접근 방법: 예제 준비하기 1.4 전통적인 규모 확장 ____1.4.1 전통적인 규모 확장과 내구성: 모든 것을 데이터베이스에 저장 ____1.4.2 전통적인 규모 확장과 상호 작용: 폴링 ____1.4.3 전통적인 규모 확장과 상호 작용: 웹 서비스 1.5 아카를 사용한 규모 확장 ____1.5.1 아카를 사용한 규모 확장과 내구성: 메시지 송수신 ____1.5.2 아카를 사용한 규모 확장과 상호 작용: 푸시 메시지 ____1.5.3 아카를 사용한 규모 확장과 실패: 비동기 디커플링 ____1.5.4 아카의 접근 방법: 메시지 송신과 수신 1.6 액터: 한 가지 프로그래밍 모델로 수직/수평 확장을 동시에 할 수 있음 ____1.6.1 비동기 모델 ____1.6.2 액터 연산 1.7 아카 액터 ____1.7.1 액터 시스템 ____1.7.2 ActorRef, 우편함, 액터 ____1.7.3 디스패처 ____1.7.4 액터와 네트워크 1.8 요약 2장 일어나 달려보자 2.1 복제, 빌드, 인터페이스 테스트 ____2.1.1 sbt로 빌드하기 ____2.1.2 GoTicks.com REST 서버 빨리 돌려보기 2.2 앱에 있는 액터 살펴보기 ____2.2.1 앱의 구조 ____2.2.2 구매를 처리하는 액터: TicketSeller ____2.2.3 BoxOffice 액터 ____2.2.4 RestApi 2.3 클라우드 속으로 ____2.3.1 헤로쿠에 앱 만들기 ____2.3.2 헤로쿠에 배포 및 실행하기 2.4 요약 3장 액터를 사용한 테스트 주도 개발 3.1 액터 테스트하기 3.2 단방향 메시지 ____3.2.1 SilentActor 예제 ____3.2.2 SendingActor 예제 ____3.2.3 SideEffectingActor 예제 3.3 양방향 메시지 3.4 요약 4장 내고장성 4.1 내고장성이란(그리고 내고장성이 아닌 것은)? ____4.1.1 일반 객체와 예외 ____4.1.2 중단되게 내버려 두기 4.2 액터 생명주기 ____4.2.1 시작 이벤트 ____4.2.2 종료 이벤트 ____4.2.3 재시작 이벤트 ____4.2.4 생명주기 처리를 한데 모으기 ____4.2.5 생명주기 감시하기 4.3 감독 ____4.3.1 슈퍼바이저 계층 ____4.3.2 미리 정의된 전략 ____4.3.3 사용자 정의 전략 4.4 요약 5장 퓨처 5.1 퓨처의 용례 5.2 미래에는 블로킹이 없다 ____5.2.1 미래를 위한 약속 Promise 5.3 미래적인 오류 5.4 퓨처 조합하기 5.5 퓨처와 액터 조합하기 5.6 요약 6장 첫 번째 분산 아카 애플리케이션 6.1 수평 규모 확장하기 ____6.1.1 일반적인 네트워크 용어 ____6.1.2 분산 프로그래밍 모델을 사용하는 이유 6.2 원격 액터를 사용해 수평 규모 확장하기____6.2.1 GoTicks.com 앱을 분산 앱으로 만들기 ____6.2.2 원격 REPL 동작 ____6.2.3 원격 검색 ____6.2.4 원격 배포 ____6.2.5 다중 JVM 테스트 6.3 요약 7장 설정, 로깅, 배포 7.1 설정 ____7.1.1 아카 설정 사용하기 ____7.1.2 기본 값 사용하기 ____7.1.3 아카 설정 ____7.1.4 다중 시스템 7.2 로깅 ____7.2.1 아카 애플리케이션에서 로깅하기 ____7.2.2 로깅 사용하기 ____7.2.3 아카의 로깅 제어하기 7.3 액터 기반 애플리케이션 배포하기 7.4 요약 8장 액터를 사용한 구조적 패턴 8.1 파이프와 필터 ____8.1.1 엔터프라이즈 통합 패턴: 파이프와 필터 ____8.1.2 아카에서의 파이프와 필터 8.2 엔터프라이즈 통합 패턴: 분배-취합 ____8.2.1 적용 ____8.2.2 아카를 사용한 병렬 작업 ____8.2.3 수신자 목록 패턴을 사용해 분배 컴포넌트 구현하기 ____8.2.4 병합기 패턴을 사용해 취합 컴포넌트 구현하기 ____8.2.5 분배-취합 패턴으로 컴포넌트를 한데 모으기 8.3 엔터프라이즈 통합 패턴: 라우팅 슬립 8.4 요약 9장 메시지 라우팅하기 9.1 엔터프라이즈 통합 라우터 패턴 9.2 아카 라우터를 사용해 부하 균등화하기 ____9.2.1 아카 풀 라우터 ____9.2.2 아카 그룹 라우터 ____9.2.3 ConsistentHashing 라우터 9.3 액터를 사용해 라우터 패턴 구현하기 ____9.3.1 내용 기반 라우팅 ____9.3.2 상태 기반 라우팅 ____9.3.3 라우터 구현 9.4 요약 10장 메시지 채널 10.1 여러 가지 채널 유형 ____10.1.1 점대점 채널 ____10.1.2 발행-구독 채널 10.2 특수 채널 ____10.2.1 데드레터 채널 ____10.2.2 배달 보장 채널 10.3 요약 11장 유한 상태 기계와 에이전트 11.1 유한 상태 기계 사용하기 ____11.1.1 유한 상태 기계 소개 ____11.1.2 FSM 모델 만들기 11.2 FSM 모델 구현하기 ____11.2.1 천이 구현하기 ____11.2.2 진입 동작 구현하기 ____11.2.3 FSM의 타이머 ____11.2.4 FSM 종료하기 11.3 에이전트를 활용해 공유 상태 구현하기 ____11.3.1 에이전트를 통해 공유되는 간단한 상태 ____11.3.2 상태 갱신 기다리기 11.4 요약 12장 시스템 통합 12.1 메시지 종말점 ____12.1.1 정규화기 ____12.1.2 공통 데이터 모델 12.2 아파치 카멜을 사용해 종말점 구현하기 ____12.2.1 외부 시스템에서 메시지를 받는 소비자 종말점 구현하기 ____12.2.2 외부 시스템에 메시지를 보내는 생산자 종말점 구현하기 12.3 HTTP 인터페이스 구현하기 ____12.3.1 HTTP 예제 ____12.3.2 akka-http로 REST 종말점 구현하기 12.4 요약 13장 스트리밍 13.1 기본 스트림 처리 ____13.1.1 소스와 싱크를 사용해 파일 복사하기 ____13.1.2 실행 가능한 그래프를 실체화하기 ____13.1.3 흐름으로 이벤트 처리하기 ____13.1.4 스트림 내 오류 처리하기 ____13.1.5 BidiFlow로 프로토콜 만들기 13.2 HTTP 스트리밍하기 ____13.2.1 HTTP를 통한 스트림 받기 ____13.2.2 HTTP를 통한 스트림으로 응답하기 ____13.2.3 콘텐트 타입과 협상을 위한 전용 마샬러와 역마샬러 13.3 그래프 DSL에서 팬 인/팬 아웃하기 ____13.3.1 흐름에 브로드캐스팅하기 ____13.3.2 흐름 병합하기 13.4 생산자와 소비자 사이 중재하기 ____13.4.1 버퍼 사용하기 13.5 흐르는 속도-그래프의 일부분 분리하기 ____13.5.1 느린 소비자를 위해 이벤트 모아서 처리하기 ____13.5.2 빠른 소비자 기능을 확장하기 13.6 요약 14장 클러스터링 14.1 클러스터링을 사용하는 이유 14.2 클러스터 멤버십 ____14.2.1 클러스터에 합류하기 ____14.2.2 클러스터에서 이탈하기 14.3 클러스터를 사용한 작업 처리 ____14.3.1 클러스터 시작하기 ____14.3.2 라우터를 사용해 작업 배분하기 ____14.3.3 회복성 있는 작업 ____14.3.4 클러스터 테스트하기 14.4 요약 15장 액터 영속성 15.1 이벤트 소싱으로 상태 복구하기 ____15.1.1 레코드 자체를 갱신하기 ____15.1.2 갱신 없이 상태 영속화하기 ____15.1.3 액터를 위한 이벤트 소싱 15.2 영속적인 액터 ____15.2.1 영속적인 액터 ____15.2.2 테스트 ____15.2.3 스냅샷 ____15.2.4 영속성 질의 ____15.2.5 직렬화 15.3 클러스터화한 영속성 ____15.3.1 클러스터 싱글톤 ____15.3.2 클러스터 샤딩 15.4 배달 보장 : AtLeastOnceDelivery 15.5 요약 16장 성능 향상 팁 16.1 성능 분석 ____16.1.1 시스템 성능 ____16.1.2 성능 매개변수 16.2 액터의 성능 측정 ____16.2.1 우편함 데이터 수집하기 ____16.2.2 처리 데이터 수집하기 16.3 병목 지점 해결로 성능 높이기 16.4 디스패처 설정하기 ____16.4.1 스레드 풀의 문제점 인지하기 ____16.4.2 디스패처 인스턴스 여러 개 사용하기 ____16.4.3 스레드 풀 크기를 정적으로 바꾸기 ____16.4.4 스레드 풀 크기를 동적으로 바꾸기 16.5 스레드 해제 방식 변경하기 ____16.5.1 스레드 해제 설정의 한계 16.6 요약 17장 미래를 미리 살펴보기 17.1 akka-typed 모듈 ____17.1.1 아카 2.5.x의 akka-typed 모듈에 맞춘 변화 17.2 아카 분산 데이터 17.3 요약