2021/12
-
Kotlin 처음 시작하기Programming/Kotlin 2021. 12. 26. 23:32
https://kotlinlang.org/ Kotlin Programming Language kotlinlang.org 코틀린을 처음 알게된 건 우아한형제들의 '어디가서 코프링 매우 알은 체 하기'라는 세미나 때문이었는데, 그때는 필요성도 실용성도 잘 체감하지 못했었다. 하지만 서버 개발자의 길에 입문하면서 코틀린에 관심이 생겼고, 왜 서버 개발 언어의 흐름이 자바에서 코틀린으로 넘어갔는지 알고싶었다. 그래서 다양한 IT서비스 회사들의 코틀린 관련 세미나를 찾아서 들었다 (사실 아래에 있는 링크 전부를 들은 건 아니다.. ㅎㅎ) - 카카오: https://tv.kakao.com/channel/3150758/cliplink/391419295 - 당근마켓(녹화본 업로드 예정): https://www.yout..
-
로그 시간을 보장하는 Red-Black Tree의 Search, Insert 연산Data Structure 2021. 12. 16. 02:14
https://2jinishappy.tistory.com/318 Color를 이용해서 Self-Balancing을 구현하는 Red-Black Tree 자료구조와 알고리즘을 공부한 사람이라면 레드블랙트리에 대해 한번쯤은 들어봤을 것 이다 포인터가 중간보스라면 레드블랙트리가 최종보스라고 생각하는데 .. 3부작 정도로 나눠서 레드블랙 2jinishappy.tistory.com 이전 글에서 소개한 것 처럼 레드블랙트리는 BST의 탐색/삽입/삭제 시간을 로그 시간에 수행하기 위해 등장했다 삽입 및 삭제 연산은 red-black property를 해칠 수 있기 때문에 balance를 유지하기 위한 Rotation 연산이 필요하다 이 글에서는 탐색/삽입 연산에 대해 설명한다 Search Node in RBT 레드블랙..
-
동시성 제어 메커니즘 - 낙관적 락, 비관적 락Computer Science/Database 2021. 12. 7. 19:18
Concurrency Control Mechanisms Database Lock ❓ RDBMS에서 트랜잭션 시스템에 적용되는 동시성 제어 방법. 특정 트랜잭션이 레코드에 접근 중 일때 다른 트랜잭션이 해당 데이터에 접근하지 못 하게 막는 것을 의미한다. 일반적으로 Lock의 단위가 너무 작으면 독립성이 보장받지 못 하고, 너무 크면 트랜잭션이 직렬화 되어 수행 시간이 느려진다. Optimistic Concurrency Control 여러 트랜잭션이 서로 간섭하지 않고 자주 완료될 수 있다고 가정하는 동시성 제어 방식. 일반적으로 Block Contention(동일한 인덱스나 데이터 블록에 동시에 액세스하기 위해 경쟁하는 프로세스 또는 인스턴스)이 낮은 환경에서 사용한다. 원하는 규칙이 커밋 시 위반되면 ..