전체 글
-
Docker 컨테이너 실행 실패할 때 컨테이너 내부 파일 시스템 확인하는 방법Docker 2024. 4. 12. 16:58
컨테이너가 실행 실패하거나 바로 종료되는 경우에도 몇 가지 방법으로 컨테이너 내부 파일 시스템을 확인할 수 있다. 여기에는 docker cp 명령어를 사용하는 방법, docker commit을 활용하는 방법, 그리고 컨테이너를 실행할 때 특정 명령어를 오버라이드하여 진입하는 방법 등이 있다. 1. docker cp 명령어 사용하기 실행 실패로 종료된 컨테이너가 있고, 그 컨테이너의 ID 또는 이름을 알고 있다면, docker cp 명령어를 사용하여 호스트 시스템과 컨테이너 간에 파일을 복사할 수 있다. 이 방법으로 컨테이너 내부의 파일이나 디렉토리를 호스트 시스템으로 가져올 수 있다. docker cp :/path/to/container/file/or/directory /path/to/host/desti..
-
MySQL에서 time zone offset을 지정하여 데이터 삽입하기MySQL 2024. 4. 10. 19:27
MySQL에서 time zone offset 사용해보기 다음과 같은 쿼리문은 MySQL에서 실행이 잘 될까? INSERT INTO ts (col) VALUES ('2020-01-01 10:10:10'), ('2020-01-01 10:10:10+05:30'), ('2020-01-01 10:10:10-08:00'); MySQL 서버 버전에 따라 다르다. MySQL 8.0.19 부터 TIMESTAMP와 DATETIME 타입의 컬럼에 데이터를 삽입할 때, time zone offset을 지정할 수 있다. 그 이하의 버전에서 위의 쿼리를 실행하면 다음과 같은 에러를 볼 수 있다. [22001][1292] Data truncation: Incorrect datetime v..
-
Spring Boot : ProblemDetailsExceptionHandlerSpring Boot 2024. 4. 10. 18:55
ProblemDetail ProblemDetail은 Spring Framework 6.0에 추가된 REST API의 에러 응답 표준이다. RFC 7807에 정의되어 있다. 참고: https://docs.spring.io/spring-framework/docs/6.0.7/reference/html/web.html#mvc-ann-rest-exceptions 아래는 간단히 Spring Boot의 기본 에러 응답을 ProblemDetail로 설정하는 방법을 설명한다. ProblemDetailsExceptionHandler 에러 응답 예시 아래는 Spring Boot의 기본 에러 응답을 ProblemDetail로 설정했을 때의 에러 응답 body이다. { "type": "about:blank", "title": ..
-
Spring Boot : Default Error Response : 기본 에러 응답Spring Boot 2024. 4. 10. 18:33
개발 환경 Java 21 Spring Boot 3.2.4 기본 에러 응답 Spring Boot에서 아무 설정도 하지 않고 RestController 구성하여 예외 발생시키면 다음과 같은 형태의 response body를 응답한다. { "timestamp": "2024-04-05T13:37:51.440+00:00", "status": 405, "error": "Method Not Allowed", "path": "/" } 어디에서 기본 에러 응답 body를 만드나? 어디에서 어떤 과정을 거쳐 이런 형태의 에러 응답을 하는지 궁금하여 간략하게 정리해보았다. 아래에 그 과정에서 알게된 몇 가지 설정도 적어두었다. 아래에서 1차 처리 package org.springframework.web.servlet.mvc..