1. 키 파일을 저장할 폴더로 이동 먼저, SSL 인증서 파일을 생성하고 저장할 폴더로 이동합니다. 이는 인증서 파일을 쉽게 관리하고 나중에 Spring Boot 프로젝트에 적용하기 위함입니다. 2. 인증서 파일 생성 SSL 인증서 파일을 생성하기 위해 `mkcert`를 사용합니다. 먼저 `mkcert -install` 명령으로 인증서를 생성하고, 이후에 `pkcs12` 형식의 keystore 파일을 생성합니다. mkcert -install mkcert -pkcs12 -p12-file keystore.p12 localhost 이 과정을 통해 `keystore.p12` 파일이 생성됩니다. 이 파일은 Spring Boot 애플리케이션에서 SSL을 설정하는 데 사용됩니다. 3. 파일을 Spring Boot 프..
버그와 함께 춤을
우당탕탕 개발 블로그Java 14버전 이후 switch 문은 더 간결하고 직관적으로 개선되었습니다. 기존의 switch 문은 break 문을 사용하고, 각 case에서 변수 할당을 여러 번 수행해야 했지만, 최신 Java에서는 이런 복잡한 절차 없이 switch 문을 더 깔끔하게 사용할 수 있습니다. 기존 switch 문은 break 문이 필요하며, 실수로 break를 누락하면 'fall-through' 문제가 발생할 수 있습니다. 또한, 변수 선언 및 각 case에 따른 값 할당으로 인해 코드가 길고 복잡해지곤 했습니다. 기존 switch 문 예시 package switchtest; public class OldSwitch { public static void main(String[] args) { int grade = ..
직면한 문제 최근에 Spring 애플리케이션을 작업하면서 이해할 수 없는 상황에 직면했습니다. 제가 사용하고 있는 한글 문자가 제대로 표시되지 않고, 의문표로 뒤덮여 버리는 현상이 나타났습니다. 특히 API 응답에서 한글로 된 메시지가 필요한데, 이 문자들이 온전하게 표현되지 않아 문제가 되었습니다. 문제의 원인 문제는 Spring 프레임워크가 HTTP 응답에 사용하는 기본 문자 인코딩 설정에 있었습니다. Spring Boot는 기본적으로 ISO-8859-1을 사용하는데, 이는 한글 문자를 다루기에 부적합합니다. 인코딩 불일치로 인해 원래 메시지가 알아볼 수 없는 기호로 변해버렸습니다. 해결 방법 이 문제를 해결하기 위해 WebMvcConfigurer를 확장하는 커스텀 WebConfig 클래스를 만들고,..
최근, Spring Boot 기반의 웹 애플리케이션 개발 중 java.lang.IllegalArgumentException: Invalid character found in the request target 오류에 직면했습니다. 이는 클라이언트의 요청 URL에 특수 문자가 포함되어 있을 때 발생하는 문제로, RFC 7230 및 RFC 3986 규정에 어긋나는 문자들 때문입니다. 이번 글에서는 이 문제의 해결 과정을 공유하고자 합니다. 문제 발생 상황 Spring Boot 애플리케이션에서 클라이언트로부터 특정 특수 문자를 포함한 요청을 받았을 때, `java.lang.IllegalArgumentException` 오류가 발생했습니다. 처음에는 `application.yml` 설정을 통해 요청 인코딩을 UT..