1. Optional 사용 Java8 부터 추가된 문법. 요즘에는 Null을 직접 반환하는 대신 값이 없으면 Optional 을 사용하는 추세다. // 코드 1. 일치하는 값이 없으면 Null 반환 public Member findByLoginId(String loginId) { List all = findAll(); for (Member m : all) { if (m.getLoginId().equals(loginId)) { return m; } } return null; } // 코드 2. Optional 사용 public Optional findByLoginId(String loginId) { List all = findAll(); for (Member m : all) { if (m.getLoginI..
Docker, EC2를 사용한 Spring Boot 프로젝트 배포 에서, 먼저 .jar 파일을 생성한 후, Docker image를 Docker Hub에 push하고 EC2에서 Docker Image를 pull로 받아온 뒤, run 과정을 통해 배포를 하였다. 그런데 매번 main branch로 커밋이 발생할 때마다, 위의 과정을 수행하는 것은 너무 번거롭다는 생각이 들었다. 그리고 현재에는 EC2를 배포용으로만 사용하고 있지만, 추후 develop용 EC2도 생성하게 된다면, develop branch에 커밋이 발생할 때마다 동일한 과정을 수행해야 한다는 불편함이 존재한다. 1. GitHub Action, Docker를 이용하여 EC2에 배포 자동화 GithubAction, Docker, Ec2를 이용..
AWS 계정을 생성한 이후, 서비스를 사용하기 이전에 먼저 실행하면 좋은 것들 2가지에 대한 설명이다. 1번은 보안 관련, 2번은 비용 관련해서 유용한 것들이다. 1. 계정 Multi-factor Authentication(MFA) 설정 AWS에는 Root user와 IAM user가 있는데, Root user에서 MFA 설정은 필수적이다. P.S] IAM user도 MFA 설정이 가능하다. 검색 결과 실제로 MFA 설정을 하지 않아서, 해킹으로 인해 AWS 요금이 자신이 사용한 것 이상으로 나온 경우가 종종 있다고 한다. AWS 로그인 이후, 내 계정 > Security credentials을 클릭한다. 멀티 팩터 인증 -> MFA 활성화 이후 핸드폰에 Google Authentication 등의 어플..
참고링크1 참고링크2 기존에 개인 프로젝트를 진행할 때는, EC2에 Tomcat Servlet 프로젝트 배포 문서처럼 GitHub에서 수정 사항이 발생할 때마다, git pull, tomcat 중단 후 재실행 등 여러 명령어를 매번 입력하던 번거로움이 존재하였는데, 참고 링크 2처럼, 배포 스크립트를 .sh 파일로 만들어서, 변경 사항이 발생할 때마다 여러 명령어를 한 번에 수행하거나, 아래에서 Docker Images를 생성하는 등 배포 과정을 단순화한다면 훨씬 더 효율적으로 프로젝트를 진행할 수 있겠다는 생각이 들었다. 1. Docker 도커를 쓰는 이유 Top 5 Advatages of using Docker Why should I use docker with ec2? Why not ec2 alon..