실전프로젝트(5)
-
항해99 - 실전프로젝트 10(모니터링, 설정파일 암호화)
백엔드 서버의 로그기록을 보고 싶다는 생각이 들었다. 그러나 현재 로그 기록은 EC2 인스턴스 내에 .log 파일로 존재하기에 EC2 인스턴스까지 들어가서 볼 수 밖에 없었다. 이 점을 해결하고자 자원까지 볼 수 있는 Spring Admin Server를 추가할려고한다. Spring Admin 이란 Spring Boot Actuator에 GUI를 입힌거라 보면 편하며 Spring Boot Actuator는 실행 중인 애플리케이션에 대한 운영 정보( 상태, 메트릭, 정보, 덤프, 환경 등) 를 노출 하는 라이브러리이다. 또한 깃허브에 올라가는 DB 설정 코드들이 외부에 노출되기에 이를 해결하기 위해서 설정파일을 암호화 할 수 있는 jasypt 라이브러리를 추가하겠다. 01. Spring Admin Serv..
2021.12.17 -
항해99 - 실전 프로젝트 09(Nginx + Let's Encrypt를 통한 https 구축)
이 프로젝트에서는 사용자 위치 기반 서비스를 제공하기로 약속하였다. 하지만 이 위치기반서비스를 사용하기 위해서 프론트 서버에는 https를 구축해야했고 https 서버는 http로 api 통신을 할 수가 없다. (반대로 http 서버가 https 서버로 통신은 가능하다.) 또한 http 포트는 보안상의 문제가 생길 수 있음으로 https를 구축하게 되었다. https에 관한 간단한 설명은 아래의 링크에 포스팅 해두었다. https://eating-salmon.tistory.com/83 HTTPS HTTPS 란 Hypertext Transfer Protocol Secure HTTP 프로토콜의 보안 버전입니다. 즉 기존의 HTTP 프로토콜 보다 안전하다는 이야기가 된다. 정보의 암호화 내가 어떤 웹사이트에 ..
2021.12.17 -
항해99 - 실전 프로젝트 09(무중단 배포 2)
앞에서 Github Action을 통해서 S3에 빌드된 zip 파일을 업로드 하고 CodeDeploy에 이를 알리는 것 까지 하였다. AWS에 Code Deploy를 만들고 배포 그룹만들고 EC2까지 연결해서 Code Deploy가 S3에 있는 빌드된 zip 파일을 가져오는 작업은 너무 길어서 아래 포스팅으로 대체하겠다. https://wbluke.tistory.com/40?category=418851 Github Actions + CodeDeploy + Nginx 로 무중단 배포하기 (2) CodeDeploy 소개 전 시간에 이어 다음으로는 Github Actions 에서 CodeDeploy 에게 S3에 있는 jar 파일을 가져가서 담당한 배포 그룹의 EC2에 배포해 줘! 라는 명령을 내릴 수 있도록 ..
2021.12.17 -
항해99 - 실전 프로젝트 06(API 제작 - JPA)
@GetMapping("/detail") public ResponseDto detailBoard(@RequestParam Long boardId){ DetailBoardDto detailBoardDto = boardService.getDetailBoard(boardId); return new ResponseDto(200L, "성공", detailBoardDto); } 실전프로젝트 초기에는 SQL query 문에 익숙하지 않았기에 설계된 API대로 API를 제작할 때는 JpaRepository 인터페이스를 이용하여 데이터를 CURD 처리하였다. 도메인 설계 스프링 3계층 컨트롤러(Presentation Layer) 클라이언트에서 요청된 요구사항을 서버측에서 받아준다. 요청에 따라 어떤 처리를 할지 결정해주..
2021.12.15 -
항해99 - 실전 프로젝트 05(스케쥴링 프로그래밍)
이전편 : https://eating-salmon.tistory.com/75 항해99 - 실전 프로젝트 04(외부 API, DB에 저장하기) 모든 API를 관리하는 Class 만들기 https://eating-salmon.tistory.com/74 항해99-실전프로젝트 02(공공데이타포털 api 사용하기) E-R 다이어그램 e-r 다이어그램이 나타내고 있는 날씨, 천문 데이터 엔티티 정보. eating-salmon.tistory.com spring 스케줄러 일단 스케쥴러는 아래 포스팅에서 다루었으니 개념정리는 넘어가겠다. https://eating-salmon.tistory.com/52?category=1233733 1. 스케쥴 클래스 만들기 @Component @RequiredArgsConstructo..
2021.12.13