๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 101

nestjs passport base64 ์˜ต์…˜ ์‚ฌ์šฉํ•˜๊ธฐ

์ƒํ™ฉ 1. ์Šคํ”„๋ง์œผ๋กœ ๊ตฌ์ถ•๋œ api์„œ๋ฒ„๊ฐ€ ์กด์žฌ 2. ์Šคํ”„๋ง์˜ ๋ชจ๋“  api๋ฅผ nest๋กœ ์ปจ๋ฒ„ํŒ…ํ•ด์•ผ๋จ. 3. ๋‹จ๊ณ„๋ณ„ ์ปจ๋ฒ„ํŒ… ์ž‘์—…์ค‘ ๊ฐ™์€ ์†”ํŠธ๋ฅผ ์‚ฌ์šฉํ•œ jwt token์ด nest์„œ๋ฒ„์—์„œ๋Š” ์ธ์ฆ์ด ์•ˆ๋˜๋Š” ์ƒํ™ฉ ๋ฌธ์ œ์  1. ์Šคํ”„๋ง์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์†”ํŠธํ‚ค๊ฐ’์„ base64๋กœ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์‚ฌ์šฉ 2. ๋„ค์ŠคํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์†”ํŠธํ‚ค๊ฐ’ ์ธ์ฝ”๋”ฉ์‚ฌ์šฉํ•˜์ง€์•Š์Œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 1. PassportStrategy ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉ์‹œ secretOrKey๋ฅผ Buffer.from('ํ‚ค๊ฐ’', 'base64') ๋กœ ๊ฐ์‹ธ๋ฉด ๋จ. 2. ๋ฆฌํ”„๋ž˜์‰ฌ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ž‘์—… ์Šฌํ”„๋‹ค ๋‚˜์˜ 3์ผ์ด ์ด๋ ‡๊ฒŒ ๋‹จ ๋ช‡์ค„์ด๋ผ๋‹ˆ

node.js 2022.02.22

mac์—์„œ git๊ณ„์ • ์—ฌ๋Ÿฌ๊ฐœ ์—ฐ๋™ํ•˜๊ธฐ

๊ฐœ๋ฐœ๊ด€๋ จ๋œ ๋ธ”๋กœ๊ทธ๊ธ€์„ ์–ผ๋งˆ๋งŒ์— ์“ฐ๋Š”๊ฑฐ์ง€? ๋ฐ”์˜๋‹ค๋Š” ํ•‘๊ณ„๋กœ ๋‚˜์˜ ์Šคํ‚ฌ์„ ๋‚˜๋งŒ์˜ ๊ฒƒ์œผ๋กœ๋งŒ ๊ฐ„์งํ–ˆ๋‹ค. ์ฃผ๋ง์— ์—ฌ์œ ๋กญ๊ฒŒ ์ผ ๋ณด๊ณ ์‹ถ์–ด์„œ ๊ฐ€๋” ์ถœ๊ทผ์„ ํ•˜์ง€๋งŒ 2022๋…„์˜ ์ฃผ๋ง์€ ์—…๋ฌด๊ฐ€ ์•„๋‹Œ ์—…๋ฌด ์™ธ ๊ฐœ๋ฐœ๊ณผ ๋ฏธ๋ž˜์˜ ์ธ๋จธ๋ฅผ ์œ„ํ•ด ๋ธ”๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค. ์‚ฌ์‹ค ๊ฒ€์ƒ‰ํ•˜๋ฉด ์ด๋Ÿฐ ๊ธ€ ์Ÿ์•„์ง€๋Š”๋ฐ ๊ณง ๊ณ„์ •์ด ๊ผฌ์—ฌ์„œ ์ด๊ฑฐ ํ• ์ค„์•„๋Š”์‚ฌ๋žŒ! ํ•˜๊ณ  ์—…๋ฌด์Šฌ๋ž™์— ๊ธ€์„ ์˜ฌ๋ฆด ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž๋‹˜์—๊ฒŒ ๋งํฌํ•˜๋‚˜ ๋“œ๋ฆฌ๊ณ  ๋‚˜์˜ ์‚ฝ์งˆ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ–ˆ์œผ๋ฉด ํ•˜๋Š” ๋™๋ฃŒ์• ๋ผ๊ณ  ํ•ด๋‘ฌ์•ผ๊ฒ ๋‹ค. ์š”์ฆ˜ ๋“ค์–ด์˜ค๋Š” ํ”„๋กœ์ ํŠธ๋“ค์€ ์™ธ์ฃผ๋กœ ๋ฐ›๋Š” ํ”„๋กœ์ ํŠธ๋“ค์ด ์ข€ ์žˆ๋Š” ํŽธ์ด๋‹ค. ๋•๋ถ„์— 2๊ฐœ์˜ bitbucket๊ณ„์ •๊ณผ 1๊ฐœ์˜ github๊ณ„์ •์„ ๋„˜๋‚˜๋“ค๋ฉฐ ์ž‘์—…ํ•˜๊ณ ์žˆ๋‹ค. ์ด๋•Œ ๊ฐ๊ฐ์˜ ๊ณ„์ •์— ๋งค์นญ๋˜๋Š” sshํ‚ค๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋ฅผ configํŒŒ์ผ์—์„œ ์ ์ ˆํžˆ ๋ถ„๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์šฐ์„  ..

