๐Ÿ’ป๊ธฐ์ˆ 

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 ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ์‹œ ํ—ค๋” ์„ค์ •์œผ๋กœ ์•Œ..
DipokalHHJ
'๐Ÿ’ป๊ธฐ์ˆ ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)