2021-03 
๋งํฌ & ์ฝ์๊ฑฐ๋ฆฌ
NASA: PRE-LANDING SIMULATION

์ผ๋ง ์ ๋ฏธ๊ตญ ํ์ฌ ๋ก๋ด์ด ํ์ฑ์ ์ฐฉ๋ฅํ๊ณ , NASA๋ ์ค์๊ฐ ์ฐฉ๋ฅ ์๋ฎฌ๋ ์ด์ ์ ์น์ ๊ณต๊ฐํ๋ค. WebGL ๊ธฐ์ ์ด ์ฌ์ฉ๋ ์ด ์๋ฎฌ๋ ์ด์ ์ ๋ํด WebGL์ ๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ three.js ๊ฐ๋ฐ์๊ฐ ๋จ๊ธด ํธ์์ด ์ธ์์ ์ด๋ค.
๋ฐ์ ๋ ์น ๊ธฐ์ ์ด ์ด์ ๊ฐ์ ๋ค์ํ ์์ญ์์ ์ฌ์ฉ๋๋ ๊ฒ์ ๊ต์ฅํ ๊ณ ๋ฌด์ ์ธ ์ผ์ด๋ค.
(์ฐธ๊ณ ๋ก #์ด๊ณณ์์ NASA๊ฐ JavaScript๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ์คํ์์ค ํ๋ก์ ํธ๋ค์ ํ์ธํด๋ณผ ์ ์๋ค.)
An architectural overview for WebRTC โ A protocol for implementing video conferencing
COVID-19 ์๋์์๋ ํ์ ํ์ ๋๊ตฌ๋ค์ ์ด์ ํ์๊ฐ ๋์๋ค. ์น์์ ํ์ ํ์ ๋๊ตฌ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํด์ WebRTC(Web Real-Time Communication)์ ์ฌ์ฉํ ์ ์๋ค.
๊ธ์ ์ ์๋ ๋จ์ผ ๋ช ๋ น์ด ์คํ๋ง์ผ๋ก ํ์์ผ๋ก ์ฝ๋ ์์ฑ์ ์ค์๊ฐ์ผ๋ก ๊ณต์ ํ ์ ์๋ CLI ๋๊ตฌ์ธ Git Streamer ๊ฐ๋ฐ๊ณผ์ ์ ํตํด ํ์ต๋ ํ์ํ์ ๋๊ตฌ ๊ฐ๋ฐ์ ๊ธฐ๋ณธ์ ๊ฐ์/๊ฐ๋ ๋ค์ ์ค๋ช ํ๋ค.
Web platform's hidden gems - Shape Detection API
์ค๋๋ ์ค๋งํธํฐ์ ๋ค์ํ ์์ญ๊ณผ ์ผ์์ํ์์ ์ฌ์ฉ๋๊ณ ์๋ค. ๋ํ์ ์ธ ํ์ฉ ์์ญ๋ค ์ค ํ๋๋ ๊ฒฐ์ ๋ฅผ ์ํด QR ์ฝ๋๋ ๋ฐ์ฝ๋๋ฅผ ์ฝ์ด๋ด๋ ํ์ด ๋ฑ์ ์์คํ ์ด ๊ทธ๋ฌํ๋ค.
์น์์ ์ด๋ฌํ ์์คํ ์ ๊ตฌํํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ๋ง์ ์ด๋ค์๊ฒ ์ ์๋ ค์ง์ง ์์ ShapeDetection API์ ์น์์ QR/๋ฐ์ฝ๋, ์ผ๊ตด์ธ์ ๊ทธ๋ฆฌ๊ณ ๋ฌธ์์ธ์(OCR)์ด ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
[์ฐธ๊ณ ] The Shape Detection API: a picture is worth a thousand words, faces, and barcodes
Generators in Javascript: How to use them
Generator๋ ์ผ๋ฐ ํจ์์ ์ ์ฌํ๋, ์ด์ ์คํ์ด ์ข ๋ฃ๋ ์ง์ ์ ์ํฏ๊ฐ์ ์ ์ฅํ๊ณ ์์ฒญ์ ๋ฐ๋ผ ์ข ๋ฃ๋ ์์ ๋ถํฐ ์คํ์ ๋ค์ ์ง์ํ ์ ์๋๋ก ๋ง๋ค ์ ์๋ ํจ์๋ค.
ES6 ๋ช ์ธ์ ํฌํจ๋์ด ์์ผ๋ฉฐ, ๋ฑ์ฅํ์ง ๋ง์ ์๊ฐ์ด ํ๋ ๋ค. ๊ทธ๋ฌ๋ ์ค์ฌ์ฉ ์ฌ๋ก๋ ์์ง๊น์ง ๊ทธ์ ๋น๋กํ์ง ์๋ ๊ฒ ๊ฐ๋ค. ์ด ๊ธ์ ํตํด ๋ค์ ํ๋ฒ ๊ธฐ๋ณธ์ ์ดํด์ ํจ๊ป ์ด๋ค ๊ฒฝ์ฐ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๋ฉด ์ข์์ง ํ์ธํด ๋ณด์.
[์ฐธ๊ณ ] JAVASCRIPT.INFO: ์ ๋๋ ์ดํฐ
JS minification benchmarks
ํ์ฌ JavaScript minifier ๋๊ตฌ๋ ๊ณผ๊ฑฐ์ UglifyJS๊ฐ defacto ๋๊ตฌ๋ก ์ฌ์ฉ๋์๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ค์ํ ๋๊ตฌ๋ค์ด ๊ฐ๋ฐ๋๊ณ ์๋ค.
์ด๋ค ๊ฒ์ด ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์คํ๋ ๊น? ์ ๋ช ํ ํ๋ก์ ํธ๋ค์ ๋น๋ ํ์ผ์ ๋์์ผ๋ก ์ํํ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด ๋ณผ ์ ์๋ค.
Things You Can Do With CSS Today
CSS๋ ์ต๊ทผ ๋ช ๋ ๋์ ์ ๋ง ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๊ณ ์๋ค. ๊ทธ๋งํผ ์ฐ๋ฆฌ๊ฐ ๋์น ์ ์ฉํ ๊ธฐ๋ฅ๋ค๋ ๋ง์ ๊ฒ์ด๋ค.
์ด ๊ธ์์๋ ์ต์ CSS ๊ธฐ์ ๋ค๋ก ํ ์ ์๋ Masonry layout, :is
selector, CSS function, Aspect ratio ๋ฑ์ ํ์ฉ์ ์ธ ๊ธฐ๋ฅ๋ค์ ๋ํด ์ค๋ช
ํ๊ณ ์๋ค.
Test your JavaScript skills Series' Articles

JavaScript ์ธํฐ๋ทฐ์ ์์ฃผ ๋ฑ์ฅํ๋, ํท๊ฐ๋ฆฌ๊ธฐ ์ฌ์ด ๋ฌธ์ ๋ฅผ 16๊ฐ์ง ์์ ์ ํจ๊ป ์ ๋ฆฌํด ๋์ ์ํฐํด์ด๋ค. ์ฐจ๋ก์ฐจ๋ก๋ก ์ฝ์ด๋ณธ๋ค๋ฉด JavaScript์ ๋ํ ์์ ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ถ๋ด ์์ด ํ์ธํด ๋ณด๊ณ ํฅ์์ํฌ ์ ์์ ๊ฒ์ด๋ค.
ํํ ๋ฆฌ์ผ
JavaScript's Memory Management Explained
JavaScript ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ์ฌ์ฉํ๊ฒ ๋๋ ๋ณ์, ํจ์, ๊ฐ์ฒด ๋ฑ์ ์ด๋์ ์ด๋ป๊ฒ ์ ์ฅ๋๊ณ ์ฌ์ฉ๋ ๊น? ๊ทธ๋ฆฌ๊ณ ๋ ์ด์ ํ์ ์๊ฒ ๋์์ ๋ ์ด๋ป๊ฒ GC(Garbage Collection)๊ฐ ์ด๋ค์ง๊ฒ ๋ ๊น?
์ด ๊ธ์ JavaScript ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํ ๊ถ๊ธ์ฆ์ ์ฝ๊ฒ ํด๊ฒฐํด ์ค ๊ฒ์ด๋ค.
Letโs Create a Chrome Extension To Add New Features To Medium

์น ์๋น์ค๋ฅผ ์ด์ฉ ์ค์ ์ด๋ค ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ ํด๋ณธ ๊ฒฝํ์ด ์๋๊ฐ? Chrome ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด extension์ ๊ฐ๋ฐํจ์ผ๋ก์จ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
์ด ๊ธ์์๋ Chrome extension์ด ์ด๋ป๊ฒ ๋์ํ๋์ง์ ๋ํ ๊ฐ๋จํ ์ค๋ช ๊ณผ ์ค์ ๋ก Medium์์ ์ฌ์ฉํ ์ ์๋ extension์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ์์ ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.
์ฝ๋์ ๋๊ตฌ
json-to-simple-graphql-schema
JSON์ ๋์ผํ ํ๋๋ฅผ ๊ฐ๋ 2๊ฐ์ ํ์ ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ:
{
"id": "some-id-0",
"name": "A fun object",
"color": {
"id": "color-id-1",
"name": "Test color"
},
"favoriteColor": {
"id": "color-id-1",
"name": "Test color"
}
}
์ฑ์ ํตํด ์คํ๋๋ฉด, ๋ค์์ ์คํค๋ง๊ฐ ์์ฑ๋๋ค.
type FavoriteColor {
id: String
name: String
}
type Color {
id: String
name: String
}
type AutogeneratedMainType {
id: String
name: String
favoriteColor: FavoriteColor
color: Color
}
# Types with identical fields:
# FavoriteColor Color
It called out the two types with identical fields.
JSON ํํ์ ๋ฐ์ดํฐ๋ฅผ graphql schema๋ก ๋ณํํด ์ฃผ๋ ๋๊ตฌ์ด๋ค.
JSON ๊ธฐ๋ฐ์ผ๋ก API ํต์ ํ๋ ํ๋ก์ ํธ์ graphql์ ์ ์ฉํ๋ ์ํฉ์ด๋ผ๋ฉด ์ด ๋๊ตฌ๊ฐ ๊ต์ฅํ ์ ์ฉํ๊ฒ ์ฐ์ผ ๊ฒ์ด๋ค.
<SpeedTyper />
๊ฐ๋ฐ์๋ค์ ์ํ ์ฝ๋ ํ์ดํ ํ์ต(๊ฒ์) ๋๊ตฌ๋ก, ์ค์ ์คํ์์ค ํ๋ก์ ํธ๋ค์ ์ฝ๋๋ค์ ์ฌ์ฉํ๋ค. ์๋์ ์ ํ์ฑ์ ๊ธฐ์ค์ผ๋ก ๋ค๋ฅธ ์ด๋ค๊ณผ ๊ฒฝ์ํ๊ฑฐ๋ ์ฝ๋ ํ์ดํ ์คํฌ์ ์ค์ค๋ก ํ์ตํด ๋ณผ ์๋ ์๋ค.
Parallel.js
Parallel.js๋ Node.js์ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ๊ฐ๋จํ๊ฒ ๋ณ๋ ฌ ์์ ์ ์ํํ ์ ์๊ฒ ๋ง๋ค์ด ์ฃผ๋ ์์ ์ฉ๋(1.49KB - gzipped)์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, Node.js ํ๊ฒฝ์์๋ child processes, ๊ทธ๋ฆฌ๊ณ ์น ํ๊ฒฝ์์๋ ์น ์์ปค๋ฅผ ์ฌ์ฉํ๋ค.
RunJS

Javascript ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์คํ์ํฌ ์ ์๋ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก typescript๋ฅผ ์ง์ํ๊ณ npm ํจํค์ง๋ค์ ์ค์นํด์ ์ฌ์ฉํ ์ ์๋ค. ํ๋กํ ํ์ดํ์ด๋ ํ ์คํธ ๋ฑ ๊ฐ๋จํ ์์ ์ ์ฌ์ฉํ๊ธฐ ์๋ง์ ๋ณด์ธ๋ค.
Remotion

Remotion์ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋์ค์ ๋ชจ์ ๊ทธ๋ํฝ์ ์ ์ํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. CSS, Canvas, SVG, WebGL ๊ฐ์ ์น ๊ธฐ์ ์ ์ฌ์ฉํด ๋น๋์ค๋ฅผ ๋ง๋ค ์ ์๋ค.