Web Framework Benchmark Inspired
Source
Evernote/Technote scraps/Web Framework Benchmark Inspired.md
Summary
2012 년 작성된 이 문서는 Ruby(Sinatra), Java(Play 1), Scala(Play 2), Node.js(Express), Erlang(Misultin) 웹 프레임워크의 성능을 비교하기 위한 벤치마크 실험 설계 및 초기 결과를 다룹니다. httperf/autobench 도구를 사용하여 Ping 테스트, 외부 API 호출 테스트, Long Ping 테스트 시나리오를 구성했으며, 테스트 환경 (Client/Server/External Server) 의 스펙과 각 언어별 프레임워크 버전 정보를 상세히 기록하고 있습니다.
Key Points
목적: Ruby, Java, Scala, Node.js, Erlang 기반 웹 프레임워크의 성능 차이를 정량적으로 비교하여 기술选型에 활용
대상 프레임워크: Ruby+Sinatra(Apache+Passenger), Java+Play 1.2.4, Scala+Play 2.0(Beta), Node.js+Express, Erlang+Misultin
테스트 도구: httperf 및 autobench 사용
테스트 시나리오: 1) 단순 Ping 응답, 2) 외부 서버 API 호출 (Ruby 는 동기, 나머지는 비동기), 3) 일정 시간 지연 후 응답 (Long Ping)
테스트 환경: Client(32 코어), Server(8 코어), External Server(8 코어, 100ms sleep 시뮬레이션) 구성
참고: PHP 는 유지보수성, ASP 는 플랫폼 제한, Python/Django 는 Ruby 와 유사성으로 제외
Play Framework 개요
Scala + Play Framework 2 Server 성능 향상 시키기
JavaScript 의 현대적 활용 분야 (2019)
2014년 3월 15일 기술 뉴스 дайджест (웹개발, IT 업계, 프로젝트)
Java 채팅 서버 구현 시 쓰레드 동기화 및 성능 이슈 토론 (2002)
Burst: 더 나은 파라미터화된 테스트 프레임워크
Node.js 란? (IBM developerWorks)
자바스크립트 학습 방법론 (2017)
Play Framework 2.2 기반 Facebook Canvas 게임 개발 일지
Web Workers: JavaScript 멀티스레딩
넷플릭스 성능 케이스스터디 (NHN FE.JS Wiki #184)
실시간 투표 애플리케이션 구축 (Node.js, Express, AngularJS, MongoDB)
JavaScript 성능 향상을 위한 Thread-level Speculation (TLS)
The “When Can I Use” Web Widget
8bit.js: Web Audio API 기반 8비트 사운드 라이브러리
리눅스 환경 HLS 스트리밍 참조 링크 모음
Web Animations API: element.animate() (Chrome 36)
Resource Timing API 를 통한 네트워크 성능 측정
Amazon GameLift Realtime Servers를 활용한 멀티플레이어 모바일 게임 서버 구축
ML 기반 번들링: JavaScript 툴링의 미래
HTML에서 Javascript와 CSS 기반으로 애니메이션을 구현하는 방법
Three.js 시작 가이드 (Aerotwist)
Web Audio API의 Android Chrome Beta 지원 (2013)
s 목표)
The Web Ahead: Jen Simmons 인터뷰 요약
VueJS 프로젝트에 Prettier + ES6 Lint 적용
CSS 최신 동향 파악을 위한 Adobe Web Platform 블로그
31 CSS Web Design Galleries You’ll Love
List.js: HTML 리스트의 검색, 정렬, 필터링을 위한 경량 JavaScript 라이브러리
Web Workers API 개요 및 기본 사용법
CSS를 이용한 클라이언트 측 전체 텍스트 검색
Prototype용 선택 상자 플러그인
Google, Web Components 를 웹 개발의 미래로 제시 (2013)
Web Push Notifications for a Simple Login System
Requirify: 브라우저 콘솔에서 동적 라이브러리 로딩
requestAnimationFrame 사용법
grunt-usemin을 사용한 프론트엔드 자산 패키징
Hiding Native HTML5 Video Controls in Full-Screen Mode
Web Fundamentals 및 Web Starter Kit 리소스
HTTP Archive: jQuery 호스팅 및 버전 분산 분석 (2013)
NDC 2012 강연 자료 링크 모음
awesome-javascript (스크랩 실패)
JavaScript 학습 자료 (2013)
Distributed Electronic Rights in JavaScript
Chromecast 에서 Game Boy 에뮬레이터 실행 방법 (개념 증명)
HTTP 클라이언트 라이브러리의 리다이렉트 지원 방식 제안
JavaScript 기반 분산 컴퓨팅 고려사항
게임 개발팀 A의 정기 회의 매뉴얼
2012년 비즈니스 및 마케팅 트렌드 예측 자료 12선 (슬라이드쉐어)
D3.js를 활용한 한국 지도 시각화 가이드
PC 게임 실행 가능 여부 확인 방법
대시보드 장착 Nexus 7 및 KITT 테마 커스텀 런처
Yeoman: 도구를 활용한 더 나은 웹 개발
HTML5 Video Player Comparison (2011)
브라우저 동작의 이해 - 리플로우와 리페인트 및 그 최적화
Distributed Web Worker 개발 중 Promise 및 이벤트 처리 이슈
HTML5 게임 오프라인 지원 가이드
북마클릿(Bookmarklet) 정의
임베디드 웹 서버: 제한된 리소스에서의 효율적 포맷팅
HTML5 Web App Client-Side Storage 옵션 및 팁
미래형 반응형 웹 디자인 (Warpspire)
웹의 병목 현상: JavaScript
KT 경제경영연구소 보고서 모음 (니오 필진)
CSS :scope 가상 클래스의 용도 및 동작 방식
Puppeteer를 활용한 로컬 개발 서버 대체 방안 (web.dev 사례)
Web Speech API 소개 및 구현 가이드
Design Patterns in JavaScript (tcorral)
HTML5 Canvas 실시간 드로잉 성능 최적화 가이드
비동기적 JavaScript
크롬 컨퍼런스 핵심 요약 (Web Components, DevTools, Chrome Apps)
Sitespeed.io를 사용한 웹사이트 성능 테스트
파이썬 urllib를 이용한 웹 소스 출력 스크립트
HTML is the Web ~ Pete Lambert
Godot 엔진을 활용한 Spine(SD) 애니메이션 실행 가이드
GitHub의 jQuery 제거 사례
JavaScript Promises: 개념, 용어 및 표준화
풀스택 JavaScript 프레임워크 학습 조언 (Quora)
오프라인 웹 애플리케이션 만들기 (Mozilla 웹 기술 블로그)
웹 브라우저 동작 원리 (2) - 레이아웃 리플로우 최적화
AngularJS 와 RequireJS 를 활용한 대규모 웹 어플리케이션 개발
2017 년 JavaScript 테스트 개요 (Powtoon Engineering)
Chrome DevTools 모바일 스크린캐스트 및 에뮬레이션
실시간 웹 협업도구 만들기 (홍영택)
Android ListView 커스터마이징 및 성능 최적화
JavaScript 과잉 조직화 (Over-Organizing) 의 적절성
웹의 불안전한 JavaScript 사용 관행에 대한 측정 연구
DevTools Continuous Painting Mode를 활용한 페인팅 성능 프로파일링
자바스크립트에서의 Continuation-passing style (CPS) 소개
웹 컴포넌트(1): Keep calm and usetheplatform
Bower: 웹 프론트엔드 패키지 관리자
JavaScript this 키워드 동작 원리
JavaScript 패키지 매니저의 간략한 역사 (npm, Yarn, pnpm)
proxyquire: Node.js require 의존성 오버라이드 라이브러리
API 산업 초기 단계 및 Daum DNA API Meetup 후기
JSWhiz: JavaScript 메모리 누수 정적 분석 도구
High Performance Browser Networking (O’Reilly)
종성 분리 알고리즘
Velocity 2014: PageSpeed 인사이트 및 QuickBooks Online 클라이언트 사이드 아키텍처
jQuery 애플리케이션 아키텍처 도구 (Addy Osmani)
곽철용 짤 생성기 개발 후기 (Vue + HTML Canvas)
The Once And Future Web Platform
5 jQuery Notification Plugins
2020 년 웹 성능에 영향을 줄 6 가지 기술 (Simon Hearne)
Immutable Caching 을 통한 웹 성능 최적화
Progressive React
2013년 자바스크립트 프레임워크 인기 동향 (Caliper Blog)
웹 증강을 위한 엔드유저 언어: 생산자와 소비자 모두를 위한 접근
harp.js: 전처리 기능을 갖춘 정적 웹서버
PayPal 의 Node.js 전환 사례 요약
JavaScript 엔진의 동작 원리 (V8 기준)
Meteor.js 시작하기 및 아키텍처 개요
ECMAScript 6 Generator 개요 및 Node.js 활용
Google Web Designer 출시 예정 (2013)
웹 기반 연산 오프로딩 및 상태 시리얼라이제이션 연구 동향
Node.js 세션 관리 (Session Management)
대학생을 위한 웹 개발 공부 체크리스트
jQuery 이벤트 핸들링: .on() 사용 권장
API 하이퍼미디어 형식 선택 가이드 (HAL, JSON-LD, Collection+JSON, SIREN)
브라우저 개발자 도구의 25 가지 비법 (2011)
Gittip-links Chrome Extension 개발 기록
WebAssembly (WASM) 개요 및 설계 목표