2021 ๊ฐœ๋ฐœ ํšŒ๊ณ 

๋‚˜๋Š” ๊ธ€ ์“ฐ๋Š” ๊ฑธ ์ข‹์•„ํ•œ๋‹ค. ๋ฌธ๊ณผ ๊ฐ์„ฑ์ด ๋‚ญ๋‚ญํ•œ ๊ฐœ๋ฐœ์ž๋ผ์„œ ๊ธ€์„ ์“ฐ๋Š” ๊ฒƒ๋„ ๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์•„ํ•œ๋‹ค. 2021๋…„์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ๊ฐœ๋ฐœํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•ด๋ณผ๊นŒ ์ƒ๊ฐ์„ ํ•˜๋‹ค ์ด๋ ‡๊ฒŒ ๊ธ€์„ ์จ๋ณธ๋‹ค. ์–ด๋–ค ๊ธ€์„ ์จ์•ผ 2021๋…„์„ ์ž˜ ๋งˆ๋ฌด๋ฆฌํ–ˆ๋‹ค๊ณ  ์†Œ๋ฌธ์ด ๋‚ ๊นŒ. ๊ณ ๋ฏผ์„ ์ž ๊น ํ•ด๋ณธ๋‹ค. 30์‚ด ๋Šฆ์€ ๋‚˜์ด์— ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์—ˆ๊ณ  ๋‚˜๋Š” ์ด์ œ 33์‚ด์ด ๋˜์—ˆ๋‹ค. 30์‚ด, ๊ฐœ๋ฐœ์„ ๋ฐฐ์›Œ์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ํšŒ์‚ฌ๋ฅผ ๊ทธ๋งŒ๋‘์—ˆ๋‹ค. 31์‚ด, ๊ฐœ๋ฐœ์— ์ž…๋ฌธํ•˜๊ณ  ๋ถ€์‚ฐ์—์„œ ์งง์€ ํšŒ์‚ฌ๋“ค์„ ๋‹ค๋‹ˆ๋ฉฐ ๋ถ€์‚ฐ์—์„œ ๋น„์ „๊ณต์ž ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๊ธฐ์—” ์‰ฝ์ง€ ์•Š์Œ์„ ๋Š๊ผˆ๋‹ค. 32์‚ด, ์„œ์šธ๋กœ ์ƒ๊ฒฝํ•˜์—ฌ ์ข€ ๋” ์ข‹์€ ์‚ฌ๋žŒ๋“ค๊ณผ ํšŒ์‚ฌ๋ฅผ ๋งŒ๋‚˜ ์ˆจ ์‰ฌ๋“ฏ ์ž๊ดด๊ฐ์„ ๋Š๋ผ๋ฉฐ ์„ฑ์žฅํ•˜์˜€๋‹ค. ํ•œ ํ•ด ํ•œ ํ•ด๋ฅผ ์ •๋ฆฌํ•˜์ž๋ฉด ์ด๋Ÿฐ ๋Š๋‚Œ์ด๋ž„๊นŒ? ํŠนํžˆ ๊ฐœ๋ฐœ์— ์ž…๋ฌธํ•œ 3๋…„ ์ค‘ ๊ฐ€์žฅ ์†Œ๋“์ด ์žˆ์—ˆ๋˜ ํ•œ ํ•ด๊ฐ€ ์•„๋…”์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์„ ..

