반응형

IT/Java 13

Integer와 Long의 차이점

프로그래밍에서 정수를 다룰 때 Integer와 Long은 가장 흔히 사용되는 두 타입입니다. 이들은 자바를 비롯한 여러 프로그래밍 언어에서 정수 값을 저장하는 데 사용되며, 각각 고유의 특성과 사용 사례를 가지고 있습니다. Integer란? Integer는 32비트 정수를 저장하는 데이터 타입입니다. 이는 -2,147,483,648부터 2,147,483,647까지의 범위를 포함합니다. Integer는 4바이트의 메모리 공간을 사용하며, 일반적인 수치 계산에 널리 사용됩니다. 작은 수치를 다룰 때는 Integer가 메모리 효율성과 성능 면에서 유리합니다. Long이란? 반면에 Long은 64비트 정수를 저장하는 데이터 타입으로, -9,223,372,036,854,775,808부터 9,223,372,036,..

IT/Java 2024.01.20

스프링 부트: 윈도우와 맥에서 한글 파일명 다운로드 문제 해결하기

문제 상황 스프링 부트(Spring Boot) 기반의 웹 애플리케이션에서 파일 다운로드 기능을 구현할 때, 맥(MacOS)에서는 한글 파일명이 정상적으로 다운로드되지만, 윈도우(Windows)에서는 한글 파일명이 깨지는 문제를 경험했습니다. 이는 운영 체제 간의 문자 인코딩 처리 방식의 차이 때문에 발생하는 일반적인 문제입니다. 해결 방법 이 문제를 해결하기 위해, 한글 파일명을 UTF-8 인코딩으로 처리한 후, ISO-8859-1로 다시 인코딩하는 방식을 사용했습니다. 또한, Content-Disposition 헤더를 적절히 설정하여 브라우저가 파일명을 올바르게 해석하도록 했습니다. 구현 코드 다음은 파일 다운로드를 처리하는 스프링 부트 컨트롤러의 일부 코드입니다: try { // 파일 데이터 조회 R..

IT/Java 2024.01.20

warning: unknown enum constant When.MAYBEreason: class file for javax.annotation.meta.When not found

문제 상황 Gradle을 사용하여 Java 애플리케이션을 빌드할 때 다음과 같은 경고 메시지가 나타났습니다: warning: unknown enum constant When.MAYBE reason: class file for javax.annotation.meta.When not found 이 경고는 javax.annotation.meta.When 클래스 파일을 찾을 수 없기 때문에 발생합니다. 이는 종종 Gradle 프로젝트에서 의존성 문제로 인해 발생하는 일반적인 경고입니다. 해결 방법 이 문제를 해결하기 위해, Gradle 의존성에 com.google.code.findbugs:jsr305 라이브러리를 추가했습니다. 이 라이브러리는 javax.annotation API의 일부로 사용되며, 필요한 클래..

IT/Java 2024.01.19
반응형