[nestjs] log๋ฅผ ๋‚จ๊ฒจ๋ณด์ž - winston

nestjs๋กœ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ winston์„ ์ด์šฉํ•ด logging์„ ์ ์šฉํ•œ ๊ฒฝํ—˜์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ˆœ์„œ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. http-logger-middleware ์ ์šฉ (morgan X) nest-winston + winston-daily-rotate-file log๋ฅผ ๋‚จ๊ฒจ์•ผํ•˜๋Š” ์ด์œ  log๋ฅผ ๋‚จ๊ฒจ์•ผํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์–‘ํ•˜๊ฒ ์ง€๋งŒ ๋‚ด๊ฐ€ ํ•ด๋‹น ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์—์„œ log๋ฅผ ๋‚จ๊ฒจ์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•œ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ณดํ†ต ํ”ผ๋“œ๋ฐฑ๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ด๋‹ค. ์•ˆ์ •๋œ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด log๋ฅผ ํ†ตํ•œ ์„œ๋น„์Šค ์ƒํƒœ ๋ฐ ๋กœ์ง์„ ์ถ”์  error ๋ฐœ์ƒ ์‹œ์— error ์ƒํ™ฉ ์ถ”์  file ํ˜•ํƒœ๋กœ log๋ฅผ ๋‚จ๊ฒจ ์œ„ ๊ณผ์ •์„ ์ข€ ๋” ์œ ์—ฐํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋กœ๊ทธ๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• http-logger-middleware ์ ์šฉํ•˜๊ธฐ ๋จผ์ €,..

nodejs/nestjs 2022. 2. 21. 02:55
2021๋…„์„ ๋งˆ์น˜๋ฉฐ, 2022๋…„์„ ๋งž์ดํ•˜๋ฉฐ.

์–ด๋Š๋ง 2021๋…„์ด ์ง€๋‚˜๊ฐ€๊ณ , 2022๋…„์ด๋‹ค. ์‹œ๊ฐ„์ด ์™œ ์ด๋ ‡๊ฒŒ ๋น ๋ฅธ์ง€,, ๋Œ์•„๋ณด๋ฉด ์ •๋ง ๋งŽ์€ ๊ฒƒ๋“ค์„ ํ–ˆ๊ณ , ๋„ˆ๋ฌด ๊ณ ์ƒํ–ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ๋งˆ์Œ ํ•œ ์ผ ์—๋Š” ์•„์‰ฌ์›€์ด ๋งŽ์ด ๋‚จ๋Š”๋‹ค. ๊ทธ๋ž˜์„œ 2021๋…„์„ ์ƒ๋ฐ˜๊ธฐ์™€ ํ•˜๋ฐ˜๊ธฐ๋กœ ๋‚˜๋ˆ„์–ด ๋˜๋Œ์•„๋ณด๋ฉด์„œ ์•„์‰ฌ์›€์„ ๋‹ฌ๋ž˜๊ณ  ์—๋„ˆ์ง€๋ฅผ ์ถฉ์ „ํ•ด๋ณด์ž 2021 ์ƒ๋ฐ˜๊ธฐ 2021 ์ƒ๋ฐ˜๊ธฐ์—๋Š” ํ•™๊ต๋ฅผ ์กธ์—…ํ•˜๊ณ  ์ •๋ณด์ฒ˜๋ฆฌ๋ถ„์•ผ ์‚ฐ์—…๊ธฐ๋Šฅ์š”์›(๋ณ‘์—ญํŠน๋ก€) ์ทจ์—…์„ ์œ„ํ•ด์„œ ์‹œ๊ฐ„์„ ์ „๋ถ€ ๋ณด๋‚ธ ๊ฒƒ ๊ฐ™๋‹ค. ์ทจ์—…์„ ์ค€๋น„ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ๋„์ „์„ ํ•ด๋ดค๊ณ , ํ›„ํšŒ๋„ ํ•ด๋ดค๊ณ , ์˜จ์ „ํžˆ ๋‚˜ํ•œํ…Œ ์ง‘์ค‘ํ•ด์„œ ์—๋„ˆ์ง€๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ๊ทธ ์ด์•ผ๊ธฐ๋ฅผ ํ•˜๋‚˜์”ฉ ํ’€์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์กธ์—…์„ ํ•˜๊ณ  ๋‚œ ๋ฐฑ์ˆ˜๊ฐ€ ๋˜์—ˆ๋‹ค 2021๋…„ 2์›”์— ์ง‘ ๊ทผ์ฒ˜์— ์žˆ๋Š” ์„œ์šธ 2๋…„์ œ ์ปด๊ณต๊ณผ๋ฅผ ์กธ์—…ํ•˜๊ณ  ์ „๋ฌธํ•™์‚ฌ์™€ ์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ๋ฅผ ๋“ค๊ณ  ์กธ์—…ํ–ˆ๋‹ค. ์ด๋•Œ๊นŒ์ง€ ๋‚œ ๊ทธ๋‹ค์ง€ ์ทจ์—…..