DND 5๊ธฐ 8์ฃผ์ฐจ - ์ตœ์ข…๋ฐœํ‘œ

8์›”21์ผ ๋””์•ค๋””๊ฐ€ ์ง„์งœ ๋๋‚ฌ๋‹ค. ์น˜์—ดํ–ˆ๋˜ ๋‚˜์˜ 8์›”์ด ์ด๋ ‡๊ฒŒ ์ง€๋‚˜๊ฐ€๋Š”๊ตฌ๋‚˜ ๊ฒฐ๊ณผ๋ฌผ์€ ์•„๋ž˜์˜ ํ•œ์ค„๋กœ ํ‘œํ˜„ํ•  ์ˆ˜์žˆ๋‹ค. https://moida.club/ ์‚ฌ์‹ค ์•„์ง ํฐ ์™„์„ฑ๋ณธ์€ ์•„๋‹ˆ์ง€๋งŒ 8์ฃผ๊ฒฐ๊ณผ๋ฌผ์„ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€๋ฅผ ์‹œ์—ฐํ•˜๊ธฐ ์œ„ํ•ด ๋”๋ฏธ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด๋†“์€ ์ƒํƒœ์ด๋‹ค. MOIDA moida.club ์šฐ๋ฆฌ ์„œ๋น„์Šค์˜ ์‹œ์ž‘์€ ์šฐ๋ฆฌ๋ฅผ ํƒ€๊ฒŸ์œผ๋กœ ํ•œ ์„œ๋น„์Šค์ด๋‹ค. ๊ฐ‘์ž๊ธฐ ๊ฒฐ์„ฑ๋œ ๋””์•ค๋”” ์กฐ์—์„œ ์ฒซ๋ฒˆ์งธ ๋ชจ์ž„์„ ์žก์„๋•Œ ๊ต‰์žฅํžˆ ๊นŒ๋‹ค๋กœ์› ๋‹ค. ๊ฐœ๊ฐœ์ธ์˜ ๊ฐ์ž ์‚ฌ์ •์ด ์žˆ์—ˆ๊ณ  "๋ฉฐ์น ์€ ๋ช‡์‹œ๋ถ€ํ„ฐ ๋ช‡์‹œ๊นŒ์ง„ ๋˜๋Š”๋ฐ ์–ธ์ œ๋ถ€ํ„ด ์•ˆ๋ผ์š”", "์•„ ๊ทธ๋Ÿผ ์ด๋‚  ๋ช‡์‹œ์— ๋ณผ๊นŒ์š”?","์•„ ์ € ๊ทธ๋‚ ์€ ๋ช‡์‹œ๋ถ€ํ„ฐ ๋ผ์š”" ๋ช‡๋ฒˆ์ด๊ณ  ์•ฝ์†์„ ์žก๊ธฐ๊ฐ€ ํž˜๋“ค์–ด์„œ ์• ๋ฅผ ๋จน์—ˆ๋‹ค. ์ด๋Ÿฐ ์šฐ๋ฆฌ์˜ ๋ถˆํŽธํ•จ์„ ์‹œ์ž‘์œผ๋กœ ์šฐ๋ฆฌ์˜ ์„œ๋น„์Šค๋Š” ์‹œ์ž‘๋˜์—ˆ๋‹ค. ์šฐ๋ฆฌ ์„œ๋น„์Šค์˜ ํ•ต์‹ฌ์€ 2๊ฐ€์ง€์˜ ๊ธฐ๋Šฅ์ด๋‹ค..

node.js 2021.08.29

DND 5๊ธฐ 7์ฃผ์ฐจ - ๋„ฅ์ŠคํŠธ ํ”Œ๋žœ ๋ฐ ํšŒ๊ณ 

๋”ฉ์ด์ œ ์ง„์งœ ๋งˆ์ง€๋ง‰์ด ๋‹ค๊ฐ€์˜ค๊ณ ์žˆ๋‹ค. ์‚ฌ์‹ค์€ 14์ผ์ด ์ตœ์ข…๋ฐœํ‘œ์˜€๋Š”๋ฐ ๋ฌด์Šจ์ผ์ธ์ง€ ์ผ์ฃผ์ผ ๋” ๋ฏธ๋ค„์ ธ์„œ 21์ผ์ด ์ตœ์ข… ๋ฐœํ‘œ์ผ์ด๋˜์—ˆ๋‹ค. ๋””์•ค๋””๋„ ์Šฌ์Šฌ ๋งˆ๋ฌด๋ฆฌ ๋˜์–ด๊ฐ€๋ฉด์„œ ๋‚˜์˜ ๊ฐœ์ธํšŒ๊ณ ๋ก์„ ์ž‘์„ฑํ•˜๊ณ  ์ดํ›„์— ํ”Œ๋žœ์— ๋Œ€ํ•ด ์ž‘์„ฑํ•ด๋ณด์•„์•ผ๊ฒ ๋‹ค. ๋””์•ค๋”” ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ํ˜„์—…์—์„œ์˜ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„๋“ค์„ ์ฑ„์šฐ๊ณ  ๋Š๋ผ๊ณ  ์žˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ํšŒ์‚ฌ๋Š” ์ด์ต, ๋งค์ถœ๊ณผ ๊ฐ™์ด ๋ˆ์— ์ง์ ‘์ ์ธ ๊ด€๊ณ„๊ฐ€ ์žˆ์–ด ๋น ๋ฅธ ๊ฒฐ๊ณผ๋ฌผ์„ ๋‚ด๋Š” ๊ฒŒ 1์ˆœ์œ„๋ผ ๊ฐœ๋ฐœ์˜ ์›๋ก ์ ์ธ ๋ถ€๋ถ„๋“ค์„ ์ƒ๋žตํ•˜๊ณ  api ๊ณต์žฅ์ฒ˜๋Ÿผ ์ผ์„ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๋‹ค. ๋””์•ค๋”” ํ”„๋กœ์ ํŠธ๋Š” ํ•œ ์ฃผ ํ•œ ์ฃผ (์–ด๋Š ์ •๋„์˜) ๊ฐ•์ œ์„ฑ์„ ๋ถ€์—ฌํ•˜๊ณ  ๊ธฐํš๋ถ€ํ„ฐ ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ์ดํ›„์˜ ์šด์˜ ๋“ฑ์˜ ์ „๋ฐ˜์ ์ธ ์„œ๋น„์Šค์˜ A-Z์˜ ์ œ์ž‘ ๊ณผ์ •์˜ ์ง์ ‘ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์ •๋ง ํฐ ์žฅ์ ์ด๋‹ค. ๋ฐฐ์šด ์ ์œผ๋กœ๋Š” ์ฒซ ๋ฒˆ์งธ, ๊นƒ..

node.js 2021.08.16

DND 5๊ธฐ 6์ฃผ์ฐจ - api์ œ์ž‘ ๋ฐ ํšŒ๊ณ 

