ํ์ ์คํฌ๋ฆฝํธ๋ก koa ๋ฏธ๋ค์จ์ด ๋ง๋ค๊ธฐ
koa ๋ฏธ๋ค์จ์ด ๋ง๋ค๊ธฐ
koa ๋ฏธ๋ค์จ์ด ๋ง๋ค๊ธฐ
## WebSocket ์น์ ์ ํ์ ์ผ๋ก HTTP ์์ฒญ์ ๋ํ HTTP ์๋ต์ ๋ฐ๊ณ , ์ด์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ์๋ก ๋ง๋๋ ๋ฐฉ์์ด๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ ํต์ ์ ์์ฒญ๊ณผ ์๋ต์ด ํ ์์ผ๋ก ๋ฌถ์ฌ์๋ค. ๊ทธ๋ฌ๋ ์น ํ์ด์ง๊ฐ ๋ณด๋ค ์ฝ๊ฒ ์ํธ์์ฉ์ ํ๋ ค๋ฉด, ๋ธ๋ผ์ฐ์ ์ ์น ์ฌ์ด์ ์ด๋ฌํ ์์ฒญ - ์๋ต ๋ฐฉ์์ด ์๋ ๋ ์์ ๋ก์ด ์๋ฐฉํฅ ๋ฉ์์ง ์ก์์ ๊ธฐ์ ์ด ํ์ํ๋ค. ์ด๋ฌํ ...
๋ค์ด๋ฒ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ์๋น์ค ์ค ํ๋์ธ https://www.ncloud.com/product/applicationService/sens ๋ก SMS๋ฅผ ๋ฐ์กํ๋ ์์ . ncloud์๋น์ค๋ฅผ ๋ค ์จ๋ณธ๊ฑด ์๋์ง๋ง, `make_signature`๋ ์ ์๋น์ค์ ๋ค ๋๊ฐ์ด ์ธ ์ ์์ ๊ฒ ๊ฐ์ ๊ธฐ๋ถ์ด๋ค. ```python import time import req...
regex๋ฅผ ํ์ฉํด์ ์ซ์๋ฅผ ๋ณด๊ธฐ์ข๊ฒ formatting์ ํด๋ณด์.
์์ฆ ๋ฆฌ์กํธ๋ฅผ ์ฐ๋ ๋ง์ ํ๋ก์ ํธ์์, SSR์ ์ง์ํ๊ธฐ ์ํด [nextjs](https://nextjs.org/)๋ฅผ ์ฐ๊ณ ์๋ค. ์ด๊ธฐ ๋ก๋ฉ ์๋๋, SEO ์ง์ ์ด์ ๋ฑ ๋ฑ ๋๋ฌธ์ ์๋ฌด๋๋ SPA๋ ์์ฆ ํธ๋ ๋์์ ๋ง์ด ๋ฐ๋ฆฐ ๊ธฐ๋ถ์ด๋ค. ๋ฌผ๋ก [razzle](https://github.com/jaredpalmer/razzle) ์ ์ฐ๊ฑฐ๋ custom ser...
[nextjs์ ๊ณต์ ๋ฌธ์](https://nextjs.org/docs/basic-features/data-fetching)๋ฅผ ๋ณด๊ณ ์์ฝํ ๋ด์ฉ์ ๋๋ค. ```toc tight: true, from-heading: 1 to-heading: 2 ``` ## 1. getInitialProps Nextjs 9.3 ์ด์ ์๋ `getInitialProps` ๋ฐ์...
## ์ปค๋ง [์ด ๊ธ](https://www.sitepoint.com/currying-in-functional-javascript/) ์ ์ ์ ๋ฆฌ ๋์ด ์์ต๋๋ค. Currying์ ์ฌ๋ฌ ๊ฐ์ ์ธ์๋ฅผ ๊ฐ์ง ํจ์๋ฅผ ํธ์ถ ํ ๊ฒฝ์ฐ, ํ๋ผ๋ฏธํฐ์ ์๋ณด๋ค ์ ์ ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ธ์๋ก ๋ฐ์ผ๋ฉด ๋๋ฝ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ธ์๋ก ๋ฐ๋ ๊ธฐ๋ฒ์ ๋งํ๋ค. ์ฆ ์ปค๋ง์ ํจ์ ํ๋๊ฐ n๊ฐ...
`toc tight: true, from-heading: 2 to-heading: 3 ` ## 1. ์๋ก ์๋ฐ์คํฌ๋ฆฝํธ์์ http ์์ฒญ์ ํ๋ ๊ฒ์ ์ด์ ๋น์ผ๋น์ฌํ ์ผ์ด ๋์๋ค. ์๋ฒ์์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ static ํ html์ ๋ง๋ค์ด์ ๋ณด์ฌ์ฃผ๊ณ ์๋ ์นํ์ด์ง๋ ์๋ง ์ฐพ๊ธฐ ์ด๋ ค์ธ ๊ฒ์ด๋ค. ๋งจ ์ฒ์ ์น์ ๋ฐฐ์ธ ๋, jquery์ ajax ...
# ๋ฆฌ์กํธ์์ ์นด์ดํธ ๋ค์ด์ ๋ง๋ค๋ฉฐ ๋ฐฐ์ด ๊ฒ๋ค ๋ฆฌ์กํธ์์ ์นด์ดํธ ๋ค์ด์ ๋ง๋ ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ๊ฐ์ฅ ๋จผ์ ์๊ฐ๋๋๋๋ก, ๋น ๋ฅด๊ฒ ๊ตฌํํ๋ค๋ฉด ์๋์ ๊ฐ์ ๋๋์ด ๋ ๊ฒ์ด๋ค. https://codepen.io/yceffort/pen/BayPyNe ํ์ง๋ง ์ด ์ฝ๋๋ ํ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ## setInterval, setTimeout `setInte...
## ๋ธ๋ก๊ทธ์ ์ฑ์ฅ 2018๋ 5์ 1์ผ์ ๋ธ๋ก๊ทธ๋ฅผ ์์ํ ์ด๋ก๋ก ํ์๋ฆฌ๋ฅผ ์ง๊ป์ด๋ ๋ธ๋ก๊ทธ์์, ์ ๋ฒ ์ด์ฌ๋ ์ ์ฌ๋ ์ฐพ์์ค๋ ๋ธ๋ก๊ทธ๋ก ์ฑ์ฅํ๋ค.   ๊พธ์คํ ๋ธ๋ก๊ทธ ๋ป ๊ธ๊ณผ ํ์ฌ์์ ์ผํ๋ ๊ฒ ๋๋ถ์ github contributi...
# ๋ฌธ์ ์ ์์ ์ง๋ ์ฃผ๋ง, ์์ฒญ๋๊ฒ ๊ธํ๊ฒ ๋น ๋ฅธ ์๋๋ก ํ๋ก์ ํธ๋ฅผ heroku์ ์ฌ๋ฆด ์ผ์ด ์์๋ค. DB๋ ์๋ก๋ง๋ค์ด์ผํ๊ณ , ๋ก๊ทธ์ธ๋ ํ์ํ ์ฌ์ดํธ๋ผ DB๋ Heroku์ Clean DB๋ฅผ, ๋ก๊ทธ์ธ์ [google sign-in for websites](https://developers.google.com/identity/sign-in/web)์ ์ฌ์ฉํ...
์ด๋ฏธ ๋จธ์ง๋ ๋ธ๋์น๋ฅผ ๋ก์ปฌ์์ ์ญ์ ํ๊ธฐ
์ฃผ๋ง์ ์ง๊ตฌ์์ ํผ์ ์ค๋์์ ์ผ์ด ์์ด์, ์๊ฐ๋ ๊น์ ๋ธ๋ก๊ทธ๋ฅผ ๊ฐํธํ์ต๋๋ค. ์ด ์ ์๋ hexo ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ๋ธ๋ก๊ทธ๋ฅผ ์์ ํ๋๋ฐ, hexo ์ํ๊ณ๊ฐ ๊ด๋ฆฌ๊ฐ ์ ์๋๊ณ ์๋ ๊ฑด์ง ํ๋ฌ๊ทธ์ธ์ด๋ ๊ธฐ๋ฅ๋ค์ด ์ ๋๋ก ๋์์ ์ํ๋๊ตฐ์. wordpress -> ??? -> github pages -> hexo -> gatsby ๊น์ง ๋ฒ์จ ๊ฐํธ๋ง ํ ๋ค์ฏ๋ฒ ์ฏค...
## ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋จ์ผ ์ค๋ ๋ ๊ธฐ๋ฐ์ ์ธ์ด ์๋ฐ์คํฌ๋ฆฝํธ๋ '๋จ์ผ ์ค๋ ๋' ๊ธฐ๋ฐ์ ์ธ์ด๋ค. ์ฆ, ์ค๋ ๋๊ฐ ํ๋์ด๊ธฐ ๋๋ฌธ์ ๋์์ ํ๋์ ์์ ๋ง ์ฒ๋ฆฌํ ์ ์๋ค. ๊ทธ๋ฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ฌ์ฉ๋๋ ์น์ ๊ณฐ๊ณฐํ ์๊ฐํด๋ณด๋ฉด ๋์์ ์ฌ๋ฌ๊ฐ์ ์์ ์ ์ฒ๋ฆฌํ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. ์ค๋ ๋๊ฐ ํ๋์ธ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์์ฑ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊น? ๋จผ์ ๋ธ๋ผ์ฐ์ ๊ตฌ๋ํ๊ฒฝ์ ์ดํด๋ณด...
Don't do anything boring ## Tensorflow JS ์ค์๋: โ โ โ โ โ ๋์ด๋: โ โ โ โ โ AI๊ฐ ํ๊ณ ์ถ์ด์ ์ ์๋... tensorflowjs ๋ฅผ ํํ ๋ฆฌ์ผ๋ถํฐ ๋ฐ๋ผํ๋ฉด์ ๋ฐฐ์๋ณด์. ## ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ [๋ฐฑ์ค๊ฐ์](https://code.plus/bundle/8) ์ด์ ์๊ณ ๋ฆฌ์ฆ ์ ๋ณตํ ๋๊ฐ ๋์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ด์ฌ์ผ...
## Commit Message [์ข์ git commit ๋ฉ์์ง๋ฅผ ์ํ ์์ด์ฌ์ ](https://blog.ull.im/engineering/2019/03/10/logs-on-git.html) [์ข์ git ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์์ฑํ๊ธฐ ์ํ 7๊ฐ์ง ์ฝ์](https://meetup.toast.com/posts/106) ### ์์ฝ Single Line ...
๋ฆฌ์กํธ์์ ํ ์คํธ ๊ฐ์กฐํ๋ ๋ฐฉ๋ฒ
> Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked. The debounced function comes with a cancel m...
๋ธ๋ผ์ฐ์ ํ์คํ ๋ฆฌ ์กฐ์ํ๊ธฐ
## ์ ๋ค๋ฆญ์ด๋ ์ ๋ค๋ฆญ์ ํด๋์ค ๋ด๋ถ์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ์ ํ์ ์ ์ธ๋ถ์์ ์ง์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๋ค ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ธ์ง๋ฅผ, ํด๋์ค ์ ์ธ๋ถ๊ฐ ์๋๋ผ ์ธ๋ถ์์ ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ค. ์ผ๋จ ์๋ฐ ์ฝ๋๋ก ํ๋ฒ ์ดํด๋ณด์. ```java class Person<T>{ public T name; } Person<String> p1 = new Person<...