MDC(Mapped Diagnostic Context) 멀티 클라이언트 환경에서 다른 클라이언트와 값을 구별하여 로그를 추적할 수 있도록 제공되는 map이다. ThreadLocal에 구별할 수 있는 키 값을 저장하여 Thread가 존재하는 동안 계속해서 사용할 수 있도록 하는 방법으로 현재 log4j 및 logback만 MDC기능을 제공하고 있다. 애플리케이션에서 MDC 사용하기 springboot 2.1.1 , jdk 1.8 1. 의존성 주입 springboot 환경에서는 spring-boot-starter-web을 의존성으로 추가하면 logback이 기본으로 포함되어 있다. maven org.springframework.boot spring-boot-starter-web gradle dependenc..
이미지를 불러 오는 부분에서 해당 에러 발생 javax.imageio.IIOException: Unsupported Image Type javax.imageio.IIOException: Unsupported Image Type at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1063) at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1034) at javax.imageio.ImageIO.read(ImageIO.java:1448) at javax.imageio.ImageIO.read(ImageIO.java:1308) 이미지 타..
백기선님의 강의 의 1부 JVM 이해하기를 보고 작성한 글입니다. 1. JAVA, JVM, JDK, JRE JVM (Java Virtual Machine) - 자바 가상 머신으로 자바 바이트 코드(.class 파일)를 OS에 특화된 코드(머신 코드)로 변환(인터프리터와 JIT Compiler)하여 실행한다. - 바이트 코드를 실행하는 표준이자 구현체(특정 벤더가 구현한 JVM)다. - JVM 밴더 : 오라클, 아마존, Azul.. etc - 특정 플랫폼(OS : Windows, MacOS .. etc)에 종속적이다. JRE(Java Runtime Environment) : JVM + 라이브러리 - 자바 애플리케이션을 실행할 수 있도록 구성된 배포판. - JVM과 핵심 라이브러리 및 자바 런타임 환경에서 ..
Unsupported major.minor version 52.0(unable to load class com.exam.controller.ExamController) 원인 : 개발 서버/ 운영 서버는 JDK 1.7을 사용하고 있는데, 로컬에서 JDK 버전 업그레이드 테스트 하려고 사용하는 JDK 1.8로 컴파일한 파일을 개발 환경에 올려서 발생한 에러이다. 즉 컴파일한 JDK 버전보다 낮은 버전의 운영환경에서 실행할 때 버전이 맞지 않아서 발생. 해결 : 로컬에서 해당 파일을 JDK 1.7로 컴파일하여 반영 JAVA 버전과 일치하는 클래스 파일 형식 major version number of the class file format being used. Java SE 14 = 58 (0x3A hex), ..
다른 서버와 API 통신을 하려고 하니 아래와 같은 에러를 받게 되었습니다. javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 구글에 검색을 해보니, API 통신을 하는 서버와 클라이언트가 서로 사용하는 SSL/TLS 버전이 맞지 않아서 나타난 에러 였습니다. 이미지 출처 : https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https 제가 운영하는 서버는 JDK 8을 사용하여 TLSv1.2 버전의 TLS Protocols를 사용하고 있습니다. 운영팀에 요청을 해서 client(통신 서버)에서 TLSv1.0으로 요청을 보내는 것을 확인하였고, ..
부끄럽지만 Validation anotation 을 사용하면서 아래와 같이 NotNull은 null만 체크하고 NotEmpty는 ""만 체크하는 줄 알고 아무 생각없이 사용했습니다. @NotEmpty @NotNull @JsonProperty("phoneNumber") private String phoneNumber; @NotEmpty @NotNull @JsonProperty("privateYn") private String privateYn; 처음에는 이렇게 해도 잘 검증이 되어 사용하다가 privateYn 변수의 타입을 boolean으로 바꿀일이 있었습니다. @NotEmpty @NotNull @JsonProperty("phoneNumber") private String phoneNumber; @NotE..
Api 통신 작업을 하다가, Timeout Exception을 catch하여 처리해야 하는 상황이 있습니다. try{ //api 통신 restTemplate.postForEntity(...) } catch (HttpStatusCodeException e) { Result result = ResultCode.builder().memberStatusCode(....).build(); result.setResultCode(ServiceError.COMMON_SYSTEM_ERROR.getCode()); result.setResultMessage(e.getResponseBodyAsString()); return result; }catch (RestClientException re){ if(re.getRootCau..
5.Chapter05 : 참조 타입 5.1 데이터 타입 분류 자바의 데이터 타입에는 크게 기본타입(원시 타입 : primitive type)과 참조 타입(reference type)으로 분류된다. 기본 타입이란 정수, 실수, 문자, 논리 리터럴을 저장하는 타입을 말한다. 참조 타입이란 객체(Object)의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입을 말한다. 기본 타입으로 선언된 변수와 참조 타입으로 선언된 변수의 차이점은 저장되는 값이 무엇이냐이다. 기본 타입은 실제 값을 변수안에 저장하지만, 참조 타입은 선언된 변수의 메모리의 번지를 값으로 갖는다. 번지를 통해 객체를 참조한다는 뜻에서 참조 타입이라고 부른다. 변수는 스택영역에 생성되고 객체는 힙 영역에 생성된다. [기본 타입 ..
- Total
- Today
- Yesterday
- 슬랙 /
- SpringBoot
- Slack
- 이것이 자바다
- visual studio code
- 뱅셀 유전자
- springboot https
- java
- 다중 업데이트
- 몽고DB 완벽가이드
- gradle
- update query set multiple
- update query mutiple row
- 슬랙봇
- 뱅크샐러드 유전자
- update query multi row
- 싱글턴
- 이펙티브자바
- multiple row update
- vue.js
- 뱅크샐러드
- update set multi
- 업데이트 쿼리
- update query
- 슬랙
- update set multiple
- MSSQL
- spring-boot-starter-data-redis
- 그레이들
- effectivejava
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |