2023/11 3

스프링 부트 2.x 에서 3.x 로 버전 업 시 발생하는 이슈

개요 스프링 부트 2.x 에서 3.x 로 마이그레이션하면서, 여러 이슈가 있었는데, 그 중org.apache.httpcomponents.client5 의존성은 개인적으로 까다롭고, 바뀐 버전에 대해 정확히 알아보고 사용해야 할 것 같아 정리한다. pom.xml 수정 BEFORE org.apache.httpcomponents httpclient 4.5.13 AFTER org.apache.httpcomponents.client5 httpclient5 5.2.1 RestTemplate 버전 업 이후, RestTemplate설정 부분에서 에러가 발생하였다. 원인은 Spring Framework 6(스프링 부트 3.x)에서 HttpClient 4 라이브러리가 삭제되었기 때문이다. 아래 스프링 공식문서 참고 Dep..

JVM & 클래스 로더란?

JVM (Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환(인터프리터와 JIT 컴파일러)하여 실행한다. JRE (Java Runtime Environment): JVM + 라이브러리 자바 애플리케이션을 실행할 수 있도록 구성된 배포판. JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일을 가지고 있다. 개발 관련 도구는 포함하지 않는다. (그건 JDK에서 제공) JDK (Java Development Kit): JRE + 개발 툴 JRE + 개발에 필요할 툴 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적. 오라클은 자바 11부터는 JDK만 제공하며 JRE를 따로 제공하지 않는다...

가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 3장(시스템 설계 면접 공략법)

효과적인 면접을 위한 4단계 접근법 책에서 제시하는 효과적인 면접을 위한 4단계 접근법이 있다. 해당 내용은 면접에도 유용하게 사용될 수 있지만, 문제 해결이나, 토론, 회의 등에도 유용하게 사용할 수 있는 방법론인 것 같다. 1단계 문제 이해 및 설계 범위 확정 먼저 시스템을 구축 OR 어떤 질문에 대한 답을 하기 전에, 구체적인 요구사항을 질문하는 것이 좋다. 아래는 몇가지 예시이다. 구체적으로 어떤 기능을 만들어야하는지? 사용자 수는 얼마나 되는지 회사 규모는? 기한은 언제까지인지? 회사가 주로 사용하는 기술 스택은 무엇이고, 어떤 모듈들을 사용중에 있는지? 2단계 개략적인 설계안 제시 및 동의 구하기 해당 단계에서 초점을 맞추어야 할 것은 개략적인 설계안을 제시하고 면접관의 동의를 얻는 것이다. ..

728x90