분류 전체보기(83)
-
항해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 - 실전 프로젝트 08(무중단 배포 1)
https://wbluke.tistory.com/39?category=418851 Github Actions + CodeDeploy + Nginx 로 무중단 배포하기 (1) 개요 안녕하세요! 이번 시리즈에서는 제목에서와 같이 Github Actions 와 CodeDeploy, 그리고 Nginx 를 사용하여 하나의 서버에서 최소 규모의 무중단 배포를 진행하는 방법에 대해 정리해보려고 합니다. wbluke.tistory.com 위 블로그 글을 참고해서 만들었다. 무중단배포를 통해서 백엔드 서버를 중단없이 곧바로 수정된 코드를 빌드하고 서버를 교체할 수 있다. 이런 간편한 유지보수를 위해서 이번 프로젝트에 구축하였다. 실제로 gitAction + CodeDeploy + nginx로 무중단배포를 구축하고 싶다면..
2021.12.17 -
항해99 - 실전 프로젝트 07(API 제작 - QueryDsl)
저번 포스팅에서는 JPA의 연관관계를 통해서 DTO를 만들어 API를 제작하였다. 하지만 이 방식은 한 API에 수많은 Query문이 필요하게되고 궁극적으로는 엄청난 시간이 소모된다. 그렇기 때문에 결론적으로는 복잡한 DTO를 만들기 위해서는 Join을 통해서 한번에 데이터를 가져오는 SQL 문이 필요하게 되고 이 SQL문을 쉽고 간편하게 쓰기 위해서 이번 프로젝트에서는 QueryDSL 라이브러리를 추가하였다. 예시 API 요청 메시지 sort : 정렬 키워드 like 좋아요순 star 별관측지수순 latest 최신순 cityName : 지역 검색 offset : 페이지 offset 커뮤니티 게시판의 글 목록을 불러오는 api이다. 정렬은 글의 좋아요순, 별관측지수순, 최신순으로 정렬이 가능하고 기존에는..
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 -
HTTPS
HTTPS 란 Hypertext Transfer Protocol Secure HTTP 프로토콜의 보안 버전입니다. 즉 기존의 HTTP 프로토콜 보다 안전하다는 이야기가 된다. 정보의 암호화 내가 어떤 웹사이트에 보내는 정보를 다른 누군가 훔쳐보지 못하게 한다. 로그인 창에 id 와 pw를 입력하고 로그인 버튼을 누르게 된다면 인터넷을 통해서 이 정보가 날라가게 된다. 이 때 그냥 http 방식으로 데이터를 보내게 된다면 이 id 와 pw 내용이 입력한 텍스트 그대로 누구나 볼 수 있게 보내어지게 된다. http는 서버만이 이 내용을 알 수 있도록 뒤죽박죽이 된 텍스트로 변경하여 보내게 한다. 신뢰할 수 있는 사이트 내가 보내는 데이터의 서버가 신뢰할 수 있는 사이트인지 확인할 수 있다. 만약 기존의 신뢰..
2021.12.13 -
항해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