이번에 다룬 내용은 토비님과의 스터디에서 시작하여 토비님의 강의와 영한님의 강의 및 직접 학습하며 배운 내용들을 기반으로 작성되었습니다. 추가할 내용 있으면 공유 부탁드리겠습니다! 감사합니다:) 1. 스프링 부트(SpringBoot)의 탄생 배경, 컨테이너리스(Containerless) 웹 애플리케이션 아키텍처 [ 기존의 스프링 배포 방식 ] 스프링 부트가 없었던 환경에서는 배포를 하려면 다음의 번거로운 작업을 거쳐야 했다. 톰캣 같은 웹 애플리케이션 서버(WAS) 설치 애플리케이션 코드를 WAR로 빌드 빌드한 WAR 파일을 WAS로 옮기고(배포) WAS 실행 이러한 작업은 톰캣과 같은 WAS를 서버에 직접 설치해야 하므로 상당히 번거로울 뿐만 아니라 개발 환경 설정과 배포 과정도 복잡하는 등 많은 단점..
아래의 내용은 일론 머스크가 직원들에게 보내준 메일의 내용을 번역한 것입니다. 모든 부분에서 굉장히 공감이 많이 갔고, 이미 번역본이 많지만 개인적으로 소장 + 혹시 모르는 분들에게 공유하기 위해 작성하였습니다. 1. 일론 머스크의 생산성을 위한 법칙들 큰 규모의 미팅은 피하라 잦은 회의 역시 피하라 가치를 느끼지 못하는 회의는 멈춰라 뜻이 통하지 않는 단어는 사용하지 마라(줄임말, 전문 용어 등) 동료들과 직접 소통하라 상식적으로 일하라 [ 큰 규모의 미팅은 피하라 ] 과도한 미팅은 큰 기업들에게 엄청난 해악이며, 거의 항상 시간이 지남에 따라 악화된다. 모든 참여자들에게 가치를 제공한다는 확신이 서지 않는다면 모든 대규모 회의를 제거하라. 만약 필요하다면 가능한 짧게 유지하라. [ 잦은 회의 역시 피..
아래의 내용은 Nginx 설정을 정리한 부분입니다. 관련 코드는 깃허브에 올려두었고, 가능한 모든 부분에 주석을 남겨두었으니, 상황에 맞게 수정해서 사용하시면 됩니다. 1. Nginx 예시/샘플 설정 공유 [ Nginx 설정 파일들 ] 실무에서 사용되는 Nginx 설정은 꽤나 복잡한데, 이를 아래와 같이 분리하였습니다. mime.types: Nginx 서버에서 처리할 MIME 타입 모음 upstream.conf: upstream(서버 그룹)을 모아둔 설정 파일 header.conf: 요청을 다른 서버로 프록시할 때, 전달해주는 헤더 설정 파일 ssl.conf: SSL과 관련된 설정 파일, SSL 인증서 파일을 경로로 참조함 ssl-server.conf: SSL 요청(443 포트)로 들어오는 요청과 관련된..
이번 포스팅은 문제가 발생하였을 때, 어떻게 장애를 인지하고, 원인을 찾고, 조치 및 대응을 하였는지에 대한 흐름을 기록하기 위해 작성하게 되었습니다. 에러 자체는 대응하기 어려웠던 문제는 아니지만, 문제 상황에서 어떻게 대처하는지 궁금하신 분들께 도움이 되었으면 좋겠습니다. 1. The last packet successfully received from the server was 12,345,678 milliseconds ago 에러 대응하기 [ 문제 상황 인지하기 ] 현재 사내에서는 APM 도구인 핀포인트와 로그 수집 도구인 넬로 등을 활용하여 문제 상황을 인지하고 파악하고 있다. 에러 알람이 와서 확인해보니, 다음과 같은 에러가 발생하고 있었다. org.springframework.dao.Reco..
이번에는 Spring6에 새롭게 추가된 HttpInterface에 대해 알아보도록 하겠습니다. 아래의 내용은 토비님 영상에서 정보를 얻어 공식 문서를 바탕으로 개인적인 학습을 하며 정리한 내용입니다. 1. HttpInterface란? [ HttpInterface 소개 및 사용법 ] 스프링의 HttpInterface는 HTTP 요청을 위한 서비스를 자바 인터페이스와 어노테이션으로 정의할 수 있도록 도와준다. 그리고 해당 서비스를 구현하는 프록시 객체를 생성하면 이를 통해 손쉽게 HTTP 요청을 보낼 수 있다. HttpInterface를 사용하는 방법은 다음과 같다. 먼저 다음과 같이 인터페이스를 구현한다. import org.springframework.web.service.annotation.GetExc..