๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€403

System Design: Message Deduplication System https://medium.com/@aditimishra_541/system-design-message-deduplication-system-afb4679c3c00 System Design: Message Deduplication System1. Overviewmedium.com  1. Overview์ด ์•„ํ‹ฐํด์€ ์ˆ˜์‹  ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  10์ดˆ ์ด๋‚ด์— ๋„์ฐฉํ•œ ๋ฐ˜๋ณต๋˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ์‹œ์Šคํ…œ ๋””์ž์ธ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.์ฃผ์š” ๋ชฉํ‘œ๋Š” ์ง€๋‚œ 10์ดˆ๊ฐ„ ๊ณ ์œ  ๋ฉ”์‹œ์ง€๊ฐ€ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ์ฒ˜๋ฆฌ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋””์ž์ธ์€ ์ค‘๋ณต ์ฒ˜๋ฆฌ๋‚˜ ๋กœ๊ทธ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ œ๊ฑฐ๊ฐ€ ์ค‘์š”ํ•œ ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. 2. Requirements๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์‹œ์Šคํ…œ์€ ๋„์ฐฉํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ˆ˜์‹  ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๋ฉ”.. 2024. 10. 27.
์ธํ”„์ฝ˜ 2024 ์ •๋ฆฌ ์˜ฌํ•ด ์ง„ํ–‰๋˜์—ˆ๋˜ ์ธํ”„์ฝ˜ 2024 ์ค‘ ์ผ๋ถ€ ์„ธ์…˜์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. https://www.inflearn.com/course/%EC%9D%B8%ED%94%84%EC%BD%982024-%EB%8B%A4%EC%8B%9C%EB%B3%B4%EA%B8%B0 [์ง€๊ธˆ ๋ฌด๋ฃŒ] ์ธํ”„์ฝ˜ 2024 ๋‹ค์‹œ๋ณด๊ธฐ ๊ฐ•์˜ | ์ธํ”„๋Ÿฐ - ์ธํ”„๋Ÿฐ์ธํ”„๋Ÿฐ | ์„ฑ์žฅํ•˜๋Š” IT์ธ๋“ค์˜ ์ถ•์ œ, ์ธํ”„์ฝ˜ 2024์—์„œ ์ง„ํ–‰๋œ ์˜คํ”„๋‹ ๋ฐ ๋ฐœํ‘œ ์„ธ์…˜์„ ์˜์ƒ์œผ๋กœ ๋‹ค์‹œ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค., โœ… ํ™•์ธํ•ด์ฃผ์„ธ์š”์ด ์ฝ˜ํ…์ธ ๋Š” 2024๋…„ 8์›” 2์ผ ๊ธˆ์š”์ผ ์ง„ํ–‰๋œ ์ธํ”„์ฝ˜ 2024 ๋ฐœํ‘œ ๋…นwww.inflearn.com ํŠธ๋ž™ 1์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ ๊ฐœ๋ฐœ ๋ฌธํ™” ๋ฐ ์„œ๋ฐ”์ด๋ฒŒ ์ „๋žต - ์ด์Šน์ค€ํ•ต์‹ฌ 5๊ฐ€์ง€์ž๊ธฐ PR, ์ƒˆ๋กœ์šด ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ ์Šต๋“, ๋„คํŠธ์›Œํ‚น, ํ˜‘์—… ๋Šฅ๋ ฅ, ์ฐฝ์˜์„ฑ๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ.. 2024. 10. 25.
DB Function to Java Application ์ด๊ด€ (feat. ํ”„๋กœ์‹œ์ €) ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ „ ์ง์žฅ์—์„œ ์ง„ํ–‰ํ–ˆ๋˜ DB Function ๋กœ์ง์„ Java Application์œผ๋กœ ์ด๊ด€ํ•˜๋Š” ์ž‘์—…์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ๋‹ค์†Œ ํ˜๋ €์ง€๋งŒ, ์ด ์ž‘์—… ๊ณผ์ •์„ ๋˜๋Œ์•„๋ณด๊ณ ์ž ํ•˜๋Š” ๋ชฉ์ ๋„ ์žˆ๊ณ , ์œ ์‚ฌํ•œ ์ž‘์—…์„ ์ง„ํ–‰ํ•  ๋•Œ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๋ฐ ๊ณ ๋ ค ์‚ฌํ•ญ ๋“ฑ์„ ์ •๋ฆฌํ•ด ๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ํฌ์ŠคํŒ…์€ ๊ฐœ์š” - ๊ณผ์ • - ๊ฒฐ๊ณผ(์„ฑ๊ณผ) - ํšŒ๊ณ  ์ˆœ์œผ๋กœ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฐœ์š”๊ธฐ์กด์˜ DB Function์€ ์ฟ ํฐ ๋ฐœ๊ธ‰ API๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ์™ธ๋ถ€ ์ œํœด์‚ฌ๊ฐ€ ๋ฐœ๊ธ‰ ์š”์ฒญ์„ ํ•˜๋ฉด ๋‚ด๋ถ€์ ์œผ๋กœ ์—ฌ๋Ÿฌ ํ”„๋กœ์‹œ์ €๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ๊ฒ€์ฆ, ๋กœ๊น…, INSERT, UPDATE ๋“ฑ ์ฟ ํฐ ๋ฐœ๊ธ‰์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋กœ์ง์—๋Š” ์—ฌ๋Ÿฌ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ , ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฒˆ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. D.. 2024. 10. 14.
์—…๋ฌด์— ๋ฐ”๋กœ ์“ฐ๋Š” SQL ํŠœ๋‹ 2 - SQL ํŠœ๋‹ ์‹ค์Šต (1) ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ SQL ํŠœ๋‹ ์ด๋ก ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์•˜๋Š”๋ฐ์š”, ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์‹ค์ œ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฟผ๋ฆฌ์˜ ๋ฌธ์ œ์ ์„ ํŒŒ์•…ํ•˜๊ณ , ํŠœ๋‹ํ•˜์—ฌ ๊ฐœ์„ ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.(์‹ค์ œ ํŠœ๋‹ ์ „ SQL ๋ฌธ์„ ํ™•์ธํ•˜์—ฌ ๋ฌด์—‡์ด ๋ฌธ์ œ์ธ์ง€ ํŒŒ์•…ํ•ด๋ณด๊ณ , ์ง์ ‘ ๊ฐœ์„ ํ•ด๋ณด๊ณ  ํŠœ๋‹ ํ›„ SQL ๋ฌธ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.) ์•…์„ฑ SQL ํŠœ๋‹์œผ๋กœ ์ดˆ๋ณด์ž ํƒˆ์ถœํ•˜๊ธฐ์‹ค๋ฌด์ ์ธ SQL ํŠœ๋‹ ์ ˆ์ฐจ ์ดํ•ดํ•˜๊ธฐ1. SQL ๋ฌธ ์‹คํ–‰ ๊ฒฐ๊ณผ & ํ˜„ํ™ฉ ํŒŒ์•…๊ฒฐ๊ณผ ๋ฐ ์†Œ์š”์‹œ๊ฐ„ ํ™•์ธ์กฐ์ธ / ์„œ๋ธŒ์ฟผ๋ฆฌ ๊ตฌ์กฐ๋™๋“ฑ / ๋ฒ”์œ„ ์กฐ๊ฑด2. ๊ฐ€์‹œ์ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ๊ฑด์ˆ˜SELECT ์ ˆ ์ปฌ๋Ÿผ ๋ถ„์„์กฐ๊ฑด์ ˆ ์ปฌ๋Ÿผ ๋ถ„์„๊ทธ๋ฃจํ•‘ / ์ •๋ ฌ ์ปฌ๋Ÿผ3. ๋น„๊ฐ€์‹œ์ ์‹คํ–‰๊ณ„ํš์ธ๋ฑ์Šค ํ˜„ํ™ฉ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์ถ”์ด์—…๋ฌด์  ํŠน์ง•4. ํŠœ๋‹ ๋ฐฉํ–ฅ ํŒ๋‹จ & ๊ฐœ์„  / ์ ์šฉ (ํ…Œ์ŠคํŠธ) SQL ๋ฌธ ๋‹จ์ˆœ ์ˆ˜์ •์œผ๋กœ ์ฐฉํ•œ ์ฟผ๋ฆฌ .. 2024. 10. 8.
์—…๋ฌด์— ๋ฐ”๋กœ ์“ฐ๋Š” SQL ํŠœ๋‹ 1 - SQL ํŠœ๋‹ ์ด๋ก  ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ์—…๋ฌด์— ๋ฐ”๋กœ ์“ฐ๋Š” SQL ํŠœ๋‹ ๋„์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด์ „ ์ง์žฅ์—์„œ๋Š” ์ฃผ๋กœ ์˜ค๋ผํด์„ ์‚ฌ์šฉํ•˜์˜€๊ณ , ์•ž์œผ๋กœ๋Š” MySQL(MariaDB, Postgresql...) ์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ด๊ธฐ์— ๊ด€๋ จํ•˜์—ฌ ์‹คํ–‰ ๊ณ„ํš ๋ฐ ์—ฌ๋Ÿฌ SQL ํŠœ๋‹ ๊ธฐ๋ฒ•๋“ค์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ „์— Real MySQL ๋„์„œ๋ฅผ ํ†ตํ•ด ์ด๋ก ์ ์œผ๋กœ ํ•™์Šตํ•˜์˜€์ง€๋งŒ, ์˜ค๋ผํด์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋‹ˆ MySQL์˜ ์ฃผ์š” ์‹คํ–‰ ๊ณ„ํš์— ๋Œ€ํ•ด์„œ๋Š” ์ •๋ฆฌ ์ฐจ์›์—์„œ ๋‹ค์‹œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฑ…์˜ ์˜ˆ์ œ๋“ค์„ ํ†ตํ•ด ํ‰์†Œ์— ์ด๋ก ์œผ๋กœ๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ๋˜ ๋‚ด์šฉ๋“ค์ด๋‚˜ ๊ฒฝํ—˜์ด ์žˆ์—ˆ๋˜ ํŠœ๋‹๋“ค ๋“ฑ ๋‹ค์–‘ํ•˜๊ฒŒ ๊ฒฝํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.์ฑ…์˜ ์˜ˆ์ œ๋“ค์„ ํ†ตํ•ด ์ „ํ˜€ ์ƒˆ๋กœ์šด ์ ‘๊ทผ์ด๋‚˜, ํ‰์†Œ์— ์ด๋ก ์œผ๋กœ๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ๋˜ ๋‚ด์šฉ๋“ค, ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๊ฒฝํ—˜์ด ์žˆ์—ˆ๋˜ ์ฟผ๋ฆฌ ๋“ฑ ์ •ํ•ด์ง„ ๋ฐ์ดํ„ฐ ํ˜•์‹์ด๊ธด .. 2024. 10. 7.
Modern Java: An In-Depth Guide from Java 8 to Java 21 Modern Java์— ๋Œ€ํ•ด, Java 8 ~ Java 21๊นŒ์ง€์˜ ๋ณ€๊ฒฝ์ง€์ ์„ ์ •๋ฆฌํ•ด๋ณด๋Š” ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋ฒˆ์—ญํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.https://medium.com/@akineralkan/modern-java-an-in-depth-guide-from-version-8-to-21-by-akiner-alkan-f89b50e13c72 Modern Java: An In-Depth Guide from Version 8 to 21 | by Akiner AlkanDiscover Java’s evolution from 8 to 21, unveiling features like lambdas to sealed classes and records.medium.com ์ž๋ฐ” 8์„ ์‹œ์ž‘์œผ๋กœ ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์€.. 2024. 9. 8.
"์‹ค๋ฌด๋กœ ํ†ตํ•˜๋Š” ํด๋ฆฐ ์ฝ”๋“œ" ๋„์„œ ๋ฆฌ๋ทฐ ํ•œ๋น›๋ฏธ๋””์–ด์˜ ๋‚˜๋Š”๋ฆฌ๋ทฐ์–ด๋‹ค 2024๋ฅผ ํ†ตํ•ด 8์›”, ์‹ค๋ฌด๋กœ ํ†ตํ•˜๋Š” ํด๋ฆฐ ์ฝ”๋“œ (Clean Code Cookbook) ๋„์„œ๋ฅผ ์ œ๊ณต ๋ฐ›์•„ ์ฝ์–ด๋ณด๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฑ…์€ ์•ฝ 500p ์ •๋„์˜ ๋ถ„๋Ÿ‰์œผ๋กœ ์–‡์€ ํŽธ์€ ์•„๋‹ˆ๊ณ ์š”, ํด๋ฆฐ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๊ด€์‹ฌ์ด ๋งŽ๊ธฐ๋„ ํ•˜๊ณ , ์˜ˆ์ „์— ์ฝ์—ˆ๋˜ ํด๋ฆฐ ์ฝ”๋“œ ์ƒ๊ฐ๋„ ๋‚˜์„œ ์ฝ์–ด๋ณด๊ฒŒ ๋˜์—ˆ๋„ค์š”. ์ „๋ถ€ ์ฝ์ง€๋Š” ๋ชปํ–ˆ๊ณ , 60%์ •๋„๋งŒ ์ฝ์€ ์ƒํƒœ์—์„œ ๋” ์ฝ์œผ๋ฉด์„œ ๋‚ด์šฉ์ด ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋ง์”€๋“œ๋ฆฌ๋ฉด ํด๋ฆฐ ์ฝ”๋“œ (Clean Code) ๋„์„œ์™€ ๋น„์Šทํ•œ ๋‚ด์šฉ๋“ค์ด ๋งŽ์•˜์–ด์„œ ํด๋ฆฐ ์ฝ”๋“œ๋ฅผ ์ฝ์—ˆ๋‹ค๋ฉด, ๊ตณ์ด ์ด ์ฑ…์„ ๋ณด์ง€๋Š” ์•Š์•„๋„ ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค..(?)  2์žฅ ๊ณต๋ฆฌ ์„ค์ •38p, ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์œผ๋ฉฐ MAPPER (๋งคํผ) ๋ผ๋Š” ์•ฝ์–ด๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.MAPPER (Model: Abstrac.. 2024. 8. 26.
์ผ„ํŠธ ๋ฐฑ์˜ Tidy First? ๋„์„œ ๋ฆฌ๋ทฐ ํ•œ๋น›๋ฏธ๋””์–ด์˜ ๋‚˜๋Š”๋ฆฌ๋ทฐ์–ด๋‹ค2024๋ฅผ ํ†ตํ•ด 5์›”, ์ผ„ํŠธ ๋ฐฑ์˜ Tidy First? ๋„์„œ๋ฅผ ๋ฐ›์•„ ์ฝ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฑ…์€ ๊ต‰์žฅํžˆ ์–‡๊ณ , ์‹ ๊ธฐํ•˜๊ฒŒ 2๊ถŒ์œผ๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ ๊ฐ€๊ฒฉ์€ ๊ฝค๋‚˜ ๋น„์‹ธ๋„ค์š”.๊ทธ๋™์•ˆ ์ฝ”๋“œ ์ •๋ฆฌํ•˜๋Š” ์ž‘์—…์„ ๋งŽ์ด ํ•˜๋‹ค๋ณด๋‹ˆ, ์ฑ…์—์„œ ๊ณต๊ฐ ๊ฐ€๋Š” ๋ถ€๋ถ„์ด ๊ฝค ์กด์žฌํ–ˆ๊ณ , ๊ถ๊ธˆ์ฆ์— ๋Œ€ํ•ด์„œ๋„ ์–ด๋Š์ •๋„ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์žฅ์˜ ์ด๋ก  ๋ถ€๋ถ„์—์„œ๋Š” ๊ธˆ์œต, ์˜ต์…˜ ๋“ฑ์˜ ๊ฐœ๋…์ด ๋‚˜์˜ค๋Š”๋ฐ, ๊ฐœ์ธ์ ์œผ๋กœ ๊ณต๊ฐ๊ฐ€๋Š” ๋ถ€๋ถ„์ด ๋งŽ์ง€๋Š” ์•Š์•„์„œ ๋น ๋ฅด๊ฒŒ ๋„˜๊ฒผ๋˜ ๊ฒƒ ๊ฐ™๋„ค์š”.. ์•„๋ž˜๋Š” ๋„์„œ์—์„œ ๊ดœ์ฐฎ์•˜๋˜, ์ •๋ฆฌํ•ด๋†“์€ ๋ฌธ์žฅ๋“ค์ž…๋‹ˆ๋‹ค.   Part 01, ์ฝ”๋“œ ์ •๋ฆฌ๋ฒ•18p, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ํ–‰๋™์„ ํ•˜๋ฉด์„œ ๋ถˆ์•ˆํ•ดํ•˜๋Š” ๊ฒƒ์€ ๊ฒฝ์†”ํ•˜๊ฒŒ ์•ˆ์ „์„ ํ™•์‹ ํ•˜๋ฉฐ ์šฐ๋‘”ํ•˜๊ฒŒ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋‚ซ์Šต๋‹ˆ๋‹ค. ์š”์ฆ˜ ํŠนํžˆ๋‚˜ ๋งŽ์ด ๋Š๋ผ๋Š” ๊ฐ์ •์ด๋ผ ๋”์šฑ ๊ณต๊ฐ์ด ๊ฐ”๋˜ ๋ฌธ์žฅ์ธ ๊ฒƒ ๊ฐ™๋„ค.. 2024. 5. 25.
Spring @RequestBody ํ•„๋“œ ๋ฐ”์ธ๋”ฉ์ด ๋˜์ง€ ์•Š๋Š” ์ด์Šˆ (feat. Lombok, Jackson์˜ ๋„ค์ด๋ฐ ์ฐจ์ด) ๊ฐœ์š” Spring์—์„œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ JSON ํ˜•์‹์œผ๋กœ ๋ฐ›๊ณ , @RequestBody๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JSON body์˜ ๋ฐ์ดํ„ฐ๋ฅผ Java Object์˜ ํ•„๋“œ์™€ ์—ญ์ง๋ ฌํ™”(Deserialize)๋ฅผ ํ†ตํ•ด ๊ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋ฐ”์ธ๋”ฉ์ด ์ด๋ฃจ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ํ•„๋“œ์˜ ํŠน์ • ๋„ค์ด๋ฐ + Lombok์˜ @Getter๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐ”์ธ๋”ฉ์ด ์ •์ƒ์ ์œผ๋กœ ๋˜์ง€ ์•Š๋Š” ์ด์Šˆ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ์š”, ์ด์™€ ๊ด€๋ จํ•˜์—ฌ ๊ฐ„๋žตํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ### Send POST request with json body POST http://localhost:8080/api/v1/test Content-Type: application/json { "pId": "pId", "poId": "poId" } ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ„์™€ ๊ฐ™์€ ์„œ๋ฒ„ ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•˜๊ณ  ํด๋ผ.. 2024. 3. 20.
Spring Swagger(springdoc-openapi) Unable to render this definition ์˜ค๋ฅ˜ Spring ์—์„œ ๋ฌธ์„œํ™”๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ ์ž Swagger(Springdoc-openapi)๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. Unable to render this definition ... ์‹ค์ œ api-docs URL๋กœ ์ ‘๊ทผํ•ด๋ณด๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฉ”์‹œ์ง€๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ปจ๋ฒ„ํ„ฐ๊ฐ€ ์•ˆ๋˜์–ด ๋‚˜์˜ค๋Š” ๋“ฏ ํ•œ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” MessageConverter ๋ฅผ Customํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ , ๋Œ€๋žต์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ค‘์ž…๋‹ˆ๋‹ค. @Override public void configureMessageConverters(List 2024. 3. 4.
๋ฐ˜์‘ํ˜•