Back-end/Spring(12)
-
하드코딩을 피하기! (상수 사용, StringBuilder 사용)
하드코딩이란? 프로그램의 소스코드에 데이터를 직접 입력해서 저장하는 것. 주로 파일 경로, URL 또는 IP 주소, 비밀번호, 화면에 출력될 문자열 등이 대상이 된다. 하드코딩의 문제점 의미를 파악하기 어렵다. public Car(int position) { this("orange", position); } public Car(String name) { this(name, 0); } 2. 유지 보수하기 어렵다. /* 월 원금을 구하는 메서드 */ public static double calculateMonthlyPrincipal(int principal) { return principal / 12; } /* 월 이자를 구하는 메서드 */ public static double calculateMonthly..
2022.03.30 -
[ubuntu] nginx let's encrypt로 https 적용시키기
https://happylulurara.tistory.com/146 가비아 도메인 적용 EC2 ubuntu 가비아나 다른 사이트를 통해 도메인을 적용하도록 한다. 일단 '가비아'를 검색해서 사이트로 들어갔다. 가비아로 들어가서 원하는 도메인 이름을 넣고, 아래 선택지 중 원하는 것으로 '선택'을 happylulurara.tistory.com 가비아 도메인 사서 적용시키기 https://happylulurara.tistory.com/147 [ubuntu]nginx let's encrypt로 https적용 happylulurara.tistory.com/146 가비아 도메인 적용 EC2 ubuntu 가비아나 다른 사이트를 통해 도메인을 적용하도록 한다. 일단 '가비아'를 검색해서 사이트로 들어갔다. 가비아로 ..
2022.03.30 -
AWS EC2 서버가 갑자기 꺼졌다! 혹은 느려졌다?
요즘 항해99 실전프로젝트 기간이라 많은 삽질을 경험하느라 새벽 6~7에 자는게 습관이 되었다. 그래서 최소 12시까지는 자다가 깨는데, 그전에 카톡의 알람을 살짝 확인만 하고 다시 자려고 했었는데.... 그런데!!! 백앤드 서버가 꺼졌다는 카톡이였다!!!! 울조 세명중 현재 스프링 서버를 맡고있는 건 나 아닌가!!! (배포자동화와 무중단배포를 전담하여서...ㅜㅜ) 그말은 즉 잠자리에서 바로 일어나야한다는 말이다! nginx 로 8081, 8082 두 포트가 nohup으로 돌려져 있었는데 무슨상황인지 ubuntu로 접속해보았더니 ec2에 접속이 되지 않는다... 이런 상황은 처음이라 당황스럽다;;; AWS에 접속하여 ec2 인스턴스를 확인해보니 인스턴스의 상태는 실행중이지만... 상태검사에 2/2개 검사..
2022.03.29 -
무중단배포 & 배포자동화(Github Actions + CodeDeploy + Nginx)
배포자동화(CI/CD) CI : 테스트, 빌드 자동 (도구로 Github Actions을 사용) CD : 배포 자동 (도구로 CodeDeploy를 사용) 무중단배포 무중단 배포 (도구로 Nginx를 사용) 배포 플로우 Github Actions에서 프로젝트 빌드 후, jar 파일을 압축해서 S3에 업로드합니다. 이어서 CodeDeploy에게 S3에 있는 jar 파일을 가지고 배포를 진행해달라고 전달합니다. CodeDeploy는 배포할 EC2 인스턴스 내부에 있는 CodeDeploy Agent에게 배포 명령을 내리고, Agent는 jar 파일을 S3에서 받아서 주어진 스크립트에 따라 배포를 진행합니다. 새로운 Spring Boot WAS를 띄우고, Nginx 스위칭을 통해 무중단 배포를 할 수 있도록 Ag..
2022.03.22 -
@RequiredArgsConstructor
의존성주입의 종류로는 Constructor(생성자),Setter,Field 타입이 있다. Constructor(생성자) public class ExampleCase { private final ChocolateService chocolateService; private final DrinkService drinkService; @Autowired public ExampleCase(ChocolateService chocolateService, DrinkService drinkService) { this.chocolateService = chocolateService; this.drinkService = drinkService; } } Setter public class ExampleCase{ private..
2022.02.13 -
Spring : 게시판 : 내림차순 : 최신순으로 하는 법
1. BoardRepository 에서 List findAllByOrderByModifiedDateDesc(); 를 추가한다. public interface BoardRepository extends JpaRepository { List findAllByOrderByModifiedDateDesc(); // 다찾아줘 수정된 날짜기준으로 내림차순 // ************************************************** } //public interface BoardRepository extends JpaRepository { // ***************************************************** // //} Desc는 descend의 줄임말로서 내려오다 ..
2022.01.25