git 명령어 기초 정리 git fetch vs git pull fetch: 원격 저장소의 최신 커밋을 로컬로 가져오기만 한다. pull: 원격 저장소의 최신 커밋을 로컬로 가져와서 merge 혹은 rebase를 수행한다. git statsh https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Stashing%EA%B3%BC-Cleaning 원격에서 default branch 외에 다른 branch를 가져오고 싶은 경우 git clone 시 default(주로 main) branch만 가져와진다. main branch 외에 원격(GitHub)에 있는 다른 branch를 가져오고 싶을 때 사용 # 1 git remote update git checkout [re..
# 터미널 창에 아래 명령어를 입력해서, 현재 설치된 Ubuntu version 확인 lsb_release -dc 1. MongoDB 실행 명령어 # version check mongod --version # check if mongoDB activate sudo systemctl status mongod sudo systemctl start mongod sudo systemctl status mongod sudo systemctl stop mongod sudo systemctl restart mongod mongo # Activation mongo instance(접속해서 작업 시작) exit # 종료 명령어 (mysql은 quit이 가능한데, 여기는 quit 안먹힘) # Activate port nu..
@ResponseBody를 사용하여 Dto 객체를 json type으로 return 하는 코드를 Postman으로 출력 결과 406 Not Acceptable 오류가 발생함 오류 해결 1. Jackson library가 import 되어 있지 않은 경우: Spring Boot는 spring-boot-starter-web 에 기본적으로 jackson library가 포함되어 있으므로 제외 2. Getter 메서드가 없음: 실제로 응답 결과로 보내지는 Dto 객체에 Getter 메서드가 없었으며, Lombok @Getter 어노테이션을 추가하니 정상적으로 json 응답이 전달되었다. 참고: https://stackoverflow.com/questions/28466207/could-not-find-accept..
Jwt data를 decode하는 테스트 코드 작성 중, 아래와 같은 오류가 발생하였음 io.jsonwebtoken.security.SignatureException: JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted. 오류 원인 jwt data를 encode할 때 사용한 secret key와, jwt data를 decode할 때 사용한 secret key의 값이 달라서 발생하였다. 해결 secret key의 값을 동일하게 설정한다.
테스트를 상위 패키지인 domain 혹은 그 위의 패키지에서 한 번에 모든 클래스들을 실행하면 테스트가 모두 성공하지만, UserControllerTest를 단독으로 실행하면 오류 발생. ./gradlew build 명령 수행 시 마찬가지로 오류가 발생하며, 이로 인해 GitHub Action에서 오류가 발생한다. 문제 상황 UserControllerTest 코드 중 일부. common > JwtUtils에 있는 메소드 중 하나인 getJwtSecretKey()의 값을 읽어오지 못하여서 발생하는 오류였다. getJwtSecretKey 메서드를 static으로 선언하였음에도 불구하고, 해결이 되지 않았다. @BeforeEach public void initGenerateJwtData() { Key key ..
EC2 instance type: c5.2xlarge AMI: Ubuntu 20.04 대상 프로젝트: https://github.com/Moojun/JCodeLib_SELAB_IJM 기존에는 EC2와 RDS를 사용하려고 했으나 어차피 프로젝트를 실행시켜 결과를 db에 저장하는 목적이므로, AWS Markertplace에서 검색하다 보면 Linux + MySQL 이미지가 같이 설치되어 있는 인스턴스를 사용하려고 하였다. 하지만 뭔가 잘 되지 않아서, 그냥 EC2 생성하고 거기에 mysql을 직접 설치하기로 결정함. 1. EC2에 mysql 설치 sudo apt-get update sudo apt-get install mysql-server # install check mysql --version 그 외에는..