HOME > 상세정보

상세정보

웹어셈블리 인 액션 : C++ 코드와 엠스크립튼을 활용한 실전 웹어셈블리

자료유형
단행본
개인저자
Gallant, C. Gerard 이일웅, 역
서명 / 저자사항
웹어셈블리 인 액션 : C++ 코드와 엠스크립튼을 활용한 실전 웹어셈블리 / 제러드 갤런트 지음 ; 이일웅 옮김
발행사항
서울 :   한빛미디어,   2020  
형태사항
528 p. : 삽화 ; 24 cm
원표제
Webassembly in action : with examples using C++ and emscripten
ISBN
9791162243473
일반주기
색인수록  
부록: A. 설치 및 도구 설정 ; B. ccall, cwrap, 직접 함수 호출 ; C. 엠스크립튼 매크로 ; D. 연습 문제 해답 ; E. 텍스트 포맷 보충 자료 ; F. 예제 실습 추가 가이드  
000 00000cam c2200205 c 4500
001 000046062000
005 20210208135250
007 ta
008 201228s2020 ulka 001c kor
020 ▼a 9791162243473 ▼g 93000
035 ▼a (KERIS)BIB000015695426
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.2762 ▼2 23
085 ▼a 005.2762 ▼2 DDCK
090 ▼a 005.2762 ▼b 2020z4
100 1 ▼a Gallant, C. Gerard
245 1 0 ▼a 웹어셈블리 인 액션 : ▼b C++ 코드와 엠스크립튼을 활용한 실전 웹어셈블리 / ▼d 제러드 갤런트 지음 ; ▼e 이일웅 옮김
246 1 9 ▼a Webassembly in action : ▼b with examples using C++ and emscripten
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2020
300 ▼a 528 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 색인수록
500 ▼a 부록: A. 설치 및 도구 설정 ; B. ccall, cwrap, 직접 함수 호출 ; C. 엠스크립튼 매크로 ; D. 연습 문제 해답 ; E. 텍스트 포맷 보충 자료 ; F. 예제 실습 추가 가이드
700 1 ▼a 이일웅, ▼e
900 1 0 ▼a 갤런트, 제러드, ▼e
900 1 0 ▼a 갤런트 C., 제러드, ▼e

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.2762 2020z4 등록번호 151352573 도서상태 대출가능 반납예정일 예약 서비스 C

컨텐츠정보

책소개

웹 개발의 새로운 지평을 열게 될 잠재력 높은 기술! 이 책은 웹어셈블리를 처음 접하는 분을 위한 안내서로, 자바스크립트에 의존하지 않고도 브라우저 기반의 고성능 애플리케이션을 만들 수 있는 방법을 알려준다. 네이티브 웹어셈블리 모듈을 작성하고, 자바스크립트 컴포넌트와 상호작용하고, 웹 워커와 pthread를 활용해 성능을 최대한 높이는 지식을 습득할 수 있다. 필요한 함수와 특성, 기법을 쉽게 찾아볼 수 있도록 섹션을 깔끔하게 정리하는 방법도 배운다.

프런트엔드 개발의 핵심 기술로 자리매김할 웹 어셈블리 기술을 미리 준비하세요!

C/C++로 작성된 모듈을 웹브라우저에서 사용하려면 새로 만들어야 합니다.
하지만 웹어셈블리는 엠스크립튼 컴파일러를 사용해 C/C++ 코드를 손쉽게 자바스크립트 모듈로 변경할 수 있습니다! 무엇보다 자바스크립트는 그 태생적 한계 탓에 어느 이상의 성능은 내기 어려웠지만, 웹어셈블리는 브라우저 또는 Node.js 환경에서 네이티브에 가까운 속도로 코드를 실행할 수 있으니 속도가 중요한 웹 애플리케이션에서 매우 주목하는 기술로 각광받고 있습니다. C/C++뿐만 아니라 여러 언어로 작성된 코드를 네이티브에 가까운 속도로 실행하는 길을 제공합니다.

주요 내용

● 런타임에 다수의 모듈을 동적 링킹
● 모듈과 자바스크립트 사이의 통신
● 웹어셈블리 텍스트 포맷을 활용한 디버깅
● 웹 워커와 pthread의 스레딩 기법

누구를 위한 책 인가요?

● C/C++ 개발자
● 자바스크립트, 프런트엔드 개발자

장별 요약

1부 웹어셈블리 들어가기
웹어셈블리가 어떤 기술인지, 어떻게 작동하는지 설명하고, 앞으로 이 책에서 웹어셈블리 모듈을 컴파일할 때 사용할 엠스크립튼 툴킷의 사용법을 간략히 살펴봅니다.

