๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ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.