버그와 함께 춤을

우당탕탕 개발 블로그
1. 키 파일을 저장할 폴더로 이동먼저, SSL 인증서 파일을 생성하고 저장할 폴더로 이동합니다. 이는 인증서 파일을 쉽게 관리하고 나중에 Spring Boot 프로젝트에 적용하기 위함입니다.2. 인증서 파일 생성SSL 인증서 파일을 생성하기 위해 `mkcert`를 사용합니다. 먼저 `mkcert -install` 명령으로 인증서를 생성하고, 이후에 `pkcs12` 형식의 keystore 파일을 생성합니다.  mkcert -installmkcert -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 클래스를 만들고, exte..
최근, Spring Boot 기반의 웹 애플리케이션 개발 중 java.lang.IllegalArgumentException: Invalid character found in the request target 오류에 직면했습니다. 이는 클라이언트의 요청 URL에 특수 문자가 포함되어 있을 때 발생하는 문제로, RFC 7230 및 RFC 3986 규정에 어긋나는 문자들 때문입니다. 이번 글에서는 이 문제의 해결 과정을 공유하고자 합니다.문제 발생 상황Spring Boot 애플리케이션에서 클라이언트로부터 특정 특수 문자를 포함한 요청을 받았을 때, `java.lang.IllegalArgumentException` 오류가 발생했습니다. 처음에는 `application.yml` 설정을 통해 요청 인코딩을 UTF-..