2020-03 
๋งํฌ & ์ฝ์๊ฑฐ๋ฆฌ
Request - Simplified HTTP client: Deprecated!
24K ๊นํ Star์ ๋งค์ฃผ 18M ๊ฑด์ ๋ค์ด๋ก๋, ๊ทธ๋ฆฌ๊ณ ๋ฌด๋ ค 48K ๊ฐ์ ํจํค์ง๋ค์ด ์์กดํ๊ณ ์๋ ์ธ๊ธฐ HTTP ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ 'Request'๊ฐ ์ง๋ 2์ 20์ผ์ ๊ธฐ์ ์ผ๋ก deprecate ๋์๋ค.
์ง๋ 10์ฌ ๋ ๊ฐ(2009๋ ์์) ์ ์ง๋์๋ ์ด ํ๋ก์ ํธ์ ๊ฐ๋ฐ์์ธ Mikeal Rogers๋ ์ง๋ ๋ช ๋ ๊ฐ ๋น ๋ฅด๊ฒ ๋ณํํ JavaScript ์ํ๊ณ์ ๋ณํ๋ค๋ก ์ธํด request์ ์ฝ์ด ํจํด์ ์๋์ ๋ค๋จ์ด์ง๊ฒ ๋์๊ณ , ์ํ๊ณ๋ฅผ ์ํ ์ต์ ์ฑ ์ ๋ฉ์ธํฐ๋์ค ๋ชจ๋๋ก ์ ํํ๋ ๊ฒ์ด๋ผ๊ณ ๊ทธ ์ด์ ๋ฅผ ๋ฐํ๋ค. ๋ณด๋ค ์์ธํ ๋ด์ฉ์ ์๋ ๋งํฌ๋ฅผ ํตํด ํ์ธํ ์ ์๋ค.
(์์) dotJS 2019 - Vladimir Agafonkin - Fast by default: algorithmic performance optimization in practice
๋ณ๋ชฉ์ง์ ์ ์ฐพ๊ณ ์ ๋๋ฆฐ์ง ์๊ฐํ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ค์ด๋ผ!
Javascript์์ ํผํฌ๋จผ์ค๋ฅผ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ ๋ค์ํ ๊ฒฝํ๊ณผ ์์ ๋ฅผ ํตํด ์ค๋ช ํ๋ค.
Some Tips for the Web VR Beginners
๋จ๋ 5 ๋ฌ๋ฌ๋ง ์์ด๋ VR ์ฝํ ์ธ ๋ฅผ ์ฆ๊ธธ ์ ์๋ ์ธ์, Web VR ๊ฐ๋ฐ ํ์ ๊ณต์ ํ๋ค.
Web VR์ ๊ฐ๋ฐํ๋ ค๊ณ ํ ๋ ์ด๋ค ๊ฒ๋ค์ ๊ณ ๋ฏผํด๋ด์ผ ํ๋์ง ์ฌ๋ฌ ๊ฐ์ง ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๊ธฐ์ ์ธก๋ฉด์์ ์ด์ผ๊ธฐํ๋ค.

