IT/Spring Framework2020. 4. 25. 03:13AtomicInteger와 Integer 비교

공통점: 둘 다 int형을 wrapping한 클래스 차이점: AtomicInteger는 thread-safe하여 동시성(Concurrency)을 보장한다.

IT/Spring Framework2020. 3. 19. 10:58@Transactional Rollback 조건

참고: - https://offbyone.tistory.com/405 - https://dzone.com/articles/spring-transactional-amp-exceptions - https://cheese10yun.github.io/checked-exception/ @Transactional의 rollback 조건 Unchecked Exception인 경우에만 rollback 처리된다. 예를 들어, (1) RuntimeException 발생한 경우 (handling해도 마찬가지) (2) Checked Exception을 handling하지 않은 경우

IT/DB2019. 10. 31. 14:55SELECT ... FOR UPDATE 문 관련 Dead Lock 문제

MySQL 기준.. 1. "SELECT ... FOR UPDATE"란? 하나 또는 특정 범위의 row에 대해 여러 세션에서 접근하여 발생할 수 있는 동시성 문제를 해결하기 위해 이용할 수 있다. "SELECT ... FOR UPDATE" 쿼리를 실행하면(auto commit 모드를 비활성화 시킨 후에 "SELECT ... FOR UPDATE" 쿼리 실행해야 한다), Intention Lock(table-level) 걸린 후, Exclusive Lock(row-level) 걸리게 된다. 2. "SELECT ... FOR UPDATE" 이슈 => 존재하지 않는 데이터에 대해서는 모든 세션에서 "SELECT FOR UPDATE"/"UPDATE"/"DELETE" 문을 실행할 수 있는데, 데이터 수가 1개 이상인..

History2019. 10. 24. 20:35삼국의 문화와 대외 교류

- 참고: https://www.youtube.com/watch?v=kwafUKHqQ3E&list=PLD5ojEfJUayNmTeDDdRzQgqlb7A3QrijM&index=6 [삼국의 문화] 1. 불교 => 중앙집권화(왕권강화) - 호국불교 => 나라가 어려울 때, 부처의 힘을 빌려 나라를 구해보자! - 선진문물과 함께 받아 들임. ㄴ고구려: 전진(중국)으로부터 소수림왕 때 수용&공인. ㄴ백제: 동진(중국)으로부터 침류왕 때 수용&공인. ㄴ신라: 고구려로부터 눌지왕 때 수용, 법흥왕 때 공인. 2. 도교 - 산천(자연)숭배사상 + 신선사상 - (자연에 파묻혀 살 수 있는) 귀족들한테 인기가 많았음. - 유물&유적 ㄴ고구려: 사신도 ㄴ백제: 산수무늬벽돌, 백제금동대향로 ㄴ신라: 없음. 3. 학문(유교) =..

IT/DB2019. 10. 24. 09:30Shared/Exclusive Lock 개념

