TypeScript๋ ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์๊ฒ ์ฌ๋๋ฐ๋ JS ๋ฐํ์ ์ค ํ๋์
๋๋ค. ์ ์ญ์๋ ๊ธฐ์กด ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์งํํ๋ ํ๋ก์ ํธ๋ฅผ ๋ชจ๋ ํ์
์คํฌ๋ฆฝํธ๋ก ๋ฆฌํฉํ ๋งํ๊ธฐ๋ ํ์ฃ . ์ด์ ๋๋น ์์ฒญ๋ ์์ฐ์ฑ๊ณผ ๋๋ถ์ด ๋ค์๋ Type Error๋ฅผ ๋ณด๊ฒ ๋์ง ์์๋ค๋ ์ ๋ ์ฅ์ ์
๋๋ค. ๊ทผ๋ฐ ๋๊ฒ ํ์
์คํฌ๋ฆฝํธ๋ฅผ ์ฒ์ ๋ฐฐ์ฐ๊ณ ์ ์ฉํ๋๋ฐ ์ด๋ ค์์ ๊ฒช์ต๋๋ค. ๊ฒ์ผ๋ก๋ง ๋ณด๋ฉด JavaScript์ ํฌ๊ฒ ๋ฌ๋ผ์ง์ง๋ ์์ ๋ณด์ด๋๋ฐ ๊ตณ์ด ๋ถํธํ๊ฒ ์ ์ฉํ ์ด์ ๋ ์์ด ๋ณด์ด๊ธฐ๋ ํฉ๋๋ค. ํ์ต ๋์ด๋์ ํฉ๋ฆฌ์ ์ด์ง ์์ ๊ฐ๋ฐ ๊ณผ์ ๋๋ฌธ์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ถ๋ค์ ๊ทธ ํ์์ฑ์ ์ ๋ชป ๋๋ผ์๋ ํธ์
๋๋ค. ๊ทธ๋ฌ๋ ์ ์ฃผ๋ณ์๋ ํ์
์คํฌ๋ฆฝํธ!, ์ทจ์
์์ฅ์์๋ ํ์
์คํฌ๋ฆฝํธ!๋ฅผ ๋ถ๋ฅธ๋ค๋ฉด ๊ฑฐ๊ธฐ์๋ ํฉ๋ฆฌ์ ์ธ ์ด์ ๊ฐ ์๋ค๋ ์ฆ๊ฑฐ์
๋๋ค. ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋์ ์ ํ..
๐ป๊ธฐ์
Docker์ Nginx๋ฅผ ์ฌ์ฉํด ์ปจํ
์ด๋๋ฅผ ๋น๋ํ ๋๋ง๋ค ์๋์ผ๋ก ๋ฐฐํฌ๋๋ ์๋น์ค๋ฅผ ๊ตฌ์ถํด ๋ณด๊ฒ ์ต๋๋ค. ์ ๊ฐ ์ผ์ ์ ๊ธฐ์ ๋ธ๋ก๊ทธ์ ์ฌ๋ ธ๋ GoCD์ ๊ฐ์ด ์ฐ์๋ฉด ๋ฐฐํฌ ์์ฐ์ฑ์ด ๋์์ง๋๋ค. ์ด๋ฐ ๊ณผ์ ์ CD(์ง์์ ์ธ ๋ฐฐํฌ)๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ ์ ์ด๋ ์ํํธ์จ์ด๋ฅผ ๋ค๋ฃจ๊ณ ์๋ค๋ฉด ๊ด๋ จ ๊ณต๋ถ๋ ํ์์ ์
๋๋ค. ๋๋ถ๋ถ DevOps ๊ณผ์ ์ผ๋ก ํธ์
๋๋ ์ธํ๋ผ๋ ํด๋ผ์ฐ๋ ๊ด๋ จ ์ทจ์
์ด ๋ชฉ์ ์ด๋ผ๋ฉด ๊ผญ ์์๋์
์ผ ํ ๊ธฐ์ด ๊ฐ๋
์
๋๋ค. ์ด ํฌ์คํธ์์๋ Docker๋ก ์๋๋ฐฐํฌ + SSL ์ ์ฉ๊น์ง ํ ๋ฒ์ ํด๊ฒฐ๋๋ ๋ฐฐํฌ ์์คํ
์ ๊ตฌ์ถํด ๋ด
๋๋ค. 1. ์๋ ๋ฐฐํฌ https://hub.docker.com/r/nginxproxy/nginx-proxy Docker hub.docker.com ์คํฌ๋ฆฝํธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์๋๋ Mac/Linux ..
ํด์ปคํค์ ๋๊ฐ๊ฑฐ๋ ์ค๋ฌด๋ฅผ ํ๋ค๋ฉด ํ์
์ ํ์์
๋๋ค. ์ด๋ ์ด๋ค ์ฌ๋์ ๋์ ์ธ๋ฏธ์ฝ๋ก ์ ์ ๋ถ์ด๊ฑฐ๋, ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ง๋๋ผ๋ ๊ฐ๋
์ฑ์ ์ ๊ฒฝ ์ฐ์ง ์๊ฑฐ๋, Tab vs Space ๋
ผ์์ด ์์ฌํ๋ ๊ฒ์ฒ๋ผ ์ปจ๋ฒค์
์ ๋ค๋ฅด๊ฒ ํ๊ธฐ๋ ํฉ๋๋ค. ์ด๋๋ง๋ค "์ปจ๋ฒค์
์ ํต์ผํฉ์๋ค"๋ผ๊ณ ๋งํ๊ธฐ์๋ ๊ฐ์์ ์ฝ๋ ์คํ์ผ์ด ๋๋ฌด ๋ช
ํํด์ ์คํ๋ ค ๋ถํธํด์ง๊ณ ์์ฐ์ฑ์ด ๋จ์ด์ง๋ ๋ฌธ์ ๋ฅผ ๋ณ์ต๋๋ค. ๊ทธ๋ด๋ VSCode์๋ ํ์
์ ์ํ ์ต์คํ
์
์ด ์ฌ๋ฌ ๊ฐ ์กด์ฌํฉ๋๋ค. ์ด ํฌ์คํธ์์๋ ์ ์ฉํ VSCode ์ต์คํ
์
์ ์ดํด๋ณด๊ณ ์ด๋ค ์ด์ ์ด ์๋์ง ์ดํด๋ด
๋๋ค. 1. Prettier - Code formatter ์ฝ๋ ํฌ๋ฉงํ
๋๊ตฌ์
๋๋ค. ์ฌ์ค์ ํ์
์ ํ์์ด๊ธฐ๋ ํ๊ณ ์์ ์ธ๊ธํ๋ฏ Tab vs Space ๋
ผ์์ ํ ๋ฒ์ ์ผ์ถํ ์ต๊ณ ์ ๋๊ตฌ์
๋๋ค. ..
๋์์ธ ์์คํ
๋์์ธ ์์คํ
์ UIUX ๋์์ธ ์ ๋ฐ์ ํฌ๊ดํ๋ ์ฒด๊ณ๋ค. ์ ํ์ ์ฑ๊ฒฉ๊ณผ ์ฌ์ฉ์ฑ์ ๊ท์ ํ๋ฉฐ, ์ฒด๊ณ์ ์ด๊ณ ์ ์ฐํจ๊ณผ ๋์์ ๋น ๋ฅธ ๋์์ธ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ํํ ์ ํ์ค๋ฝ๋ค, ๋ฑ๋ฑํ๋ค, ๋ถ๋๋ฝ๋ค ๊ฐ์ ๋์์ธ์ ์ฃผ๊ด์ ์ธ ๋๋์ ๊ฒฐ์ ํ๋๋ฐ ์ค์ํ ์ญํ ์ ํ๋ค. ๋๋ถ๋ถ์ ๋ง์ ํ์ฌ์ ์กฐ์ง์ด ๋์์ธ ์์คํ
์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ต๊ทผ ๋ค์ด์๋ ๋๊ธฐ์
๋ฟ ์๋๋ผ ์ผ๋ฐ ์คํํธ์
๊น์ง๋ ๋์์ธ ์์คํ
์ ์ค์์ฑ์ด ๋ถ๊ฐ๋๋ ์ถ์ธ๋ค. ๋์์ธ ์์คํ
์ ์ญํ ์ ํ์
์ฉ์์ฑ์ ์๋ค. ๋์์ด๋๊ฐ ์ ์ํ ์ด์์ ๋ฐํ์ผ๋ก ๊ฐ๋ฐ์๋ ์ง์ ๊ฐ๋ฐํ๊ฒ ๋๋๋ฐ, ๋์์ธ ์์คํ
์ด ์๋ค๋ฉด px ๋จ์์ธ์ง mm๋จ์์ธ์ง๋ถํฐ ์๋ฉด์ผ๋ก ์์ธํ๊ฒ ๊ท์ ํด์ผ ํ๋ค. ์์คํ
์ ๋ถ์ฌ๋ก ์ธํด ํ์
์๊ฐ์ด ์ค๋ ์์๋๊ณ , ๋ถํ์ํ ์ํต์ด ์ฆ๊ฐํ๊ฒ ๋๋ค. ๋จ์ํ ๋์์ธ ..
์ด ๊ธ์์ ๋์ค๋ ์
์ฒด๋ช
, ์๋น์ค ์ด๋ฆ์ ๊ด๊ณ ๊ฐ ์๋๋๋ค. ์ด๋ ํ ์๊ณ ๋ฃ, ์๊ณ ๋น๋ฑ์ ๋ณด์์ ๋ฐ์ง ์๊ณ ์์ฑํ ๊ธ์์ ๋ฐํ๋๋ค. ์ฝ๋์ฌ์ธ ์ธ์ฆ์ ๋ฐ๊ธ์ ๊ดํ ๊ธ์ด ์๋ค์ํผ ํด์ ์ด๋ฒ ๊ธฐํ์ ์ ์ด๋ณด๋ ค ํ๋ค. ๊ฐ์ธ์ ์ผ๋ก electron, javascript(+type)์ผ๋ก ์๋์ฐ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด๋ฉฐ ๊ฒช์ ์ผํ ์ค, ์ฝ๋์ฌ์ธ์ด ๊ฐ์ฅ ๊ณจ์น ์ํ ๋ค. ๊ทธ๋งํผ ์๋ฃ๊ฐ ๋ถ์กฑํ๊ธฐ๋ ํ๊ณ ์ธ๋ฐ์์ด ์ธ๊ตญ์์ ๊ตฌ๋งคํด ๋ณด๊ฒ ๋ค๊ณ ์ฝ์งํ๋ ๋ฐ๋์ ์ฝ 1๊ฐ์์ ๋ ๋ ธ๋ ๊ธฐ์ต์ด ์๋ค. ๊ทธ๋ฐ ์๋ฏธ์์ ์ด ๊ธ์ ์ฝ๋ ์ฌ๋ฌ๋ถ๋ค์ ํ์์ ์ฝ์ง์ ๋ฐ๋ผ ํ์ง ์๊ธธ ๋ฐ๋ผ๋ ๋ง์์์ ๊ณต์ ํด๋ณด๋ ค๊ณ ํ๋ค. ์ฝ๋ ์ฌ์ธ ๊ด๋ จ ๋ธ๋ก๊ทธ๋ก๋ ์๋๋ฅผ ์ฐธ๊ณ ํ๋ค. https://blog.horyu.me/20 ์ฝ๋ ์ฌ์ธ ์ธ์ฆ์ ๋ฐ๊ธ๊ธฐ 1 - ์๋ฃ ์กฐ์ฌ ํ์์ C# ์ผ..
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, Javascript. ํน์ ํ ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฐ ์์ด ์ธ์ด์ ์ ์ฝ์ ์์ง๋ง, ๊ฐ๋ฐ ๋ชฉ์ ์ ๋ฐ๋ผ ํนํ๋ ์ธ์ด๋ ์กด์ฌํ๋ค. C#์ ์๋์ฐ์ฆ ๊ฐ๋ฐ, Java๋ ์ฌ์ด ์ฝ๋์ ์์ ์ฑ ๋ฒ์ฉ์ฑ, Python์ ML. JavaScript๋ ์น์ด๋ค. ํ๋์ ์ฐ์
์ ์น์์ ์์ํด, ์น์ผ๋ก ๋๋๋ค. ๊ทธ๋งํผ ์ธํฐ๋ท๊ณผ ์น์ ๋ฒ์๋ ์๋นํ๊ณ ๋ ์ค์ํ๋ค. ๋๋ถ๋ถ์ ์ ์์๊ฑฐ๋๊ฐ ์ธํฐ๋ท์ผ๋ก ์ด๋ฃจ์ด์ง ๋งํผ, ๊ฐ๋ฐ์๋ ์ฌ์ฉ์์๊ฒ ํ์ํ ๊ธฐ๋ฅ์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์ ๊ณตํด์ผ ํ๋ค. ๊ฐ๋ฐ์๊ฐ ์ ํํ ์ ์๋ ํ๋ซํผ์ ๋ ๊ฐ์ง๋ค. ์น์ด๋ ์ฑ์ด๋. ์ฑ ๊ฐ๋ฐ์ ๊ฐ๋ฐ ๋น์ฉ์ด๋ ๋ณต์ก์ฑ๋งํผ์ด๋, ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ธฐ๋ ์ด๋ ต๋ค. ๋ฐฐํฌ๋ ์น๋งํผ ๊ฐํธํ์ง ์๋ค. ์ฌ์ง์ด ํ๋ซํผ ์
์์๊ฒ ์ฌ์ฌ๊น์ง ๋ฐ์์ผ ํ๋ค. ๋ฐ๋ฉด ์น ๊ฐ๋ฐ์๋ ์ ํ์์๊ฐ ์๋ค...
๊ฐ์ธ์ ๋ณด ๋์ ํ๋ ์ฌํ์์์ ๊ฑฐ๋๋ ๋๋ถ๋ถ ์ธํฐ๋ท์์ ์ด๋ฃจ์ด์ง๋ค. ๋จ์ ์ธ ์๋ก ๋ฐฐ๋ฌ์์์ด ์๋ค. ๋ง์๋ ์์์ ๋จน๊ธฐ ์ํด ๊ตณ์ด ์์ ์ ์ ๊ฐ์ง ์์๋ ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ์์ ์์ผ๋จน์ผ๋ฉด ๋๋ค. ์ด๋ฌํ ๊ฑฐ๋๋ ๋ฐฐ๋ฌ ์๋ น์ ์ ์ธํ๊ณ ๋ชจ๋ ์จ๋ผ์ธ์์์ ์ด๋ฃจ์ด์ง๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฐฐ๋ฌ ์๋น์ค ์ ๊ณต์๋ ๋ด๊ฐ ๋๊ตฌ์ด์ง ์์ธํ๊ฒ ์์์ผ ํ๋ค. ๊ทธ๋์ผ ์ฌ๋ฐ๋ฅธ ์ฅ์๋ก ์์ ํ ๋ฐฐ๋ฌ์ด ๊ฐ๋ฅํ ํ
๋ ๋ง์ด๋ค. ๋์์ ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ๊ฐ์ ์๋น์ค ์ ๊ณต์๋ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ์ ์ํด ์ถ๊ฐ ์ ๋ณด๋ ์์งํ๋ค. ๋ฐฐ๋ฌ ์๋น์ค๋ฅผ ์์๋ก ๋ค์๋ฉด ์๋น์์ ์ฑ๋ณ, ๋์ด, ์ต๊ทผ ์ฃผ๋ฌธํ๋ ์์ ์ ๋ณด๊ฐ ์์งํ๋ ์ ๋ณด์ ํด๋นํ๋ค. ์๋น์๋ฅผ ์๋ฉด ์์๋ก ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ ํ๋๋ ๋์์ง๋ค. ์๊ณ ๋ฆฌ์ฆ ์ ํ๋๊ฐ ๋๋ค๋ฉด ๋ง์๋ ์์์ ๋จน๊ธฐ ์ํ ์ฃผ๋ฌธ ์์์๊ฐ์ด ์ค์ด๋ค๊ณ ์ ..
NodeJS๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ฐฑ์๋ ํ๊ฒฝ์ด๋ค. ๊ทธ๋งํผ ๋ณด์ ์ด์๋ ๋ง๊ณ ๋ณด์ ๊ด๋ จ ํ๋ ์์ํฌ๋ ๋ค์ํ๋ค. ์ด ํฌ์คํธ์์๋ NodeJS์ ๋ณด์์ ํฅ์ํ ์ ์๋ ๊ธฐ์ด์ ์ธ ๋ฐฉ๋ฒ์ ์๊ฐํ ์์ ์ด๋ค. 1. NPM audit npm ๋ชจ๋์ ๋ณด์ ์ทจ์ฝ์ ์ ์๋์ผ๋ก ์ง๋จํด์ฃผ๊ณ ๋ชจ๋์ ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์์ ์์ฒญํ๋ฉด ๋๋ค. npm audit 2. ngnix ์ฌ์ฉ nodejs๋ฅผ 80, 443ํฌํธ๋ก ๋ฐ๋ก ๋
ธ์ถ์ํค๋ฉด ์ฌ๋ฌ ๋ณด์ ์ด์์ ์ง๋ฉดํ ์ ์๋ค. ํฌํธ๋ 3000์ผ๋ก ํด๋๊ณ ngnix proxy ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ ๋ค์ ์จ๊ฒจ์ฃผ์. ๋ํ letsencrypt๋ฅผ ์ฌ์ฉํด์ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ๊ธฐ์๋ ์์ํด์ง๋ค. 3. Helmet ๋ณด์ ๋ชจ๋ ์ ์ฉ express ํ๋ ์์ํฌ ์ฌ์ฉ์ ํค๋ ์ค์ ์ผ๋ก ์..