๊ฟˆํ‹€๊ฟˆํ‹€ 2021. 12. 28. 08:20
JPA UUID varchar๋กœ ์ €์žฅํ•˜๊ธฐ

๊ฐœ์š” ํ”„๋กœ์ ํŠธ์—์„œ JPAํ™˜๊ฒฝ์—์„œ UUID๋ฅผ PK๋กœ ๋„์ž…ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ถˆํŽธํ–ˆ๋˜ ์ ๋“ค๊ณผ ๊ฐœ์„ ํ•œ ๊ฒฝํ—˜๋“ค์„ ๊ธฐ๋กํ•œ๋‹ค. UUID๋ž€? + ๋„์ž… ๊ณ ๋ฏผ UUID(๋ฒ”์šฉ ๊ณ ์œ  ์‹๋ณ„์ž(universally unique identifier))๋Š” 128๋น„ํŠธ์˜ ์ˆ˜์ด๋‹ค. ํ‘œ์ค€ ํ˜•์‹์—์„œ UUID๋Š” 32๊ฐœ์˜ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋˜๋ฉฐ ์ด 36๊ฐœ ๋ฌธ์ž(32๊ฐœ ๋ฌธ์ž์™€ 4๊ฐœ์˜ ํ•˜์ดํ”ˆ)๋กœ ๋œ 8-4-4-4-12๋ผ๋Š” 5๊ฐœ์˜ ๊ทธ๋ฃน์„ ํ•˜์ดํ”ˆ์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 550e8400-e29b-41d4-a716-446655440000 ์œ„์—์„œ UUID์— ๋Œ€ํ•ด ์‚ด์ง ์•Œ์•„๋ดค๋‹ค. ํ•„์ž๋Š” UUID๋Š” ๊ฑฐ์˜ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ธ€๋กœ๋ฒŒ ์œ ๋‹ˆํฌ ๊ฐ’์ด๋‹ค ๋ผ๋Š” ๊ฒƒ์— ์ฃผ๋ชฉํ–ˆ๊ณ , React Dom์ด ๋ณ€๊ฒฝ ๊ฐ์ง€๋ฅผ ํ•˜๋Š” ๊ธฐ์ค€์ด key๊ฐ’์ธ๋ฐ key๊ฐ’์€ ์ค‘๋ณต๋˜๊ธฐ ์‰ฝ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ..

Spring 2021. 11. 29. 18:29
์šฐ์•„ํ•œํ…Œํฌ๋Ÿฌ๋‹ 4๊ธฐ ํšŒ๊ณ 

