Nginx를 사용하여 단일 인스턴스에서 여러 도메인에 로드밸런싱과 HTTPS 연결하여 안전하게 운영하는 법에 대해 알아보겠습니다. 1. 도메인 구입하기가비아 사이트에서 1년 할인 받아서 15,000원에 구입하였습니다. 2. AWS route 연결AWS route에서 호스팅을 생성합니다. 호스팅 이름은 도메인을 맞춰서 진행하였습니다. 아래 사진을 보면 총 레코드가 5개인데 그 중 2개는 기존에 만들어져 있었고 3개 레코드를 생성합니다.이름 : seolyu.com 유형 : A 값 : 퍼블릭 IPv4 주소이름 : api.seolyu.com 유형 : A 값 : 퍼블릭 IPv4 주소이름 : www.seolyu.com 유형 : CNA..
다국적 고객을 대상으로 하는 서비스에서는 사용자 경험을 높이기 위해 다양한 언어로 메세지를 제공해야 합니다. 이 과정에서 MessageSource, Locale, MessageCode와 같은 요소들이 필요합니다. 그러나 이러한 요소로 인해서 다국어 메세지 처리가 애플리케이션에서 문제점을 낳게 되는데, 어떤 문제점이 있는지 어떻게 해결했는지 살펴보도록 하겠습니다. 개발환경 : Java 11, SpringBoot 2.7.71. 문제점 - 의존성 증가와 복잡한 코드주문 조회 예제 코드OrdersController 클래스public class OrdersController { private final OrdersService ordersService; @GetMapping("/order/{o..
들어가며 자바 언어를 공부하면서 인터페이싱과 추상화에 대해 이론적으로 공부는 어느정도(많이?) 했다. 처음에 인터페이스 클래스 썼을 때 서비스 클래스를 만들면 그 해당 서비스의 인터페이스 클래스를 만들어서 상속 받아 처리하는 구조로 썼지만 "왜 이렇게 해야하지? 이러면 불필요한 클래스 하나 더 추가하는 게 아닌가?" 생각이 들곤 했다. 이번에 다시 공부하면서 왜 사용하는지? 어떻게 써야 좋은건지? 어떤 경우에 써야하는지? 질문에 대한 답을 찾은 거 같아서 글을 남기기로 하였다. 요구사항 요구사항은 메세지 발송 기능이다. 메세지 발송 종류는 이메일 발송, 카카오 알림톡 발송, 앱 푸쉬 발송 3가지가 있다. 각 메세지 발송마다 여러가지 형태가 존재한다. 예를 들어 카카오 알림톡일 경우 메세지 종류는 자유형식..
들어가며전략 패턴 정의는 각각의 알고리즘 군을 교환이 가능하도록 별도로 정의하고 각각 캡슐화한 후 서로 교환해서 사용할 수 있는 패턴이다. 이 패턴을 적용시키기 위해서 회원 정보와 결제 정보를 외부에 요청을 보내는 서비스에 적용해보았다. 또한 제네릭을 통해 각각 VO 객체를 보낼 수 있도록 유연함도 추가하였다. 큰 구조로 보면 요청을 보내는 인터페이스와 각각 전략을 넣을 수 있는 구현 클래스들로 구성된다.코드 설계GateRequestService.javapublic interface GateRequestService { void request(T object);}외부에 요청을 보내는 메서드 생성제네릭 vo 객체를 받을 수 있도록 설정GateRequestSignUpService.javaGateRequ..