๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ69 ๋ฉํฐ DBํ๊ฒฝ์์ JPA ์ฌ์ฉ์ ์ฃผ์์ (feat. connection leak) JPA์์ Muti Datasource ์ค์ ์ ๊ดํ ํธ๋ฌ๋ธ ์ํ ์ ๊ธฐ๋กํ ํฌ์คํ ์ ๋๋ค. ์ต์ข ์ธํ ๋ฐฉ์์ ํ๋จ์ ๊ธฐ์ฌ๋์ด ์์ต๋๋ค.๋ฌธ์ ์ํฉ์ ํฌ ์๋น์ค๋ ํ๋์ ํ๋ก์ ํธ์์ ์ฌ๋ฌ๋์ DataBase๋ฅผ ์ฐ๋ํ๋ ํ๊ฒฝ์ ๋๋ค. ๊ทธ ์ค์์ ๋ช๊ฐ์ DataBase๋ง ํ์์ ์ํด JPA/QueryDsl์ ์ฐ๋ํ์ฌ ์ฌ์ฉํ๋๋ฐ ์ต๊ทผ์ ์๋ก์ด Datasource๋ฅผ ์ถ๊ฐํ์ฌ QueryDsl์ ์ฌ์ฉํ๋ ์ค ๋ค์๊ณผ ๊ฐ์ connection leak warning์ด ๋จ๋ ๊ฒ์ ํ์ธํ์์ต๋๋ค.java.lang.Exception: Apparent connection leak detected๋ฌธ์ ์ ์์ธ์ ํ์ ํ๊ธฐ ์ํด hikari๋ก๊ทธ๋ฅผ ํ์ธํด๋ณด๋, ์ฟผ๋ฆฌ๊ฐ ๋ชจ๋ ์คํ๋ ํ์๋ active connenction์ด ์ ์ง๋๊ณ ์์๊ณ (์ปค๋ฅ์ ์.. 2026. 2. 13. Spring Camp (2025) ํ๊ธฐ ์๋ ์ ์ด์ด ์ฌํด๋ Spring Camp์ ๋ค๋ ์์ต๋๋ค. ์ปจํผ๋ฐ์ค ๋น์ฒจ์ด์ ์๋ ํธ์ธ๋ฐ ์คํ๋ง์บ ํ๋ ์ด ์ข๊ฒ 2๋ ์ฐ์ ์ ์ ๋์๋ค์. (๋ด๋ ์๋ ์ ๋ถํ๋๋ฆฝ๋๋ค.)Java + Spring ๊ฐ๋ฐ์๋ก์ ์คํ๋ง์บ ํ๋ ๋งค๋ฒ ์๋ก์ด ๊ธฐ์ ๊ณผ ํ์ ์์ ๊ณต๊ฐํ ๋งํ ๊ฒฝํ์ ์ ํ ์ ์๋ ์๋ฆฌ๋ผ ๊ธฐ๋๊ฐ ์ปธ์ต๋๋ค. ์ข์ ํค์๋ค์ด ๋ง์ ๊ธฐ์ต์ด ์ฌ๋ผ์ง๊ธฐ์ ์ ๋ฆ๊ฒ๋๋ง ์ผ๋ถ ์ธ์ ๋ด์ฉ์ ๊ธฐ๋กํด๋ด ๋๋ค.Amazon Q Developer์ ํจ๊ป ํ๋ ์์ฑํ AI ์๋ ํค์ณ๋๊ฐ๊ธฐAWS์ ๊ฐ๋ฐ์์ธ ์ด์ํ๋๊ป์ ์์ฌ์ ์์ฑํ AI์ธ Amazon Q Developer์ ๊ดํด ์๊ฐํด ์ฃผ์ จ์ต๋๋ค.ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํจ๋ฌ๋ค์์ด AI ์๋์ ๊ฐ๋ฐ ํจ๋ฌ๋ค์ ๋ณํํ๋ฉฐ AI ์๋๊ฐ ๋๋ํ์์ต๋๋ค. ์ปจํ ์ด๋์ ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ํ์ฐฝ์ผ ๋๋ฅผ ์ง๋, ์ด์ ๋ ์์ฑ.. 2026. 1. 1. Spring Security์์ ๋ฐ์ํ ์์ธ๊ฐ ControllerAdvice์์ ํธ๋ค๋ง๋๋ ๋ฌธ์ Spring Security์์ ๋ฐ์ํ ์์ธ๊ฐ ControllerAdvice์์ ํธ๋ค๋ง๋๋ ๋ฌธ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ํ Exception์ด ControllerAdvice์ ํธ๋ค๋ง๋๋ ๊ฒ์ด ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น์? ์ต๊ทผ์ Client์๊ฒ ์ ๋ฌํ๋ error ๋ฉ์ธ์ง๋ฅผ ๊ณตํตํํ๊ธฐ ์ํด Rest Controller Advice์ ๋ค์๊ณผ ๊ฐ์ ๋ฉ์๋๋ฅผ ์ฝ๋๋ฅผ ์ถ๊ฐํ์์ต๋๋ค.@RestControllerAdvicepublic class GlobalExceptionHandler extends ResponseEntityExceptionHandler { ... @ExceptionHandler(Exception.class) public ResponseEntity handleException(HttpServletRequest .. 2024. 4. 25. [ํ๋ก๊ทธ๋๋จธ์ค] N๊ฐ์ ์ต์๊ณต๋ฐฐ์(Java) https://school.programmers.co.kr/learn/courses/30/lessons/12953 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr class Solution { public int solution(int[] arr) { int answer = 0; if (arr.length == 1){ return arr[0]; } int lcm = arr[0]; for (int i = 1; i < arr.length; i++){ lcm = getLeastCommonMultiple(lcm, arr[i]); } return lcm; } // .. 2023. 12. 1. [ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ณดํค (Java) https://school.programmers.co.kr/learn/courses/30/lessons/42890 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr import java.util.*; class Solution { public int solution(String[][] relation) { int answer = 0; int rowCount = relation.length; int columnCount = relation[0].length; // ์ธ๋ฑ์ค ๋ฐฐ์ด ์ด๊ธฐํ List arr = new ArrayList(); for (int i = 0;.. 2023. 12. 1. [Spring] OpenFeign์ ์ด์ฉํ์ฌ API ํต์ ํด๋ณด๊ธฐ (feat. ๊ณ ์์ด ์ฌ์ง ๊ฒ์) OpenFeign์ ์ด์ฉํ์ฌ API ํต์ ํด๋ณด๊ธฐ (feat. ๊ณ ์์ด ์ฌ์ง ๊ฒ์) ํด๋น ์ฝ์ค์ ๊ณผ์ ๋ฅผ ์ํํ ๋ด์ฉ์ ๋๋ค. [Java/Spring]๊ณ ์์ด ์ฌ์ง ๊ฒ์ ์ฌ์ดํธ API ๊ณผ์ ํ์ด๋ณด๊ธฐ [Java/Spring]๊ณ ์์ด ์ฌ์ง ๊ฒ์ ์ฌ์ดํธ API ๊ณผ์ ํ์ด๋ณด๊ธฐ [Java/Spring]๊ณ ์์ด ์ฌ์ง ๊ฒ์ ์ฌ์ดํธ API ๊ณผ์ ํ์ด๋ณด๊ธฐ ์ฝ์ค ๋์ด๋ ์ด๊ธ ์ฌ์ฉ ์ธ์ด # java ๊ฐ์ ์๊ฐ ํ๋ก๊ทธ๋๋จธ์ค ๊ณผ์ ํ ์คํธ ์ฐ์ต์ ์๋ ๊ณ ์์ด ์ฌ์ง ๊ฒ์ ์ฌ์ดํธ์์ ์ฌ์ฉ๋ API๋ฅผ ์ง์ ๊ตฌํํด school.programmers.co.kr ์ ๊ฐ ์ฐ๋ํ ์ธ๋ถ API๋ ๊ณ ์์ด ์ฌ์ง์ ์กฐํํ๋ The Cat API์ ๋๋ค. https://thecatapi.com/ The Cat API - Cats as a Service. A public .. 2023. 4. 25. ์ด์ 1 2 3 4 ยทยทยท 12 ๋ค์