Web Workers: JavaScript 멀티스레딩
Source
Evernote/IFTTT Feedly/Web Workers Multithreaded Programs in JavaScript.md
Summary
이 문서는 O’Reilly 출판사의 책 ‘Web Workers: Multithreaded Programs in JavaScript’에 대한 간략한 소개입니다. 웹 애플리케이션에서 무거운 계산 작업을 UI 스레드와 병렬로 백그라운드에서 실행하여 성능을 향상시키는 방법을 다룹니다. 복잡한 알고리즘 없이도 Web Workers API를 통해 생산적인 멀티스레드 프로그래밍이 가능함을 강조하며, 이벤트 핸들링과 콜백에 대한 중급 이상의 JavaScript 지식을 가진 개발자를 대상으로 합니다.
Key Points
Web Workers를 사용하여 계산 집약적인 JavaScript 코드를 UI와 병렬로 실행
복잡한 멀티스레딩 알고리즘 없이도 간단한 API로 생산성 확보
대상 독자: 이벤트 핸들링 및 콜백에 익숙한 중급~고급 JavaScript 개발자
출처: O’Reilly 출판사 도서 및 Google Research 관련 링크
Web Workers API 개요 및 기본 사용법
High Performance Browser Networking (O’Reilly)
JavaScript 기반 분산 컴퓨팅 고려사항
JavaScript 성능 향상을 위한 Thread-level Speculation (TLS)
웹 개발자를 위한 디버깅 매뉴얼! 『자바스크립트 테스트와 디버깅』
웹 개발 레시피 (책 소개)
개발자의 데이터 레이스 탐지 도구 사용 현황 (Google 사례)
Node.js 란? (IBM developerWorks)
Distributed Electronic Rights in JavaScript
ML 기반 번들링: JavaScript 툴링의 미래
웹의 병목 현상: JavaScript
비동기적 JavaScript
Web Framework Benchmark Inspired
JavaScript 의 현대적 활용 분야 (2019)
List.js: HTML 리스트의 검색, 정렬, 필터링을 위한 경량 JavaScript 라이브러리
JavaScript Promises: 개념, 용어 및 표준화
HTML에서 Javascript와 CSS 기반으로 애니메이션을 구현하는 방법
Design Patterns in JavaScript (tcorral)
8bit.js: Web Audio API 기반 8비트 사운드 라이브러리
JavaScript this 키워드 동작 원리
Web Animations API: element.animate() (Chrome 36)
JavaScript 엔진의 동작 원리 (V8 기준)
풀스택 JavaScript 프레임워크 학습 조언 (Quora)
웹의 불안전한 JavaScript 사용 관행에 대한 측정 연구
JavaScript 과잉 조직화 (Over-Organizing) 의 적절성
2017 년 JavaScript 테스트 개요 (Powtoon Engineering)
CSRF)
더글라스 크록포드의 작업 철학 및 JavaScript 관점
HTTP Archive: jQuery 호스팅 및 버전 분산 분석 (2013)
requestAnimationFrame 사용법
JavaScript 패키지 매니저의 간략한 역사 (npm, Yarn, pnpm)
JSWhiz: JavaScript 메모리 누수 정적 분석 도구
북마클릿(Bookmarklet) 정의
Prototype용 선택 상자 플러그인
Distributed Web Worker 개발 중 Promise 및 이벤트 처리 이슈
대규모 JavaScript 애플리케이션 설계 및 엔지니어 성장
CSS :scope 가상 클래스의 용도 및 동작 방식
자바스크립트에서의 Continuation-passing style (CPS) 소개
웹 기반 연산 오프로딩 및 상태 시리얼라이제이션 연구 동향
Requirify: 브라우저 콘솔에서 동적 라이브러리 로딩
종성 분리 알고리즘
CSS를 이용한 클라이언트 측 전체 텍스트 검색
The “When Can I Use” Web Widget
grunt-usemin을 사용한 프론트엔드 자산 패키징
Three.js 시작 가이드 (Aerotwist)
jQuery 이벤트 핸들링: .on() 사용 권장
자바스크립트 객체 더하기 연산의 타입 변환 규칙
The Web Ahead: Jen Simmons 인터뷰 요약
Freemarker 템플릿 상속을 통한 레이아웃 관리
자바스크립트 프로토타입(Prototype) 개념 정리
자바스크립트 디자인 패턴 - 프록시(Proxy)
awesome-javascript (스크랩 실패)
CSS 최신 동향 파악을 위한 Adobe Web Platform 블로그
자바스크립트 동작 원리: 엔진, 런타임, 호출 스택
자바스크립트 메모리 관리 및 4가지 흔한 메모리 누수 대처법
Simple Ajax 예제
VueJS 프로젝트에 Prettier + ES6 Lint 적용
31 CSS Web Design Galleries You’ll Love
텍스트 교체하기: 5가지 방법 (Swapping Out Text, Five Different Ways)
JavaScript 학습 자료 (2013)
Web Fundamentals 및 Web Starter Kit 리소스
Web Push Notifications for a Simple Login System
AJAX 기본 원리 및 XMLHttpRequest 구현
자바스크립트 아키텍처 v0.4
리눅스 환경 HLS 스트리밍 참조 링크 모음
D3.js를 활용한 한국 지도 시각화 가이드
대시보드 장착 Nexus 7 및 KITT 테마 커스텀 런처
Web Speech API 소개 및 구현 가이드
Chromecast 에서 Game Boy 에뮬레이터 실행 방법 (개념 증명)
PC 게임 실행 가능 여부 확인 방법
HTTP 클라이언트 라이브러리의 리다이렉트 지원 방식 제안
Objective-C 함수 포인터와 코드 블럭
jQuery 애플리케이션 아키텍처 도구 (Addy Osmani)
자바스크립트 배열 메소드 5가지 (indexOf, filter, forEach, map, reduce)
2017년 주목할 만한 Java 라이브러리 목록
이펙티브 자바스크립트 소개
Scala + Play Framework 2 Server 성능 향상 시키기
Hiding Native HTML5 Video Controls in Full-Screen Mode
브라우저 동작의 이해 - 리플로우와 리페인트 및 그 최적화
HTML5 게임 오프라인 지원 가이드
브라우저 앙상블을 활용한 분산 컴퓨팅 (WeevilScout)
Google, Web Components 를 웹 개발의 미래로 제시 (2013)
HTML5 Web App Client-Side Storage 옵션 및 팁
Play Framework 개요
Bower: 웹 프론트엔드 패키지 관리자
HTML5 Video Player Comparison (2011)
Web Audio API의 Android Chrome Beta 지원 (2013)
AngularJS 와 RequireJS 를 활용한 대규모 웹 어플리케이션 개발
자바스크립트 기반 콘텐츠 숨김의 접근성 처리
자바스크립트 학습 방법론 (2017)
Thinking in React (리액트스럽게 생각하기)
배경이 함께 슬라이드하는 웹 슬라이더 구현
크롬 컨퍼런스 핵심 요약 (Web Components, DevTools, Chrome Apps)
실시간 투표 애플리케이션 구축 (Node.js, Express, AngularJS, MongoDB)