๊ธฐํš๋ถ€ํ„ฐ ๋กœ๊ณ ์„ ์ • ๋“ฑ์„ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๊ณ ์žˆ์–ด์„œ ์•„์ง ํ”„๋ก ํŠธ๊ฐ€ ๋‚˜์˜ค์ง„ ์•Š์•˜์ง€๋งŒ ๋ฐฑ์—”๋“œ api ๋ช…์„ธ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  api๋ฅผ ์ž‘์—… ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•˜๋ฉฐ ์ž‘์—…ํ•˜๋ฉด์„œ ์–ด๋ ค์› ๋˜ ์ ์„ ๋˜๋Œ์•„๋ณด์•„์•ผ๊ฒ ๋‹ค. - guards ๋‚˜๋„ ๊ทธ๋ ‡๊ณ  ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ๋ถ„๋„ ๊ทธ๋ ‡๊ณ  nest๋ฅผ ์ ‘ํ•œ ์ ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— express์—์„œ middleware๋กœ ์œ ์ €์˜ authentication์„ ๊ฒ€์‚ฌํ•˜์˜€๋Š”๋ฐ nest์—์„œ๋Š” ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ์กด์žฌํ•˜์—ฌ guards๋กœ ์ธ์ฆ์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ์™ธ์— interceptor, pipe๋“ฑ์„ ๊ฑฐ์ณ ์‹ค์ œ ์„œ๋น„์Šค๋‹จ์œผ๋กœ ๋„˜์–ด์˜ฌ์ˆ˜์žˆ๋‹ค. ์Šคํ”„๋ง๋ถ€ํŠธ์™€ ์ƒ๋‹นํžˆ ํก์‚ฌํ•˜๋‹ค๊ณ  ํ•˜์ง€๋งŒ ๋‚˜๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์ž˜ ๋ชจ๋ฅด๊ธฐ๋•Œ๋ฌธ์— ๊ตฌ๋ฆ„์ฒ˜๋Ÿผ ๋‘ฅ๋‘ฅ ๋– ์žˆ๋Š” ๊ฐœ๋…์„ ์žก๊ธฐ๊ฐ€ ํž˜๋“ค์—ˆ๋‹ค. ์ด๋Ÿด๋• ๋ณดํ†ต์˜ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๊ฐœ๋…์„ ์žก๋Š”๊ฒŒ ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค. guar..

node.js 2021.08.08

DND 5๊ธฐ 5์ฃผ์ฐจ - api์ œ์ž‘

์™€ ์ง„์งœ ํž˜๋“ค๋‹ค ๋นจ๋ฆฌ nest์™€ ts, typeorm๊ณผ ์นœํ•ด์ ธ์•ผ๊ฒ ๋‹ค ๋Œ€๋žต์ ์ธ ์™€์ด์–ดํ”„๋ ˆ์ž„์ด ๋‚˜์™€์„œ ํ”„๋ก ํŠธ๋ถ„๋“ค๊ณผ api๋ช…์„ธ์„œ๋ฅผ ์ œ์ž‘ํ•˜์˜€๊ณ  ๋ฐฑ์—”๋“œ๋ถ„๊ณผ ๋งŒ๋‚˜์„œ ๊ธฐ๋Šฅ๋ณ„๋กœ ํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์„ ์ •๋ฆฌํ–ˆ๊ณ  api๋ฐฐ๋ถ„์„ ํ–ˆ๋‹ค. ๋„ค์ŠคํŠธ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์š”์ฒญ์ด ๋“ค์–ด์™”์„๋•Œ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ต์Šคํ”„๋ ˆ์Šค์—์„œ ๋กœ๊ทธ์ธํ•œ ํšŒ์›์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฏธ๋“ค์›จ์–ด๋กœ ์ œ์ž‘ํ•˜๊ณ  ์‹ค์ œ ๋™์ž‘๋ถ€์—์„œ ์œ ์ €๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ์œ ์ € ๊ถŒํ•œ์„ ์ฒดํฌํ•˜์—ฌ ์ ‘๊ทผ์„ ๋ง‰์•„์ฃผ๋Š”๋ฐ ๋„ค์ŠคํŠธ์—์„œ๋Š” ๊ฐ€๋“œ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด์„œ ์œ ์ €๋ฅผ ๋ฐ”๋กœ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ์•Œ๋ฉด ๋„ค์ŠคํŠธ๋ฅผ ์ข€ ๋” ์ž˜ ์“ธ์ˆ˜์ž‡์„๊ฒƒ ๊ฐ™๋‹ค. ์ง„์งœ ๋‚œ ๊ฐˆ๊ธธ์ด ๋ฉ€์–ด๋”ฐ... ๊ฐœ๋ฐœ์ž๋Š” ์ง„์งœ ํƒ€๊ณ ๋‚˜๋Š”๊ฐ€๋ณด๋‹ค..... ์žฌ๋ฐŒ๊ธฐ๋งŒ ํ•˜๊ณ  ์ž˜ ํ•˜์งˆ ๋ชปํ•ด์„œ ๋„ˆ๋ฌด ์Šฌํ”„๋‹ค.. ๋‚˜๋Š” ๋˜‘๋˜‘ํ•˜์ง€ ์•Š์œผ๋‹ˆ๊นŒ ๋…ธ๋ ฅํ•ด์•ผ์ง€..ํ•˜.. ์šฐ๋ฆฌ ํ”„..

