header-img
Info :
springboot 10
์šฉ์–ด :: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง(APM)
2025.02.03
APM(Application Performance Management/Monitoring)์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ์žฅ์•  ์˜ˆ์ธก์„ ํ†ตํ•ด ์ตœ์ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋ฅผ ๋ณด์žฅํ•˜๊ณ  ์œ ์ง€ํ•˜๋Š” ์ผ๋ จ์˜ ๊ด€๋ฆฌ ์ฒด๊ณ„.์ฆ‰,์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์• ๋ฅผ ์‹ ์†ํžˆ ๊ฐ์ง€ํ•˜๊ณ  ๋Œ€์ฒ˜ํ•˜์—ฌ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋Š” ์ •๋ณด์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ์˜ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด APM์˜ ํ•ต์‹ฌ ์—ญํ• . ๋ฏธ๋“ค์›จ์–ด(WebLogic, Tomcat ๋“ฑ..)์—์„œ ์ผ์–ด๋‚˜๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์‚ฌ์šฉ ์‹œ๊ฐ„์„ ๋ถ„์„ํ•˜์—ฌ ๊ฐ ๋‹จ๊ณ„ ๋ณ„๋กœ ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์˜ ์›์ธ์„ ํŒŒ์•….   A(Application)Web Application์„ ์˜๋ฏธ.์‚ฌ์šฉ์ž์™€ ์›น ์„œ๋น„์Šค ๊ฐ„์— ์ƒํ˜ธ ์ž‘์šฉ์„ ํ•˜๋ฉฐ ์„ฑ๋Šฅ์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์„œ๋น„์Šค. P(Perforamance)์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์›น ์„œ๋น„์Šค..
list_img
Springboot :: HikariCP Option ๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”. (Hikari ํŠœ๋‹) 1
2025.01.20
Springboot :: HikariCP ๋ž€?์ปค๋„ฅ์…˜ ํ’€(Connection Pooling)์„ ์ œ๊ณตํ•˜๋Š” JDBC Datasource์˜ ๊ตฌํ˜„์ฒด. ์‚ฌ์ „ ์ง€์‹JDBC(Java Database Connectivity)์ž๋ฐ”์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์ž๋ฐ” API.JDBC๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ž๋ฃŒ๋ฅผ ์ฟผ๋ฆฌbornatnoon.tistory.com ์šฐ์„  ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์•ž์„œ HikariCP ๊ฐ€ ๋ญ”์ง€ ๊ฐœ๋…์„ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด.์œ„์˜ ๊ธ€์„ ์ฐธ์กฐํ•˜๋„๋ก ํ•˜์ž. HikariCP ์˜ต์…˜  GitHub - brettwooldridge/HikariCP: ๅ…‰ HikariCPใƒปA solid, high-performance, JDBC connection pool at last.ๅ…‰ HikariCPใƒปA solid, high-performanc..
Springboot :: HikariCP ๋ž€?
2025.01.20
์ปค๋„ฅ์…˜ ํ’€(Connection Pooling)์„ ์ œ๊ณตํ•˜๋Š” JDBC Datasource์˜ ๊ตฌํ˜„์ฒด. ์‚ฌ์ „ ์ง€์‹JDBC(Java Database Connectivity)์ž๋ฐ”์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์ž๋ฐ” API.JDBC๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ž๋ฃŒ๋ฅผ ์ฟผ๋ฆฌํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. DB Connection Pool์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ ์—ฐ๋™ ๊ณผ์ •์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค DB์— ์—ฐ๊ฒฐํ•˜์—ฌ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ์‹→ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์—ฐ๋™ํ•˜์—ฌ ์ž‘์—…ํ•  ๊ฒฝ์šฐ DB ์—ฐ๊ฒฐ์— ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๋Š” issue ๋ฐœ์ƒ→ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋จ๊ณผ ๋™์‹œ์— ์—ฐ๋™ํ•  DB์™€์˜ ์—ฐ๊ฒฐ์„ ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด๋‘๋ฉด ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ!๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๋ฏธ๋ฆฌ ์—ฐ๊ฒฐํ•ด ๋‘” ์ƒํƒœ๋ฅผ ์ด์šฉํ•ด ๋น ๋ฅด๊ฒŒ DB์™€ ์—ฐ๋™ํ•˜์—ฌ ์ž‘์—…์„ ํ•˜๋ฉด ๋œ๋‹ค.. ์ด๋Ÿฐ ์‹์œผ๋กœ๋ฏธ๋ฆฌ ..
list_img
intelliJ(Community) :: Springboot active profile ์„ค์ •ํ•˜๊ธฐ (ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ธฐ๋ณธ ์„ค์ •)
2025.01.20
๋ณดํ†ต ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œapplication.yml, application-dev.yml, application-local.yml์œผ๋กœ ํŒŒ์ผ์„ ๋ถ„๊ธฐํ•˜์—ฌ ์ž‘์„ฑํ•˜๊ณ  1. application.yml ์—์„œ ๋™์ž‘์‹œํ‚ฌ ๋•Œ ๋ฐ”๊ฟ”์ค€๋‹ค.spring: profiles: active: local ์˜ˆ๋ฅผ ๋“ค๋ฉด ์ด๋Ÿฐ ์‹์œผ๋กœ.. 2.  active profile ์„ ์ง€์ •ํ•ด๋‘”๋‹ค.. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” intellij Community ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์—ฌ active profile ์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.(application.yml ์ด ๋ณด๊ธฐ์—๋Š” ์ง๊ด€์ ์ด๋‚˜ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ฑ™๊ฒจ์•ผํ•  ๊ฒƒ๋“ค์ด ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์—..active profile ๋กœ local ์„ ๊ณ ์ • ๊ฐ’์œผ๋กœ ๋‘๋ฉด ํŽธํ•  ๋“ฏ ํ•˜๋‹ค. (์ฝ”๋“œ๋Š” dev ๋กœ ๋‘๊ณ ) )๋ฐฉ๋ฒ• 1...
list_img
Spring boot :: ์™ธ๋ถ€ http ๋ถˆ๋Ÿฌ์™€ body ๊ฐ’ ๋ฆฌํ„ดํ•˜๋Š” RequestUtil (Proxy Server ๊ธฐ๋Šฅ)
2024.02.20
๋‚ด๊ฐ€ ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ๊ฒƒ์€ http:~ ๋กœ ๋œ ์ฃผ์†Œ์— ๋‹ด๊ธด API data ๋ฅผ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฑฐ ์˜€์Œ. ๊ณ ๋กœ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ์„œ๋ฒ„์—์„œ ํ”„๋ก์‹œ ์„œ๋ฒ„์˜ ์—ญํ• ์„ ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ. ์ด๋•Œ ๋ญ RestTemplete ์ด๋‹ˆ WebClient ๋‹ˆ ์„ค์น˜ํ•˜๊ณ  ์…‹ํŒ…ํ•˜๊ณ ... ๋„ˆ๋ฌด ๊ท€์ฐฎ์•˜์Œ. ๊ทธ๋ž˜์„œ ๊ฐ„๋‹จ ver ๋กœ requestUtil ์„ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframewo..
Springboot, Mybatis :: ๋ถ€๋“ฑํ˜ธ, ๋น„๊ต์—ฐ์‚ฐ์ž ์‚ฌ์šฉ ๋ฐฉ๋ฒ• 1
2024.02.02
์ฟผ๋ฆฌ๋ฌธ์„ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋ฉด ๋น„๊ต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ.. ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค์—์„œ๋Š” , WITH CTE(WorkDate) AS ( SELECT CONVERT ( DATE, #{Year}+'-01-01') UNION ALL SELECT DATEADD(d, 1, WorkDate) FROM CTE WHERE WorkDate (CONVERT(DATE, #{Year}+'-12-31')) ) SELECT * FROM CTE OPTION ( MAXRECURSION 0 ); ๋‘˜. WITH CTE(WorkDate) AS ( SELECT CONVERT ( DATE, #{Year}+'-01-01') UNION ALL SELECT DATEADD(d, 1, WorkDate) FROM CTE WHERE ) SELECT * FROM CTE..
list_img
SpringBoot :: ์ดˆ์ดˆ์ดˆ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ์ž ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฝ๊ณผ์‹œ๊ฐ„ ์•Œ์•„๋ณด๊ธฐ
2024.01.16
๊ฐœ๋ฐœ ๋„์ค‘ API ํ˜ธ์ถœ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ์•„์ด๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. DB ์‹œ๊ฐ„์€ SQL ์„ ๋•Œ๋ ค๋ณด๋ฉด ๋‚˜์˜ค๋Š”๋ฐ.. ์˜ˆ์ƒ๋งŒํผ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋Š” ์•Š์•˜๊ณ  ๊ทธ๋ฆฌ๋“œ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฟŒ๋ฆฌ๋Š” ๊ฒŒ ์ „๋ถ€์ธ๋ฐ๋‹ค, ๊ทธ๋ฆฌ๋“œ์˜ ๊ฒฝ์šฐ๋Š” ๋ณ„๋„ ๊ตฌํ˜„์—†์ด ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋ผ์„œ ํ”„๋ก ํŠธ์—”๋“œ์˜ ๋ฌธ์ œ๋„ ์•„๋‹Œ๊ฑฐ ๊ฐ™๊ณ .. ํ˜น์‹œ ๋ชจ๋ฅด๋‹ˆ๊นŒ ๋ฐฑ์—”๋“œ ๊ฒฝ๊ณผ ์‹œ๊ฐ„์ด ์–ด๋–ป๊ฒŒ ๊ฑธ๋ฆฌ๋Š”์ง€ ํ™•์ธ์„ ํ•ด๋ณด๊ณ ์ž ํ–ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ // ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ long startTime = System.currentTimeMillis(); List TactTimeList = tacttimeService.tacttime(paramMap); // Service ํ˜ธ์ถœ๋ถ€ long endTime = System.currentTimeMillis(); long ms = endTime - start..
Java, SpringBoot :: private ์ƒ์ˆ˜๋ฅผ private static final๋กœ ์„ ์–ธํ•˜๋Š” ์ด์œ  1
2023.12.28
static์ด๋ž€? (์ •์ ์ธ, ์›€์ง์ž„์ด ์—†๋Š”) static ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ jvm์˜ static ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค. static ์˜์—ญ์˜ ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘ํ•˜๊ณ  ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ์‚ด์•„ ์žˆ์–ด ๋ณ„๋„์˜ ์ดˆ๊ธฐํ™” ๊ณผ์ •์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๊ณ  static์ด ์„ ์–ธ๋œ ๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ์— ๋ฐ”๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. static์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•œ๋‹ค๋Š” ์˜๋ฏธ. ๋™์ผํ•œ ๊ฐ์ฒด๋กœ ๊ฐ’๋งŒ ๋ฐ”๊พธ์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Œ๊ณผ ๋™์‹œ์— ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ’๋งŒ ๋ฐ”๊พธ์–ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์‹ ์ค‘ํ•˜๊ฒŒ ๋ฐ”๊พธ์–ด์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ๋„ ํ•ด์•ผํ•œ๋‹ค. final์ด๋ž€? ๋ถˆ๋ณ€๊ณผ ๊ด€๋ จ๋œ ์†์„ฑ์ด ์•„๋‹ˆ๋ผ ์žฌํ• ๋‹น ๋ฐฉ์ง€์™€ ๊ด€๋ จ๋œ ์†์„ฑ. final์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์žฌํ• ๋‹น์ด ๋ฐฉ์ง€๋˜๋ฏ€๋กœ, ์ƒ์†์ด๋‚˜ ๊ฐ’ ์žฌ ์ดˆ๊ธฐํ™” ๋“ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. public ..
Springboot(java) :: ๋ฌธ์ž ๊ด€๋ จ StringUtil ๋ชจ์Œ์ง‘
2023.12.27
ํŒŒ์ผ๋กœ ๋ณด๊ธฐ๋Š” ์•„๋ž˜์—.. ์•…์„ฑ์ฝ”๋“œ ็„ก only java.. /** * @Class Name : StringUtil.java * @Description : ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ด€๋ จ ์œ ํ‹ธ๋ฆฌํ‹ฐ * @Modification Information * @author ony **/ package com.sample.controller; // ์ด๋ฆ„ ์ž„์˜ ๋ณ€๊ฒฝํ•จ import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.security.SecureRandom; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Locale; public ..
list_img
SpringBoot :: Log4jdbc ๋ž€? 2
2023.11.15
Log4jdbc Log4j ๋ฅผ JDBC์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ GitHub - arthurblake/log4jdbc: log4jdbc is a Java JDBC driver that can log SQL and/or JDBC calls (and optionally SQL timing info log4jdbc is a Java JDBC driver that can log SQL and/or JDBC calls (and optionally SQL timing information) for other JDBC drivers using the Simple Logging Facade For Java (SLF4J) logging system. - G... github.com ์œ„์˜ ์ฝ”๋“œ๋Š”..