TIL

[TIL]Day 6 (Transaction)

박상순 2021. 8. 13. 00:43

Hash라는 것에 대해서 개념적으로만 알고 있고 프로젝트에서 사용을 하지 않아서 JAVA 언어로 실제 사용하는 방식에 대해서는 모르는 상태였으나 스터디를 통해서 팀원의 코드를 리뷰하며 방식에 대해서 알게 되었고 추가적인 학습을 통해서 사용법을 익힌것 같다. 하지만 아직까지는 Java의 클래스들의 기본 method에 대해서 모르는 것이 많았다.

HashMap에서 getOrDefault() method를 통하여서 if문으로 HashMap안에 키값이 존재하는지 확인을 하지 않아도 되는 것과 keySet() method를 사용하여 HashMap의 key 값을 따로 저장하지 않더라도 사용할 수 있는 것을 알게 되었다.

클래스 내부 method를 다 암기 할 수는 없지만 클래스를 사용할 때 찾아서 한 번쯤은 읽어보아야 겠다는 생각이 들었다.

 

 

DB - 트랜잭션

BEGIN	또는	START
	SQL문
END	또는	COMMIT

트랜잭션은 일반적으로 위와 같은 Block 형식을 가진다. END or COMMIT을 입력하기 전에 ROLLBACK 명령을 먼저 주게 되면 트랜잭션 Block이 시작되기 직전의 상태로 DB를 돌릴 수 있다.

Transaction Block을 잘 나누어서 관리한다면 서비스 중에 문제가 발생하더라도 문제가 발생하기 이전의 상황으로 쉽게 되돌릴 수 있어 매우 강력한 기능이라고 생각된다.

기본적으로 DB는 commit을 auto로 수행하여 Transaction Block이 수행중이 아니라면 일반 SQL문으로 DB가 실시간으로 업데이트 된다. 하지만 autocommit 변수를 off로 만들면 SQL문 수행 후 COMMIT 명령을 해주어야 적용되어 세심한 DB 관리가 가능하다. 

728x90

'TIL' 카테고리의 다른 글

[TIL]Day 7 (Spring)  (0) 2021.08.17
[TIL]Day 7 (DB)  (0) 2021.08.13
[TIL]Day 5  (0) 2021.08.12
[TIL]Day 4 (Docker, TDD)  (0) 2021.08.11
[TIL]Day 3 (SQL)  (0) 2021.08.10