1장: 웹어셈블리란 무엇이고 이 기술로 어떤 문제를 해결할 수 있는지 알아보고, 사용 가능한 프로그래밍 언어에 대해서도 이야기합니다.
2장: 웹어셈블리 모듈의 내부 구조를 들여다보고 각 섹션의 역할을 살펴봅니다.
3장: 웹어셈블리 모듈 컴파일 시 사용 가능한 엠스크립튼 툴킷의 다양한 출력 옵션과 웹어셈블리 자바스크립트 API를 소개합니다.

2부 웹어셈블리 모듈
웹어셈블리 모듈을 생성하고 웹 브라우저와 상호작용하는 프로세스를 이야기합니다.

4장: 기존 C/C++ 코드베이스를 웹어셈블리 모듈로 컴파일하려면 어떻게 수정해야 하는지 안내합니다. 웹페이지 자바스크립트와 모듈이 상호작용하는 원리도 설명합니다.
5장: 웹어셈블리 모듈에서 웹페이지 자바스크립트를 호출하려면 4장 예제를 어떻게 수정해야 하는지 가이드합니다.
6장: 한발 더 나아가 자바스크립트 함수 포인터를 웹어셈블리 모듈에 전달하는 방식으로 웹페이지 자바스크립트를 호출합니다. 이렇게 하면 그때그때 함수를 자바스크립트로 지정하고 프라미스를 최대한 활용할 수 있습니다.

3부 웹어셈블리 활용
동적 링킹, 병렬 처리 등 고급 주제를 다룹니다. 브라우저가 아닌 환경에서 웹어셈블리를 사용하는 방법도 설명합니다.

7장: 여러 웹어셈블리 모듈을 런타임에 링크하여 각자의 기능을 불러쓰는 동적 링킹 기법을 소개합니다.
8장: 7장의 내용을 심화하여 동일한 웹어셈블리 모듈의 인스턴스를 여럿 생성하고 필요할 때마다 각 인스턴스를 다른 웹어셈블리 모듈에 동적 링크하는 방법을 설명합니다.
9장: 웹 워커를 활용하여 웹어셈블리 모듈을 프리페치하는 방법과 웹어셈블리 모듈에서 pthread로 병렬 처리하는 방법을 배웁니다.
10장: 웹어셈블리의 무대를 브라우저 밖으로 확장하여 Node.js 환경에서 웹어셈블리 모듈을 사용하는 방법을 설명합니다.

4부 디버깅과 테스팅
웹어셈블리 모듈의 오류를 미리 발견하고 조치하기 위한 디버깅과 테스팅 기법을 설명합니다.

11장: 카드 짝 맞추기 게임 개발을 통해 웹어셈블리 텍스트 포맷에 대해 설명합니다.
12장: 카드 짝 맞추기 게임을 확장하면서 웹어셈블리 모듈의 다양한 디버깅 방법을 이야기합니다.
13장: 웹어셈블리 모듈의 통합 테스트를 어떻게 작성하는지 살펴봅니다.


정보제공 : Aladin

저자소개

제러드 갤런트(지은이)

