🔒 SSL 인증서 만료와 재발급 하기 (feat. Let's Encrypt + Certbot)
·
개발 공부
✅ 개요HTTPS를 통한 안전한 통신을 위해 SSL 인증서는 필수이다.당신이 서비스를 배포해서 HTTPS를 적용하여 쓰고 있는데, 어느 날 브라우저가 "이 사이트는 안전하지 않음" 이라고 경고할 때, 대부분의 원인은 SSL 인증서 만료이다. 그리고, 그게 바로 오늘 나에게 생긴 일이었다. 그래서 해당 문제를 해결하기 위해 인증서를 재발급 받은 김에, SSL에 대한 설명과, 재발급 과정을 정리해보고자 한다.📌 SSL 인증서란?SSL(Secure Sockets Layer)은 클라이언트(브라우저)와 서버 간 통신을 암호화하여, 도청과 변조를 방지하는 보안 기술이다.현재는 TLS(Transport Layer Security)가 주로 사용되며, 'SSL 인증서'라는 용어가 관례적으로 유지되고 있다.인증서의 역할..
Spring Boot에서 공통 응답 / 예외 처리 로직 사용하기 (Custom Exception 사용하여 예외 처리하기)
·
개발 공부/Spring
에러 발생 시 전체적인 흐름1. 에러 발생 (비즈니스 로직 단계)예를 들어, 도메인 로직에서 특정 데이터를 찾지 못한 경우, 조건에 따라 아래와 같이 CustomException을 발생시킨다.if (user == null) { throw new CustomException(ErrorCode.USER_NOT_FOUND);}2. 예외 전파발생한 예외는 컨트롤러로 전파되며, 별도로 처리하지 않으면 스프링의 DispatcherServlet이 예외를 감지하게 된다.3. 전역 예외 처리스프링은 @RestControllerAdvice가 선언된 GlobalExceptionHandler클래스를 찾아 예외를 처리한다.CustomException인 경우, handlerCustomException 메소드가 호출되어,ex..
[헤드퍼스트 디자인패턴] 14장. 다양한 패턴 빠르게 알아보기 - 기타 패턴
·
스터디/객체지향
해당 게시물은 '헤드퍼스트 디자인패턴'을 읽고 내용을 정리한 글입니다.헤퍼디 스터디 링크: https://github.com/SSAFY11th-book-study/book-study브리지 패턴브리지 패턴은 구현과 더불어 추상화 부분까지 변경할 때 사용한다.브리지 패턴을 사용하면 추상화된 부분과 구현 부분을 서로 다른 클래스 계층구조로 분리해서 그 둘을 모두 변경할 수 있다.위 그림에서는 리모컨을 나타내는 부분과, 종류별로 다른 TV를 나타내는 부분으로 2개의 계층 구조를 만들었다.이것을 브리지로 연결했기 때문에 양쪽으로 서로 독립적으로 바꿔줄 수 있는 것이다. 빌더 패턴빌더 패턴은 제품을 여러 단계로 나눠서 만들도록 제품 생산 단계를 캡슐화할때 사용한다.빌더 패턴은 반복자 패턴과 유사하게 계획표 작성을 ..
[헤드퍼스트 디자인패턴] 13장. 패턴과 행복하게 살아가기 - 실전 디자인 패턴
·
스터디/객체지향
해당 게시물은 '헤드퍼스트 디자인패턴'을 읽고 내용을 정리한 글입니다.헤퍼디 스터디 링크: https://github.com/SSAFY11th-book-study/book-study디자인 패턴의 정의디자인 패턴의 정의는 다음과 같다.패턴(Pattern)은 특정 컨텍스트 내에서 주어진 문제의 해결책이다. 해당 정의에서 나오는 각각의 단어의 의미는 다음과 같다.컨텍스트(context)는 패턴이 적용되는 상황을 의미한다. 해당 상황은 반복적으로 일어날 수 있는 상황이어야 한다. (예: 객체들의 컬렉션이 주어져 있다.)문제(problem)은 컨텍스트 내에서 이뤄야 하는 목표를 뜻한다. 여기에는 컨텍스트 내의 제약조건도 포함된다. (예: 컬렉션의 구현을 드러내지 않으면서, 그 안에 있는 각 객체를 대상으로 순환 ..
[헤드퍼스트 디자인패턴] 12장. 패턴을 모아 패턴 만들기 - 복합 패턴
·
스터디/객체지향
해당 게시물은 '헤드퍼스트 디자인패턴'을 읽고 내용을 정리한 글입니다.헤퍼디 스터디 링크: https://github.com/SSAFY11th-book-study/book-study복합 패턴의 정의반복적으로 생길 수 있는 일반적인 문제를 해결하는 용도로 2개 이상의 패턴을 결합해서 사용하는 것.패턴 몇 개를 결합한다고 해서 무조건 복합 패턴이 되는 것이 아니며, 복합 패턴이라고 불리려면 여러 가지 문제의 일반적인 해결법을 제시해야 합니다. 오리 시뮬레이션 게임에서의 복합 패턴오리 시뮬레이션 게임을 다음과 같은 기능들과 함께 만든다고 생각해보자.오리 시뮬레이션 게임을 만든다.오리 예시에 거위를 추가한다.꽥꽥 소리의 횟수를 측정한다.오리를 생산하는 팩토리를 만든다.오리를 무리 단위로 관리한다.개별 오리의 행..
[헤드퍼스트 디자인패턴] 11장. 객체 접근 제어하기 - 프록시 패턴
·
스터디/객체지향
해당 게시물은 '헤드퍼스트 디자인패턴'을 읽고 내용을 정리한 글입니다.헤퍼디 스터디 링크: https://github.com/SSAFY11th-book-study/book-study원격 프록시의 역할원격 프록시는 원격 객체(JVM의 다른 주소 공간에서 돌아가고 있는 겍체)의 로컬 대변자 역할을 한다.여기서 로컬 대변자란, 로컬 대변자의 메소드를 호출하면 원격 객체의 메소드를 호출하는 것처럼 행동해주는 객체이다. 책에서는 뽑기 기계의 예시를 들었는데, Proxy가 원격 뽑기 기계(객체)의 역할을 대신해 주므로서, 클라이언트 객체에 해당하는 GumballMonitor는 Proxy 객체의 메소드를 호출하면서도, 원격 객체의 메소드 호출을 하는 것처럼 행동한다.이 때, 네트워크 통신과 같은 저수준 작업은 Pro..