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

til84

[TIL] ํ”„๋กœ์ ํŠธ 11์ผ์ฐจ.. ๋“œ๋””์–ด ์žฌ๊ณ  ๊ฐ์†Œ๋ž‘ ๋ฐฐ์†ก ์ƒ์„ฑ์ด๋ž‘ ์—ฐ๊ฒฐ์„?! ๐ŸŒž ์˜ค๋Š˜์€ ์–ด๋–ค ํ•˜๋ฃจ์˜€์ง€..์˜ค๋Š˜์€ ๋“œ๋””์–ด ์žฌ๊ณ  ๊ฐ์†Œ ๋กœ์ง์ด๋ž‘ ๋ฐฐ์†ก ์ƒ์„ฑ ๋กœ์ง์„ Kafka๋ฅผ ํ™œ์šฉํ•ด์„œ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค!๊ทผ๋ฐ ๋ง‰์ƒ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ์„ค๊ณ„๋ฅผ ํ•˜๋‹ค ๋ณด๋‹ˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.. ๋ฐฐ์†ก์„ ์ƒ์„ฑํ•  ๋•Œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋“ค์„ ์ „๋ถ€ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด์—ˆ๋‹ค..๋ฐฐ์†ก์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” orderId, sellerId, senderId, addressId, deliveryRequest ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.ํ•˜์ง€๋งŒ ์ง€๊ธˆ ๋‹น์žฅ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ orderId์™€ sellerId์ด๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ฐ›์•„์˜ฌ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด์—ˆ๋‹ค..๊ทธ๋ž˜์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ™์ด ์ง„ํ–‰ํ•˜๋Š” ํŒ€์›๋“ค๊ณผ ์–˜๊ธฐํ•ด๋ณธ ๊ฒฐ๊ณผ Sender(์ถœ๊ณ ์ง€(๋ฌผ๋ฅ˜์„ผํ„ฐ))์™€ Seller(ํŒ๋งค์ž) ์‚ฌ์ด์—๋Š” ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํŒ๋งค์ž๊ฐ€ ์–ด๋А ์ถœ๊ณ ์ง€(๋ฌผ๋ฅ˜์„ผํ„ฐ)๋กœ ์ƒํ’ˆ์„ ๋ณด๋‚ด์„œ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ–ˆ๋‹ค... 2025. 5. 29.
[TIL] ํ”„๋กœ์ ํŠธ 9์ผ์ฐจ.. ์žฌ๊ณ  ๊ฐ์†Œ ๋กœ์ง ๊ตฌํ˜„ ๋๋‚ด๊ธฐ!! ๐ŸŒž ์˜ค๋Š˜์€ ์–ด๋–ค ํ•˜๋ฃจ์˜€์ง€..ํ•˜๋ฃจ์ข…์ผ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ์žก๋А๋ผ ์‹œ๊ฐ„์„ ๋‹ค ์“ด ํ•˜๋ฃจ์˜€๋‹ค..์—ฌ๋Ÿฌ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…์„ ๋งˆ์ฃผํ–ˆ๋Š”๋ฐ ๊ทธ ๋‚ด์šฉ๋“ค์€ ๊ฐ๊ฐ ๋”ฐ๋กœ ๋ธ”๋กœ๊ทธ์— ๋‚จ๊ฒจ๋‘˜ ์˜ˆ์ •์ด๋‹ค!ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ….. ์ƒ๊ฐ๋ณด๋‹ค ๊ธฐ ๋นจ๋ฆฌ๋Š” ๋…€์„์ด๋‹ค.. ๐Ÿ—“๏ธ ๋‚ด์ผ์€ ๋ญ ํ•˜์ง€?!โœ”๏ธ ๋ฐฐ์†ก ๋กœ์ง๊ณผ ์žฌ๊ณ  ๊ฐ์†Œ ๋กœ์ง ์—ฐ๊ฒฐํ•˜๊ธฐโœ”๏ธ TIL ์ž‘์„ฑ 2025. 5. 27.
[TIL] ํ”„๋กœ์ ํŠธ 8์ผ์ฐจ.. ์ถ”๊ฐ€ ๋กœ์ง ์ƒ๊ฐํ•˜๋‹ค ๋จธ๋ฆฌ๊ฐ€ ํ„ฐ์ ธ๋ฒ„๋ ค.. ๐ŸŒž ์˜ค๋Š˜์€ ์–ด๋–ค ํ•˜๋ฃจ์˜€์ง€..ํ•˜๋ฃจ ์ข…์ผ ๋ฐฐ์†ก์ด๋ž‘ ์ƒํ’ˆ ์žฌ๊ณ  ๊ฐ์†Œ ๋กœ์ง์„ ์ƒ๊ฐํ•˜๋‹ค๊ฐ€ ํ•˜๋ฃจ๊ฐ€ ๋๋‚œ ๊ฑฐ ๊ฐ™๋‹ค.๋ถ„๋ช… ์ƒ๊ฐํ•  ๊ฒƒ์ด ๋ณ„๋กœ ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ๋ง‰์ƒ ๋…ธํŠธ์— ์ •๋ฆฌํ•˜๋ฉด์„œ ํ•˜๋‹ˆ๊นŒ ์ƒ๊ฐํ•  ๊ฒƒ๋„ ๋งŽ๊ณ  ๋กœ์ง ์ž์ฒด๋„ ๋ณต์žกํ•  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๋А๋‚Œ์ด ๋ฝœ์•… ์™”๋‹ค.. ๊ทธ๋ž˜์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ์ƒ๊ฐํ•˜๋ฉด์„œ ๋…ธํŠธ์— ์ •๋ฆฌํ•˜๊ณ  ์ด ์ •๋„๋ฉด ๋๊ฒ ์ง€?!๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ถ”๊ฐ€์ ์œผ๋กœ ์ƒ๊ฐํ•  ๊ฒƒ์ด ์ƒ๊ฒจ๋ฒ„๋ ธ๋‹ค ใ…Ž..Kafka์™€ Redis๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒํ’ˆ ๊ด€๋ จ ์š”์ฒญ๊ณผ ๋ฐฐ์†ก ๊ด€๋ จ ์š”์ฒญ์˜ ํ† ํ”ฝ์„ ๋ถ„๋ฆฌํ•˜๊ณ , ๋ฉ”์‹œ์ง€ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ์™€ ๋™์‹œ์„ฑ ์ œ์–ด ๋“ฑ๋“ฑ์„ ๋” ์ƒ๊ฐํ•ด์•ผ ํ–ˆ๋‹ค. ์•„์ง Kafak์— ๋Œ€ํ•œ ์ดํ•ด๋„๊ฐ€ ๋‚ฎ์•„์„œ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์‹œ๊ฐ„์ด ๊ฝค๋‚˜ ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™์ง€๋งŒ, ํ•œ๋ฒˆ ๊ตฌํ˜„ํ•ด๋†“๊ณ  ๋‚˜๋ฉด ํ™•์‹คํžˆ ๋‚˜์—๊ฒŒ ๋„์›€์ด ๋งŽ์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.์–ด๋ ต๋‹ค๋Š” ์ƒ๊ฐ๋ณด๋‹ค๋Š” ์ฐจ๊ทผ์ฐจ๊ทผ.. 2025. 5. 26.
[TIL] ํ”„๋กœ์ ํŠธ 5์ผ์ฐจ.. ๋ฐฐ์†ก ๊ด€๋ จ ๋กœ์ง ๋” ์ƒ๊ฐํ•ด๋ณด๊ธฐ.. ๐ŸŒž ์˜ค๋Š˜์€ ์–ด๋–ค ํ•˜๋ฃจ์˜€์ง€..MVP ๊ตฌํ˜„ํ•œ ๊ฒƒ ์ค‘์—์„œ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ์ฑ„์›Œ ๋„ฃ๊ณ  GlobalExceptionHandler๋ฅผ ํ™œ์šฉํ•ด์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋“ค์„ ์ˆ˜์ •ํ–ˆ๋‹ค.ํƒ๋ฐฐ์‚ฌ, ์ถœ๊ณ ์ง€(๋ฌผ๋ฅ˜์„ผํ„ฐ), ๋ฐฐ์†ก, ์†ก์žฅ ๋„๋ฉ”์ธ์„ ์ฒœ์ฒœํžˆ ๋‘˜๋Ÿฌ๋ณด๋ฉด์„œ ๋น ์ง„ ๋กœ์ง์€ ์ถ”๊ฐ€ํ•˜๊ณ , ์ข€ ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •์„ ์ง„ํ–‰ํ–ˆ๋‹ค.๊ทธ ๊ณผ์ •์—์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ์žฌ๊ณ  ๋ถ€๋ถ„์„ ๋งก๊ธฐ๋กœ ํ•ด์„œ ์–ด๋””์— ์žฌ๊ณ  ๊ด€๋ จ ๋กœ์ง์ด ๋“ค์–ด๊ฐ€๋ฉด ์ข‹์„์ง€ ์ƒ๊ฐ๋„ ํ•ด๋ดค๋‹ค.์•„์ง ๋กœ์ง์ด ํ™•์‹คํ•˜๊ฒŒ ๋จธ๋ฆฌ์— ์žกํžˆ์ง€ ์•Š์•„์„œ ๊ณ„์† ์ƒ๊ฐ์„ ํ•ด๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค. ๐Ÿ’ก ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๋‚ด์šฉ์€ ๋ญ๊ฐ€ ์žˆ๋”๋ผ..?!๐Ÿ’ก findById() vs getReferenceById() ์ฐจ์ด ์™„์ „ ์ •๋ฆฌSpring Data JPA๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ์—”ํ‹ฐํ‹ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ findById()์™€ getReferenceBy.. 2025. 5. 23.
[TIL] ํ”„๋กœ์ ํŠธ 3์ผ์ฐจ!! ๐ŸŒž ์˜ค๋Š˜์€ ์–ด๋–ค ํ•˜๋ฃจ์˜€์ง€..์˜ค์ „์—๋Š” ์—ด์‹ฌํžˆ ํƒ๋ฐฐ์‚ฌ ๋„๋ฉ”์ธ ๊ด€๋ จ MVP ๊ตฌํ˜„์— ์ง‘์ค‘ํ–ˆ๋‹ค.๊ธฐ๋ณธ์ ์ธ CRUD ๊ตฌํ˜„์ด์—ˆ์ง€๋งŒ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ฅผ ์ƒ๊ฐํ•˜๋ฉด์„œ ๊ตฌํ˜„์„ ํ–ˆ๋”๋‹ˆ ์‹œ๊ฐ„์ด ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์ด ๊ฑธ๋ ธ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํƒ๋ฐฐ์‚ฌ๋กœ ์˜ค์ „์„ ์ „๋ถ€ ๋ณด๋‚ด๊ณ  ์˜คํ›„์—๋Š” ์ถœ๊ณ ์ง€(๋ฌผ๋ฅ˜์„ผํ„ฐ) CRUD๋ฅผ ๊ตฌํ˜„ํ–ˆ๋‹ค.CRUD๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ํ•„์š”ํ•œ ๋‚ด์šฉ๋“ค์€ ์ƒ๊ฐํ•˜๊ณ  ๋ฉ”๋ชจํ•ด๋‘๋ฉด์„œ ์ง„ํ–‰ํ–ˆ๋”๋‹ˆ ์˜คํ›„๋„ ์‹œ๊ฐ„์ด ๋š๋”ฑ ์ง€๋‚˜๊ฐ”๋‹ค.TBD ๊ตฌ์กฐ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ํ‘ธ์‰ฌ๋ฅผ ์™„๋ฃŒํ•˜๊ณ  ํŒ€์›์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์œผ๋ฉด์„œ ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ๊ณ ์ณ๋‚˜๊ฐ”๋‹ค.๊ทธ๋Ÿฌ๋ฉด์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ์–ด๋–ค ๋กœ์ง๋“ค์ด ํ•„์š”ํ•œ ์ง€ ์ƒ๊ฐํ•ด๋ณด๊ณ  ๊นŒ๋จน์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋กœ ๋‚จ๊ฒจ๋‘์—ˆ๋‹ค.์ €๋… ์ดํ›„๋กœ๋Š” ๋ฐฐ์†ก๊ณผ ์†ก์žฅ ๊ด€๋ จ MVP ๊ตฌํ˜„์— ์ง‘์ค‘ํ–ˆ๋Š”๋ฐ, ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์ด ์™„์„ฑ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋ผ์„œ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์• ๋ฅผ ๋จน์—ˆ๋‹ค..ENUM.. 2025. 5. 22.
[TIL] ํ”„๋กœ์ ํŠธ 2์ผ์ฐจ!! ๐ŸŒž ์˜ค๋Š˜์€ ์–ด๋–ค ํ•˜๋ฃจ์˜€์ง€..์˜ค์ „์—๋Š” ๊ณ„์† API ๋ช…์„ธ์„œ๋ฅผ ํ™•์ธํ–ˆ๋‹ค.๊ฐ์ž ์ž‘์„ฑํ•œ API ๋ช…์„ธ์„œ๋ฅผ ํ•จ๊ป˜ ๋ณด๋ฉด์„œ ์ž˜๋ชป๋œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋นผ๋จน์€ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ์„œ๋กœ ์•Œ๋ ค์ฃผ๊ณ  ๋ฌผ์–ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋‹ค. ๊ทธ ๋•๋ถ„์— ์„œ๋กœ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„์„ ์งš์–ด์ฃผ๊ณ , ์•Œ๋ ค์ฃผ๋ฉด์„œ ์„ฑ์žฅํ•˜๋Š” ์‹œ๊ฐ„์ด ๋˜์—ˆ๋‹ค.์˜คํ›„์—๋Š” ERD ์ˆ˜์ •์— ๋ชฐ๋‘ํ–ˆ๋‹ค.๋ฐฐ์†ก๊ณผ ์†ก์žฅ์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ํƒ๋ฐฐ์‚ฌ์™€ ์ถœ๊ณ ์ง€(๋ฌผ๋ฅ˜์„ผํ„ฐ)๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์ƒ๊ฐํ–ˆ๊ณ , ์—ด์‹ฌํžˆ ๋จธ๋ฆฌ๋ฅผ ๊ตด๋ฆฐ ๊ฒฐ๊ณผ ์ƒ๊ฐ๋ณด๋‹ค ๋” ๊ดœ์ฐฎ์€ ERD๊ฐ€ ๋‚˜์˜จ ๊ฒƒ ๊ฐ™๋‹ค.ERD๊ฐ€ ์™„์„ฑ๋จ์— ๋”ฐ๋ผ API ๋ช…์„ธ์„œ๋„ ์ถ”๊ฐ€์ ์œผ๋กœ ์ˆ˜์ •์ด ํ•„์š”ํ•ด์„œ API ๋ช…์„ธ์„œ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด์„œ ํ•˜๋ฃจ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ–ˆ๋‹ค. ๐Ÿ—“๏ธ ๋‚ด์ผ์€ ๋ญ ํ•˜์ง€?!โœ”๏ธ ํ”„๋กœ์ ํŠธ MVP ๊ตฌํ˜„โœ”๏ธ TIL ์ž‘์„ฑ 2025. 5. 22.