Good bye, Clean Code
ํด๋ฆฐ์ฝ๋ ๋น๋ฐ์ด ๋์ง๋ ๋ง์. ํด๋ฆฐ ์ฝ๋๋ ๋ชฉํ๊ฐ ์๋๊ณ ๋จ์ง ํ๋ก๊ทธ๋จ์ ๋ณต์ก์ฑ์ ์ค์ด๊ณ ์ ํ๋ ์๋์ผ ๋ฟ์ด๋ฉฐ, ์ฝ๋๊ฐ ์ด๋ป๊ฒ ๋ฐ๋์ง ๋ชจ๋ฅด๋ ์ํฉ์์, ํผํด๋ฅผ ์ต์ํ์ผ๋ก ์ค์ด๊ณ ์ ํ๋ ๋ฐฉ์ด ์ ๋ต ์ค ํ๋์ผ ๋ฟ์ด๋ค.
์ฝ๋๊ฐ ์ด๋ป๊ฒ ๋ณด์ด๋์ง๋ง ๋ณด๋ ๊ฒ ์๋๋ผ ๋ค์ํ ์ฌ๋๋ค๋ก๋ถํฐ ์ด๋ป๊ฒ ๋ฐ์ ์์ผ ๋๊ฐ์ง๊ฐ ์ค์ํ๋ค๋ ๊ฒ์ ๊ฒฝํ์ ํ ๋๋ก ์ด์ผ๊ธฐํ๋ค.
A Guide to Console Commands | CSS-Tricks
console์ ๊ฐ๋จํ ๋ค๋ฃจ๊ธฐ์๋ ์์์ผํ ๊ฒ๋ค์ด ์์ธ๋ก ๋ง๋ค.
์ฐ๋ฆฌ๊ฐ ์ฝ๋๋ฅผ ์ฒ์ ์์ํ ๋ ๋ค๋ค๋ console์ ๋ค์ํ ํ์ฉ๋ฒ, ๊ธฐ๋ฅ์ ์์ธํ ๊ฐ์ด๋ํ๋ค.

Bulletproof node.js project architecture ๐ก๏ธ
Express.js๋ node.js๋ก REST API๋ฅผ ๊ฐ๋ฐํ ๋ ์ ๋ง ์ข์ ํ๋ ์์ํฌ์ด์ง๋ง, node.js ํ๋ก์ ํธ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํด์ผ ํ๋์ง์ ๋ํด ๊ทธ ๋๊ตฌ๋ ์๋ ค์ฃผ์ง ์๋ ๊ฑด ํฐ ๋ฌธ์ ๋ค.
Express.js ๊ธฐ๋ฐ์ node ํ๋ก์ ํธ๋ฅผ ์ด๋ป๊ฒ ์ค๊ณ/๊ตฌ์ฑํด์ผ ํ๋์ง ์์ธํ๊ฒ ์ค๋ช ํ๋ค. ํ๊ธ๋ก ๋ฒ์ญ๋ ๊ธ(#๋ฐ๋ก๊ฐ๊ธฐ)๋ ์๋ค.
The ultimate guide to proper use of animation in UX
์ฌ์ฉ์ ๊ฒฝํ(UX)์ ์ํด ์ ๋๋ฉ์ด์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ณ ๋ คํด์ผ ํ๋ ์ข ํฉ์ ์ธ ๊ฐ์ด๋๋ฅผ ์ ๊ณตํ๋ค. Timing Function์ ๋ฐ๋ผ ์ ํฉํ ์ ๋๋ฉ์ด์ ๋ค์ ๋ฌด์์ธ์ง, ์ธํฐํ์ด์ค ์ ๋๋ฉ์ด์ ์ ๊ฐ์ฅ ์ต์ ํ๋ ์๋๋ 200~500ms ์ฌ์ด(๋ค์์ ๋ฆฌํฌํธ์ ๊ทผ๊ฑฐํ)๋ผ๋ ๋ด์ฉ๋ค์ ์๊ฐํ๋ฉฐ, ๊ฐ ํญ๋ชฉ ๋ณ๋ก ์ ๊ณต๋๋ ์ ๋๋ฉ์ด์ ์์ ๋ฅผ ํตํด ์ฐจ์ด์ ๋ค์ ์ง์ ์ฒด๊ฐํด ๋ณผ ์ ์๋ค.
ex) ์๋์ ๊ด๋ จํด์๋ ๋๋ฌด ๋น ๋ฅด์ง๋ ์์ง๋ง ์ฌ์ฉ์๋ค์ ๊ธฐ๋ค๋ฆผ์ ์ต์ํํ ์๋์ ์ ๋๋ฉ์ด์ ์ ์ฉ์ ํ์์ฑ์ ๋ํ ์ ๋๋ฉ์ด์ ์์
Design Better Forms
์ธ์์ ์งง๊ณ ์ฌ์ฉ์๋ ํผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ธฐ ๊บผ๋ ค ํ๋ค.
์ฌ์ฉ์์๊ฒ ์ด๋ป๊ฒ ํผ์ ์ ๊ณตํด์ผ ํจ๊ณผ์ ์ด๊ณ ์๋ฃ์จ์ด ๋์์ง ์ค๋ช ํ๋ ๊ธ. ํ์ฌ ํ๋ก์ ํธ์์ ํผ์ ๊ฐ๋ฐํ๊ณ ์๋ค๋ฉด ํ๋ !

