Spring Boot + Thymeleaf template + Mailjet 메일 전송(feat. noreply 계정)
Spring에서 메일을 보낸다고 하면 JavaMailSender 클래스로 보내는 방법이 가장 많이 나옵니다. 저 역시 개발 과정에서는 저의 구글 계정 설정을 변경하여 메일 전송을 테스트했습니다.
하지만 운영 환경에서도 제 계정으로 보낼 수는 없습니다. 우선, 보내는 계정이 noreply@company.com였으면 하고, 한꺼번에 다량을 메일을 보낼 수 있어야 하기 때문입니다.
그래서 오늘은 Mailjet으로 메일을 전송하는 방법을 찾아 적용했습니다.
사전 작업: Mailjet에서 계정 생성
왜 Mailjet을 선택했는가?
저희 회사는 Google Cloud Platform의 VM 인스턴스, 그리고 쿠버네티스를 ...
Spring Boot + Netty TCP 소켓 서버 (3) SSL 적용한 에코 서버 구현
지난 글에서는 스프링에 네티를 적용한 기본 에코 서버를 구현해보았습니다.
이제 이 프로젝트에 SSL 인증서를 적용하여 클라이언트와 통신할 수 있도록 구현해보겠습니다.
큰 구조는 지난 글의 코드를 따르며, 본 글에서는 추가되는 부분만 다루겠습니다.
사전 작업: SSL 인증서 발급 및 추가
서버에 인증서 적용
무료 인증서 발급
SSL 인증을 적용하려면 SSL 인증서를 발급 받아야 합니다. 운영 환경에서는 공인된 기관에서 발급 받은 유료 인증서를 사용해야 하지만, 본 글에서는 테스트를 위해 90일 무료로 사용할 수 있는 인증서를 사용하겠습니다.
💡 무료 인증서는 ZeroSSL 사이트에서 발급 받았습니다. UI가 ...
Spring Boot + Netty TCP 소켓 서버 (2) 기본 에코 서버 구현
프로젝트 생성하기
업무에서 구현한 서버는 gradle 멀티 프로젝트로 구현되어 있습니다. 그리고 네티 소켓 서버는 하위 프로젝트 중 하나입니다. 본 글에서는 단일 프로젝트로 생성하는 방법으로 작성하겠습니다.
스프링 프레임워크에 네티를 적용하는 전체 구조는 만티스쿠바님의 깃허브를 참고했습니다.
그 안에서 동작하는 네트의 구성 요소는 Netty 공식 홈페이지를 참고했습니다.
본 서버는 TCP 기반의 서버로, 스트림 기반(stream-base) 송수신입니다. 스트림 기반에서는 데이터가 소켓 내 receive buffer에 쌓입니다. 그리고 이 데이터는 패킷 단위로 쌓이지 않고, 바이트 배열로 쌓입니다.
즉, 클라이...
Spring Boot + Netty TCP 소켓 서버 (1) 프레임워크 선택 배경
배경
회사에서 데이터 동기화를 위한 RESTful API를 개발하고 있습니다. 모바일이나 PC 애플리케이션에서 API를 활용할 때는 큰 이슈는 없었습니다. 하지만 LTE 망을 사용하는 기기에서 HTTPS 프로토콜 기반의 기존 API를 사용하려고 하니 문제가 생깁니다.
우선 해당 기기는 한 번 연결을 하기가 너무 어렵습니다. LTE 특성 때문인지 연결하기가 힘들어 한 번의 요청-응답으로 연결이 종료되는 HTTP(S) 프로토콜은 적절하지 않았습니다.
또, 이 기기는 한 번에 보낼 수 있는 데이터의 양이 한정되어 있습니다. 필수 데이터만 보낸다 해도 여러 조각으로 나누어 보내야 합니다. 기존의 API는 데이터를 JSON...
Linux 기초 (1) CLI와 쉘이란?
💡 본 글은 솔데스크 ‘리눅스 시스템 디자인 및 고급 활용 - LEVEL1’ 강의 수강 내용을 바탕으로 정리하였습니다.
Linux(리눅스)란?
UNIX에 기반을 둔 운영체제. 리눅스는 오픈소스 소프트웨어로써 누구든지 연구, 수정, 공유가 가능하다.
리눅스는 다음의 경우에서 많이 쓰인다.
애플리케이션을 호스트(클라우드 컴퓨팅에서 클라우드 인스턴스로 Linux 운영체제를 선택하는 경우가 많음)
IoT의 장치의 운영체제
명령줄 엑세스
리눅스의 강점 중 하나인 CLI(Command-line Interface, 명령줄 인터페이스).
CLI는 사용자와 컴퓨터가 문자열로 상호작용하는 방식이다. 사용자는 명령어로...
전체 글 36개, 8 페이지