javascript weekly 2021-01-16
The State of JS 2020 Survey Results
The State of JS 2020 Survey Results
- state of JS 2020 설문조사 결과 - 한글 지원
Announcing TypeScript 4.2 Beta
Announcing TypeScript 4.2 Beta
- typescript 4.2 beta 발표
- rest 문법을 어디서나 사용 가능
let bar: [boolean, ...string[], boolean];
Snowpack v3.0: Reimagining Web Development with ESM
Snowpack v3.0: Reimagining Web Development with ESM
- 스노우팩 3.0 릴리즈 겸 1.0 릴리즈 1주년
- Streaming Imports
- JS API - SSR helper
- NodeJS Runtime
- 스벨트팀과의 협업 중 리치 해리스가 서버측 런타임 제작
Node Package Maintainers, Get Ready For ES Modules
Node Package Maintainers, Get Ready For ES Modules
- 2021년 4월 노드10 지원 종료. 노드 12부터는 ESM Full support. 마이그레이션 할 적기
Tutorials
Advanced Promise Patterns: Promise Memoization
Advanced Promise Patterns: Promise Memoization
- 요청에 대한 응답을 캐시할 때 요청이 지연될 수 있음
- 응답이 아니라, promise 를 memoization 하기
How to Implement An Exponential Backoff Retry Strategy
How to Implement An Exponential Backoff Retry Strategy
- Backoff Retry 전략
- 동일한 시간으로 리트라이를 계속 하면 서버의 과부하가 심해질 수 있으니 지수를 사용하라는 포스트
- https://github.com/vercel/async-retry 참조하기
10 Best Practices to Containerize Node Webapps with Docker
10 Best Practices to Containerize Node Webapps with Docker
- 도커 이미지에 프로덕션 종속성만 설치하기
- 프로덕션을 위한 도구 최적화
- 컨테이너를 루트로 실행하지 않기
- 안전한 종료를 위한 이벤트 처리
- 보안 취약성 수정
- 멀티 스테이지 빌드
- …
The navigator.clipboard API
- document.execCommand(‘copy’) 대신 navigator.clipboard 사용하기
- 단, localhost와 https에서만 작동
Code & Tools
Merge Chance: Will Your Pull Request Get Merged?
Merge Chance: Will Your Pull Request Get Merged?
- 외부에서 pull request를 날렸을 때 merge되는 비율을 표시해주는 사이트
- 당일 기준 redis 83%, react 44%, vue 23%
Compiled: Build Time Atomic CSS-in-JS
Compiled: Build Time Atomic CSS-in-JS
- 아틀라시안 랩에서 만든 css in js 도구
svelte-dnd-action: An Action-Based Drag and Drop Container for Svelte
svelte-dnd-action: An Action-Based Drag and Drop Container for Svelte
vno: A Vue / Deno Love Story?
- deno 런타임에서 vue 컴파일, 번들링 하는 빌드 도구