물론입니다! 아래는 Spring Boot에서 StopWatch를 이용해 함수 수행시간을 측정하고, 초 및 분 단위로 출력하는 방법을 설명한 블로그용 글입니다.⏱ Spring Boot에서 함수 수행시간 측정하기 – 초/분 단위 출력Spring Boot 개발을 하다 보면 특정 로직이 얼마나 오래 걸리는지 측정하고 싶을 때가 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 바로 org.springframework.util.StopWatch 클래스입니다.이번 포스트에서는 StopWatch를 활용해 함수 수행시간을 측정하고, 이를 초(Seconds) 및 분(Minutes) 단위로 변환해 출력하는 방법을 소개하겠습니다.✅ 기본 사용법: StopWatch로 시간 측정Spring의 StopWatch는 매우 간단하게 ..
📅 Java로 영업일만 7일 출력하는 함수 만들기비즈니스 로직을 개발하다 보면 주말과 공휴일을 제외한 영업일만 필요한 경우가 많습니다. 오늘은 Java에서 현재 날짜 기준으로 영업일만 7일을 출력하는 함수를 만들어보겠습니다! 🚀🎯 요구사항현재 날짜 기준으로 7일 전까지의 날짜 출력날짜 형식: 2025-01-01주말(토, 일) 제외공휴일 제외💡 핵심 기능1️⃣ 영업일 체크 로직/** * 해당 날짜가 영업일인지 확인 (주말과 공휴일 제외) */private static boolean isBusinessDay(LocalDate date) { return !isWeekend(date) && !isHoliday(date);}2️⃣ 주말 체크private static boolean isWeekend(L..
✅ Java 문자열을 | 기준으로 나누어 List로 변환하는 방법Java에서 문자열을 특정 구분자로 나누고 이를 List으로 변환하는 작업은 매우 자주 사용됩니다. 특히 |(파이프 문자)처럼 정규식에서 특별한 의미를 가지는 문자는 주의해서 처리해야 합니다.이번 포스팅에서는 문자열을 | 기준으로 나누어 리스트로 담는 방법을 예제와 함께 알아보겠습니다.📌 1. 기본 코드 예제import java.util.Arrays;import java.util.List;public class SplitExample { public static void main(String[] args) { String input = "apple|banana|cherry|date"; // 정규식에서 '|'는..
웹 프로젝트나 파일 정리 작업을 하다 보면, 하나의 경로를 그대로 유지하면서 다른 위치의 폴더를 가리키고 싶을 때가 있습니다. 리눅스에서는 ln -s 심볼릭 링크를 사용하는 것처럼, Windows에서도 mklink 명령어를 통해 동일한 기능을 구현할 수 있습니다.이번 포스팅에서는 Windows의 mklink 명령어를 이용해 폴더를 다른 위치로 "바라보게" 설정하는 방법을 소개합니다.📌 mklink란?mklink는 Windows에서 심볼릭 링크(가상 경로) 또는 **정션(하드 링크)**를 생성하는 명령어입니다.이를 통해 하나의 폴더를 다른 폴더처럼 보이게 만들 수 있어, 브라우저나 서버가 기존 경로를 바꾸지 않아도 파일을 참조할 수 있게 됩니다.⚙️ 기본 구문mklink [옵션] [가상경로] [실제대상경..
제목: Java에서 문자열을 "-"로 구분하여 List로 변환하기Java에서 문자열을 특정 구분자로 분리하고, 이를 List에 담는 작업은 자주 필요할 때가 있습니다. 이번 글에서는 **"-"**로 구분된 문자열을 **List**로 변환하는 방법을 소개합니다. 이 방법을 사용하면 문자열을 분리하고, 이후 처리하기 편리한 List 형태로 변환할 수 있습니다.1. 문제 상황주어진 문자열이 **"-"**로 구분된 여러 단어들로 구성되어 있을 때, 이를 **List**로 변환하려면 어떻게 해야 할까요?예를 들어, 문자열 "apple-orange-banana-grape"가 있을 때 이를 **List**로 변환하여 각 단어를 처리하고 싶습니다.2. 해결 방법Java에서는 String.split() 메서드를 사용하여..
✅ 코드 설명 import java.time.LocalDate;import java.time.format.DateTimeFormatter;public class YesterdayDateExample { public static void main(String[] args) { // 오늘 날짜에서 하루 전 날짜 계산 LocalDate yesterday = LocalDate.now().minusDays(1); // 원하는 포맷 지정: yyyyMMdd (예: 20250518) DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); // 날짜를 문자열로 포맷팅 S..
✅ 목표오늘 기준으로,**주말(토, 일)**을 제외한,가장 최근의 7일치 날짜를 과거부터 오늘까지 순서로 출력 🧑💻 Java 코드 예시 (주말 제외, 최근 7일 출력) import java.time.DayOfWeek;import java.time.LocalDate;import java.util.ArrayList;import java.util.List;public class BusinessDays { public static void main(String[] args) { List recent7Days = getLast7BusinessDays(); for (LocalDate date : recent7Days) { System.out.println(d..
인텔리제이_IntelliJ (Windows)이클립스_STS(Windows)기능Ctrl + Space 자동 완성Ctrl + Shift + Enter 구문 완성( ; 닫아줌)Ctrl + Shift + nCtrl + Shift + r파일 이름으로 검색Ctrl + Shift + fCtrl + h파일 안에 있는 특정 텍스트 검색Ctrl + gCtrl + l특정 라인 번호로 이동 Shift + enter 커서가 해당 라인에 어디에 있든줄바꿈 Ctrl + y Ctrl + d 한줄 삭제(선택된 줄) Ctrl + alt + o 안쓰는 import 삭제 Ctrl + / 한줄 주석 ( // ) Ctrl + Shift + / Ctrl + Shift + / 여러 줄 주석 ( /* */) Shift + F..
✅ Java에서 SMTP를 이용한 메일 발송 기능 구현하기최근에 업무 중 시스템 알림 메일을 자동으로 발송하는 기능이 필요해져서, Java로 SMTP 기반의 메일 발송 기능을 구현하게 되었다.이 글에서는 내가 개발한 내용을 바탕으로 Java에서 어떻게 메일을 보내는지, 어떤 부분을 주의해야 하는지를 정리해보았다.1. 사용한 환경Java 17Jakarta Mail (JavaMail) APISMTP 서버 (사내 SMTP 사용 / 인증 불필요)Maven 기반 프로젝트2. Jakarta Mail 라이브러리 추가SMTP로 메일을 보내기 위해서는 JavaMail API가 필요하다.최근에는 javax.mail 대신 jakarta.mail을 사용하는 추세이므로, 나는 아래와 같이 추가했다. com.sun.mail..
1번 : java.text.DecimalFormat 클래스 활용법int money = 1000000;DecimalFormat df = new DecimalFormat("###,###");String formatMoney = df.format(money);System.out.println(formatMoney); // 1,000,0002번 : NumberFormat 이용법int money = 1000000;String formatMoney = NumberFormat.getInstance().format(money);System.out.println(formatMoney); // 1,000,0003번 : StringFormat 이용법int money = 1000000;String str = String.fo..
문자열이 숫자인지 확인하는 방법 String str = "123"; boolean isNumeric = str.matches("[+-]?\\d*(\\.\\d+)?"); System.out.println(isNumeric); -> true예제public class SimpleTesting { public static void main(String[] args) { String str = "123"; boolean isNumeric = str.matches("[+-]?\\d*(\\.\\d+)?"); System.out.println(isNumeric); -> true str = "121xy"; isNumeri..
| HSSFexcel 97 ~ 2003 버전| XSSFexcel 2007 이상 버전| SXSSFPOI 3.8 beta3 버전부터 지원하는 성능 개선 버전HSSF는 excel 2007이후로는 지원가능 하지 않아 기존에는 XSSF버전을 사용하고 있었다.하지만 row수가 수만 ~ 10만건이 넘어가다 보니 OOM이 발생하게 된다.서버 리소스를 늘려야 고민하던 때에 눈에 띄인 것이 SXSSF 이다.SXSSF는 지정한 row만큼 memory에 올려놓고 생성하다가 지정한 row에 도달하면 임시 XML 파일로 disk에 기록을 하고 memory를 비워주는 streaming이라 생각하면 편하다.XSSF는 파일생성이 끝나기 전까지 모든 row를 memory위에 올려놓는 것과는 다르게 메모리 절약에 굉장히 효과적이었다. 화..