본문 바로가기
반응형

commit6

[Oracle] savepoint 데이터베이스를 공부하다보면 Commit, Rollback 이랑 함께 나오는 단어가 있는데 savepoint이다. 게임에서 시점을 저장하는것과 비슷한 개념으로 생각하면 된다. 간단하게 예제로 바로 알아보면 이해가 갈것이다. 1. Insert into table values ('1'); 2. SAVEPOINT save1; 3. Insert into table values ('2'); 4. SAVEPOINT save2; 5. Delete from table; 6. Rollback to save1; 흐름대로 보면 1번 1 을 넣는다. 2번 save1이라는 이름으로 저장한다. 3번 2를 넣는다. 4번 save2라는 이름으로 저장한다. 5번 모든 데이터를 삭제한다. 6번 save1지점으로 돌아간다. 이렇게 되면 결.. 2023. 11. 11.
@Transactional annotation spring에서 사용하는 annotation 중 하나인 이 Transactional annotation에 대해 소개하려고 한다. 사용은 메서드 상단에 설정을 해준다. 예제는 아래와 같다. @Transactional public void interal() { serviceA.transactionalTest(); serviceA.transactionalTest(); serviceA.transactionalTest(); throw new ExceptionEx("errr"); } 이미 검색을 하고 들어온 순간부터 Transactional 이라는 애가 뭘 하는 애인지는 알거라 생각하지만 간단히 설명하면 스프링 내에서 AOP 원리로 동작을 하며 Transactional 로 묶어둔 메서드가 시작부터 종료할때까지 모든.. 2023. 7. 10.
git commit message 수정하기 git을 사용하면 commit message를 작성하여 추후 history 관리를 하면서 어떤 작업을 했는지, 혹은 누가 어떤 작업을 했는지 확인이 가능하다. 여기서 잘못 입력된 message에 대해서는 수정하는 방법을 소개할것이다. 먼저 상황이 아직 local 상황이라면 git commit --amend 위와 같이 amend 를 이용하면 가장 마지막에 commit 한 내용을 수정할 수 있다. git commit --amend 를 사용하고 커밋을 수정할 수 있는 창이 뜨면, 수정을 완료한 후 esc -> :wq(저장 + 창 닫기) 를 해주면 된다. 그리고 만약 이미 remote에 올라간 상황이라면 force를 통해 강제로 push를 더 하면된다. 하지만 github 공식 문서에 따르면 force push.. 2023. 7. 8.
git 명령어 이전 포스팅에서 git 에 대한 설명과 기본 명령어에 대해 알아봤었다. 자세한 내용은 참고 포스팅에 존재한다. 이번 포스팅에서는 git에 올리기 위한 기본적인 명령어 들을 알아볼 예정이다. 프로그램이 아닌 터미널에서 코드로 올리는 법을 다룰것이다. 순서 git init 먼저 프로젝트를 생성했다면 해당 폴더에서 터미널로 git init 을 하여 저장소 초기화 작업을 해줘야한다. git status git의 현재 상태를 보는 명령어이다. 꼭 순서가 중요한건 아니고 로딩하면서 종종 사용하며 현 상태가 괜찮은 상태인지 계속 확인해줘야한다. git add . 다음으로는 해당 폴더에 있는 ( . 이 현재 위치를 말한다) 모든 파일을 add로 로컬 저장소에 올리는 바구니 리스트에 넣는다. add 개념은 아래 참고 포.. 2023. 4. 5.
[git] commit 과 push 의 차이점 git 의 repository 에서 받아오는걸 pull 로 당겨온다라고 하고 로컬에 있는 코드를 원격으로 올리는 작업을 push라고 한다. 여기서 push를 하기 위해서는 add와 commit의 작업이 필요한데 이작업들의 차이점을 알아볼 것이다. 먼저 git을 이해하기 위해서는 local repository 와 remote repository 이 두개를 알아야한다. 원격 저장소를 remote라고 하고 내 피시에 있는것을 local이라고 한다. local에서 올리기 위해 올릴 파일들을 리스트업 하는 작업을 git add 라고 한다. 그리고 add된 파일들을 local repository에 변경 작업 하는것을 commit 이라고 하고 메세지를 추가할수 있다. 그리고 local 에서 원격으로 보내는것을 pus.. 2023. 3. 7.
2PC 란? Two Phase Commit 의 약자인 2pc는 CQRS 의 패턴과 비슷하게 트랜잭션이 실패할 경우 rollback을 대비해서 존재하는 것이다. CQRS 에 대해서는 아래 참고 포스팅을 참고 하면 된다. CQRS에 비해서 2pc는 어떻게 보면 더 간단하다고 생각이 들수도 있지만. 트랜잭션의 유형에 따라 , 상황에 따라 CQRS 를 사용해도 되고 2pc를 사용해도 된다. 그럼 이 2pc는 처음 시작하는 트랜잭션부터 끝나는 지점까지 모든 작업이 실패가 없이 이루어 진다면 그때 한번에 쿼리를 날리고 commit 을 하게 된다. 그렇게 된다면 rollback을 할일이 없어져 트랜잭션이 꼬이는 부분에서는 해결이 된다. - 시작 : 독립적인 일을 시작하는 것 - 끝 : 준비 이전까지 일을 끝내는 것 - 준비 - .. 2022. 11. 4.
반응형