๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ŠคํŒŒ๋ฅดํƒ€55

๋‰ด์Šค ํ”ผ๋“œ ํ”„๋กœ์ ํŠธ_๊ฐœ์ธ KPT ํšŒ๊ณ  ๋‰ด์Šค ํ”ผ๋“œ ํ”„๋กœ์ ํŠธ Keep: ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์œ ์ง€ํ–ˆ์œผ๋ฉด ํ•˜๋Š” ๋ถ€๋ถ„์ฒด๊ณ„์ ์ธ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰๋‚ด ์—ญ๋Ÿ‰์„ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜๊ณ  ๋ฌด๋ฆฌํ•˜์ง€ ์•Š๋Š” ๋ฒ”์œ„ ๋‚ด์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.์˜๊ฒฌ ๊ฒฝ์ฒญ๊ณผ ํ˜‘๋ ฅ์ ์ธ ๋ถ„์œ„๊ธฐํŒ€์›๋“ค์˜ ์˜๊ฒฌ์„ ์ ๊ทน์ ์œผ๋กœ ๊ฒฝ์ฒญํ•˜๋ฉด์„œ ํ˜‘์—…์— ์žˆ์–ด ๊ธ์ •์ ์ธ ๋ถ„์œ„๊ธฐ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.์งˆ๋ฌธ์— ๋Œ€ํ•œ ์นœ์ ˆํ•œ ๋‹ต๋ณ€ํŒ€์›์ด ๋ชจ๋ฅด๋Š” ์ ์„ ๋ฌผ์–ด๋ดค์„ ๋•Œ, ์•„๋Š” ๋ฒ”์œ„ ๋‚ด์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋ฉด์„œ ์ง€์‹์„ ๊ณต์œ ํ•˜๊ณ  ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ฑ…์ž„๊ฐ์„ ๊ฐ€์ง€๊ณ  ๋งก์€ ์—ญํ•  ์™„์ˆ˜๋‚ด๊ฐ€ ๋งก์€ ํŒŒํŠธ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋งˆ๋ฌด๋ฆฌํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. Problem: ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์˜๊ฒฌ ์ „๋‹ฌ ๋ถ€์กฑ๋ฌธ์ œ์ : ๋‚ด ์˜๊ฒฌ์„ ํŒ€์›๋“ค์—๊ฒŒ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.ํ•ด๊ฒฐ ๋ฐฉ์•ˆ:์˜๊ฒฌ์„ ์ž˜ ์ •๋ฆฌํ•ด์„œ ์ „๋‹ฌํ•˜๋Š” ์—ฐ์Šต์„ ๊พธ์ค€ํžˆ ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์„œ๋‚˜ ์ž๋ฃŒ.. 2024. 12. 29.
์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜_๋ฒ ์ด์ง๋ฐ˜ 7ํšŒ์ฐจ ์„ธ์…˜ ๋ฒ ์ด์ง๋ฐ˜์ธ์ฆ์ธ๊ฐ€ ํ™œ์šฉ(ํ† ํฐ์ธ์ฆ๋ฐฉ์‹: JWT)12/26 11:00 ~ 12:10 (์•ฝ 1์‹œ๊ฐ„  10๋ถ„ ์ง„ํ–‰) JWThttps://jwt.io/ JWT.IOJSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.jwt.io์•”ํ˜ธํ™”๊ฐ€ ์•„๋‹ˆ๋‹ค!๊ทธ๋ƒฅ ๋‹จ์ง€ ๊ธฐ์กด ํ† ํฐ์˜ ๋ณ€์กฐ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ JWT์˜ Signature๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. → ๋ณ€์กฐ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ ๋“ค์–ด๊ฐ„๋‹ค.์ฒซ ๋ฒˆ์งธ ์˜์—ญ์€ HEADER๋ผ๋Š” ๊ณณ์ด๋‹ค.์„œ๋ช…์ด ์‚ฌ์šฉ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฌด์—‡์ธ์ง€, ํ† ํฐ์˜ ํƒ€์ž…์ด ๋ฌด์—‡์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ตฌ์—ญ์ด๋‹ค.์—ฐ์‚ฐํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋œปํ•œ๋‹ค.๋‘ ๋ฒˆ์งธ ์˜์—ญ์€ PAYLOAD๋ผ๋Š” ๊ณณ์ด๋‹ค. → ๊ธฐ์กด.. 2024. 12. 28.
๋‰ด์Šค ํ”ผ๋“œ ํ”„๋กœ์ ํŠธ_ํŒ€ KPT ํšŒ๊ณ  ๋‰ด์Šค ํ”ผ๋“œ ํ”„๋กœ์ ํŠธ Keep: ์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์œ ์ง€ํ–ˆ์œผ๋ฉด ํ•˜๋Š” ๋ถ€๋ถ„์—…๋ฌด ๋ถ„๋‹ดํŒ€์› ๊ฐ„์˜ ์—ญ๋Ÿ‰์„ ํŒŒ์•…ํ•œ ๋’ค, ๋ฌด๋ฆฌํ•˜์ง€ ์•Š๋Š” ์„ ์—์„œ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์—…๋ฌด๋ฅผ ๋ถ„๋‹ดํ–ˆ๋‹ค.๊ฐ ํŒ€์›์ด ์ž์‹ ์˜ ์—ญํ• ์—์„œ ์„ฑ์žฅํ•˜๋ฉฐ ํ”„๋กœ์ ํŠธ ์™„์„ฑ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.์˜์‚ฌ์†Œํ†ต๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐํ™”๋ฉด ๊ณต์œ ์™€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ๊ฐ์ž ๋งก์€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ๋Œ€ํ•ด ์†Œํ†ตํ•˜๋ฉฐ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.์„œ๋กœ์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ๊ตฌํ˜„ ์˜๋„๋ฅผ ์ดํ•ดํ•˜๊ณ  ์˜๊ฒฌ์„ ๊ตํ™˜ํ•˜๋Š” ๊ณผ์ •์ด ๋„์›€์ด ๋งŽ์ด ๋˜์—ˆ๋‹ค.์„ค๊ณ„ ๋‹จ๊ณ„์˜ ์ค‘์š”์„ฑ์ดˆ๊ธฐ ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์˜ˆ์ƒ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ฏธ๋ฆฌ ๊ณ ๋ คํ•˜๊ณ  ํŒ€์›๋“ค๊ณผ์˜ ํ˜‘์˜๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์„ค๊ณ„๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.๊ตฌํ˜„ ๋‹จ๊ณ„์—์„œ์˜ ์–ด๋ ค์›€์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋†’์€ ์™„์„ฑ๋„๋ฅผ ์ด๋ฃฐ ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ •๋ณด ๊ณต์œ ํŒ€ ๋‚ด์—์„œ ํ•„์š”ํ•œ ๊ธฐ์ˆ  ์ž๋ฃŒ๋‚˜ ์œ ์šฉํ•œ ํ•™์Šต ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ ์„œ๋กœ์˜ ์ง€์‹์„ ํ™•์žฅํ–ˆ.. 2024. 12. 27.
๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ_Day 5 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง• ์กฐํšŒ ๊ธฐ๋Šฅ ํŒ€์›๋“ค๊ณผ ์ƒ์„ฑ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ ๋ณ‘ํ•ฉ ์ถฉ๋Œ ๊ณผ์ • ํ•ด๊ฒฐ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ ์„œ๋ฒ„ ๋ฐฐํฌ(๊ตฌ๊ฒฝ)์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ ๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜ ๋“ฃ๊ธฐTIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ (๋‰ด์Šคํ”ผ๋“œ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ)ํ”ผ๋“œ ํŽ˜์ด์ง• ์กฐํšŒ ๊ธฐ๋Šฅ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑํŒ€์›๋ถ„์ด ํ™”๋ฉด ๊ณต์œ  ํ•ด์ฃผ์‹œ๊ณ  ํ•จ๊ป˜ ํ”ผ๋“œ ์ „์ฒด๋ฅผ ํŽ˜์ด์ง• ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.์ฒ˜์Œ ๋ณด๋Š” pageable๊ณผ page ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŽ˜์ด์ง• ์กฐํšŒ๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.GitHub ๋ณ‘ํ•ฉ ๊ณผ์ •์—์„œ์˜ ์ถฉ๋Œ ๋ฐœ์ƒ๋Œ“๊ธ€ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ 2๋ช…์ด์„œ ๋‹ด๋‹นํ–ˆ๋Š”๋ฐ ์ƒ์„ฑ, ์กฐํšŒ / ์ˆ˜์ •, ์‚ญ์ œ ๋‹ด๋‹นํ•ด์„œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค.๊ฐ์ž ๊ตฌํ˜„์— ์„ฑ๊ณตํ•˜๊ณ  GitHub์— Pull Request, fetch, rebaseํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ณ‘ํ•ฉ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ–ˆ๋‹ค.In.. 2024. 12. 26.
๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ_Day 7 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ ํŒ”๋กœ์šฐ ๊ธฐ๋Šฅ ์ˆ˜์ •์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ ๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜ ๋“ฃ๊ธฐ์ˆ˜์ค€๋ณ„ ํ•™์Šต๋ฐ˜ ์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์„ธ์…˜ ๋“ฃ๊ธฐ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…(GitHub ๊ด€๋ จ) ์ž‘์„ฑTIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ (๋‰ด์Šคํ”ผ๋“œ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ)ํŒ”๋กœ์šฐ ๊ธฐ๋Šฅ ์ˆ˜์ •ํŒ”๋กœ์ž‰๋งŒ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ด์„œ ํŒ”๋กœ์›Œ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.ํŒ”๋กœ์šฐ๋ฅผ ๊ณ„์† ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•ด์„œ ํ•œ ๋ฒˆ๋งŒ ๊ฐ€๋Šฅํ•˜๋„๋ก ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค.๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜์ธ์ฆ์ธ๊ฐ€ํ™œ์šฉ(ํ† ํฐ์ธ์ฆ๋ฐฉ์‹: JWT)์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์„ธ์…˜์Šค๋ ˆ๋“œ์˜ ๋ชจ๋“  ๊ฒƒ ์˜ค๋Š˜ ํ•˜๋ฃจ ์ •๋ฆฌ โœ๏ธ์˜ค๋Š˜ ํ•˜๋ฃจ๋ฅผ ์ •๋ฆฌํ•˜์ž๋ฉด ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ์˜ ๋งˆ๋ฌด๋ฆฌ...? ๋‹จ๊ณ„์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋‚ด์ผ ์˜ˆ์ •๋˜์–ด ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ๋ฅผ ์œ„ํ•ด ๊ธฐ๋Šฅ์„ ์ ๊ฒ€ํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.๋‚ด๊ฐ€ ๋งก์•˜๋˜ ํŒ”๋กœ์šฐ ๊ธฐ๋Šฅ์—์„œ ํŒ”๋กœ์ž‰์„ ์กฐํšŒํ•˜๋Š” .. 2024. 12. 26.
๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ_Day 4 ์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง ๊ธฐ์ดˆํ”„๋กœ์ ํŠธ ํŒ”๋กœ์šฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ ํŒ”๋กœ์šฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ ํŠน์ • ๋ฉค๋ฒ„์˜ ํŒ”๋กœ์šฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ ๊ธฐ์ดˆ ํ”„๋กœ์ ํŠธ (๋‰ด์Šคํ”ผ๋“œ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ)ํŒ”๋กœ์šฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„Follow Entity ์ƒ์„ฑ ํ›„ ํŒ”๋กœ์šฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค.member_id(PathVariable)์™€ following_id)๋ฅผ ๋ฐ›์•„ ํŒ”๋กœ์šฐ ๊ด€๊ณ„๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ ์„ฑ๊ณตํ–ˆ๋‹ค.ํŒ”๋กœ์šฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„member_id(PathVariable)์™€ follow_id(Pathvariable)๋ฅผ ๋ฐ›์•„ ํŒ”๋กœ์šฐ ๊ด€๊ณ„๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ ์„ฑ๊ณตํ–ˆ๋‹ค.ํŠน์ • ๋ฉค๋ฒ„์˜ ํŒ”๋กœ์šฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„member_id(PathVariable)๋ฅผ ๋ฐ›์•„ ํŒ”๋กœ์ž‰ ๋ฉค๋ฒ„๋ฅผ ์ „์ฒด .. 2024. 12. 23.