๊ฐœ์š” 21.06.01 ~ 21.06.24 4์ฃผ๊ฐ„ ์˜จ๋ผ์ธ์œผ๋กœ ์ง„ํ–‰๋œ ์šฐ์•„ํ•œ ํ…Œํฌ๋Ÿฌ๋‹ 4๊ธฐ์— ๋Œ€ํ•œ ํšŒ๊ณ  ๊ธ€์ž…๋‹ˆ๋‹ค. ์šฐ์•„ํ•œํ…Œํฌ๋Ÿฌ๋‹ 4๊ธฐ ์šฐ์•„ํ•œํ…Œํฌ๋Ÿฌ๋‹ 4๊ธฐ๋Š” ๊น€๋ฏผํƒœ ์ด์‚ฌ๋‹˜๊ป˜์„œ ๋ฆฌ๋“œํ•ด์ฃผ์‹œ๊ณ  6์›” 1์ผ ~ 6์›” 24์ผ๊นŒ์ง€ ๋งค์ฃผ ํ™”, ๋ชฉ 2๋ฒˆ์”ฉ ์ด 8ํšŒ ์˜จ๋ผ์ธ์œผ๋กœ ์ง„ํ–‰ํ•œ ๊ต์œก ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์ง€์› ๋™๊ธฐ์™€ ์„ ๋ฐœ ๊ณผ์ • ์ €๋Š” ํ•™๊ต์—์„œ๋ถ€ํ„ฐ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ์ฃผ๋กœ ํ•ด์˜ค๋‹ค๊ฐ€ ์ตœ๊ทผ์— ํ”„๋ก ํŠธ์ชฝ์— ๊ด€์‹ฌ์ด ์ƒ๊ฒจ์„œ ๊ฐœ์ธ์ ์œผ๋กœ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ์š”! ์šฐ์—ฐํžˆ GitHub์˜ Dev-Event ๋ฆฌํฌ๋ฅผ ํ†ตํ•ด์„œ ์šฐ์•„ํ•œํ…Œํฌ๋Ÿฌ๋‹์— ๋Œ€ํ•ด์„œ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹œ์— ์†Œํ†ตํ˜• ๊ต์œก์— ์ฐธ์—ฌํ•ด์„œ ๋งŽ์€ ์ด์•ผ๊ธฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์—ˆ๊ณ , ์–ธ์  ๊ฐ€ ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๊ฒƒ์„ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์˜ ์‹œ์„ ๋„ ๊ถ๊ธˆํ–ˆ์–ด์š” ๊ทธ๋ฆฌ๊ณ  ์šฐ์•„ํ•œํ˜•์ œ๋“ค์— ๊ด€์‹ฌ์ด ์žˆ๊ธฐ๋„ ํ•ด์„œ ์ง€์›ํ•˜๊ฒŒ ๋˜์—ˆ..

๊ฟˆํ‹€๊ฟˆํ‹€ 2021. 7. 4. 02:20
ํ”„๋กœ์„ธ์Šค

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

CS 2021. 6. 26. 19:02
JWT

JSON WEB TOKEN JWT๋ž€? ํ† ํฐ ์ž์ฒด์— ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Œ ๋ฌด๊ฒ์ง€ ์•Š๊ณ  ๊ฐ„ํŽธํ•˜๊ณ  ์‰ฝ๊ฒŒ ์ ์šฉ ๊ฐ€๋Šฅ Base64 URL Safe Encoding์„ ์ด์šฉํ•ด์„œ URL, Cooke, Header ๋“ฑ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ค‘์•™์˜ ์ธ์ฆ ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— ๋Œ€ํ•œ ์˜์กด์„ฑ์ด ์—†์–ด์„œ ์‹œ์Šคํ…œ ์ˆ˜ํ‰ ํ™•์žฅ์— ์œ ๋ฆฌํ•จ → ๊ธฐ์กด์— ์ธ์ฆ ์ •๋ณด๋ฅผ ์„ธ์…˜์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์€ ํ•ด๋‹น ์„œ๋ฒ„์—์„œ๋งŒ ํ•ด๋‹น ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋”ฐ๋กœ ์„ธ์…˜ ์„œ๋ฒ„๋ฅผ ๋‘ฌ์•ผํ–ˆ์ง€๋งŒ, ํ† ํฐ์€ ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„ธ์…˜ ์„œ๋ฒ„๊ฐ€ ํ•„์š” ์—†์–ด์ง. JWT๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐœ์˜ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ aaaaaa.bbbbbb.cccccc // ์•ž์—์„œ๋ถ€ํ„ฐ .์„ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ // ํ—ค๋”(header).๋‚ด์šฉ(payload).์„œ๋ช…(signature) ํ—ค๋”(Header) S..

BackEnd 2021. 6. 26. 19:01