๐ ํ (๊ธฐ์ ์ ์ฉ ๋ฐฉ๋ฒ ๋ฑ)/๐ฑ Spring5 [Spring & Github] Pull Request๋ฅผ ํ ๋ ๋ง๋ค ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํ์ธํ์ (feat. Jacoco) ์๋ ํ์ธ์. dev_writer์ ๋๋ค. ์ด๋ฒ ์๊ฐ์๋ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ๋๊ตฌ ์ค ํ๋์ธ Jacoco๋ฅผ ์ ์ฉํ ๊ณผ์ ์ ๋ํด ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. JacocoJacoco๋ ์๋ฐ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ์ธก์ ํ๊ณ ๋ฆฌํฌํ ํ ์ ์๋ ์คํ ์์ค ํดํท์ ๋๋ค. (์ํค๋ฐฑ๊ณผ) ์ ์ด์ Jacoco๋ผ๋ ๋จ์ด ์์ฒด๊ฐ Java code coverage tools๋ผ๋ ๋จ์ด๋ฅผ ๋ดํฌํ๊ณ ์์ต๋๋ค. ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง (code coverage)์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง๋ ์ํํธ์จ์ด์ ํ ์คํธ๋ฅผ ๋ ผํ ๋ ์ผ๋ง๋ ํ ์คํธ๊ฐ ์ถฉ๋ถํ๊ฐ๋ฅผ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ํํธ์จ์ด ํ ์คํธ๋ฅผ ์งํํ์ ๋ ์ฝ๋ ์์ฒด๊ฐ ์ผ๋ง๋ ์คํ๋์๋์ง๋ฅผ ๋ปํฉ๋๋ค. - ์ํค๋ฐฑ๊ณผ ์ผ๋ฐ์ ์ผ๋ก ํ ์คํธ ์ฝ๋๋ฅผ ๊ผผ๊ผผํ๊ฒ ์์ฑํ ์๋ก ์์ธ ์ผ์ด์ค๋ค์ ์ ํ์งํ ์ ์์ผ๋ฉฐ, ๊ทธ๋ ๊ธฐ์ ์ํํธ์จ์ด์ ํ์ง์ ๋์ด๊ธฐ ์ํด์๋ ํ .. 2024. 10. 14. [Spring REST Docs โ๏ธ] ์ด๋ ต๊ฒ๋ง ๋๊ปด์ก๋ REST Docs๋ฅผ ์ ์ฉํด๋ณด์! (2) ์ค๋๋ง์ ๊ธฐ์ ํ์ ์์ฑํ๊ฒ ์ต๋๋ค. ์ฌ์ค JWT ๊ด๋ จํด์ ๊ธ์ ๊ณ์ ์์ฑํ๊ณ ์์๋๋ฐ, ํ๋ก์ ํธ๋ ์๊ณ ๊ฐ๊ฐ์ ํ ์ง ์ผ๋ง ๋์ง ์์ ๋ฐ์ ๊ฒ๋ ์์ด์ ํ ๊ธ์ ๊ฑฐ์ ํ ๋ฌ ๋ง์ ์ฌ๋ฆฌ๋ค์.. ๐ญ ํ๋ก์ ํธ๋ฅผ ํ๋ฉฐ ๋ฐ์๊ฒ ๋ ๊ฒ๋ ์์ง๋ง ๊ทธ ๋๋ถ์ REST Docs์ ๋ํด ๋ ์ ๋ค๋ฃฐ ์ ์๊ฒ ๋์ด ์ด ๊ณผ์ ์ ๊ณต์ ํฉ๋๋ค. ์ด์ ๊ธ์์๋ document ๋ฉ์๋๋ก ๊ฐ๋จํ docs ํจํค์ง ์๋์ html ๋ฌธ์๋ค์ด ๋ณด๊ด๋๋ ๊ฒ๊น์ง ๋ค๋ฃจ์๋๋ฐ์, ์ด๋ฒ์๋ ํ ์คํธ๋ฅผ ํตํด ์ค์ ๋ฌธ์๊ฐ ์์ฑ๋๋๋ก ํ๋ ๊ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. ๊ธฐ์กด ํ ์คํธ ์ฝ๋๊ธฐ์กด ํ ์คํธ ์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.// import ํํ์ ์๋ต@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.cla.. 2024. 3. 5. [Spring MVC ๐] ํ์ ์๋ณ์ ํด ๋ณด์! (2) - ์ธ์ ์ ์ฉ ๋ฐฉ๋ฒ ๐ฆ ์ด์ ๊ธ์ ์ด์ด์ ๋ฐ๋ก ์ธ์ ์ ์ด์ฉํ ๋ก๊ทธ์ธ๋ ๊ตฌํํด ๋ณด๊ฒ ์ต๋๋ค! (ํ์ ์๋ณ์ JWT๊น์ง ํ๊ณ ๋ ๋ค์ ๊ฐ๊ฐ ์์ฑํ๊ฒ ์ต๋๋ค.) ์ธ์ ์ธ์ ์ ์ฟ ํค๋ง์ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ๋ ์กฐ๊ธ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ธ์ ์ ์ฌ์ฉ ์ด์ ์ธ์ ์ ์ ์ฐ๋์ง์ ๋ํด์๋ ์ฟ ํค์ ๋ํด ๋ค์ ์์๋ด์ผ ํฉ๋๋ค. ๊ธฐ์กด ์ฟ ํค ๋ฐฉ์์, ์ฟ ํค ์์ ์๋ฒ๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ณํ ์ ์๋ ๋ชจ๋ ์ ๋ณด๋ค์ ๋ค ๊ธฐ๋กํด๋์ผ ํ์ต๋๋ค. (๋๋ค์.๋น๋ฐ๋ฒํธ๋ฅผ ์ฟ ํค๋ก ๊ทธ๋๋ก ๋ฃ์ด๋ ๊ฒ ๋ฑ) ํ์ง๋ง ์ด๋ ๊ฒ ๋๋ค๋ฉด ์ฟ ํค๋ฅผ ๋ง์ฝ ํ์ทจ๋นํ์ ๊ฒฝ์ฐ (๊ฐ๋๊ฐ ์ฌํ๊ฐ์ ์ ๋ถ์ฆ์ ํ์น๋ ๋ฑ), ๋ธ๋ผ์ฐ์ (์ฌํ๊ฐ)์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ค ํ์ ํ ์ ์๊ฒ ์ฃ ? ๋ฐ๋ก ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ์ธ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ธ์ ์ ํน์ง์๋ฒ๋ ์ ์ ๊ฐ ๋ก๊ทธ์ธ์ ํ๋ฉด ์ธ์ DB์ ์ ์ ๋ฅผ ์.. 2024. 2. 10. [Spring MVC ๐] ํ์ ์๋ณ์ ํด ๋ณด์! (1) - ์ฟ ํค ์ ์ฉ ๋ฐฉ๋ฒ ๐ช ๊ฐ์์๋ ํ์ธ์. ์ด๋ฒ์๋ ํ๋ก์ ํธ๋ฅผ ํ์๋ฉด์ ๋ก๊ทธ์ธ, ํ์๊ฐ์ , ๋ก๊ทธ์ธ ํ ํ์ ์๋ณ์ ์คํ๋ง์์ ์ด๋ป๊ฒ ํ ์ ์๋์ง์ ๋ํด ๊ณต๋ถํ ๊ณผ์ ์ ๊ณต์ ํ๊ณ ์ ํฉ๋๋ค! ๋ณดํต ์ ์์ ๋ค์ ํ๊ธฐ ์ํด ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ จ๋ ๊ฒฝํ์ด ์์ผ์ค ํ ๋ฐ์, ์คํ๋ง ์ํ๋ฆฌํฐ๋ ๋ณ๋์ ํ๋ ์์ํฌ๋ค ๋ณด๋ ๊น์ด ์๊ฒ ํ์ตํ๊ธฐ ์ํด์๋ ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์คํ๋ง๋ง์ผ๋ก ํด๋ณด๋ ๊ฒ ์ข๊ฒ ๋ค๊ณ ์๊ฐ์ด ๋ค์์ต๋๋ค. (๋ฉํ ๋งํด ์ฃผ์๋ ์ ๋ฐฐ๋๊ป์๋ ๊ฐ์ ์๊ฐ์ ๊ฐ์ง๊ณ ๊ณ์ จ์ต๋๋ค.) ํฌ๊ฒ ์ฟ ํค, ์ธ์ , JWT ๋ฐฉ์์ผ๋ก ํ์๊ฐ์ & ๋ก๊ทธ์ธ์ ํด ๋ณด๊ณ , ์ด๊ฒ์ ์ด๋ ธํ ์ด์ ์ผ๋ก ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๋ ๋ฑ์ ๋ฐฉ์์ผ๋ก ๊ฐ์ ์ํค๋ ๋ด์ฉ์ ์์ฑํ๊ฒ ์ต๋๋ค. ๊ทธ๋ผ ์ฒซ ๋ฒ์งธ ๊ธ์์๋ ์ฟ ํค ๋ฐฉ์์ ์ด์ฉํ ํ์๊ฐ์ & ๋ก๊ทธ์ธ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค! ๋ฐ๋ผ ํ .. 2024. 2. 8. [Spring REST Docs โ๏ธ] ์ด๋ ต๊ฒ๋ง ๋๊ปด์ก๋ REST Docs๋ฅผ ์ ์ฉํด๋ณด์! (1) Spring REST Docs์ค๋์ ์คํ๋ง REST Docs์ ๋ํด ์ ์ฉํ๊ณ , ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ณ ์ ํฉ๋๋ค. ์คํ๋ง์ ์ด๋ ์ ๋ ์จ ๋ณด๊ณ , ํ ์คํธ ๋ฐ ๋ฌธ์ํ๋ฑ์ ํด ๋ณด์ ๋ถ๋ค์ด๋ผ๋ฉด ์ค์จ๊ฑฐ๋ ๋ ธ์ , ํฌ์คํธ๋งจ์ผ๋ก API ๋ฌธ์๋ฅผ ๋ง๋ ๊ฒฝํ์ด ์์ผ์ค ํ ๋ฐ์, ์คํ๋ง์ ์๋ REST Docs๋ ํ์ ์์ ๋ง์ด ์ฐ๋ ๋ฌธ์ํ ์คํฌ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๊ธฐ์กด ๋ฌธ์ํ ๋๊ตฌ๋ค์ ์ค์จ๊ฑฐ์ ๊ฒฝ์ฐ ์ค์จ๊ฑฐ๋ฅผ ์ํ ์ฝ๋๊ฐ ํ๋ก๋์ ํ๊ฒฝ์ ๋ฌป๋๋ค๋ ์ , ๊ทธ๋ฆฌ๊ณ ์์ ์ ์ ๋ฐ์ดํธ ์ํ์ ๋ฌธ์์ ์ํ๊ฐ ์๋ก ๋ง์ง ์๋ ๋ฌธ์ ๋ฑ์ด ์์๋๋ฐ์, ์คํ๋ง REST Docs๋ ํ ์คํธ, ๋น๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ๊ธฐ์ ์ฑํฌ๊ฐ ์ ์ง๋ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ์๋ง ์์ํ๋ ๋จ๊ณ์์๋ถํฐ ์ด๋ป๊ฒ ์ ์ฉํด์ผ ํ ์ง ๊ฐ์ด ์ค์์ง ์๋ ๋ถ๋ค์ด ๋ง์ ๊ฒ ๊ฐ์.. 2024. 2. 7. ์ด์ 1 ๋ค์