Home
Jun
Cancel

디미터의 법칙에 대한 오해

글을 작성하게 된 계기 사람들과 스프링 서버를 만들어보는 프로젝트를 진행하며 디미터의 법칙에 대해 질문받았습니다. PR을 달고 보니, 이전에 학습한 내용을 잘못 이해하고 있는 것 같아 이를 다시 한번 정리하고 싶었고, 이에 글을 작성하게 되었습니다. 1. 디미터의 법칙 디미터의 법칙(Law-Of-Demeter)은 최소한의 지식만 노출시...

MySQL 인덱스 컨벤션은 어떻게 정할까?

1. 글을 작성하게 된 계기 프로젝트에서 MySQL 인덱스 컨벤션 을 어떻게 정할지에 대해 고민이 있었습니다. 이 과정에서 스택 오버 플로우에 MySQL의 인덱스 컨벤션에 대해 잘 정리된 글이 있어 이를 정리하기 위해 글을 작성하게 되었습니다. 2. MySQL 인덱스 컨벤션 개인적으로 아래 규칙이 가장 괜찮다는 생각이 들었습니다. 물론...

MySQL FK 컨벤션

글을 작성하게 된 계기 MySQL FK Convention을 어떻게 할 지 고민하던 과정에서 스택 오버 플로우의 한 글을 발견하게 되었고, 이를 정리하기 위해 글을 작성하게 되었습니다. 1. MySQL FK Convention 스택 오버 플로우를 보다가 MySQL의 FK 컨벤션에 대해 잘 정리된 글이 있어 블로그에 정리해야겠다는 생각이 ...

외부 API 목으로 대체하기

외부 API를 목으로 대체하는 것에 대해 학습하며 작성된 글입니다. 학습 과정에서 작성된 글이기 때문에 잘못된 내용이 있을 수 있으며, 이에 대한 지적이나 피드백은 언제든 환영입니다. 1. 외부 API를 사용하는 경우와 문제점 깃허브를 통해 회원가입하는 시나리오를 살펴보겠습니다. 사용자가 회원가입 요청(1)을 보내면 API Gateway(...

[Unit Testing] Integration Test

단위테스트 책을 읽고 실습 하며 내용을 정리한 글입니다. 학습 과정에서 작성된 글이기 때문에 잘못된 내용이 있을 수 있으며, 이에 대한 지적이나 피드백은 언제든 환영입니다. 1. 통합 테스트 통합 테스트는 세 가지 요구사항 중 하나라도 충족하지 못하는 테스트를 말합니다. 실제로 통합 테스트는 대부분 시스템이 프로세스 외부 의존성과 통합해 ...

Named Lock은 무엇이고, 어떻게 사용할까?

글을 작성하게 된 계기 MySQL Named Lock에 대해 정리하기 위해 글을 작성하게 되었습니다. 1. Named Lock 임의의 문자열 에 대한 잠금을 설정하는 락으로, 유저 레벨 락(User Level Lock) 으로도 불립니다. 이는 단순히 사용자가 지정한 문자열에 대해 획득하고 반납하는 잠금으로, 많은 레코드를 복잡한 조건으...

SCAN

1. 글을 작성하게 된 계기 레디스의 SCAN 명령어를 학습하는 과정에서 알게 된 내용을 기록하기 위해 글을 작성하게 되었습니다. 2. SCAN 레디스 서버는 멀티 쓰레드로 동작하지만 코어는 싱글 쓰레드로 동작합니다. KEYS 명령어를 사용하면 쓰레드가 전체 키를 검색하는 동안 다른 작업을 처리할 수 없기 때문에, 키가 많을 경우 ...

ETag 적용기 및 발생했던 이슈

프로젝트에서 ETag를 적용하며 겪었던 점에 대해 간략하게 정리해보겠습니다. 학습 과정에서 작성된 글이기 때문에 잘못된 내용이 있을 수 있으며, 이에 대한 지적이나 피드백은 언제든 환영입니다. 1. ETag를 사용한 이유와 성능 캐시는 하드웨어, 운영체제, 네트워크, 애플리케이션, 데이터베이스 등 다양한 곳에서 사용할 수 있습니다. 웹에서...

Replication 데이터베이스 구성 시 주의점

프로젝트를 진행하며 Primary, Replication에 데이터베이스를 구성할 때 주의할 점에 대해 정리한 내용입니다. 이 글을 이해하기 위해서는 Replication에 대한 기본 지식이 필요하기 때문에 해당 글을 참조해 주세요. 1. 프로젝트 인프라 구성 현재 프로젝트의 구성은 아래와 같습니다. API 서버에서는 Primary, Rep...

Replication의 연동 원리

프로젝트를 진행하며 Primary와 Replication 데이터베이스를 구분했던 방법에 대해 정리한 글입니다. 학습과정에서 작성한 글이기 때문에 잘못된 부분이 있을 수 있습니다. 1. 사용 이유 Replication을 사용하는 이유는 다양하겠지만 크게 장애격리, 분산 두 가지 목적으로 분류할 수 있습니다. Replication in...