์ ์ฒด ๊ธ203 ๋์ปค ์ปดํฌ์ฆ์ ํ์ผ ์ ๋ก๋ ์์คํ ๊ตฌํ ํ๊ณ ์ด๋ฒ ํ๋ก์ ํธ ๋ชฉํ์ ๋งก๊ฒ ๋ ์ผ์ด๋ฒ ํ๋ก์ ํธ์์๋ ๊ทธ ๋์ ๊ตฌํํด ๋ณด๊ณ ์ถ์๋ ํ์ผ ์ ๋ก๋ ์์คํ ์ ๋ด๋นํ๊ฒ ๋์๋ค. ์ธ๋ค์ผ๊ณผ ๊ฐ์ด ํ์ง์ด ๊ทธ๋ ๊ฒ ์ข์ง ์์๋ ๋๋ ์ด๋ฏธ์ง์ ๋ํด์ MultipartFile์ ์ด์ฉํด๋ ๋๊ฒ ์ง๋ง ์ฐ๋ฆฌ๊ฐ ๋ชฉํ๋ก ํ๋ ํ์ผ์ ๋์ฉ๋์ด๊ณ ๊ฐ์๋ผ๋ ์์ฐ์ด์๊ธฐ ๋๋ฌธ์ ๊ณ ๋ คํ ๊ฒ์ด ๋ง์๋ค. ์ด ๊ตฌํ ๊ณผ์ ์์ ํ๋ก ํธ ๊ฐ๋ฐ์์ ํ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋์ปค ์ปดํฌ์ฆ์ ๋ํด ํจ๊ป ์ด ๊ธ์ ๋ด์ ๋ด๊ณ ์ ํ๋ค. ์ด๋ฒ ๊ตฌํ ๊ณผ์ ์ ๋์ปค ์ปดํฌ์ฆ๋ฅผ ๊ตฌํํด์ผ ํ๊ณ ๊ทธ ํ์ ํ์ผ ์ ๋ก๋ ์์คํ ์ ์ค๊ณ ํ๊ธฐ ๋๋ฌธ์ ๊ธ์ ํ๋ฆ์ ๋์ปค ์ปดํฌ์ฆ๋ฅผ ๋จผ์ ์๊ฐํ๊ณ ํ์ผ ์ ๋ก๋ ์์คํ ๊ตฌํ ๋ฐฉ์์ ๋ํด ์ค๋ช ํ๊ณ ์ ํ๋ค. ๋ง์ง๋ง์ผ๋ก๋ ๋ถ์กฑํ๋ ์ ๊ณผ ํฅํ ๊ณ ๋ คํด์ผ ํ๋ ๋๋ฉ์ธ ์๊ตฌ์ฌํญ์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. ๋์ปค ์ปดํฌ.. 2026. 1. 25. AWS S3 presigned url๋ก ๋ฆฌ์์ค ์ ๋ก๋ ๊ตฌํํ๊ธฐ (1) - presigned URL ์์๋ณด๊ธฐ ์ต๊ทผ ํ๋ก์ ํธ์์ ๋ฆฌ์์ค ์ ๋ก๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ฒ ๋ฌ๋ค. ์ด๋ ๊ณ ๋ คํด์ผ ํ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์๋ค. ๊ณ ์ฉ๋์ ๋ฆฌ์์ค๋ฅผ ์ ๋ก๋ ํ ๋ ์๋ฒ์ ๋ถํ๊ฐ ๊ฑธ๋ฆฌ์ง ์๋๋ก ํด์ผ ํจํด๋ผ์ด์ธํธ๋ ๋ฆฌ์์ค๋ฅผ ์ ๋ก๋ ํ ์ ์์ผ๋ฉฐ, ๋ฆฌ์์ค๋ฅผ ํ์ธํ๊ณ ๋ค์ด ๋ฐ์ ์ ์์ด์ผ ํจ์ธ๊ฐ๋์ง ์์ ์ฌ์ฉ์๊ฐ ๊ณต์ ๋ ๋ฆฌ์์ค url์ ํตํด ๋ฆฌ์์ค ๋ค์ด๋ก๋๊ฐ ๋ถ๊ฐ๋ฅํด์ผ ํจ๋ฆฌ์์ค ์ข ๋ฅ๋์์ : 1.0GB ๋ฏธ๋ง, ํด์๋ 720p ์ ํ -> ์ถํ ๊ฐ์ ์ 4GB ๋ฏธ๋ง์ผ๋ก ๋ณ๊ฒฝzip : 1.0GB ๋ฏธ๋งpdf/doc : 50MB๋น์ฉ ๋ฌธ์ ๋๋ฌธ์ ๋๋๋ก์ด๋ฉด ํด๋ผ์ฐ๋๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ฐ๋ฐํ๊ณ ์ถ์์ง๋ง ๋ฌด๋ฃ ํ ํฐ๋ ๋จ์ ์๊ณ S3์ Presigned URL ๊ธฐ๋ฅ๊ณผ CDN์ ํ๋ฒ ์ฌ์ฉํด ๋ด์ผ ๊ฒ ๋ค ์ถ์๋ค. ํด๋ผ์ด์ธํธ๋ WAS์ ๋ฆฌ์์ค๋ฅผ ์ ๋ก๋ํ ์ ์๋ pre.. 2025. 12. 28. ํ๋ก์ ํธ ๊ตฌ์กฐ Modulith๋ก ๋ณ๊ฒฝํ๊ธฐ ์ด์ ์ ํ๋ก์ ํธ ์ํฉ์ด์ ํ๋ก์ ํธ์์ DDD ๋ฐฉ์์ ์ ์ฉํด์ ๋ฐ์ด๋๋ ์ปจํ ์คํธ๋ฅผ ๋๋๊ณ ๊ทธ ์์ ๊ฐ ์ ๊ทธ๋ฆฌ๊ฑฐํธ ๋ฃจํธ๋ฅผ ์ฐพ์๋๋ค. ๊ทธ ๋น์ ํ๋ก์ ํธ์์๋ ํ๋์ ํ๋ก์ ํธ์์ ํจํค์ง๋ฅผ ์ฌ์ฉํด ๊ฐ ๋๋ฉ์ธ๊ณผ ๊ทธ ๋๋ฉ์ธ์ ๋ํ ํ ์คํธ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ๋ค ๊ฐ์ด ํ๋ก์ ํธ ํ๊ณ ๋ฅผ ํ๋ฉด์ "๋๋ฉ์ธ์ ๋ถ๋ฆฌํ์ง๋ง ๊ฐ ๋๋ฉ์ธ๊ฐ ์์กด์ฑ ๋ถ๋ฆฌ๊ฐ ๋ช ํํ๋๊ฐ?"์ ๋ํ ์๊ฒฌ์ด ์์๋ค. ์ข ๋ ๋๋ฉ์ธ ์ค์ฌ์ ์ธ Spring Boot Application์ ๋ง๋ค๋ ค๋ฉด ์ด๋ค ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์์ง์ ๋ํ ์ด์ผ๊ธฐ๋ ๋๋์๋ค. ๋ ๊ฐ์ง ์ ๋์ ์๊ฒฌ์ด ์์๋๋ฐ ํ๋๋ Spring ์์ ์ง์ํ๋ Spring Modulith๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๊ณ ๋ค๋ฅธ ํ๋๋ MSA๋ฅผ ๋์ ํ์๋ ๊ฒ์ด์๋ค. Spring Modulith๋ ๊ฐ ๋ ์ด์ด๊ฐ.. 2025. 12. 21. Redis ํด๋ฌ์คํฐ์์ ํค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฒ ๋ง์ง๋ง ์์ฑ์ผ2025.12.07 Intro์ต๊ทผ์ ๊ณต๋ถ์ฉ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ์ค ์ปจํ ์ธ ์ ๊ฒ์ ๋ชฉ์ ์ธ "ํ๊ทธ"์ ๋ํด์ ์๋ฌธ์ด ์๊ฒผ๋ค. ํ๊ทธ๋ ๊ณผ์ฐ ์ฐ๋ฆฌ ์์คํ ์์ ์ค์ํ๊ฒ ๋ค๋ค์ง๋ ๋๋ฉ์ธ์ด ๋ง๋๊ฐ ๊ณ ๋ฏผํ๋ ์ค ๊ด์ฌ์ฌ ๋ฐ์ผ๋ก ๋ถ๋ฆฌํด๋ ๋๊ฒ ๋ค๋ ๊ฒฐ๋ก ์ด ์๊ฒผ๋ค. ์ด๋ฅผ Redis๋ NoSQL์ ์ฌ์ฉํด์ ๊ตฌํํ ์ ์๋ค๋ ๊ฒ๋ ์๊ฒ ๋์๋๋ฐ ์ด๋ฒ ๊ธฐํ๋ก Redis์ ๋ํด ์์ ๋ณด๊ธฐ๋ก ํ๋ค. ๊ณต๋ถํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ ๋ฆฌํ๊ณ ์์ง๋ง ์ ๋ชป๋ ๋ด์ฉ์ด ์์ ์ ์์ต๋๋ค. ํ๋ฆฐ ๋ถ๋ถ์ด ์๋ค๋ฉด ์ธ์ ๋ ๋ง์ํด ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. Redis๋?๋ ๋์ค๋ inmemory data store or database ๋ก ๋ถ๋ ค์ง๋ค. ๋ฐ์ดํฐ๊ฐ ๋์คํฌ์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋ RAM์ ์ ์ฅ๋์ด ๋์คํฌ์ ์ ์ฅ๋๋ ๊ฒ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ฝ๊ณ ์ธ ์ .. 2025. 12. 7. DDD Domain Event ๊ตฌํํ๊ธฐ ์ต๊ทผ์ ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ DDD ์ค๊ณ ๋ฐฉ๋ฒ์ ์ ์ฉํ๋ค. Aggregate์์ ์๋ฏธ ์๋ ์ํ ๋ณํ๊ฐ ์ผ์ด๋๊ณ ์ด์ ๋ฐ๋ผ ๋ค๋ฅธ Aggregate์์ ๊ด๋ จ๋ ์ผ์ ์ํํด์ผ ํ๋ ๊ฒฝ์ฐ event๋ฅผ ๋ฐํํ ์ ์๋ค. ์๋ฅผ ๋ค์ด์ ์๊ฐ ์ง๋์จ์ด 100%๊ฐ ๋๋ฉด ์๊ฐ ์๋ฃ๋ก ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ง๋์จ์ด๋ผ๋ Aggregate๊ฐ 100%์ ์๊ฐ ์ง๋์จ์ ๋ฌ์ฑํ๊ฒ ๋๋ฉด ์๊ฐ ์๋ฃ๋ก ๋ณ๊ฒฝํด์ผ ํจ์ ์๋ฆฌ๋ ์ด๋ฒคํธ๋ฅผ ๋ฐํ ์ํจ๋ค. ์๊ฐ Aggregate๋ ์ด ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํ๊ณ ์๋ค๊ฐ ์ด๋ฒคํธ๊ฐ ๋ฐํ๋๋ฉด ์์ ์ ์ํ๋ฅผ ์๋ฃ๋ก ๋ณ๊ฒฝํ๋ค. ์๊ฐ์ด ์๋ฃ๋๋ฉด ์ฌ์ฉ์์๊ฒ ์๊ฐ์ด ์๋ฃ๋์๋ค๋ ์๋ฆผ์ ๋ณด๋ผ ์ ๋ ์๋ค. ๋๋ฉ์ธ์ด ์์ ์ ๋๋ฉ์ธ ๊ท์น์ ๊ฐ์ฅ ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ฉ์ธ ๋ด์์ ์ด๋ฒคํธ๋ฅผ ๋ฐํํ๊ณ ํ์ ์์ ์ ์ฒ๋ฆฌ.. 2025. 11. 30. [ํฌํ ์ ] ํ๋ก์ ํธ 2ํ์ฐจ ํ๊ณ ์ด์ ์ ํ์ฌ์์ ํํ๋ก์ ํธ๋ฅผ ์งํํ ๋, ํ ์ ์ฒด๊ฐ ํต์ผ๋ ์ธ์ด๋ฅผ ์ฐ๊ธฐ ์ํด ๋ ธ๋ ฅํ ๊ฒฝํ์ด ์๋ค. ๋น์์๋ ํ๋ง๋ค ํ๋ก์ ํธ๋ฅผ ๋ถ๋ฅด๋ ๋ช ์นญ๋ ๋ฌ๋๊ณ , ๋์ผํ ๊ธฐ๋ฅ์ ๊ฐ์ ๋ค๋ฅธ ์ฉ์ด๋ก ํํํ๋ ์ผ์ด ์ฆ์๋ค. ์ธ์ด๋ฅผ ํต์ผํ๋ ์ดํด๋ ๋นจ๋ฆฌ ๋๊ณ ๋ฌธ์๋ฅผ ์ฝ์ ๋๋ ์๋๋ฅผ ์ ํํ ์ดํดํ ์ ์์๋ค. ์ต๊ทผ์ DDD ์ด๋ก ์ฑ ์ ๋ณด๋ฉด์ ์ด๋ฒคํธ ์คํ ๋ฐ๊ณผ ์ ๋น์ฟผํฐ์ค ์ธ์ด์ ๋ํด ๊ด์ฌ์๊ฒ ๋ดค๋ค. DDD๋ ๋๋ฉ์ธ ์ฃผ๋ ๊ฐ๋ฐ - Domain Driven Development์ ์ฝ์๋ก ๋น์ฆ๋์ค๊ฐ ํด๊ฒฐํ๊ณ ์ ํ๋ ์์ญ์ ๋น์ฆ๋์ค ๋ก์ง์ ํ๊ตฌํ๊ณ '๋๋ฉ์ธ ๋ชจ๋ธ'์ด๋ผ๋ ๊ฒ์ ์ ์ํด ์ฌ์ฉํ ์ ์๋ค. ์ด ๋๋ฉ์ธ ๋ชจ๋ธ์ ๋์ถํ๋ฉด์ '์ ๋น์ฟผํฐ์ค ์ธ์ด'๋ผ๋ ๊ฒ์ ์์ฐ์ค๋ฝ๊ฒ ์ ์ํ ์ ์๋ค. ์ ๋น์ฟผํฐ์ค ์ธ์ด๋ '์ธ์ ์ด๋์๋ ' ์ด๋ผ๋ ์ ๋น์ฟผํฐ.. 2025. 11. 27. [ํฌํ ์ ] ํ๋ก์ ํธ 1ํ์ฐจ ํ๊ณ ํฌํ ์ ๋ถํธ์บ ํ๋ฅผ ์์ํ์ง ์ด๋๋ง ํ๋ฌ์ด ๋์ด๊ฐ๊ณ ์! ์งง๋ค๋ฉด ์งง๊ณ ๊ธธ๋ค๋ฉด ๊ธด 1๊ฐ์ ๋์ ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์ต๊ทผ ๋ฐํ๋ฅผ ๋ง์ง๋ง์ผ๋ก 1ํ์ฐจ ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌ ์ง์์ต๋๋ค. 2๋ฒ์งธ ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ธฐ์ ์์ ์ด์ ํ ํ๋ก์ ํธ ํ๊ณ ๋ฅผ ์งํํ์ฌ ์ํ ์ , ๋ถ์กฑํ ์ , ๊ฐ์ ํ ์ ์ ์ฐพ์ ๋ณด๊ณ ์ ํฉ๋๋ค. ์๊ตฌ์ฌํญ ๋ถ์LXP ๋๋ฉ์ธ์ ์ฃผ์ ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํด์ผ ํ๊ธฐ ๋๋ฌธ์ '์ธํ๋ฐ', '์ ๋ฐ๋ฏธ' ์๋น์ค๋ฅผ ํ์ธํ๋ฉฐ ์๊ตฌ์ฌํญ์ ๋์ถํ์์ต๋๋ค. 1๊ฐ์ ๋์ ํจ๊ป ํ ํ์ด ์ด๋ฏธ ์ ํด์ก์ง๋ง ์ค์ ๋ก ๊ธฐํํ๊ณ ํ๋ก๊ทธ๋๋ฐ์ ํ ์๊ฐ์ 1์ฃผ์ผ ๋จ์ง์ด์๊ธฐ ๋๋ฌธ์ '์ด๋ค ๊ฒ์ ์ด๋ ๊น์ง ๊ตฌํํ ๊ฒ์ธ๊ฐ'๋ฅผ ์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ค์ํ์ต๋๋ค. ์ ํฌ ํ์ ํ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ, ์๊ฐ ๊ธฐ๋ฅ, ๊ฐ์ ๋ฑ๋ก ๊ธฐ๋ฅ์ ์ค์ฌ์ผ๋ก ์๊ตฌ์ฌํญ์ ๋ถ์ํ๊ณ ๋ช ์ธ.. 2025. 10. 26. [Caddy] The site can’t be reached ๋ฆฌ๋ฒ์ค ํ๋ก์, ์บ๋ ๋์ ์ด์ ๋ด๋ถ ๊ฐ๋ฐ ์๋ฒ์์ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ ์ํด Caddy๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ ์๋ฒ ์ฌ์์ ํ Caddy๊ฐ ๋์ ํ์ง ์์๋ค. ํ๋ฐํธ๋ก๋ถํฐ ๋๋ฉ์ธ์ผ๋ก ์ ๊ทผํ ์ "๋์ ์ปดํจํฐ์์ ์ฐ๊ฒฐ์ ๊ฑฐ๋ถํ์ผ๋ฏ๋ก ์ฐ๊ฒฐํ์ง ๋ชปํ์ต๋๋ค. "๋ผ๋ ๋ฉ์์ง๋ฅผ ๋ฐ์๋ค๊ณ ์ ๋ฌ ๋ฐ์๋ค. ์์ด๋ก๋ "The site can't be reached"๋ก ์๋ฌ๊ฐ ๋์ค๋ ๊ฒ ๊ฐ์๋ค. ChatGPT๋ก๋ ์ด์ ํ์ ์ด ์ด๋ ค์ ๊ณ Caddy ์ปค๋ฎค๋ํฐ๋ก ๋ถํฐ ์์ธ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์๋ค. https://caddy.community/t/caddy-is-not-starting-up/24565์ ์ฌ์ดํธ์ ์ฌ๋ผ์จ ๋ฌธ์ ๊ฐ ๋ด ์ํฉ๊ณผ ์์ ๋์ผํ๊ณ Caddy ์ ์ฅ์๊ฐ ๊ผฌ์ธ๋ฏ ํด์ ์ ์ฅ์๋ฅผ ์ญ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ด์๋ฅผ ํด๊ฒฐ ํ ์ ์์๋ค. Caddy ์ ์ฅ์ ํ์ธsud.. 2024. 12. 5. [Spring Boot] ๊ฐ๋จํ gRPC ๊ตฌํํ๊ธฐ ๋ชฉํ์คํ๋ง ๋ถํธ, java๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋จํ gRPC๋ฅผ ๊ตฌํํด ๋ด ๋๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ธก์ ๋ง๋ค์ด ๋ณด๊ณ localhost์์ ์คํํด ๋ด ๋๋ค๊ฐ๋ฐ ํ๊ฒฝ Spring Boot version 3.4.0 java version Java 17 build tool Gradle 8.11 database h2 os macOS Sonoma 14.4.1 IDE IntelliJ IDEA CE 2023.3.3 ๐ฆ SERVER build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.3.6' id 'io.spring.dependency-management' version '1.1.6' id 'com.google.protobuf' version '0... 2024. 11. 26. [gRPC]์ ๋ํด ์์๋ณด๊ธฐ RPC๋ Remote Procedure Call๋คํธ์ํฌ ์์ ๋ค๋ฅธ ์๋ฒ๋ ์์คํ ์ ์๋ ๊ธฐ๋ฅ์ ๋ง์น ๋ก์ปฌ ๊ธฐ๋ฅ์ฒ๋ผ ํธ์ถํ ์ ์๊ฒ ํด์ฃผ๋ ํ๋กํ ์ฝํด๋ผ์ด์ธํธ๊ฐ ๋ก์ปฌ ํจ์ ํธ์ถ -> ์์ฒญ์ด ์ง๋ ฌํ ๋์ด ๋คํธ์ํฌ๋ก ์ ์ก -> ์๊ฒฉ ์๋ฒ๊ฐ ์ด๋ฅผ ๋ฐ์ ์ฒ๋ฆฌ ํ ์๋ต -> ์๋ต์ด ์ง๋ ฌํ ๋์ด ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐํ :: ์ฌ์ฉ์๋ ์๊ฒฉ ์๋ฒ์ ์ง์ ์ํธ์์ฉํ์ง ์๊ณ ๋ก์ปฌ ํจ์ ํธ์ถ ๋ฐฉ์์ผ๋ก ์์ ์ ์ํํ ์ ์์ gRPC ํน์งGoogle์์ ๊ฐ๋ฐํ ์คํ ์์ค RPC ํ๋ ์์ํฌํ๋กํ ์ฝ ๋ฒํผ๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ง๋ ฌํ๋ค์ํ ์ธ์ด ์ง์ ๋ฐ ์ธ์ด ๋ ๋ฆฝ์ฑ์๋ก ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ์์๋ ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์HTTP/2 ๊ธฐ๋ฐ์ฌ๋ฌ ๋ฉ์ธ์ง๋ฅผ ํ๋ฒ์ ๋์์ ๋ณด๋ผ ์๋ ์์๋ฐ์ด๋๋ฆฌ ํํ์ ๋ฉ์ธ์ง๋ฅผ ๋น ๋ฅด๊ฒ.. 2024. 11. 24. [Spring Boot] AOP๋ฅผ ํ์ฉํ ์ปค์คํ ์ ๋ ธํ ์ด์ ๋ง๋ค๊ธฐ 2024.11.17 - [BE/๐ Spring] - [Spring Boot] AOP ๊ฐ๋ ์ ๋ฆฌ2024.11.18 - [BE/๐ Spring] - [Spring Boot] AOP ์ฌ์ฉ ๋ฐฉ๋ฒ๊ณผ ์์์ฝ๋ ํ์ฌ ์งํํ๊ณ ์๋ ํ๋ก์ ํธ์ ์ผ๋ถ API์์ ์์ฒญ/์๋ต ๋ฐ์ดํฐ๋ฅผ End-to-End ์ํธํ ํด์ ํต์ ํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋ Controller ํน์ ์๋ณตํธํ์ ๊ด๋ จ ์๋ ๋ก์ง์ ์ํธํ ๊ด๋ จ ์ฝ๋๊ฐ ๋ค์ด๊ฐ์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์์ต๋๋ค. ์๋ณตํธํ๋ฅผ ์ํํ๋ static object๋ฅผ ๋ง๋ค์ด ์ฌ์ฉ์ ํด์์๋๋ฐ, AOP๋ฅผ ์ด์ฉํด์ ์ด๋ฅผ ๊ฐ์ ํด ๋ณด๋ฉด ์ด๋จ๊น ์ถ์์ต๋๋ค. ์์ฒญ ๊ฐ์ฒด ์์ฒด๋ฅผ ๊ฐ๋ก์ฑ ๋ณตํธํ ํด์ ํ๋ฌธ๊ฐ์ ๋ฐ๋ก Controller์์ ์ฌ์ฉํ ์ ์๊ฒ ํ๊ณ , ์๋ต์ ํด๋ผ์ด์ธํธ์ ์ ๋ฌํ๊ธฐ ์ ์ ์๋ต ๊ฐ์ .. 2024. 11. 19. [Spring Boot] AOP ์ฌ์ฉ ๋ฐฉ๋ฒ๊ณผ ์์์ฝ๋ ์์กด์ฑ ์ถ๊ฐdependencies { implementation 'org.springframework.boot:spring-boot-starter-aop'} ์ฌ์ฉ ๋ฐฉ์Aspect ์ ์ : @Aspect ์ ๋ํ ์ด์ ์ ์ฌ์ฉํด์ Aspect ํด๋์ค๋ฅผ ์ ์ํ๋คAdvice ์ ์ฉ : @Before, @After, @Around ๋ฑ ๋ค์ํ Advice๋ฅผ ๋ฉ์๋์ ์ ์ฉํ๋ค. ํน์ ์์ ์ ์ด๋ค ์คํ ๋ก์ง์ ์คํํ ์ง ์ ์ํ๋ค.Pointcut ์ค์ : execution ํํ์ ๋ฑ์ ํตํด ํน์ ๋ฉ์๋, ํจํค์ง ๋ฑ์๋ง Aspect๊ฐ ์ ์ฉ๋๋๋ก ์ค์ ํ๋คAOP ํ์ฑํ : @EnableAspectJAuotProxy ์ ๋ํ ์ด์ ์ Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ํด๋์ค์ ์ถ๊ฐํด AOP๋ฅผ ํ์ฑํ ํ๋ค @EnableAspectJA.. 2024. 11. 18. ์ด์ 1 2 3 4 ยทยทยท 17 ๋ค์