본문 바로가기

리디북스 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기


웹어셈블리 인 액션 상세페이지

컴퓨터/IT 개발/프로그래밍

웹어셈블리 인 액션

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

구매종이책 정가38,000
전자책 정가30,400(20%)
판매가30,400
웹어셈블리 인 액션

책 소개

<웹어셈블리 인 액션> 웹 개발의 새로운 지평을 열게 될 잠재력 높은 기술!



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


저자 프로필

제러드 갤런트

2020.09.23. 업데이트 작가 프로필 수정 요청

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


저자 소개

제러드 갤런트

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

역자
이일웅

15년 가까이 자바 프런트엔드/백엔드 개발자 및 AA/SWA로 활동하면서 다양한 엔터프라이즈 프로젝트 현장을 누벼왔습니다. 집에서는 세 여인의 사랑을 분에 넘치게 받고 사는 행복한 딸 바보입니다. 2014년 이후로 십수 권의 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 예제 실습 추가 가이드


리뷰

구매자 별점

0.0

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디북스에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전