7 design psychology fundamentals every designer should know
ํ๋ก๋ํธ๋ฅผ ๊ฐ๋ฐํ ๋ ๋ฉํ๋ชจ๋ธ์ ์ผ๋ํด ๋๋ฉด ์ฌ์ฉ์์ ๋ฐ์์ ์ฑ๊ณต์ ์ผ๋ก ์ด๋์ด ๋ผ ์ ์๋ค.
์ธ๊ฐ์ 7๊ฐ์ง ์ฌ๋ฆฌ์ ์์๋ฅผ UX์ ์ด๋ป๊ฒ ๋ น์ฌ์ผ ์ฌ์ฉ์์ ์ข์ ๋ฐ์์ด ๋์ค๋์ง ์ค๋ช ํด ์ค๋ค.
Why Apple's Notification Bubbles Are so Stressful
iPhone์ ์ ๊ธ์ ํด์ ํ ๋๋ง๋ค ์๋ป๊ฑด ์๋ฆผ ๋ฒณ์ง๋ก ๋ถํฐ ๊ณต๊ฒฉ์ ๋ฐ๋๋ค.
๋์ UX๋ ์์ ๋ณํ๋ก๋ถํฐ ์์๋๋ค. ํ์๊ฐ "์ธ์ง ๊ณผ๋ถํ"๋ผ๊ณ ๊น์ง ์ผ์ปซ๋ ์๋ฆผ ๋ฒณ์ง ์คํธ๋ ์ค๋ฅผ ์ด๋ค ์์ ๋ณํ๋ก ํด๊ฒฐํ ์ ์๋์ง ์ด์ผ๊ธฐํ๋ค.
๋ค์ด๋ฒ ์ง๋ vs ์นด์นด์ค๋งต ์ฌ์ฉ์ ๊ฒฝํ ๋น๊ต (Mobile) / (PC)
๋ค์ด๋ฒ ์ง๋์ ์นด์นด์ค๋งต์ Mobile๊ณผ PC ๋ ํ๋ซํผ์์ ์์ฑ๊ฒ์, ๋ณต์ฌ, ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฑ ๋ค์ํ ์ธก๋ฉด์์ ๋น๊ตํ ๊ธ. ๋ ์ง๋ ์๋น์ค๋ฅผ ๋ชจ๋ ์ค์นํ๊ณ ์ํฉ์ ๋ฐ๋ผ ์ ์ ํ ์ด์ฉํ๊ณ ์๋ ํ์์ UX์ ๋ํ ๊น์ ์ธ์ฌ์ดํธ๋ฅผ ์ฟ๋ณผ ์ ์๋ค.
์ฝ๋์ ๋๊ตฌ
The Top ~~50~~ 100+ Developer Tools 2019
2019๋ ํ ํด๋์ StackShare ์ปค๋ฎค๋ํฐ์์ ๊ณต์ ๋ 4๋ฐฑ๋ง ๊ฐ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ , ํ๋ฐํธ/๋ฐฑ์๋๋ถํฐ ๋์์ธ ํด ๊ทธ๋ฆฌ๊ณ ํ์ ํด๊น์ง 18๊ฐ์ง์ ๋ฒ์ฃผ๋ก ๋ถ๋ฅํด์ ์์ํํ๋ค.
๋ค์ํ ์ธก๋ฉด์์ ๋น๊ต๋ฅผ ํตํด ์๋ฏธ ์๋ ์ ํ์ ํ ์ ์๊ฒ ๋์์ฃผ๋ ์ฐธ๊ณ ์๋ฃ๊ฐ ๋ ๊ฒ์ด๋ค.
stackshare์์๋ UBER, Airbnb, Shopify ๋ฑ ๊ธฐ์ ๋ค์ด ์ฌ์ฉํ๋ ๊ธฐ์ ์คํ์ ํ์ธํ ์ ์๋ค. ๋งํฌ์์ ๋ด๊ฐ ์ฌ์ฉํ๋ ๊ธฐ์ ์คํ๊ณผ ๋ค๋ฅธ ๊ธฐ์ ๋ค์ด ์ฌ์ฉํ๋ ๊ธฐ์ ์คํ์ ๋น๊ตํ๋ ๊ฒ๋ ์ ์ ํ ์ฌ๋ฏธ๊ฐ ๋์ง ์์๊น?

30 seconds of code
2018๋ ๊นํ Top ํ๋ก์ ํธ๋ก ์ ์ ๋๊ธฐ๋ ํ๋ ์ด ํ๋ก์ ํธ๋ ์ฝ๋ ์์ฑ ์ ๋ง๋ฅ๋จ๋ฆด ์ ์๋ ๋ฌธ์ ๋ค์ ํด๊ฒฐ์ ์ํ ๋ค์ํ๊ณ ์งค๋งํ ์ฝ๋ ์ค๋ํซ ๋ชจ์๋ค์ ์ ๊ณตํ๋ค. JavaScript ์ธ์๋ CSS, React, Python ๋ฑ ์ด 7๊ฐ์ง ๊ฐ๋ฐ ํ๊ฒฝ ๋ฐ ์ธ์ด๋ค์ ๋ถ๋ฅ๋ก ์ ๊ณต๋๋ค.
// ex) ๋ฐฐ์ด ๋ด์ ์กด์ฌํ๋ ๊ต์ฐจ ๊ฐ์ ๊ตฌํ๋ ์ค๋ํซ
const intersectionBy = (a, b, fn) => {
const s = new Set(b.map(fn));
return [...new Set(a)].filter(x => s.has(fn(x)));
};
intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [2.1]
์ถ๊ฐ๋ก 2018๋ Top ๊นํ ํ๋ก์ ํธ๋ก ์ ์ ๋์๋ ๋ค์ ํ๋ก์ ํธ๋ ์ ์ฉํ๊ฒ ์ฐธ๊ณ ํ ๋งํ๋ค.
- 33-js-concepts JavaScript ๊ฐ๋ฐ์๋ค์ด ์์๋๋ฉด ์ข์ ์ฃผ์ํ 33๊ฐ์ง ๊ฐ๋ ๋ค์ ๋ํ ์ค๋ช ๊ธ๊ณผ ๋์์๋ค์ ๋ฐฉ๋ํ ๋ชฉ๋ก์ ์ ๊ณตํ๋ค. ์ด๋ค ๊ฐ๋ ๋ค ์ค์๋ Call Stack, Expression(ํํ์) vs Statement(๋ฌธ์ฅ)์ ์ฐจ์ด ๋ฑ์ ์ดํด๋ณผ ์ ์๋ค.
Google Lighthouse: Firefox Add-ons
Chrome ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ์ฑ๋ฅ ์ธก์ ๋๊ตฌ์ธ Lighthouse๋ฅผ ์ด์ Firefox์์๋ ์ฌ์ฉํ ์ ์๋ค.
fullcalendar/fullcalendar
์ด๋ฒคํธ drag & drop์ด ๊ฐ๋ฅํ full-sized ๋ฌ๋ ฅ์ด๋ค.
myliang/x-spreadsheet
์น ์์ . ์์ function ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.