메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

웹어셈블리 인 액션

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

한빛미디어

번역서

판매중

  • 저자 : 제러드 갤런트
  • 번역 : 이일웅
  • 출간 : 2020-10-05
  • 페이지 : 528 쪽
  • ISBN : 9791162243473
  • eISBN : 9791162247501
  • 물류코드 :10347
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.6점 (12명)
좋아요 : 16

책소개

웹 개발의 새로운 지평을 열게 될 잠재력 높은 기술!

 

이 책은 웹어셈블리를 처음 접하는 분을 위한 안내서로, 자바스크립트에 의존하지 않고도 브라우저 기반의 고성능 애플리케이션을 만들 수 있는 방법을 알려줍니다. 네이티브 웹어셈블리 모듈을 작성하고, 자바스크립트 컴포넌트와 상호작용하고, 웹 워커와 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장: 웹어셈블리 모듈의 통합 테스트를 어떻게 작성하는지 살펴봅니다.

 

수정_200918_웹어셈블리인액션_700.jpg

저자소개

제러드 갤런트 저자

제러드 갤런트

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

이일웅 역자

이일웅

20년 가까이 국내외 엔터프라이즈 현장에서 자바 전문 풀스택 개발자, 소프트웨어 아키텍트로 프로젝트에 참여해 왔다. 어느덧 50대를 바라보는 중년 아재가 되었지만 아직도 기술이 궁금한 엔지니어다. 20여 권의 IT 전문서를 번역하며 동료, 후배 개발자들과 지식과 경험을 나누는 일에도 힘쓰고 있다. 집에서는 세 여인의 분에 넘치는 사랑을 받고 사는, 세상에서 제일 행복한 딸바보 아빠다. 

목차

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 예제 실습 추가 가이드

독자리뷰

오탈자 보기

부록/예제소스

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
웹어셈블리 인 액션
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
웹어셈블리 인 액션
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
웹어셈블리 인 액션
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?