1) Shared Lock = Read Lock SELECT 실행 => Shared Lock 설정 => Shared Lock이 걸린 데이터를 다른 트랜잭션들이 단순히 읽어 들여 Shared Lock을 계속 걸 수는 있지만 UPDATE/DELETE 실행(Exclusive Lock)은 불가능하다. 역시, 다른 트랜잭션에 의해 Exclusive Lock(INSERT/UPDATE/DELETE)이 걸린 데이터에는 Shared Lock(SELECT)을 걸 수 없어 읽을 수 없다. 2) Exclusive Lock = Write Lock INSERT/UPDATE/DELETE 실행 => Exclusive Lock 설정 => 해당 트랜잭션이 완료될 때까지 유지되어 다른 트랜잭션은 해당 데이터에 접근(SELECT/UPDAT..

IT/DB2019. 10. 24. 01:46Isolation(격리) Level에 대한 정리

[Read Uncommitted] 트랜잭션에서 처리(SELECT/INSERT/UPDATE/DELETE)중에 있는 아직 커밋되지 않은 데이터를 다른 트랜잭션이 읽는 것을 허용한다 [Read Committed] 트랜잭션들이 Commit된 데이터만 읽게 함으로써 Dirty Read를 막는다. Commit된 데이터만 읽더라도 읽는 시점에 따라 결과가 다를 수 있어서 Non-Repeatable Read와 Phantom Read 현상이 발생할 수 있다. 한 트랜잭션 내에서 쿼리를 두 번 수행할 경우, 두 쿼리 사이에서 다른 트랜잭션에 의해 해당 데이터가 UPDATE/DELETE되거나 새로운 데이터가 INSERT되는 일이 발생할 수 있다. [Repeatable Read] 트랜잭션 내에서 쿼리를 두 번 이상 수행할 경..

IT/Spring Framework2019. 10. 24. 00:17@Transactional 사용 목적

- 일련의 로직 실행 과정에서 예외 또는 오류 발생 시에 관련 쿼리들을 모두 Rollback 시키기 위함.

History2019. 10. 22. 22:36삼국의 발전과 가야

- 참고: https://www.youtube.com/watch?v=haAGPLU_O3A&list=PLD5ojEfJUayNmTeDDdRzQgqlb7A3QrijM&index=5 [백제] - 4세기 근초고왕 [고구려] - 5세기 1. 광개토대왕 => 광개토대왕릉비(장수왕 때 제작) => 고구려 천하관 - 만주지역 점령 - 금관가야 공격 => 신라(내물왕 때)에 왜구 침입할 때, 광개토 대왕이 도와줬는데, 왜구가 금관가야로 도망가면서 광개토대왕이 금관가야를 공격함. - 한강 이북을 점령(한강 전체를 점령한 것이 아님) - 영락이라는 연호 사용. 자신을 태왕과 성왕이라고 칭함. => 고구려 천하관 2. 장수왕 - 수도를 국내성->평양 천도 ㄴ왕권강화 => 국내성의 귀족을 약화 시키기 위함. ㄴ남진정책 => 한강..

History2019. 10. 21. 22:58삼국의 성립

- 참고: https://www.youtube.com/watch?v=w-HYGCdEy-g&list=PLD5ojEfJUayNmTeDDdRzQgqlb7A3QrijM&index=4 [삼국] - 고구려, 백제, 신라 - 한강 지역을 차지하기 위해 싸움 - 중앙집권화(=국가의 기틀을 갖추다) ㄴ고구려 => 1세기 태조왕 ㄴ백제 => 3세기 고이왕 ㄴ신라 => 4세기 내물왕 - 전성기(=한강 지역을 차지) ㄴ백제 => 4세기 근초고왕 ㄴ고구려 => 5세기 광개토대왕, 장수왕 ㄴ신라 => 6세기 진흥왕 - 왕권강화(=중앙집권화) 1) 불교 수용 2) 학교 => 유교 교육 => 왕에 대한 충, 효 중시 3) 특정 성씨가 독점적 세습 4) 형제상속 -> 부자상속 바꿈 5) 관등(=관리등급) 제도 [고구려] - 건국자: ..

History2019. 10. 21. 22:06고조선과 여러나라의 성장

- 참고: https://www.youtube.com/watch?v=WWFI1ncf-MA&list=PLD5ojEfJUayNmTeDDdRzQgqlb7A3QrijM&index=3 [청동기] - 계급 발생 ㄴ(지도자의 무덤) 돌널무덤 ㄴ(지도자의 무덤) 고인돌 => 계급사회, 노동력의 규모를 알 수 있다. - 정복전쟁 -> 국가 발생 - 무기: 비파형동검 --> (철기시대) 세형동검 - 장신구 - 제사용품: 거치무늬 거울 --> (철기시대) 잔무의 거울 - 일반 생활도구, 농기구 => 돌, 나무 사용 * 벼농사 => 청동기시대부터 시작 => 반달돌칼(벼 추수에 쓰임), 맷돌 - 민무늬 토기 발달 - 구릉, 야산에 집을 짓기 시작 - 움집(직사각형, 원형) - 제정일치 사회 - 고조선이 건국된 시기 [고조선] ..

image