최근 포스트

트랜잭션의 동시성을 높이면 발생할 수 있는 문제와 이를 감지하는 방법

데이터베이스 시스템에서 여러 트랜잭션을 순서대로 처리하는 것은 바람직하지 않습니다. 단위 시간당 처리량이 낮을 뿐만 아니라 각 요청에 대한 응답 시간이 길어질 수도 있기 때문입니다. 따라서 데이터베이스 시스템은 여러 트랜잭션을 동시에 처리하는데요. 이때 발생할 수 있는 문제점에 대...

트랜잭션을 이해하기 위해 필요한 개념들

앞으로 여러 글을 통해 트랜잭션에 대해 정리하고자합니다. 본격적으로 알아보기 전에 트랜잭션이 무엇인지, 트랜잭션은 어떤 상태를 갖는지에 대해 알아봅시다.

이 세상 모든 Join 알고리즘에 대하여(다는 아님)

관계형 데이터베이스에서 제공하는 연산 중 가장 유용한 것은 조인(join) 연산이라고 해도 과언이 아닌데요. 아이러니하게도 조인은 시간이 매우 오래 걸리는 연산 중 하나입니다. 이번 글에서는 조인 연산의 알고리즘을 알아보며 어떤 식으로 연산 시간을 개선하는지 알아보도록 하겠습니다.

동시성과 병렬성은 어떻게 다를까?

얼마전 코루틴에 공부하다 동시성 프로그래밍에 대한 이야기가 나왔습니다. 운영체제를 공부할 때 동시성과 병렬성을 열심히 비교했던 것이 엊그제 같은데 기억이 희미해진 것 같아 이번 기회에 정리한 것을 기록하려고 합니다.

프로세스에 대한 기초 지식

프로세스에 대해 공부하다보면 항상 헷갈리는 것들이 있습니다. 또, 자주 등장하는 용어들도 있죠. 이번 글에서 한 번 다뤄보겠습니다.

인수 테스트에서 body는 어떻게 작성해야할까?

열심히 작성한 인수 테스트가 사실 무의미한 테스트라면 어떨까요? 문제가 발생했을 때 테스트에서 감지할 수 있도록 유의미한 인수 테스트를 작성하는 방법에 대해 알아봅시다.

샘 알트먼의 기준으로 나를 돌아보자

유튜브에서 세계적인 기업의 CEO 인터뷰 영상을 자주 보는 편인데요. 이번에 OpenAI의 CEO인 샘 알트먼의 인터뷰를 보고 인상 깊었던 점과 느낀 점을 정리해보겠습니다.

2023년 하반기를 돌아보며

2023년은 나에게 새로운 시작을 알리는 한 해였다. 상상하지 못했던 것들을 경험하고 새로운 사람들을 만났다. 2024년을 잘 보내기 위해 2023년 하반기를 포함하여 2023년 전체를 솔직한 감정으로 돌아보려고 한다.

Git hook을 이용한 Spotless 적용

팀 프로젝트를 시작할 때마다 마주하는 문제들은 항상 있지만 그 중에서 매번 나타나고 가장 신경 쓰이는 것은 코드 형식을 통일하는 방법이라고 생각합니다. 어떻게 하면 언제 어디서나 통일된 형식을 유지하고 환경 설정을 빠르게 할 수 있을까요? 이번 글에서 알아봅시다.

인스타그램에서 ID를 만드는 방법을 직접 구현해보자

인스타그램은 서비스 시작 1년만에 1400만 명의 이용자를 모았습니다. 놀라운 점은 단 3명의 엔지니어가 이를 운영했다는 것인데요. 이번 글에서는 인스타그램에서 사용한 ID 생성 전략에 대해 알아보고 JPA를 이용하여 실제로 구현해보겠습니다.

클래스 로더와 Initializer block

이번 글에서는 Java에서 클래스 정보를 불러오는 방법을 알아보고 Initailizer block 문법도 알아보도록 하겠습니다.

@ExceptionHandler에서 의도치 않은 예외를 잡는다면?

Spring Web MVC 사용 중 예외가 발생했을 때 의도치 않은 정보가 클라이언트에게 제공될 수 있습니다. 이를 방지하기 위해서 예상 가능한 예외들은 미리 핸들링 하거나 @RestControllerAdvice로 핸들링하는데요. @RestControllerAdvice 로 지정한 ...