Server๐Ÿงค/Node.JS

Server๐Ÿงค/Node.JS

[Node.js] CI/CD ๊ตฌ์ถ•ํ•˜๊ธฐ - Github Actions, AWS Codedeploy (Prisma, yarn run build keeps running)

๐Ÿ‘จ‍๐Ÿฆฒ๊ธฐ์กด ๋ฐฉ์‹์˜ ๋ฌธ์ œ์  Node.js, EC2, github์„ ํ†ตํ•ด ์„œ๋ฒ„ ๋ฐฐํฌ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๊ณผ์ • local ๊ฐœ๋ฐœ -> github push -> ec2์—์„œ pull -> build or run -> ๋ฐฐํฌ ์™„๋ฃŒ ๋งค๋ฒˆ ๊ฐœ๋ฐœ ํ›„ ์ง์ ‘ EC2 ์ ‘์†ํ•ด์„œ pull ๋ฐ›๊ณ  build, run ํ•ด์ค˜์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์ƒ๊ธด๋‹ค.!.!.! ๊ทธ๋ž˜์„œ ๋ฐฐํฌ ์ž๋™ํ™” ๊ณผ์ •์„ ํ†ตํ•ด ์ด ๊ณผ์ •์„ ์‰ฝ๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. Git์˜ GithubActions์™€ AWS์—์„œ ์ œ๊ณตํ•˜๋Š” CodeDeploy๋ฅผ ํ†ตํ•ด Github repository์—์„œ ์ž‘์—…ํ•œ code๊ฐ€ ๋ฐ”๋กœ ec์—์„œ deploy ๋˜๋„๋ก ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ๋‹ค. CI/CD ? CI CI๋Š” Continuous Integration์˜ ์•ฝ์ž๋กœ ์ง€์†์ ์ธ ํ†ตํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋นŒ๋“œ/ํ…Œ..

Server๐Ÿงค/Node.JS

[Node.js/Error] Cannot find module '~.json'

์—๋Ÿฌ : Cannot find module '~.json' ๋ถ„๋ช…ํžˆ ํŒŒ์ผ ๋ฐ‘์— ์ž˜ ๋„ฃ์–ด์คฌ๋Š”๋ฐ ๊ณ„์† ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค! ์ด์œ  : ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๊ฐ€ JSON ํŒŒ์ผ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค! ํ•ด๊ฒฐ๋ฐฉ๋ฒ•: tsconfig.jsonํŒŒ์ผ์—์„œ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค~ { "compilerOptions": { // ... "resolveJsonModule": true, // ... } } ์ด ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์คŒ์œผ๋กœ์จ, 1. json"ํŒŒ์ผ์„ importํ•  ์ˆ˜ ์žˆ๋‹ค 2. imported๋œ JSON ํŒŒ์ผ์„ ์ •์  JSON ํ˜•ํƒœ๋กœ ๋งŒ๋“ฌ yarn run build ํ•ด์„œ tsํŒŒ์ผ์„ jsํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์ค„๋•Œ ๋˜ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค! node:internal/modules/cjs/loader:959 throw err; ^ Error: Cannot fin..

Server๐Ÿงค/Node.JS

[Node.js] ์ด๋ฒคํŠธ๊ธฐ๋ฐ˜

๋…ธ๋“œ๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค๋ผ๋Š” ๋ง์„ ๋งŽ์ด ๋“ฃ๋Š”๋‹ค! ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜! ๊ทธ๊ฒŒ ๋Œ€์ฒด ๋ญก๋‹ˆ๊นŒ! ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ (event-driven) ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ (event-driven)์ด๋ž€, ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด๋‘” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ ) ํด๋ฆญ, ๋„คํŠธ์›Œํฌ ์š”์ฒญ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์— ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ๋“ฑ๋ก? ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์—์„œ๋Š” ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ, ๋ฌด์—‡์„ ํ• ์ง€ ๋ฏธ๋ฆฌ ๋“ฑ๋กํ•ด ๋‘”๋‹ค. ์˜ˆ) ๋ฒ„ํŠผ์„ ํด๋ฆญํ• ๋•Œ ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์šฐ๋„๋ก ์„ค์ • ํด๋ฆญ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์— ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์šฐ๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๋“ฑ๋กํ•˜๋ฉด, ํด๋ฆญ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์ฝœ๋ฐฑ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜์–ด ๊ฒฝ๊ณ ์ฐฝ์ด ๋œฌ๋‹ค. ๋…ธ๋“œ๋„ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๋ฏ€๋กœ, ์ด๋ฒคํŠธ ๋ฐœ์ƒ์‹œ, ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์— ๋“ฑ๋กํ•ด๋‘” ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ๊ฐ€ ์—†๊ฑฐ๋‚˜, ์ด๋ฒคํŠธ๋ฅผ ๋‹ค ์ฒ˜๋ฆฌํ•˜๋ฉด, ๋…ธ๋“œ๋Š”..

Server๐Ÿงค/Node.JS

ํ˜ธ์ด์ŠคํŒ…์ด๋ž€? / var๋ฅผ ์ง€์–‘ํ•˜๊ณ  const, let ์‚ฌ์šฉํ•˜๋ผ๋Š” ์ด์œ 

Hoist : ๋Œ์–ด์˜ฌ๋ฆฌ๋‹ค, ๋“ค์–ด์˜ฌ๋ฆฌ๋‹ค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ : ์œ„์—์„œ ์•„๋ž˜๋กœ ์ˆœ์„œ๋Œ€๋กœ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์„ ์–ธ์ด ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ ค์ง€๋Š” ๊ฒƒ = ํ˜ธ์ด์ŠคํŒ…์ด ๋œ๋‹ค! ํ˜ธ์ด์ŠคํŒ…์ด ๋˜๋Š” ๊ฒฝ์šฐ๋“ค 1. ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ hoistFunc(); function hoistFunc() { console.log("hoist func"); } ํ•จ์ˆ˜์„ ์–ธ์ด ํ˜ธ์ด์ŠคํŒ…์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์‹คํ–‰์ด ๋œ๋‹ค. 2. var ์„ ์ด์šฉํ•œ ๋ณ€์ˆ˜์„ ์–ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ณ€์ˆ˜ ์„ ์–ธ var, let, const ! ์„ธ๊ฐ€์ง€ ๋ชจ๋‘ ํ˜ธ์ด์ŠคํŒ… ๋˜์ง€๋งŒ, var์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋Š” ํ˜ธ์ด์ŠคํŒ… ํŠน์ง•์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค! ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ์ •์„ ์‚ดํŽด๋ณด๋ฉด 1. ์„ ์–ธ ๋‹จ๊ณ„ (Declaration) : ๋ณ€์ˆ˜ ๊ฐ์ฒด์— ๋ณ€์ˆ˜ ๋“ฑ๋ก 2. ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„ (Initialization) ..

yujindonut
'Server๐Ÿงค/Node.JS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก