๐พBackEnd17 N+1 ๋ฌธ์ ๋ค์ํ ํด๊ฒฐ๋ฒ ์๋ก JPA๋ฅผ ํ์ตํ๋ฉด ๋ฌด์กฐ๊ฑด ๋ฃ๋ ํค์๋๋ N+1 ์ด๋ค. ๋ณดํต ๋ธ๋ก๊ทธ์์ ์๊ฐํ๋ ๋ฐฉ์์ fetch join์ ํตํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ์ด์ผ๊ธฐํ๋ค. ๋ฌผ๋ก ํ๋ฆฐ ๋ฐฉ์์ ์๋๋ค. ํ์ง๋ง ์ค์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๋ฉด์ N+1 ๋ฌธ์ ๋ฅผ ๋ง์ด ๋ง๋๋ณด๋ฉด์ N+1์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค. ์ํฉ์ ๋ฐ๋ผ์ N+1 ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ ์ ํ๊ฒ ํด๊ฒฐํ๋๊ฒ ์ฑ๋ฅ ์ ํ์ ๋ฌธ์ ์ ๋์ํ ์ ์๋ค๊ณ ์๊ฐํ๋ค. ๊ธ์ ์์ํ๊ธฐ ์ด์ ์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ๋ฉด 1:1 ์ฐ๊ด๊ด๊ณ : Fetch join Collection ์ฐ๊ด๊ด๊ณ : default_batch_fetch_size N๊ฐ์ ์ปฌ๋ ์ ์ fetch join์ ํ๋ฉด MultipleBagFetchException์ด ๋ฐ์ํ๋ค. ํน์ ์ปฌ๋ผ์ ์กฐํํ ๊ฒฝ์ฐ์ join์ ํ๊ณ Projectio.. 2023. 12. 15. [ Swagger ] Swagger UI๋ฅผ ํตํด API ๋ช ์ธ์ Postman ๊ณต์ 1. ๊ธ์ ์์ฑํ ์ด์ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ API ์คํ์ ๊ณต์ ํ๊ธฐ ์ํด ๋ค์ํ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๋ณดํต API ๋ฌธ์ํ๋ฅผ ํ๊ธฐ ์ํด์๋ Rest DOCS์ Swagger๋ฅผ ํตํด์ API๋ฅผ ๋ฌธ์ํ๋ฅผ ํ๋ค. ์ ํฌ๋ Swagger๋ฅผ ์ ํ์ ํ์๊ณ ๋ฌธ์ํ๋ฅผ ํ์์ผ๋ ๋ฌธ์ํ๋ฅผ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๊ณต์ ํ๊ธฐ ์ํด์ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๋์ค์ ๋ฐฐํฌ๋ฅผ ํ์ง ์๊ณ Postman์ผ๋ก ๋ฌธ์ ๊ณต์ ํ๊ฐ ๊ฐ๋ฅํ์ฌ ๊ธ์ ์์ฑ์ ํ์ต๋๋ค. 2. Swagger UI ์ ์ฉํ๊ธฐ ์ฒ์์ Gradle์ ์์กด์ฑ์ ์ถ๊ฐ๋ฅผ ํฉ๋๋ค. implementation 'org.springdoc:springdoc-openapi-ui:1.6.9' ์ดํ Config์์ ์ ํฉ๋๋ค. @Configuration public class OpenApiConfig { @Bean publi.. 2023. 4. 21. Mockito๋ ์๊ณ ํ ์คํธ ์ฝ๋ ์์ฑํ์ Mockito - mockito-core 5.2.0 javadoc Latest version of org.mockito:mockito-core https://javadoc.io/doc/org.mockito/mockito-core Current version 5.2.0 https://javadoc.io/doc/org.mockito/mockito-core/5.2.0 package-list path (used for javadoc generation -link option) https://javadoc.io/doc/org.m javadoc.io Mockito๋? Mock์ ์ฝ๊ฒ ๋ง๋ค๊ณ mock์ ํ๋์ ์ ํ๋ stubbing ๋ก์ง์ด ์คํ์ด ๋์๋์ง ํ์ธํ๊ธฐ ์ํ verify()๋ฅผ ์ด์ฉ์ด ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ํ๋ ์.. 2023. 3. 24. ์ํธํ Bcrypt์ ๋ํ ์ฌ์ธต ๋ถ์ ๊ธ์ ์์ฑํ๋ ์ด์ ์ํธํ๋ ์๋น์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ ํ์๋ก ๋ค์ด๊ฐ๋ ๋ถ๋ถ์ด๋ค. ์๋ฅผ ๋ค์ด ํ์๊ฐ์ ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํ๋ฅผ ํ์๋ก ์งํ์ ํ๊ฒ ๋๋๋ฐ ์ด๋ Bcrypt๋ฅผ ์ด์ฉํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ๋ง์ ์ด ๋ถ๋ถ์ ์ฝ๋๋ก ๊ตฌํํ๊ณ ์ ํํ๊ฒ ์ค๋ช ์ ํ ์ ์์ด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ค. ์ํธํ & ๋ณตํธํ ์ด ๋ถ๋ถ์ ๋ํด์๋ ์์ธํ๊ฒ ์ค๋ช ์ ํ๊ธฐ ๋ณด๋ค๋ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๊ณ ์๋ฅผ ๋ค์ด ์ดํด๋ฅผ ํ๋๊ฒ ์ข๋ค๊ณ ์๊ฐ์ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ํธํ๋ ๋ณตํธํ์ ๋ํด ์งง๊ฒ ์ค๋ช ์ ํ๊ฒ ์ต๋๋ค. ์ผ๋จ ์ํธํ๋ ํ๋ฌธ์ ์ํธ๋ก ๋ฐ๊พธ๋ ๋ฐฉ์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋น๋ฐ๋ฒํธ๋ฅผ 123์ ์ ๋ ฅํ๋ฉด ์ํธํ ๊ณผ์ ์ ๊ฑฐ์ฒ ํ๋ฌธ์ ์ํธ๋ก ๋ฐ๊ฟ๋๋ค. ์ง๊ธ์ ๊ธฐ์กด์ ์ซ์์ 3์ ๋ํ๋ ๋ฐฉ์์ผ๋ก ์ํธํ๋ฅผ ์งํํ๋ฉด 456์ผ๋ก ๋น๋ฐ๋ฒํธ๊ฐ ์ค์ ์ด ๋ฉ.. 2023. 3. 24. ์ด์ 1 2 3 4 5 ๋ค์