node.js 2021.07.31

DND 5๊ธฐ 4์ฃผ์ฐจ - ์ค‘๊ฐ„์ ๊ฒ€

์ •์‹ ์—†๋Š” ์ผ์ฃผ์ผ์ด์˜€๋‹ค. ์ผ๋‹จ ๋‚˜๋Š” ์ €๋ฒˆ์ฃผ๋ฅผ ๋งˆ์ง€๋ง‰์œผ๋กœ ํ‡ด์‚ฌ๋ฅผ ํ–ˆ๊ณ  ์šด์ด ์ข‹๊ฒŒ๋„ ๋‚˜๋ฅผ ์•Œ์•„๋ด์ฃผ์‹œ๋Š” ๊ณณ์„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋‚˜ ์ด์ง์„ ํ•˜๊ฒŒ๋˜์—ˆ๋‹ค. ๋„ˆ๋ฌด ๋‹คํ–‰์ธ ๊ฒƒ์€ ์ด๋ฒˆ dndํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๊ด€์‹ฌ์ด ๊ฐ„ ๊ธฐ์ˆ ? ์ด๋ผ๊ณ  ํ•ด์•ผ๋˜๋‚˜ ์š”์ฆ˜ ๊ด€์‹ฌ์ด ๊ฐ”๋˜ ๊ธฐ์ˆ ์„ ์ ‘๋ชฉํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ ์žˆ๋‹ค๊ธธ๋ž˜ ํšŒ์‚ฌ์ผ ๋ฐ”์˜๋‹ค๋Š” ํ•‘๊ณ„๋กœ ๋””์•ค๋””๋ฅผ ํƒˆ์ฃผํ•  ์ผ์€ ์—†๊ฒ ๊ตฌ๋‚˜ ์‹ถ์—ˆ๋‹ค. ํšŒ์‚ฌ์˜ ๊ธฐ์ˆ  ๋ฐ ๋ชจ๋“ˆ์€ nestjs, ts, typeorm ๋“ฑ์ด๋‹ค. ํ˜„์žฌ dndํ”„๋กœ์ ํŠธ๋Š” express, ts, typeorm์ธ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋งŒ ๋นผ๊ณ  ๋™์ผํ•˜๋‹ค. 1. typeorm ๊ด€๊ณ„์„ค์ • ๋ถ€๋„๋Ÿฌ์šด ์ด์•ผ๊ธฐ์ด์ง€๋งŒ express์— sequelize orm์„ ์‚ฌ์šฉํ–ˆ์„๋•Œ์—๋Š” ๊ด€๊ณ„์„ค์ •์„ ์ž˜ ํ•˜์ง€ ์•Š์•˜๋‹ค. ์ด์œ ๋Š” ํšŒ์‚ฌ์—์„œ ์š”๊ตฌํ•˜๋Š” ์š”๊ตฌ์‚ฌํ•ญ์ด ๋„ˆ๋ฌด ์ž์ฃผ๋ฐ”๋€Œ๋Š” ์ƒํ™ฉ์—์„œ ํ…Œ์ด๋ธ”์„ ์ง€์šฐ๊ณ  ๋‹ค์‹œ ์ƒ์„ฑํ•˜๊ณ ..

