본문 바로가기

티스토리챌린지15

[Spring] 스프링부트 @Schedule 시간대 문제 해결 서버 환경에 따라 스프링 스케줄러가 설정된 시간에 동작하지 않는 경우가 발생할 수 있습니다. 특히, 애플리케이션의 시간대 설정과 배포 서버의 시간대가 일치하지 않을 때, 스케줄러가 의도한 시간에 실행되지 않을 수 있습니다. 이 글에서는 스프링 스케줄러가 배포 서버에서 한국 시간에 맞춰 정확하게 동작하도록 설정하는 방법을 다룹니다.문제 상황스프링 애플리케이션에서 아래와 같이 매주 수요일 오후 4시에 작업을 스케줄링했다고 가정해봅시다.@Scheduled(cron = "0 0 16 ? * WED")public void run() { // 작업 내용} 이 코드는 애플리케이션이 실행 중인 서버의 호스트 시간대를 기준으로 스케줄링됩니다. 즉, 로컬 환경에서 애플리케이션을 실행하면 로컬 시간대에 맞춰 작동하고,.. 2024. 11. 10.
[Java] 문자열 + 연산과 StringBuilder 비교 Java에서 문자열 결합 시 많이 사용하는 + 연산은 직관적이고 간단하지만, 성능 측면에서 적절하지 않은 경우가 있습니다. 이번 글에서는 문자열 결합의 효율적인 방법과 이유에 대해 설명하겠습니다.Java에서의 + 연산Java의 String은 immutable(불변)한 객체입니다. 따라서 String 간의 + 연산은 기존 객체를 수정하지 않고, 새로운 String 객체를 생성하게 됩니다. 이는 다음과 같은 코드에서 성능 문제가 발생할 수 있습니다.// 비효율적인 코드 예시String res = "";for (int i = 0; i  위 코드는 for 문이 실행될 때마다 새로운 String 객체를 생성하여 성능 저하를 유발합니다.  + 연산이 효율적인 경우단일 라인의 +연산에서는 Java 컴파일러가 내부적으.. 2024. 11. 9.
[Dev C++] Dev C++에서 c언어만 사용하는 방법 Dev C++은 기본적으로 C/C++ 통합 환경을 제공하기 때문에 C언어만 사용하는 설정이 필요합니다. 이 글에서는 Dev C++에서 C언어만 사용하는 방법을 설명하겠습니다. 우선 C언어로 코드를 작성해 줍니다. 1. 파일 저장 시 확장자 지정C/C++ 통합 환경을 제공하므로 컴파일하려는 파일의 확장자를 지정하면 C언어로만 컴파일을 할 수 있습니다.코드를 작성 후 다음과 같이 '파일 형식'을 '.C'로 선택 후 저장하면 됩니다. 잘 실행이 됩니다. 정말 C언어만 사용 가능한지 확인해 보겠습니다. stdio.h대신 C++의 iostream을 불러오려고 하니 C언어 컴파일러가 C++ 전용 코드를 인식할 수 없어 다음과 같은 오류가 발생합니다.  2. 컴파일러 설정 변경다음으로 소개할 방법은 Dev C++의 .. 2024. 11. 7.