Design Patterns in JavaScript (tcorral)
Source
Evernote/Technote scraps/tcorralDesign-Patterns-in-Javascript - GitHub.md
Summary
이 문서는 ‘Gang of Four’의 디자인 패턴을 JavaScript로 구현한 GitHub 저장소(tcorral/Design-Patterns-in-Javascript)의 README입니다. Head First Design Patterns 책의 예제를 참고하여 Adapter, Observer, Singleton 등 주요 패턴들의 구현 예시와 단계별 해결 과정을 제공합니다. index.html을 통해 콘솔 없이 코드 실행 결과를 확인할 수 있도록 개선되었습니다.
Key Points
Gang of Four 디자인 패턴의 JavaScript 구현 예제 모음
Head First Design Patterns 책의 예제를 기반으로 함
Adapter, Command, Observer, Singleton 등 15가지 이상의 패턴 포함
각 패턴별 폴더 구조로 단계별 해결 과정 제시
브라우저에서 직접 코드 실행 결과 확인 가능
HTML에서 Javascript와 CSS 기반으로 애니메이션을 구현하는 방법
Gang of Four로부터 배우는 10가지 기업가를 위한 레슨
JavaScript 의 현대적 활용 분야 (2019)
자바스크립트 디자인 패턴 - 프록시(Proxy)
브라우저 개발자 도구의 25 가지 비법 (2011)
2020 프론트엔드 마스터를 위한 10가지 프로젝트 아이디어 (CSS-Tricks)
아이트래킹 연구 기반 UX 디자인 4가지 규칙
반응형 프로그래밍(Reactive Programming)에 대한 조사
Bot Design Patterns (Will Schenk)
Distributed Electronic Rights in JavaScript
ML 기반 번들링: JavaScript 툴링의 미래
31 CSS Web Design Galleries You’ll Love
비동기적 JavaScript
자바스크립트에서의 Continuation-passing style (CPS) 소개
웹의 병목 현상: JavaScript
설득력이 있는 디자인
Web Workers: JavaScript 멀티스레딩
JavaScript 성능 향상을 위한 Thread-level Speculation (TLS)
JavaScript 학습 자료 (2013)
JavaScript 기반 분산 컴퓨팅 고려사항
JavaScript this 키워드 동작 원리
JavaScript Promises: 개념, 용어 및 표준화
JavaScript 과잉 조직화 (Over-Organizing) 의 적절성
List.js: HTML 리스트의 검색, 정렬, 필터링을 위한 경량 JavaScript 라이브러리
웹의 불안전한 JavaScript 사용 관행에 대한 측정 연구
2017 년 JavaScript 테스트 개요 (Powtoon Engineering)
JavaScript 엔진의 동작 원리 (V8 기준)
CSRF)
풀스택 JavaScript 프레임워크 학습 조언 (Quora)
HTTP Archive: jQuery 호스팅 및 버전 분산 분석 (2013)
더글라스 크록포드의 작업 철학 및 JavaScript 관점
JSWhiz: JavaScript 메모리 누수 정적 분석 도구
JavaScript 패키지 매니저의 간략한 역사 (npm, Yarn, pnpm)
Web Workers API 개요 및 기본 사용법
북마클릿(Bookmarklet) 정의
대규모 JavaScript 애플리케이션 설계 및 엔지니어 성장
requestAnimationFrame 사용법
Prototype용 선택 상자 플러그인
CSS :scope 가상 클래스의 용도 및 동작 방식
웹 기반 연산 오프로딩 및 상태 시리얼라이제이션 연구 동향
종성 분리 알고리즘
8bit.js: Web Audio API 기반 8비트 사운드 라이브러리
CSS를 이용한 클라이언트 측 전체 텍스트 검색
Thinking in React (리액트스럽게 생각하기)
Requirify: 브라우저 콘솔에서 동적 라이브러리 로딩
자바스크립트 객체 더하기 연산의 타입 변환 규칙
jQuery 이벤트 핸들링: .on() 사용 권장
Freemarker 템플릿 상속을 통한 레이아웃 관리
자바스크립트 메모리 관리 및 4가지 흔한 메모리 누수 대처법
자바스크립트 프로토타입(Prototype) 개념 정리
VueJS 프로젝트에 Prettier + ES6 Lint 적용
자바스크립트 동작 원리: 엔진, 런타임, 호출 스택
Distributed Web Worker 개발 중 Promise 및 이벤트 처리 이슈
Web Framework Benchmark Inspired
텍스트 교체하기: 5가지 방법 (Swapping Out Text, Five Different Ways)
Simple Ajax 예제
AJAX 기본 원리 및 XMLHttpRequest 구현
Web Animations API: element.animate() (Chrome 36)
grunt-usemin을 사용한 프론트엔드 자산 패키징
자바스크립트 배열 메소드 5가지 (indexOf, filter, forEach, map, reduce)
Hiding Native HTML5 Video Controls in Full-Screen Mode
Objective-C 함수 포인터와 코드 블럭
Three.js 시작 가이드 (Aerotwist)
자바스크립트 아키텍처 v0.4
awesome-javascript (스크랩 실패)
A Model for Context in the Design of Open Production Communities
Git remote-tracking branch 개념 및 동작 원리
미래형 반응형 웹 디자인 (Warpspire)
jQuery 애플리케이션 아키텍처 도구 (Addy Osmani)
HTML5 게임 오프라인 지원 가이드
The “When Can I Use” Web Widget
배경이 함께 슬라이드하는 웹 슬라이더 구현
자바스크립트 학습 방법론 (2017)
2017년 주목할 만한 Java 라이브러리 목록
웹 증강을 위한 엔드유저 언어: 생산자와 소비자 모두를 위한 접근
리눅스 환경 HLS 스트리밍 참조 링크 모음
브라우저 앙상블을 활용한 분산 컴퓨팅 (WeevilScout)
Thinking in React: React 컴포넌트 설계 방법론
CoffeeScript: The Beautiful Way to Write Javascript (Presentation)
자바스크립트 기반 콘텐츠 숨김의 접근성 처리
Bower: 웹 프론트엔드 패키지 관리자
NaiveChain: 200 줄 자바스크립트로 구현한 블록체인 기본 구조
D3.js를 활용한 한국 지도 시각화 가이드
오프라인 웹 애플리케이션 만들기 (Mozilla 웹 기술 블로그)
C++ Coroutine 의 개념 및 구현 특성
HTML5 Web App Client-Side Storage 옵션 및 팁
CSS 최신 동향 파악을 위한 Adobe Web Platform 블로그