node.js 2021.07.24

DND 5๊ธฐ 3์ฃผ์ฐจ - ๋ฐฑ์—”๋“œ ์ ๊ฒ€

๋””์•ค๋””๊ฐ€ ์‹œ์ž‘ํ•œ์ง€ ์‚ผ์ฃผ๊ฐ€ ์ง€๋‚ฌ๋‹ค. ๋‚˜๋Š” ์‹ค๋ฌด์—์„œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๊ธด ํ•˜์ง€๋งŒ ์ œ๋Œ€๋กœ ๊ฐ–์ถฐ์„œ ํ•œ ์ ์€ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด http ์‘๋‹ต์ฝ”๋“œ๋ฅผ ๊ฐ„์†Œํ™”ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค๊ฑฐ๋‚˜ git branch ์ „๋žต์„ ์•Œ๊ณ ๋Š” ์žˆ์ง€๋งŒ ๊ตณ์ด feature branch๋ฅผ ๋”ฐ์ง€ ์•Š๋Š”๋‹ค๊ฑฐ๋‚˜.. ์‚ฌ์‹ค ๋””๋น„์˜ ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ตœ์ ์œผ๋กœ ๋Œ์•„๊ฐˆ๊ฑธ ์•Œ๊ณ ์žˆ์Œ์—๋„ ์‹œ๊ฐ„์ด ์—†์–ด์„œ ์„œ๋ฒ„๋‹จ์—์„œ ๊ฐ€๊ณตํ•œ๋‹ค๊ฑฐ๋‚˜.. ์™€ ์ด๋ ‡๊ฒŒ ๋ณด๋‹ˆ๊นŒ ์ตœ์•…์ด๋„ค ๋‚˜(ใ…‹ใ…‹ใ…‹) ๋‚ด๊ฐ€ ์ด์ง์„ ๊ฒฐ์‹ฌํ•˜๊ฒŒ ๋œ ์ด์œ ์ด๊ธฐ๋„ ํ•œ ์ด๋Ÿฐ ์ฃผ๋จน๊ตฌ๊ตฌ์‹์˜ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ ์žˆ์—ˆ๋Š”๋ฐ ์ด๋ฒˆ ์‚ฌ์ด๋“œํ”„๋กœ์ ํŠธ๊ฐ€ ๊ทœ๋ชจ๋Š” ์ž‘์ง€๋งŒ ์ข€ ๋””ํ…Œ์ผํ•œ ๋ถ€๋ถ„๋“ค์„ ์žก๋Š”๋‹ค๋Š” ๋Š๋‚Œ์œผ๋กœ ๋ฐฑ์—”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ๊พธ๋ ค๊ฐˆ์ง€ ๋ฐฑ์—”๋“œ ๋™๋ฃŒ๋ถ„๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„์–ด ๋ณด์•˜๋‹ค. ์ผ๋‹จ ๊ตฌ์ฒด์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋‚˜์˜ค์ง€์•Š์•„ ๋””ํ…Œ์ผํ•˜๊ฒŒ ์ด์Šˆ๋ฅผ ๋‚˜๋ˆˆ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ํ–‰์œ„๋Š” ํ•˜์ง€๋ชปํ•œ๋‹ค. ์•ž๋‹จ..

