DB 라우팅이 안되는 이유! 원인은 OSIV?
문제 상황 많은 개발자들이 DB에 접근할 때, Replication을 이용하여 DB를 수직적인 구조로 나누어 분리하고, 읽기 연산만 하는 트랜잭션에는 DB 복제본인 읽기 전용 DB를 접근하도록하고, 쓰기 연산이 필요한 트랜잭션 로직에만 쓰기 전용 DB를 접근하도록 하여, DB 접근의 부하를 분산하는 방법을 사용하고 있습니다. 저 또한 마찬가지로 라...
문제 상황 많은 개발자들이 DB에 접근할 때, Replication을 이용하여 DB를 수직적인 구조로 나누어 분리하고, 읽기 연산만 하는 트랜잭션에는 DB 복제본인 읽기 전용 DB를 접근하도록하고, 쓰기 연산이 필요한 트랜잭션 로직에만 쓰기 전용 DB를 접근하도록 하여, DB 접근의 부하를 분산하는 방법을 사용하고 있습니다. 저 또한 마찬가지로 라...
코틀린 코루틴의 중단 코틀린 코루틴의 핵심은 코루틴을 특정 지점에서 멈춘 뒤, 이후에 다시 재개할 수 있다는 것입니다. 예를 들어, 스레드에서 API를 호출하여 외부에서 데이터를 얻어올 때 잠시 코루틴을 중단시키지만, 스레드는 블로킹되지 않고 다른 코루틴을 실행시키는 것과 같은 작업이 가능합니다. 즉, 많은 동작을 하기 위해, 많은 스레드를 생성...
자바의 Checked Exception과 Unchecked Exception 자바에서 예외는 Checked Exception과 Unchecked Exception으로 나눌 수 있으며, 다음과 같은 특징을 가지고 있습니다. Checked Exception 예외 처리를 강제하여, 명시적인 처리가 필요합니다. (ex throws...
객체를 생성할 때, 검증이 필요한 상황 데이터 정합성을 위해 객체 생성 시, 속성값에 대해 검증이 필요한 상황이 발생할 수 있습니다. 예를 들어, ‘종료일은 시작일 이후여야 한다’ 또는 ‘사각형의 가로 길이와 세로 길이는 특정 비율에 맞아야 한다’와 같이 객체가 가지는 속성값에 대한 제약사항이 있을 수 있습니다. ‘사각형의 가로 길이와 세로 길...
많은 데이터를 다룰때 컬렉션 함수의 비효율성 코틀린은 표준 라이브러리를 통해 filter, map 와 같은 컬렉션 연산을 수행하는 함수를 지원하여, 편의를 제공합니다. 이러한, 컬렉션 함수는 즉시 연산을 수행합니다. 예를 들어, filter와 map과 같은 경우는 연산 결과로 리스트를 반환하므로, 컬렉션 함수가 연쇄적으로 수행될 때, 매 단계마다 ...