2013년 자바스크립트, CSS3 프로그래밍 스페셜리스트 시험에 합격해서 MCP(Microsoft Certified Professional) 자격증을 취득했습니다. 자신의 블로그(https://cggallant.blogspot.com/)에서 서 열심히 블로깅을 하고 있습니다.

이일웅(옮긴이)

현재 국내 통신사의 차세대 프로젝트에서 카프카 담당 소프트웨어 아키텍트로 일한다. 2~3년 전부터 이벤트 기반의 마이크로서비스 아키텍처 설계에 많은 관심을 갖게 되었으며, 카프카 기술에도 관심이 많아 콘플루언트 인증 아파치 카프카 개발자/관리자(CCDAK, CCAAK) 자격을 취득했다. 십수 년간 다양한 엔터프라이즈 프로젝트 현장을 누벼왔고 이제는 어느덧 중년 아재가 되었지만, 아직도 코드와 씨름하며 열정적인 기술자로서 활동 중인 두 딸의 아빠다.

정보제공 : Aladin

목차

PART I 웹어셈블리 들어가기

CHAPTER 1 웹어셈블리 소개
1.1 웹어셈블리란?
1.2 어떤 문제를 해결할 수 있는가?
1.3 어떻게 작동하는가?
1.4 웹어셈블리 모듈의 구조
1.5 웹어셈블리 텍스트 포맷
1.6 웹어셈블리는 왜 안전한가?
1.7 웹어셈블리 모듈을 작성할 수 있는 언어
1.8 웹어셈블리 모듈은 어떻게 활용 가능한가?
1.9 마치며

CHAPTER 2 웹어셈블리 모듈의 내부 구조
2.1 표준 섹션
2.2 커스텀 섹션
2.3 마치며

CHAPTER 3 웹어셈블리 모듈 만들어보기
3.1 엠스크립튼 툴킷
3.2 웹어셈블리 모듈
3.3 엠스크립튼 출력 옵션
3.4 엠스크립튼으로 C/C++ 코드를 컴파일하고 HTML 템플릿 활용하기
3.5 엠스크립튼으로 자바스크립트 연결 코드 생성하기
3.6 엠스크립튼으로 웹어셈블리 파일만 생성하기
3.7 기능 감지: 웹어셈블리 가용 여부 테스트하기
3.8 실제 용례
3.9 연습 문제
3.10 마치며

PART II 웹어셈블리 모듈

CHAPTER 4 기존 C++ 코드베이스 재활용하기
4.1 엠스크립튼 연결 코드로 동작하는 웹어셈블리 모듈 생성하기
4.2 엠스크립튼 연결 코드 없이 동작하는 웹어셈블리 모듈 생성하기
4.3 실제 용례
4.4 연습 문제
4.5 마치며

CHAPTER 5 웹어셈블리 모듈에서 자바스크립트 호출하기
5.1 엠스크립튼 연결 코드로 동작하는 웹어셈블리 모듈 생성하기
5.2 엠스크립튼 연결 코드 없이 동작하는 웹어셈블리 모듈 생성하기
5.3 실제 용례
5.4 연습 문제
5.5 마치며

CHAPTER 6 웹어셈블리 모듈에서 함수 포인터로 자바스크립트와 통신하기
6.1 엠스크립튼 연결 코드로 동작하는 웹어셈블리 모듈 생성하기
6.2 엠스크립튼 연결 코드 없이 동작하는 웹어셈블리 모듈 생성하기
6.3 실제 용례
6.4 연습 문제
6.5 마치며

PART III 웹어셈블리 활용


CHAPTER 7 동적 링킹: 기초
7.1 동적 링킹의 장단점
7.2 동적 링킹 방법
7.3 동적 링킹 정리
7.4 실제 용례
7.5 연습 문제
7.6 마치며

CHAPTER 8 동적 링킹: 구현
8.1 웹어셈블리 모듈 생성하기
8.2 웹페이지 수정하기
8.3 실제 용례
8.4 연습 문제
8.5 마치며

CHAPTER 9 스레딩: 웹 워커와 pthread
9.1 웹 워커의 이점
9.2 웹 워커 사용 시 주의 사항
9.3 웹 워커로 웹어셈블리 모듈 프리페치
9.4 pthread 활용
9.5 실제 용례
9.6 연습 문제
9.7 마치며

CHAPTER 10 Node.js 환경의 웹어셈블리 모듈
10.1 지난 내용 복습하기
10.2 서버 사이드 검증하기
10.3 엠스크립튼 내장 모듈 다루기
10.4 웹어셈블리 자바스크립트 API 활용
10.5 실제 용례
10.6 연습 문제
10.7 마치며

PART IV 디버깅과 테스팅


CHAPTER 11 웹어셈블리 텍스트 포맷
11.1 웹어셈블리 텍스트 포맷으로 게임 코어 로직 작성하기
11.2 텍스트 포맷에서 웹어셈블리 모듈 생성하기
11.3 엠스크립튼 생성 모듈
11.4 HTML 및 자바스크립트 파일 작성하기
11.5 실행 결과
11.6 실제 용례
11.7 연습 문제
11.8 마치며

CHAPTER 12 디버깅
12.1 게임 확장하기
12.2 HTML 수정하기
12.3 시도 횟수 표시하기
12.4 시도 횟수 늘리기
12.5 요약 화면 업데이트하기
12.6 연습 문제
12.7 마치며

CHAPTER 13 테스팅과 향후 웹어셈블리 전망
13.1 자바스크립트 테스트 프레임워크 설치하기
13.2 테스트 작성 및 실행하기
13.3 앞으로 웹어셈블리의 전망
13.4 연습 문제
13.5 마치며

PART V 부록


APPENDIX A 설치 및 도구 설정
APPENDIX B ccall, cwrap, 직접 함수 호출
APPENDIX C 엠스크립튼 매크로
APPENDIX D 연습 문제 해답
APPENDIX E 텍스트 포맷 보충 자료
APPENDIX F 예제 실습 추가 가이드


정보제공 : Aladin

관련분야 신착자료

한국데이터산업진흥원 (2020)