분류 전체보기 (406) 썸네일형 리스트형 git - 유용한 기능(로컬 커밋내역, 특정 브랜치만 커밋내역, 브랜치 차이점 확인, 대화형모드) git의 몇가지 유용한 기능을 살펴본다 1. 로컬 커밋내역 2. 특정 브랜치만 선택하여 커밋내역확인하기3. 브랜치끼리 차이점 확인4. 대화형 모드 1. 로컬 커밋내역 로컬 커밋 내역 보기)git reflog 로컬 커밋 내역 포맷팅해서 보기)git log -g 2. 특정 브랜치만 선택하여 커밋내역 확인하기 Head의 부모 확인)git show HEAD^ 어제 커밋 확인)git show master@{yesterday} 특정 브랜치 커밋확인)git show branch-test 3. 브랜치끼리 차이점 확인 master에는 없지만 branch1에는 있는 것을 확인하기)git log master..branch1 branch1을 master에 머지하기 전 변경점 확인하기)git log origin/master.. Springboot3 - Exception 생성하기 Exception을 Custom 하여 명확한 에러를 처리해보자 1. 원하는 Exception class 생성하여 'RuntimeException'을 상속하면 됨 public class NotEnoughStockException extends RuntimeException { public NotEnoughStockException() { } public NotEnoughStockException(String message) { super(message); } public NotEnoughStockException(String message, Throwable cause) { super(message, cause); } public NotEnoughStockException(Throwable cause) {.. Springboot3 - 테스트환경 메모리 모드로 설정 Spring Boot 프로젝트 생성시 com.h2database:h2 를 가져오는데해당 패키지로 db를 메모리 모드로 변환 시킬 수 있다. 먼저 테스트 환경에서 사용할 환경변수를 분리하자 1. 테스트 케이스시에 사용할 환경 분리 프로젝트 디렉토리는 다음과 같다.src-> main -> test test 디렉토리 하위에resources를 생성해 yml을 다음과 같이 넣어주자 spring: datasource: url: jdbc:h2:mem:test; username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibern.. Springboot3 - SpringBootTest에서 insert문 안 나가는 이유(@Transactional, @Rollback(false) insert 시키는 두가지 방법1. @Rollback(false) 사용 (DB insert 후 rollback 처리안됨)2. EntityManager의 flush 처리 (DB insert 후 rollback 처리됨) 1. @Rollback(false) 사용 (DB insert 후 rollback 처리안됨) @SpringBootTest@Transactionalclass JpashowApplicationTests { @Autowired MemberRepository memberRepository; @Autowired MemberService memberService; @Autowired EntityManager em; @Test @Rollback(false) public void 회원가입() { .. git - forked한 local main브랜치에 잘못 푸시한 경우 현재 작성자가 속한 개발환경은 remote 브랜치를 forked 하여 브랜치를 따로 만들어 작업한 뒤pull request하는 환경이다. 그런데 실수로 forked한 레포지토리의 main 브랜치에다가 push를 한 경우revert하여도 분기가 나누어져(diverged) pull request 할 수 없다. 이런 경우 다음과 같이 해결하자 1. forked한 레포의 main 브랜치로 이동git checkout main 2. upstream 의 main 브랜치 fetch 하기git fetch upstream main 3. upstream main 브랜치를 내 forked한 main 브랜치로 reset 해버리기git reset --hard upstream/main 4. 내 forked한 main 브랜치에 .. Springboot - vscode에서 hot swapping 셋팅 1) compile시 사용하는 dev-tools 추가하기 compileOnly 'org.springframework.boot:spring-boot-devtools' 2) vscode의 debugging 모드시 class 변경점 리로딩 설정 github action - npm command not found 뜨는 현상 해당 원인은 nvm으로 node를 설치했을 때의 문제이다. nvm으로 설치한 버전은 링크파일로 특정 디렉토리에 추가해주면 된다. 아래 명령어가 추가해주는 명령어인데npx, node, npm을 추가해줬다. sudo ln -s /root/.nvm/versions/node/[본인버전]/bin/npm /usr/local/bin/npm 아마 위 커맨드만 실행해도 잘 될 것임. 해당 디렉토리 가서어떤 게 있는지 확인하고버전명도 맞게 수정하여 커맨드를 실행하면 된다 필자 기준으로는 3가지 명령어를 사용했다 1. sudo ln -s /root/.nvm/versions/node/v20.18.0/bin/npm /usr/local/bin/npm 2. sudo ln -s /root/.nvm/versions/node/v2.. SpringBoot - @Transactional 사용 (+어떤 패키지 사용해야할까) DB에 접근시에는 항상 트랜잭션 안에서 돌도록 잡아줘야한다. @Transactional은 기본 값이readonly = false이다. insert관련 내용이 있을 때는 사용해서는 안된다. 만약 Service에서 메소드가 10개인데 9개가 insert형식이고 하나만 read 형식이면 다음과 같이 처리 가능하다. @Service@Transactional // 전부 insert형식 선언public class MemberService { public Long insert1() { } public List insert2() { } @Transactional(readOnly = true) //하나만 read public Member insert3() { }} 추가로Tra.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 51 다음