반응형
최신글
-
[apache] 400 Bad Request — 머리글 한 줄이 LimitRequestFieldSize 를 1. 오류 설명: 400 Bad Request400 Bad Request — Your browser sent a request that this server could not understand.머리글 한 줄이 LimitRequestFieldSize 를 넘었습니다. 대개 쿠키가 불어난 것이고, 그 쿠키를 지우면 그 자리에서 풀립니다.2. 오류 예시「Your browser sent a request that this server could not understand」가 나옵니다. 한 사람만 그렇고 다른 사람은 멀쩡한 경우가 많습니다.같은 주소를 머리글 없이 부르면 200 입니다 — 주소가 아니라 머리글이 문제라는 뜻입니다.LimitRequestFieldSize 는 머리글 한 줄의 최대 길이입니다. 기본값은..
-
[Spring] 순환 참조 — allow-circular-references가 안 통하는 이유 1. 오류 설명: 순환 참조두 빈이 서로를 주입받으면 스프링은 어느 쪽도 먼저 만들 수 없습니다. A를 만들려면 B가 있어야 하고, B를 만들려면 A가 있어야 하기 때문입니다. 스프링 부트는 이 상태를 감지하면 기동을 거부합니다.The dependencies of some of the beans in the application context form a cycle여기서 대부분의 자료가 spring.main.allow-circular-references=true를 해법으로 안내합니다. 스프링 부트가 출력하는 Action: 문구 자체가 그렇게 말하기 때문입니다.그런데 생성자 주입에서는 이 설정을 켜도 여전히 실패합니다. 이 글의 핵심입니다. 아래에서 세 가지 경우를 각각 실행해 비교했습니다.참고로 Spri..
-
[Spring] NoUniqueBeanDefinitionException — 같은 타입 빈이 둘일 때 1. 오류 설명: NoUniqueBeanDefinitionExceptionNoUniqueBeanDefinitionException은 주입받을 타입의 빈이 둘 이상이라 어느 것을 넣어야 할지 정할 수 없을 때 발생합니다.빈을 못 찾는 오류와 정확히 반대 상황입니다. 하나도 없어서가 아니라 너무 많아서 실패합니다.빈이 0개 → NoSuchBeanDefinitionException (없어서 실패)빈이 1개 → 정상빈이 2개+ → NoUniqueBeanDefinitionException (많아서 실패)인터페이스 하나에 구현체를 여러 개 두는 것은 흔한 설계입니다. 결제 수단, 알림 채널, 파일 저장소처럼 전략이 갈리는 곳에서 자연스럽게 나옵니다. 그래서 이 오류는 설계가 잘못돼서가 아니라 선..
-
[MySQL] ERROR 1366 Incorrect string value — 이모지와 utf8mb4 1. 오류 설명: ERROR 1366ERROR 1366 (HY000): Incorrect string value는 컬럼의 문자셋으로 표현할 수 없는 문자를 저장하려 할 때 발생합니다.한글 사이트에서 이 오류를 만나는 원인은 거의 하나로 좁혀집니다. 이모지입니다. 테이블이 utf8(정확히는 utf8mb3)로 되어 있는데 사용자가 댓글이나 닉네임에 이모지를 넣은 경우입니다.핵심은 MySQL의 utf8이 진짜 UTF-8이 아니라는 점입니다.MySQL 문자셋한 글자 최대 바이트이모지 저장utf8 = utf8mb33바이트불가능utf8mb44바이트가능MySQL의 utf8은 3바이트까지만 담는 반쪽짜리입니다. 한글은 3바이트라 문제없이 들어가지만, 이모지는 4바이트라 들어가지 않습니다. 그래서 한글만 쓸 때는 몇 년..
-
[Spring] MethodArgumentNotValidException — @Valid 검증 실패를 클라이언트에 제대로 내려주기 1. 오류 설명: MethodArgumentNotValidExceptionMethodArgumentNotValidException은 @Valid가 붙은 요청 본문이 검증 규칙을 통과하지 못했을 때 발생합니다. @RequestBody로 받은 DTO에 @NotBlank, @Email, @Min 같은 제약이 걸려 있고 그중 하나라도 위반되면 스프링이 이 예외를 던집니다.여기서 진짜 문제는 예외 자체가 아닙니다. 기본 응답에 무엇이 틀렸는지가 하나도 담기지 않는다는 점입니다.스프링 부트는 이 예외를 자동으로 잡아 400 Bad Request를 내려줍니다. 그런데 그 응답에는 status, error, path만 있고 어느 필드가 왜 거부됐는지는 없습니다. 정작 그 정보는 서버 로그에만 남습니다.클라이언트 입장에..
인기글
- [자바(java)] UnsatisfiedLinkError Java의 UnsatisfiedLinkError Java의 UnsatisfiedLinkError는 실행 시 발생하는 오류로, 라이브러리를 찾지 못하거나 로딩하는 중에 문제가 발생하는 경우 생기는 오류다. 이 오류는 자바 프로그램을 실행할 때 발생하며, 라이브러리를 찾지 못하거나 로딩하는 중에 문제가 발생하는 경우 생기게 된다. UnsatisfiedLinkError의 예시 UnsatisfiedLinkError의 예시는 다음과 같다. java.lang.UnsatisfiedLinkError: /lib/libhello.so: libhello.so (libhello.so: cannot open shared object file: No such file or directory)위 오류는 다음과 같이 설명할 수 있다.. 2023.03.04
- [python] EOFError 파이썬 오류: EOFError1. 오류 설명EOFError는 End Of File (EOF), 즉 파일의 끝이나 입력의 끝에서 발생하는 오류입니다.주로 input() 함수가 더 이상 입력을 받을 데이터가 없는 경우 발생합니다.파일 작업 중에도 예상하지 못한 EOF 상황에서 발생할 수 있습니다.2. 오류 예시(1) input() 함수에서 EOFErrorname = input("이름을 입력하세요: ")만약 입력 스트림(예: 파일에서 읽는 입력)이 종료되거나, 사용자가 아무것도 입력하지 않고 프로그램이 EOF 상황을 만나면 오류 발생.(2) 파일 읽기에서 EOFErrorwith open('example.txt', 'r') as file: while True: line = file.readli.. 2024.11.19
- [자바(java)] TimeoutException TimeoutException TimeoutException 이란? TimeoutException은 Java에서 발생하는 예외 상황입니다. 이 예외는 코드 실행 중 일정 시간(타임아웃)이 초과되었을 때 발생합니다. 만약 타임아웃 시간 안에 요청한 작업이 완료되지 않으면 이 예외는 발생합니다. TimeoutException 예시 다음은 TimeoutException 예시를 보여주고 있습니다. try { // ... 실행할 코드 } catch (TimeoutException e) { // 실행 중 일정 시간(타임아웃) 이 초과되었을 때 예외 처리 System.out.println("타임아웃 예외가 발생했습니다: " + e); } 위 예시에서는 try 블록에서 실행할 코드가 있고, catch 블록에서는 Tim.. 2023.03.02
- [Spring] 빈을 찾을 수 없을 때 — NoSuchBeanDefinitionException과 UnsatisfiedDependencyException 1. 오류 설명: 빈을 못 찾는다는 것스프링 부트를 띄우다가 APPLICATION FAILED TO START 와 함께 required a bean of type ... that could not be found를 보는 것은 스프링 입문자가 가장 먼저 만나는 벽입니다.그런데 이 오류를 검색하면 글마다 예외 이름이 다릅니다. NoSuchBeanDefinitionException이라는 글도 있고 UnsatisfiedDependencyException이라는 글도 있습니다. 둘 다 맞습니다. 하나가 다른 하나를 감싸고 있기 때문입니다.UnsatisfiedDependencyException ← 실제로 던져지는 예외 (바깥) └ NoSuchBeanDefinitionException ← 원인 (안쪽)NoS.. 2026.08.31
- [python] ImportError ImportError1. 오류 설명ImportError는 Python에서 특정 모듈이나 패키지를 가져올 때 발생하는 오류입니다. 이 오류는 주로 다음과 같은 경우에 발생합니다:가져오려는 모듈이 설치되어 있지 않을 때.잘못된 경로에서 모듈을 가져오려 할 때.Python 버전에 따라 모듈이 호환되지 않을 때.모듈의 이름을 잘못 작성했을 때.2. 오류 예시다음은 ImportError가 발생하는 일반적인 예입니다.모듈이 설치되어 있지 않은 경우:결과:ImportError: No module named 'nonexistent_module'import nonexistent_module잘못된 경로에서 가져오려는 경우:결과:ImportError: cannot import name 'some_function' from .. 2024.11.22
프로그래밍
- [Spring] 순환 참조 — allow-circular-references가 안 통하는 이유 1. 오류 설명: 순환 참조두 빈이 서로를 주입받으면 스프링은 어느 쪽도 먼저 만들 수 없습니다. A를 만들려면 B가 있어야 하고, B를 만들려면 A가 있어야 하기 때문입니다. 스프링 부트는 이 상태를 감지하면 기동을 거부합니다.The dependencies of some of the beans in the application context form a cycle여기서 대부분의 자료가 spring.main.allow-circular-references=true를 해법으로 안내합니다. 스프링 부트가 출력하는 Action: 문구 자체가 그렇게 말하기 때문입니다.그런데 생성자 주입에서는 이 설정을 켜도 여전히 실패합니다. 이 글의 핵심입니다. 아래에서 세 가지 경우를 각각 실행해 비교했습니다.참고로 Spri.. 2026.09.04
- [Spring] NoUniqueBeanDefinitionException — 같은 타입 빈이 둘일 때 1. 오류 설명: NoUniqueBeanDefinitionExceptionNoUniqueBeanDefinitionException은 주입받을 타입의 빈이 둘 이상이라 어느 것을 넣어야 할지 정할 수 없을 때 발생합니다.빈을 못 찾는 오류와 정확히 반대 상황입니다. 하나도 없어서가 아니라 너무 많아서 실패합니다.빈이 0개 → NoSuchBeanDefinitionException (없어서 실패)빈이 1개 → 정상빈이 2개+ → NoUniqueBeanDefinitionException (많아서 실패)인터페이스 하나에 구현체를 여러 개 두는 것은 흔한 설계입니다. 결제 수단, 알림 채널, 파일 저장소처럼 전략이 갈리는 곳에서 자연스럽게 나옵니다. 그래서 이 오류는 설계가 잘못돼서가 아니라 선.. 2026.09.03
- [Spring] MethodArgumentNotValidException — @Valid 검증 실패를 클라이언트에 제대로 내려주기 1. 오류 설명: MethodArgumentNotValidExceptionMethodArgumentNotValidException은 @Valid가 붙은 요청 본문이 검증 규칙을 통과하지 못했을 때 발생합니다. @RequestBody로 받은 DTO에 @NotBlank, @Email, @Min 같은 제약이 걸려 있고 그중 하나라도 위반되면 스프링이 이 예외를 던집니다.여기서 진짜 문제는 예외 자체가 아닙니다. 기본 응답에 무엇이 틀렸는지가 하나도 담기지 않는다는 점입니다.스프링 부트는 이 예외를 자동으로 잡아 400 Bad Request를 내려줍니다. 그런데 그 응답에는 status, error, path만 있고 어느 필드가 왜 거부됐는지는 없습니다. 정작 그 정보는 서버 로그에만 남습니다.클라이언트 입장에.. 2026.09.01
- [Spring] 빈을 찾을 수 없을 때 — NoSuchBeanDefinitionException과 UnsatisfiedDependencyException 1. 오류 설명: 빈을 못 찾는다는 것스프링 부트를 띄우다가 APPLICATION FAILED TO START 와 함께 required a bean of type ... that could not be found를 보는 것은 스프링 입문자가 가장 먼저 만나는 벽입니다.그런데 이 오류를 검색하면 글마다 예외 이름이 다릅니다. NoSuchBeanDefinitionException이라는 글도 있고 UnsatisfiedDependencyException이라는 글도 있습니다. 둘 다 맞습니다. 하나가 다른 하나를 감싸고 있기 때문입니다.UnsatisfiedDependencyException ← 실제로 던져지는 예외 (바깥) └ NoSuchBeanDefinitionException ← 원인 (안쪽)NoS.. 2026.08.31
- [자바(java)] ArrayIndexOutOfBoundsException ArrayIndexOutOfBoundsException ArrayIndexOutOfBoundsException은 Java 개발에서 배열의 인덱스를 잘못 사용할 때 발생하는 예외입니다. 이 예외는 배열의 인덱스가 배열의 크기보다 크거나 음수일 때 발생합니다. 예시 다음은 ArrayIndexOutOfBoundsException이 발생하는 예시입니다. int[] array = new int[5]; // 배열의 크기보다 큰 인덱스를 사용하면 ArrayIndexOutOfBoundsException이 발생합니다. array[5] = 10; // ArrayIndexOutOfBoundsException // 음수 인덱스를 사용하면 ArrayIndexOutOfBoundsException이 발생합니다. array[-1] .. 2023.02.11
반응형