반응형

전체 글

Github: https://github.com/Moojun
반응형
Spring Boot/Test Code

Junit5] 테스트 코드 작성 원칙 정리

1. Test class, test methods, and lifecycle methods are not required to be public, but they must not be private. IntelliJ에서 test class를 만들면 아래와 같은 양식으로 만들어진다. 하지만 Junit5 부터는 class 명칭 앞에 public 을 생략해도 상관없다. Junit5 Document 2.3에서, 기술적인 문제가 없다면 test class, test methods, and lifecycle methods에 public 을 붙이는 것을 권장하지 않는다고 작성되어 있다. class SessionManagerTest { } 2. JpaRepository에서 테스트 코드를 어느 정도까지 작성해야 하는가?..

멘질멘질] 2023 졸업 프로젝트

Spring Boot] CORS 해결

요약: Filter를 사용해서 CORS 문제를 해결하였음 1. WebMvcConfigure 상속 결과: CORS 문제를 해결하지 못하였다. @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry corsRegistry) { corsRegistry.addMapping("/**") // .allowedOrigins("http://localhost:3000") .allowedOriginPatterns("*") .allowedMethods("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS") .allowedHeader..

RDB

MySQL 백업 및 복원

SQL Query를 작성 중에 Query문을 잘못 실행해서, 약 100개의 row가 날아갔다. 이후 구글링을 통해 실행한 Query를 취소하는 방법을 찾아보았으나, 안타깝게도 실행을 취소하는 방법은 존재하지 않는 것으로 보인다. 따라서, 앞으로 복잡한 작업을 할 때에는 적절한 시점에 data를 백업하면서 진행하려고 한다. 방법1] mysqldump 사용 예시로 사용할 데이터베이스 db, 계정 정보 DB Name: test1_db table: test1_table 사용자 계정: user password: 1234 MySQL DB 백업하기 # 명령어 mysqldump -u [사용자 계정] -p [원본 데이터베이스명] > [생성할 백업 DB명].sql # 사용 예시 mysqldump -u user -p tes..

멘질멘질] 2023 졸업 프로젝트

Spring Boot] 프로젝트를 진행하는 과정에서 원칙 정리

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..

멘질멘질] 2023 졸업 프로젝트

GitHub Action, Docker, EC2를 사용한 Spring Boot 프로젝트 배포 자동화

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를 이용..

멘질멘질] 2023 졸업 프로젝트

AWS] 시작 전 초기 세팅

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 등의 어플..

나른한 찰리
Moojun's Storage