자바스크립트 아키텍처 v0.4
Source
Evernote/IFTTT Feedly/자바스크립트 아키텍처 v0.4.md
Summary
2014 년 기준 자바스크립트 생태계의 주요 구성 요소와 아키텍처 분류를 정리한 문서입니다. 브라우저 환경에 국한되지 않고 서버 사이드 (Node.js 등) 로 확장된 JS 의 영역을 유틸리티 모듈, 프레임워크 (범용/MVC/Full Stack), 백엔드, 빌드 도구, 패키지 매니저, 그래픽, 테스트, 파생 언어, 데이터베이스 등 9 개 카테고리로 분류하여 설명합니다.
Key Points
자바스크립트는 브라우저 탈출을 통해 서버 사이드 등 다양한 영역으로 확장됨
JS 생태계는 유틸리티, 프레임워크, 백엔드, 빌드 도구, 패키지 매니저, 그래픽, 테스트, 파생 언어, DB 로 구성됨
프레임워크는 범용, MVC 패턴 기반, Full Stack(클라이언트/서버 통합) 으로 세분화됨
백엔드 영역은 Java/.NET 과 경쟁하며 npm 을 통해 방대한 플러그인 생태계를 보유 (2014 년 기준)
빌드 도구는 코드 최적화 및 자동 컴파일을, 패키지 매니저는 모듈 관리를 담당함
jQuery 애플리케이션 아키텍처 도구 (Addy Osmani)
자바스크립트 학습 방법론 (2017)
웹 개발자를 위한 디버깅 매뉴얼! 『자바스크립트 테스트와 디버깅』
자바스크립트 동작 원리: 엔진, 런타임, 호출 스택
JavaScript 의 현대적 활용 분야 (2019)
자바스크립트 프로그래밍: 프론트엔드 개발자를 위한 (도서 소개)
Cycle.js
Node.js 의 핵심 관점 (Core Perspective to NodeJS)
이펙티브 자바스크립트 소개
Meteor.js 시작하기 및 아키텍처 개요
자바스크립트 프로토타입(Prototype) 개념 정리
2013년 자바스크립트 프레임워크 인기 동향 (Caliper Blog)
Velocity 2014: PageSpeed 인사이트 및 QuickBooks Online 클라이언트 사이드 아키텍처
실시간 투표 애플리케이션 구축 (Node.js, Express, AngularJS, MongoDB)
종성 분리 알고리즘
자바스크립트 메모리 누수 4가지 형태 (외부 링크)
자바스크립트 메모리 관리 및 4가지 흔한 메모리 누수 대처법
자바스크립트 기반 콘텐츠 숨김의 접근성 처리
자바스크립트 객체 더하기 연산의 타입 변환 규칙
자바스크립트 디자인 패턴 - 프록시(Proxy)
자바스크립트 배열 메소드 5가지 (indexOf, filter, forEach, map, reduce)
자바스크립트에서의 Continuation-passing style (CPS) 소개
Quora 기술 스택 및 아키텍처 분석
Tumblr 아키텍처 분석 (2013)
Java 기반 웹 채팅 서버의 동시성 문제 및 아키텍처 검토
Freemarker 템플릿 상속을 통한 레이아웃 관리
jQuery 이벤트 핸들링: .on() 사용 권장
텍스트 교체하기: 5가지 방법 (Swapping Out Text, Five Different Ways)
야구9단 아키텍처 (NHN, 2011)
GPU 동작 원리 및 아키텍처 개요
배경이 함께 슬라이드하는 웹 슬라이더 구현
AJAX 기본 원리 및 XMLHttpRequest 구현
Play Framework 개요
카카오 컨테이너 플랫폼 및 MPC 아키텍처 개요
AngularJS 기초편 (번역서) 리뷰
Simple Ajax 예제
Objective-C 함수 포인터와 코드 블럭
JavaScript this 키워드 동작 원리
Locust 데모 및 아키텍처 논의 (SRPOL)
Git remote-tracking branch 개념 및 동작 원리
비동기적 JavaScript
React vs Vue 비교 (2019 Edition, React Hooks 기준)
React vs AngularJS 비교 (Quora)
PayPal의 Kraken.js 프레임워크 리뷰 및 평가
고처리량 및 저메모리 패턴 매칭 아키텍처
FlashTier: 고체 상태 캐시(SSC) 아키텍처
PayPal 의 Node.js 전환 사례 요약
JavaScript 기반 분산 컴퓨팅 고려사항
WebAssembly (WASM) 개요 및 설계 목표
harp.js: 전처리 기능을 갖춘 정적 웹서버
C++ Coroutine 의 개념 및 구현 특성
GitHub의 jQuery 제거 사례
풀스택 JavaScript 프레임워크 학습 조언 (Quora)
페이스북 스파르탄 프로젝트의 비밀병기 Bolt.JS
AngularJS 와 RequireJS 를 활용한 대규모 웹 어플리케이션 개발
Didact: 리액트 원리 학습을 위한 DIY 가이드 시리즈 소개
Node.js 세션 관리 (Session Management)
ECMAScript 6 Generator 개요 및 Node.js 활용
Angular.js 의 핵심 개념 및 장점 요약
웹 브라우저 동작 원리 (2) - 레이아웃 리플로우 최적화
Node.js 란? (IBM developerWorks)
Distributed Web Worker 개발 중 Promise 및 이벤트 처리 이슈
JavaScript 성능 향상을 위한 Thread-level Speculation (TLS)
proxyquire: Node.js require 의존성 오버라이드 라이브러리
Design Patterns in JavaScript (tcorral)
Node.js on Android (2013)
math.js 원격 코드 실행(RCE) 취약점 발견 및 악용 기법
Web Workers: JavaScript 멀티스레딩
Google Chrome의 고성능 네트워킹 아키텍처
타다(Tada) 시스템 아키텍처 개요
ML 기반 번들링: JavaScript 툴링의 미래
카카오 블라인드 공채 플랫폼 취약점 분석 (2017)
Node.js 유지 사용의 이유 (Mimul’s Developer World)
List.js: HTML 리스트의 검색, 정렬, 필터링을 위한 경량 JavaScript 라이브러리
JavaScript 엔진의 동작 원리 (V8 기준)
JavaScript Promises: 개념, 용어 및 표준화
Angular 2 대신 Vue.js 선택 및 React 배제 이유
Go vs Node.js vs C++: 서버 사이드 언어 선택의 기준
리팩토링 개요 및 기법 요약
Thinking in React (리액트스럽게 생각하기)
Thinking in React: React 컴포넌트 설계 방법론
Progressive React
NaiveChain: 200 줄 자바스크립트로 구현한 블록체인 기본 구조
Discord의 메시지 저장 아키텍처: MongoDB에서 Cassandra로의 전환
Distributed Electronic Rights in JavaScript
REST 아키텍처 스타일과 캐싱
JSWhiz: JavaScript 메모리 누수 정적 분석 도구
Web Workers API 개요 및 기본 사용법
Fluent 2016: Node.js 기반 하이퍼미디어 마이크로서비스 구현 튜토리얼
requestAnimationFrame 사용법
Node.js 네이티브 애드온의 인자 검증 개선 (NanCheck)
Nock: Node.js HTTP 모킹 라이브러리
곽철용 짤 생성기 개발 후기 (Vue + HTML Canvas)
북마클릿(Bookmarklet) 정의
한국 웹20주년 국제 콘퍼런스 Node.js 발표 회고
웹의 병목 현상: JavaScript
Google+ Hangouts 기술 아키텍처 및 전망
Quora 기술 스택 및 아키텍처 분석 (Phil Whelan)
웹의 불안전한 JavaScript 사용 관행에 대한 측정 연구
WebSocket과 Node.js를 이용한 동시 영상 동기화 데모
JavaScript 패키지 매니저의 간략한 역사 (npm, Yarn, pnpm)
Scala + Play Framework 2 Server 성능 향상 시키기
CSS :scope 가상 클래스의 용도 및 동작 방식