그로킹 동시성 : 다양한 이야기와 재미있는 일러스트로 풀어나가는 동시성

그로킹 동시성 : 다양한 이야기와 재미있는 일러스트로 풀어나가는 동시성

$33.00
Description
grokking concurrency!
복잡한 수식과 전문 용어를 몰라도 괜찮다!
읽기만 해도 동시성을 이해할 수 있다!
동시성은 프로그램을 독립적으로 실행하도록 분리해 동시에 처리하는 방식이며, 이를 구현하려면 복잡성, 병렬성, 스레드, 프로세스, 멀티태스킹, 코루틴처럼 다양한 기술과 개념을 알고 적재적소에 사용할 줄 알아야 한다. 이 책은 어렵게만 느껴지던 동시성을 실제 생활에서 흔히 볼 수 있는 예와 흥미로운 일러스트로 설명한다. 특정 프로그래밍 언어나 구현에 국한해 설명하지 않으며, 좀 더 근본적인 내용인 개념과 원칙을 학습하도록 도와준다. 특히 확실하게 이해하기 위해 복잡한 수식보다는 시각적인 다이어그램으로 개념을 쉽게 설명하며, 다양한 이야기로 독자의 흥미를 이끈다. 이 책을 읽고 나면 동시성에 대해 전체적인 그림을 그릴 수 있을 것이다.

저자

키릴보브로프

저자:키릴보브로프
고참소프트웨어엔지니어로,고부하애플리케이션설계와개발에일가견이있다.현재는데이터엔지니어링에대해열정을보이며,전세계기업을위한첨단데이터엔지니어링프랙티스를개발한다.개인기술블로그도운영한다.

역자:심효섭
연세대학교문헌정보학과를졸업하고모교중앙도서관과의인연으로도서관솔루션업체에서일하면서개발을시작했다.네이버에서웹서비스개발업무를맡았으며,웹서비스외에머신러닝공부도꾸준히하고있다.최근관심사는회사에속하지않고도지속가능한삶이다.옮긴책으로는『쿠버네티스교과서』(길벗,2023),『도커교과서』(길벗,2022),『그림과실습으로배우는도커&쿠버네티스』(위키북스,2022),『비전시스템을위한딥러닝』(한빛미디어,2021),『도메인주도설계철저입문』(위키북스,2020)등20여종이있다.

목차

PARTI문어오케스트라:동시성교향곡입문하기

CHAPTER1동시성이란무엇인가
1.1동시성의중요성
1.2동시성의계층
1.3이책에서배우게될내용

CHAPTER2순차실행과병렬실행
2.1돌아보기:프로그램이란무엇인가?
2.2순차실행
2.3순차컴퓨팅
2.4병렬실행
2.5병렬컴퓨팅을위해필요한것
2.6병렬컴퓨팅
2.7암달의법칙
2.8구스타프슨의법칙
2.9동시성vs.병렬성

CHAPTER3컴퓨터의동작원리
3.1프로세서
3.2런타임시스템
3.3컴퓨터시스템의구조
3.4동시하드웨어의여러수준

CHAPTER4동시성을구현하는재료
4.1동시성프로그래밍의단계
4.2프로세스
4.3스레드

CHAPTER5프로세스간통신
5.1다양한통신방식
5.2스레드풀패턴
5.3패스워드크랙하기:파트2

PARTII동시성을다루는촉수의종류:멀티태스킹,분해,동기화

CHAPTER6멀티태스킹
6.1CPU중심과입출력중심
6.2멀티태스킹이필요한이유
6.3멀티태스킹:조감도
6.4멀티태스킹환경

CHAPTER7작업분해하기
7.1의존관계분석하기
7.2작업분해
7.3작업분해:파이프라인패턴
7.4데이터분해
7.5분해된작업의크기결정하기

CHAPTER8동시성과관련된문제해결하기:경쟁조건과동기화
8.1공유자원
8.2경쟁조건
8.3동기화

CHAPTER9동시성과관련된문제해결하기:교착상태와기아상태
9.1철학자들의만찬문제
9.2데드락
9.3라이브락
9.4기아상태
9.5동기화설계하기
9.6그외의주제

PARTIII비동기적으로움직이는문어들:여러판의피자를동시에만들기

CHAPTER10논블로킹I/O
10.1분산컴퓨팅의세계
10.2클라이언트-서버모델
10.3피자주문서비스
10.4블로킹I/O
10.5논블로킹I/O

CHAPTER11이벤트기반동시성
11.1이벤트란?
11.2콜백
11.3이벤트반복문
11.4입출력멀티플렉싱
11.5이벤트기반으로구현된피자서버
11.6리액터패턴
11.7메시지전달동기화하기
11.8여러가지입출력모델

CHAPTER12비동기통신
12.1비동기성이필요한이유
12.2비동기프로시저호출
12.3협동형멀티태스킹
12.4퓨처객체
12.5협동적멀티태스킹을적용한피자서버
12.6비동기피자식당
12.7결론:비동기모델

CHAPTER13실전:동시적애플리케이션작성하기
13.1그래서동시성이뭐였더라?
13.2포스터기법
13.3행렬곱연산
13.4분산단어세기

출판사 서평

일상속예제와흥미로운일러스트로
어려운동시성을쉽게배운다!

동시성은소프트웨어엔지니어링에서반드시필요한요소로,컴퓨터프로그램을독립적으로실행할수있는작업으로분리해효율적으로실행하는접근방식이다.복잡성,병렬성,스레드,프로세스,멀티태스킹이나코루틴처럼다양한기술을알고잘접목시켜야만동시성의큰그림을그릴수있다.
이책은동시성이처음인독자도배울수있도록실제생활에서볼수있는예제로동시성의개념과원칙을설명한다.전문용어를사용한딱딱하고지루한설명대신이해할수있는단어로명확하고쉽게설명하며,다양한이야기로동시성을하나하나풀어나간다.더불어복잡하고어려운개념들은일러스트와그림을이용해쉽게이해할수있게도와준다.
동시성에대해전체적인그림을어떻게그려야할지,앞으로어떻게공부하면좋을지에대한가이드를제공하며,직접실습할수있도록파이썬예제도제공한다.동시성개념을깊이배우고싶은주니어개발자와동시성프로그래밍을더탄탄히다지고싶은시니어개발자모두에게강력히추천한다.

이책에서다루는내용
●동시성프로그래밍의작성과실행
●성능,확장성,회복성을위한패턴
●올바른하드웨어선택하기
●비동기통신
●논블로킹기반동시성과이벤트기반동시성