์ ์ฒด ๊ธ235 ์ ์ ์ฃผ๋์ด ๊ฐ๋ฐ์ ๋ฐ์ฃผํ A.K.A ์ค์์ 24๋ ํ๊ณ ๋ก ํ ํด๊ฐ ๊ฐ๊ณ ๋ค์ ์๋ก์ด ํด๊ฐ์ฐพ์ ์ค๊ณ ์๋ค. 25๋ ์ ๊ธฐ๋ค๋ฆฌ๋ฉฐ, ์ง๋ ํ ํด์ธ 24๋ ์ ๋๋์ ๋ณด๋ ค๊ณ ํ๋ค. ์ฐ์ฌ๊ณก์ ์ด ๋ง์๋ ํ ํด์ด๊ธฐ์ ์๋ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฐฌ ํ๊ณ ๋ก์ด ๋ ๊ฒ ๊ฐ๋ค.๋จผ์ ํ๊ณ ๋ก์ ์์ฑํ๊ธฐ ์ ์, ์๋ ์ ์ด ํ๊ณ ๋ก์ ์ฝ์ด๋ณด์๋ค. ์ผ๋ง๋ ์๋ ์ ๋นํด ๋ ์ฑ์ฅํ๊ณ , ์ผ๋ง๋ ์๋ ์ ๋ค์ง๊ณผ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋์ง ํ์ธํด ๋ณด๋ ค ํ๋ค. https://programmer-may.tistory.com/185 ์ฃผ๋์ด ๊ฐ๋ฐ์(ํฌ๋ง) ๋ฐ์ฃผํ A.K.A ์ค์์ 23๋ ํ๊ณ ๋ก์ถ์ด ๊ฒจ์ธ๋ฐ๋์ ๋ง๋ฟ์ผ๋ ํํด๋ฅผ ๋๋์๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ์ผํ ๋๊ฐ ์๊ตฌ๋! ๋๋๋ค. 23๋ ์ ๋์๊ฒ ์ ๋ง ํฌ๊ณ ๋ป๊น์ ํํด์ด๋ค. ์ฌ๋ ๋ฐ์ฃผํ์ผ๋ก์ ๊ทธ๋ฆฌ๊ณ , ๊ฐ๋ฐ์ ๋ฐ์ฃผํ์ผ๋ก์๋ ์ ๋ง ์ ๋งprogrammer-may.tistory.com ์๋ ํ.. ETC 2024. 12. 31. Fiddler ์ค์น ๋ฐ HTTPS ํ๋กํ ์ฝ ํจํท ๋ถ์ ์ค์ ํผ๋ค๋ฌ(Fiddler)๋ HTTP ๋ฐ HTTPS ํธ๋ํฝ์ ์บก์ฒํ๊ณ ๋ถ์ํ ์ ์๋ ๊ฐ๋ ฅํ ์น ๋๋ฒ๊น ํ๋ก์(Web Debugging Proxy) ๋๊ตฌ์ ๋๋ค. ์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋ฐ ๋๋ฒ๊น ๊ณผ์ ์์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋คํธ์ํฌ ํต์ ์ ๋ชจ๋ํฐ๋งํ๊ฑฐ๋ ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฃผ์ ๊ธฐ๋ฅHTTP/HTTPS ํธ๋ํฝ ์บก์ฒํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ๋ชจ๋ HTTP ๋ฐ HTTPS ์์ฒญ๊ณผ ์๋ต์ ์บก์ฒ.ํธ๋ํฝ ๋ด์ฉ์ ์ค์๊ฐ์ผ๋ก ํ์ธ ๊ฐ๋ฅ.์์ฒญ ๋ฐ ์๋ต ๋ถ์์์ฒญ ํค๋, ๋ณธ๋ฌธ, ์ฟ ํค, ์๋ต ์ฝ๋ ๋ฑ์ ์์ธํ ๋ถ์.JSON, XML, HTML ๋ฑ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ธฐ ์ข๊ฒ ํ์.๋ชจ์ ์์ฒญ ๋ฐ ์๋ต ํ ์คํธ๊ธฐ์กด ์์ฒญ์ ์์ ํ๊ฑฐ๋ ์๋ก์ด ์์ฒญ์ ์์ฑํ์ฌ ์๋ฒ์ ํต์ ํ ์คํธ.Mock ์๋ฒ ์ญํ ์ํ.SSL ๋๋ฒ๊น HTTPS ํธ๋ํฝ์.. Tool 2024. 12. 30. ์ค๋ฌด์์ ์์ฃผ ์ ํ๊ฒ ๋๋ ์ํฐ ํจํด ์ํฐ ํจํด์ํฐํจํด(Anti-Pattern)์ด๋ ์ํํธ์จ์ด ๊ฐ๋ฐ, ์ค๊ณ, ๋๋ ๋ฌธ์ ํด๊ฒฐ์์ ๋นํจ์จ์ ์ด๊ณ ํด๋ก์ด ๊ดํ์ ๋งํฉ๋๋ค. ์ฝ๋๋ฅผ ์์ฑํ ๋, ๋นํจ์จ์ ์ด๊ฑฐ๋ ๋น์์ฐ์ ์ผ ์ ์๋ ๋ฐฉ์๋ค์ ์๋ฏธํฉ๋๋ค. ์ฝ๋๋ฅผ ์์ฑํ ๋น์์๋ ๋ฌธ์ ๊ฐ ์์ด๋ณด์ผ ์ ์์ง๋ง, ์๊ฐ์ด ์ง๋๊ณ ์๊ตฌ ์ฌํญ์ด ๋ฐ๋๋ฉด ์์ ์ด ๋งค์ฐ ์ด๋ ค์์ง ์ ์์ต๋๋ค. ์๋ชป๋ ๋ฐฉ์์ผ๋ก ์์ฑ๋ ์ฝ๋๋ ์คํ ์๋์ ์์คํ ์ ์ฒด ์ฑ๋ฅ์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ํ์ ์ธ ์ํฐ ํจํด1. Spaghetti Code (์คํ๊ฒํฐ ์ฝ๋) ๊ตฌ์กฐ๊ฐ ์๋ ๋ณต์กํ๊ณ ๋ค์ฝํ ์ฝ๋. ์ดํดํ๊ธฐ ์ด๋ ต๊ณ , ์ ์ง๋ณด์๊ฐ ๊ฑฐ์ ๋ถ๊ฐ๋ฅํ๊ณ ์ฝ๋ ๋ณ๊ฒฝ ์ ์์์น ๋ชปํ ๋ฌธ์ ๋ฐ์์ด ๊ฐ๋ฅํฉ๋๋ค.์์function calculate(value) { if (value > 10) { if (val.. System Design 2024. 12. 26. JavaScript ์ผ๋ฐ ํจ์์ ํ์ดํ ํจ์์ ์ฐจ์ด์ ๋ฌธ๋ฒ ์๋ฐ์คํฌ๋ฆฝํธ์์ ํจ์๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋๊ฐ์ง์ด๋ค. ์ผ๋ฐ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ํ์ดํ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ผ๋ฐ ํจ์function ํค์๋๋ฅผ ์ฌ์ฉํ๋ ์ผ๋ฐ ํจ์๋ ํจ์ ์ ์ธ์๊ณผ ํจ์ ํํ์์ด ์๋ค. ํจ์์ ์ธ์ํจ์ ์ ์ธ์์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ํจ์๋ฅผ ์ ์ธํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค.function main() { console.log("Hello")}main() //ํจ์ ํธ์ถ function ํค์๋ ๋ค์ ํ์์ ์ผ๋ก ํจ์ ์ด๋ฆ์ ์ ๊ณ ๋ธ๋ญ ์์ ํจ์ ๋ด์ฉ์ ์ ์ผ๋ฉด ๋๋ค. ํจ์๋ฅผ ํธ์ถํ๊ธฐ ์ํด์ ์ด๋ฆ์ ์ ์ผ๋ฉด ๋๋ค.ํจ์ ์ ์ธ์์ผ๋ก ์์ฑ๋ ์์ฑ๋ ํจ์์ ํน์ง์ ํธ์ด์คํ ์ด ๋๋ค๋ ๊ฒ์ด๋ค. ํธ์ด์คํ ์ด ๋๊ธฐ ๋๋ฌธ์ ํจ์ ์ ์ธ๋ณด๋ค ํธ์ถ์ด ๋จผ์ ๋์ด๋ ์๋ฌ๊ฐ ์๊ธฐ์ง ์๊ณ , ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค. ํธ์ด์คํ ์ด ๋๊ธฐ ๋๋ฌธ์.. JavaScript Programming 2024. 12. 20. JavaScript - ์คํ ์ปจํ ์คํธ์ ๋ ์์ปฌ ํ๊ฒฝ ํธ์ด์คํ , ํด๋ก์ , this ๋ฐ์ธ๋ฉ ๋ฑ์ ์๋ ค๋ฉด ์คํ ์ปจํ ์คํธ์ ๋ ์์ปฌ ํ๊ฒฝ์ ์์์ผ ํ๋ค. ์คํ ์ปจํ ์คํธ (Execution Context)์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ์คํ๋ ๋ ์์ฑ๋๋ ์คํ ์ ๋ณด์ ํ๊ฒฝ์ด๋ค. ์ด๋ค ์ฝ๋๊ฐ ์คํ๋ ์ง, ๋ณ์์ ํจ์๊ฐ ์ด๋ป๊ฒ ์คํ๋ ์ง๋ฅผ ๊ด๋ฆฌํ๋ค. ๊ตฌ์ฑ์์1. ๋ ์์ปฌ ํ๊ฒฝ (Lexical Environment)๋ณ์๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ฉฐ, ์ค์ฝํ ์ฒด์ธ์ ๊ด๋ฆฌํ๋ค.ํ์ฌ ์คํ ์ค์ธ ์ฝ๋ ๋ธ๋ก(ํจ์, ์ ์ญ, ๋ธ๋ก)์ ์ค์ฝํ๋ฅผ ๋ํ๋ธ๋ค.2. ๋ณ์ ํ๊ฒฝ (Variable Environment)๋ ์์ปฌ ํ๊ฒฝ๊ณผ ๋น์ทํ์ง๋ง, var ํค์๋๋ก ์ ์ธ๋ ๋ณ์๋ง ๊ด๋ฆฌํ๋ค.ํจ์ ์คํ ์ ์ด๊ธฐ ์ํ๋ฅผ ๋ณด๊ดํ๋ค.3. this ๋ฐ์ธ๋ฉ (This Binding)ํ์ฌ ์คํ ์ค์ธ ์ฝ๋์์์ this ๊ฐ์ ๊ฐ๋ฆฌํจ๋ค.๋ ์์ปฌ.. JavaScript Programming 2024. 12. 19. JavaScript - if ๋ฌธ Truthy ์ Falsy ํ๊ฐ ๋ฐฉ์ ์กฐ๊ฑด๋ฌธ์ ํ๊ฐ ๋ฐฉ์ ํ์ ์คํฌ๋ฆฝํธ๋ก ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๊ณ ์๋๋ฐ, ๋ค๋ฅธ ์์์์ node์ next ๊ฐ์ด ์กด์ฌํ๋ฉด ์์ ํ๋ ๊ทธ๋ฐ ๋ก์ง์ด ์์๋ค.?!!?!?!?!?!?!?!?!?!?!?!if (node.next !== null) { //์ด๊ฒ ์๋๊ณ ์๋๊ฐ ๋๋ค๊ณ ?}if (node.next) { node.next.prev = node.prev;} node๋ ListNode | null ์ผ๋ก ํ์ ์ ์ถ๋ก ํ ์ ์์๋ค. ๊ทผ๋ฐ if () ์กฐ๊ฑด๋ฌธ์ boolean ๊ฐ์ด ์๋ ๊ฐ์ฒด๋ null ์ด ๋ค์ด๊ฐ๋ค๋ ๊ฒ์ ์ถฉ๊ฒฉ์ ๋ฐ์๋ค. ์ ์ ๊ฒ ์ปดํ์ผ ์๋ฌ๊ฐ ์์๊ธฐ์ง?!์ฐพ์๋ณด๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์กฐ๊ฑด๋ฌธ ์์๋ ๋ฐ๋์ boolean ๊ฐ๋ง ๋ค์ด๊ฐ์ผ ํ๋ค๋ ๊ท์น์ด ์กด์ฌํ์ง ์์๋ค.(๋ ธ๊ทผ๋ณธ... ์๋๋๊ณ ....) TypeScript(๋๋.. JavaScript Programming 2024. 12. 18. JavaScript์์ 1 < x < 3์ด ํญ์ ์ฐธ์ธ ์ด์ - Number ๋ด์ฅ ํจ์ ๊ฐ๋ฐ์ ๋ฐ์ ๋ณด๋ฉด, ํนํ ์ธ์ด์ ๊ด๋ จ๋ ๋ฐ์ ๋ณด๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ด๋ จ๋ ๋ฐ์ด ๋ง๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์ ํ์ ์ธ์ด๋ก์ ํ์ ๋ณํ์ ์ํํ๊ฒ ๋๋ค. ์๋ฐ ์คํฌ๋ฆฝํธ ๊ณต๋ถ๋ฅผ ํ๋ค๊ฐ ์ด์ ๋ถ๋ถ์์ ์ด๋ฐ ๊ฑธ ๋ดค๋ค.if ("" == 0) { // ?!?!?!?! ์ด๊ฑด ์ฐธ}if (1 ์๋ฐ๋ฅผ ๋ฉ์ธ์ผ๋ก ๊ณต๋ถํ ๋๋ ์ ์์ด ์ถฉ๊ฒฉ์ ๋ฐ์๋ค. ์๊ฐ ์ ํญ์์ธ์ง. ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ์ ๋ฐ ๋ฌธ๋ฒ์ด ๊ฐ๋ฅํ์ง ์๊ฐํ๋ค. 1. if ("" == 0) ์ด ํญ์ ์ฐธ์ธ ์ด์ if ("" == 0) ์ด ํญ์ ์ฐธ์ธ ์ด์ ๋ == (๋์จํ ๋๋ฑ ์ฐ์ฐ์) ๋ฐ ํ์ ๋ณํ๊ณผ ๊ทธ์ ๋ฐ๋ฅธ ์๋ฐ์คํฌ๋ฆฝํธ Number ๋ด์ฅ ํจ์ ๋๋ฌธ์ด๋ค. == ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๋, ํผ์ฐ์ฐ์์ ํ์ ์ด ๋ค๋ฅด๋ฉด ํ์ ๋ณํ์ ์๋ํ๋ค. ํผ์ฐ์ฐ์๋ 0์ผ๋ก number ์๋ฃํ์ด๋ค. ๊ทธ.. JavaScript Programming 2024. 12. 17. 2024 ์ทจ๋ฝ ํ๊ธฐ ๊ธธ๊ณ ๊ธธ์๋ ์ทจ์ค ๊ธฐ๊ฐ์ ๋๋ด๊ณ ๋๋์ด ์ทจ๋ฝ๋ฅผ ํ๊ฒ ๋๋ค. ๋น์ฅ์ ๋ชฉํ๋ฅผ ์ทจ์ ์ผ๋ก ๊ตญํํ์ง ์๊ณ , ๋จผ ๋ชฉํ๋ฅผ ์ค์ ํด๋ฌ์ ๊ทธ๋ฐ์ง ์ทจ๋ฝ๋ฅผ ํ๊ณ ๋์๋ ๋ง์ด ์ ๋ด์ง ์์๋ ๊ฑฐ ๊ฐ๋ค. ๋ฌผ๋ก ๊ธฐ์๊ธดํ์ง๋ง, ๋๋ฌด ์ ๋ด๊ฑฐ๋ ๋ฌด์์ด ๋๋ ๊ฒ์ฒ๋ผ ํ๋ํ์ง ์์๋ค๋ ๋ป์ด๋ค.์ฑ๊ฒฉ์ด ์ ๋ค์ด์ด ์ฌํ์ง ์์ ์ฑ๊ฒฉ์ด๊ธฐ๋ ํ๊ณ , ๋ด๊ฐ ์ข์ํ๋ T1์ ๊ตฌ๋ง์ ์ ์ ์๊ฐ ์์ธ๋ ๊ฐ์ฐ์์ ํ ๋ง์ ๋ํด์๋ ๊ณต๊ฐํ๊ธฐ ๋๋ฌธ์ด๋ค."์๋ ์์ฆ ์ฐ์น์ ํ๊ณ ๋๋ ๊ฑด '์ฐ์น์ ํด๋ ์ธ์์ด ๊ทธ๋ ๊ฒ ํฌ๊ฒ ๋ฐ๋์ง ์๋๊ตฌ๋'๋ผ๊ณ ๋๊ผ์ด์. ์ด์ฐจํผ ๋ด๋ ์ ๋๊ฐ์ด ๊ฒฝ๊ธฐ๋ฅผ ํด์ผ ํ๊ณ ๋ ์ ์ข์ ๋ชจ์ต์ ๋ณด์ด๋ฉด ๋ ์ ์ข์ ํ๊ฐ๋ฅผ ๋ฐ๊ฒ ๋๊ณ ๊ณ์ํด์ ๋์๊ฐ์ผ ํ๋๋ผ๊ณ ์. ์ฌ๋ฌ๋ถ๋ค๋ ์์ธ๋์ ๋ค์ด์ค์๊ณ '๋๋ ์ด์ ๋๋ฌ๋ค. ๋ค ํ๋ค' ์ด๋ฐ ์๊ฐ์ด ์์์ ํ ๋ฐ ๋ชฉํ๋ฅผ.. ETC 2024. 12. 13. ์ฝํ๋ฆฐ ์ ๊ทผ์ ์ด์์ ์๋ฐ ์ ๊ทผ ์ ์ด์ ์ฐจ์ด ์ฝํ๋ฆฐ๊ณผ ์๋ฐ์ ์ ๊ทผ ์ ์ด์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น์ทํ ๊ฐ๋ ์ ๊ณต์ ํ์ง๋ง, ์ธ๋ถ์ ์ผ๋ก๋ ์ฐจ์ด์ ์ด ์๋ค.Kotlin ๊ณผ Java ์ ๊ทผ ์ ์ด์๊ฐ ๋น์ฐํ ๊ฐ๋ค๊ณ ์๊ฐํ์ผ๋ฉด ์ด ๊ธ์ ๋ณด๊ณ ์ฐจ์ด์ ์ ์์๋ณด์ ์ ๊ทผ ์ ์ด์์ฝํ๋ฆฐ์๋ฐpublic ๊ธฐ๋ณธ ์ ๊ทผ ์ ์ด์ (๋ช ์ํ์ง ์์ผ๋ฉด public) ๋ชจ๋ ๊ณณ์์ ์ ๊ทผ ๊ฐ๋ฅ ๋ชจ๋ ๊ณณ์์ ์ ๊ทผ ๊ฐ๋ฅ internal ๊ฐ์ ๋ชจ๋ ๋ด์์๋ง ์ ๊ทผ ๊ฐ๋ฅ (internal์ ์ฝํ๋ฆฐ ๊ณ ์ ) ์์protected ์ ์ธ๋ ํด๋์ค ๋ฐ ํ์ ํด๋์ค์์ ์ ๊ทผ ๊ฐ๋ฅ ๋์ผํ ํจํค์ง ์์์ ์ ๊ทผ์ด ๊ฐ๋ฅ (ํ์ ํด๋์ค๋ฉด ๋ค๋ฅธ ํจํค์ง์์๋ ์ ๊ทผ ๊ฐ๋ฅ)default์์ ๊ธฐ๋ณธ ์ ๊ทผ ์ ์ด์ (๋ช ์ํ์ง ์์ผ๋ฉด default ) ๋์ผํ ํจํค์ง ์์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅ private ์ ์ธ๋ ํด๋์ค ๋ด๋ถ์์๋ง ์ ๊ทผ ๊ฐ๋ฅ .. Kotlin Programming 2024. 11. 27. ๋์์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ๋์์ฑ ๋ฌธ์ ๋ ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ์์คํ ์์ ์ฑ์ ์ํด ๋ฐ๋์ ๊ณ ๋ คํด์ผ ํ๋ ์์๋ค. ํนํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฃจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ฌ๋ฌ ์ฌ์ฉ์์ ์์ฒญ์ ๋์์ ์ฒ๋ฆฌํ๋ฉด์๋ ๋ฐ์ดํฐ์ ์ ํ์ฑ์ ์ ์งํ๋ ๊ฒ์ด ํต์ฌ์ด๋ค. ์ ์ฐฉ์ ์ด๋ฒคํธ๋ ์ฌ๊ณ ์ฒ๋ฆฌ๋ ๋์์ฑ(Concurrency) ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ฌ์ด ์์ญ์ผ๋ก, ๋ค์์ ์์ฒญ์ด ๋์์ ์ฒ๋ฆฌ๋ ๋ ์ ํ์ฑ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํด์ผ ํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค์ํ ๋์์ฑ ์ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์์คํ ์ ์๊ตฌ ์ฌํญ๊ณผ ํธ๋ํฝ์ ๋ฐ๋ผ ์ ํฉํ ๋ฐฉ๋ฒ์ ์ ํํด์ผ ํ๋ค. 1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ๋ฒจ์์ ๋์์ฑ ์ ์ด ํธ๋์ญ์ & ๋ฝ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ๋์ญ์ ์ ์ฌ์ฉํ์ฌ SELECT ... FOR UPDATE๋ก ์ฌ๊ณ ๋ฅผ ์กฐํํ๊ณ ์ ๋ฐ์ดํธ ์ ๋ฝ์ ๊ฑธ์ด ๋์์ฑ์ ์ ์ด. .. System Design 2024. 11. 25. Kafka ์ RabbitMQ ์ ์ฐจ์ด์ Kafka ์ RabbitMQ ๋ ์คํธ๋ฆผ ์ฒ๋ฆฌ์ ์ฌ์ฉํ ์ ์๋ ๋ฉ์์ง ํ ์์คํ ์ด๋ค. ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๊ณ ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๋์ฉ๋์ ์ฐ์๋ ๋ฐ์ดํฐ๋ค์ด๋ค. RabbitMQ ๋ ์ฌ๋ฌ ์์ค์์ ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ค๋ฅธ ๋์์ผ๋ก ๋ผ์ฐํ ํ๋ ๋ถ์ฐ ๋ฉ์์ง ๋ธ๋ก์ปค์ด๋ค. Apache Kafka๋ ์ค์๊ฐ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๋ฐ ์คํธ๋ฆฌ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ด๋ค. Kafka๋ ๋ฐ์ด๋ ํ์ฅ์ฑ๊ณผ ๋ด๊ฒฐํจ์ฑ, ๋ด๊ตฌ์ฑ์ด ๋ฐ์ด๋ ๋ฉ์์ง ์์คํ ์ ์ ๊ณตํ๋ค.์นดํ์นด์ ๋๋น์ ํ ๊ฐ์ ๋ฉ์์ง ํ ์์คํ ๋๋ถ์ MSA ํ๊ฒฝ์ด๋ ๋ถ์ฐ ์์คํ ์์ ๋ฎ์ ๊ฒฐํฉ๋๋ฅผ ์ ์งํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก API ํต์ ์ ํ๊ฒ ๋๋ฉด ํธ์ถ๋ ์๋น์ค๊ฐ ํธ์ถํ ์๋น์ค์ ์ํฅ์ ์ฃผ๊ฒ ๋๋๋ฐ, ๋น๋๊ธฐ ๋ฉ์์ง ํจ.. Message Queue 2024. 11. 20. MSA ํ๊ฒฝ์์ ๋ชจ๋ํฐ๋ง ๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ์์ MSA ๋ก ๋ณํ๋๋ฉด์ ๋ฌ๋ผ์ง ๊ฒ๋ค์ด ๋ง์ ๋ฐ ๊ทธ ์ค ํ๋๊ฐ ํต์ ๋ฐฉ๋ฒ์ด๋ค. ๋ชจ๋๋ฆฌ์์์ ๊ทธ์ ํจ์ ํธ์ถ์ ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์ง๋ง, MSA ์์ ์๋น์ค๊ฐ ๋ถ๋ฆฌ ๋์๊ธฐ ๋๋ฌธ์ ์๋น์ค ์ฆ ํ๋ก์ธ์ค ๊ฐ ํต์ ์ ํ๊ฒ ๋๋ค. ๋ชจ๋๋ฆฌ์์์ ์๋ฒ์ DB์ ์ํ๋ง ํ์ธํ๋ฉด ๋๋๋ฐ ์๋น์ค๊ฐ ๋ถ๋ฆฌ ๋๋ฉด์ IPC ํต์ ์ ๋ํ ์ง์ฐ์จ์ด๋ Call ์ฆ๊ฐ ํ์ธ, ๋ถ๋ฆฌ๋ ์๋น์ค์ ์ํ ํ์ธ, ๋ฏธ๋ค ์จ์ด ์ํ ๋ฑ ๋ง์ ๋ถ๋ถ ์ ๊ฒฝ ์จ์ผํ ๊ฒ ๋ง์์ก๋ค.Hop ์ด ๋์ด๋จ์ ๋ฐ๋ผ ์ด๋์ ์ด๋ค ์์ฒญ์ ๋ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ๋๋ฒ๊น ์ด ์ด๋ ค์์ก๊ณ , ๋ก๊ทธ ์์ง์ ์ํ ๋ณ๋์ ์ธํ๋ผ๊ฐ ํ์ํด์ง๊ฒ ๋๋ค.๋ ์ด๋ ์๋ฒ์์ ์ด๋ ์๋น์ค๋ก ํธ์ถ์ด ๋์ด์ผ ํ๋์ง ์๋น์ค๊ฐ ํธ์ถ ์ํ๊ฐ ์ ์ฐ์ธ์ง๋ ํ์ ํด์ผ ํ๋ค.MSA ํ๊ฒฝ์์ .. Observability 2024. 11. 14. ์ด์ 1 2 3 4 ยทยทยท 20 ๋ค์