node.js 2021.07.16

DND 5๊ธฐ 2์ฃผ์ฐจ - ์„ธ๋ถ€ ๊ธฐ์ˆ  ์Šคํƒ & ์•„ํ‚คํ…์ณ ์„ค๊ณ„๋„

์š”์ฆ˜ ์ฐธ ๋ฐ”์˜๋‹ค. DND ํ”„๋กœ์ ํŠธ๋„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ด์ง์ค€๋น„์ค‘์ด๋ผ ํ‹ˆํ‹ˆํžˆ ๋ฉด์ ‘์„ ๋ณด๋Ÿฌ ๋‹ค๋‹Œ๋‹ค. ๊ฒฐ๋ก ์€ ์ˆจ์‰ฌ๋“ฏ ์ž๊ดด๊ฐ์„ ๋Š๋ผ๋Š” 7์›”์ด๋‹ค. ์ง„์งœ ๊ฑฐ์ง“๋ง 1๋„ ์•ˆ๋ณดํƒœ๊ณ  ์ˆจ์‰ฌ๋“ฏ ์ž๊ดด๊ฐ์ด ๋Š๊ปด์ง„๋‹ค. ๊ทผ๋ฐ ๋ณ€ํƒœ์ฒ˜๋Ÿผ ์ด๋Ÿฐ ์ž๊ดด๊ฐ์ด ์‹ซ์ง€๋งŒ์€ ์•Š๋‹ค. (๋ˆ„๊ฐ€ ๊ทธ๋žฌ๋‹ค ๊ฐœ๋ฐœ์€ ๋ณ€ํƒœ์ฒ˜๋Ÿผ ํ•ด์•ผํ•œ๋‹ค๊ณ ) ๋‚ด๊ฐ€ ์›ํ–ˆ๋˜๊ฒŒ ์ด๊ฑฐ์ง€ ๋‚ด ์„ฑ์žฅ๋™๋ ฅ ์—ด์‹ฌํžˆ ์ž๊ดด๊ฐ๋Š๋ผ๊ณ  ๊ทน๋ณตํ•ด์•ผ์ง€ DND๊ฐ€ ๋๋‚ ๋•Œ์ฏค์—” ๋˜ ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋‚˜์˜ ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ์„ฑ์žฅ์ด ์žฌ์‹œ์ž‘ ๋˜์—ˆ๊ธธ ๋ฐ”๋ผ๋ณธ๋‹ค. 1์ฃผ์ฐจ ๊ณผ์ œ์ธ ๊ธฐํš์„œ๊ฐ€ ์™„์„ฑ์ด ๋˜๋ฉด ์„ธ๋ถ€๊ธฐ์ˆ ์Šคํƒ๊ณผ ์•„ํ‚คํ…์ณ๋ฅผ ์„ค๊ณ„ํ•œ๋‹ค. 1. ์–ธ์–ด ์šฐ๋ฆฌ์กฐ์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ์Šคํƒ์ด ์Šคํ”„๋ง๋ถ€ํŠธ์™€ ๋…ธ๋“œ์ธ๋ฐ ๋‚˜๋Š” ๋…ธ๋“œ๋ฅผ ์ข‹์•„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ด๊ธฐ๋•Œ๋ฌธ์— ์–ธ์–ด๋Š” nodejs๋กœ ์ •ํ•ด์กŒ๋‹ค. ์‚ฌ์‹ค์€ ํ”„๋กœ์ ํŠธ์˜ ํŠน์„ฑ์— ๋งž๊ฒŒ ์–ธ์–ด๋ฅผ ์„ ํƒํ•ด์•ผ๋˜๋Š”๊ฑฐ์ง€๋งŒ ๋‚˜๋Š” ๊ฐœ๋ฐœ์ฝ”์ฐ”์ฐŒ๋ฆฌ๊ธฐ๋–„๋ฌธ์— ๋…ธ๋“œ๋กœ..

node.js 2021.07.12