1. 글을 작성하게 된 계기 레디스의 SCAN 명령어를 학습하는 과정에서 알게 된 내용을 기록하기 위해 글을 작성하게 되었습니다. 2. SCAN 레디스 서버는 멀티 쓰레드로 동작하지만 코어는 싱글 쓰레드로 동작합니다. KEYS 명령어를 사용하면 쓰레드가 전체 키를 검색하는 동안 다른 작업을 처리할 수 없기 때문에, 키가 많을 경우 ...
SCAN
ETag 적용기 및 발생했던 이슈
프로젝트에서 ETag를 적용하며 겪었던 점에 대해 간략하게 정리해보겠습니다. 학습 과정에서 작성된 글이기 때문에 잘못된 내용이 있을 수 있으며, 이에 대한 지적이나 피드백은 언제든 환영입니다. 1. ETag를 사용한 이유와 성능 캐시는 하드웨어, 운영체제, 네트워크, 애플리케이션, 데이터베이스 등 다양한 곳에서 사용할 수 있습니다. 웹에서...
Replication 데이터베이스 구성 시 주의점
프로젝트를 진행하며 Primary, Replication에 데이터베이스를 구성할 때 주의할 점에 대해 정리한 내용입니다. 이 글을 이해하기 위해서는 Replication에 대한 기본 지식이 필요하기 때문에 해당 글을 참조해 주세요. 1. 프로젝트 인프라 구성 현재 프로젝트의 구성은 아래와 같습니다. API 서버에서는 Primary, Rep...
Replication의 연동 원리
프로젝트를 진행하며 Primary와 Replication 데이터베이스를 구분했던 방법에 대해 정리한 글입니다. 학습과정에서 작성한 글이기 때문에 잘못된 부분이 있을 수 있습니다. 1. 사용 이유 Replication을 사용하는 이유는 다양하겠지만 크게 장애격리, 분산 두 가지 목적으로 분류할 수 있습니다. Replication in...
팔로잉/팔로워를 구현하며 마주친 동시성 이슈
프로젝트를 진행하며 팔로워 수를 증가하거나 줄일때 동시성 문제에 대해 고민했던 내용입니다. 학습과정에서 작성되었기 때문에 잘못된 내용이 있을 수 있으며, 잘못된 내용에 대한 지적이나 피드백은 언제든 환영입니다. 1. 동시성 문제 프로젝트에서 팔로우/언팔로우 기능을 구현하며 동시성 이슈를 만나게 되었습니다. 현재 팔로우/언팔로우 기능을 구현...
JPA를 사용하며 느낀 장점
프로젝트에서 JPA를 사용하며 느꼈던 장점에 대해 작성해 보겠습니다. 크게 영속성, 자동화, 객체지향적 사고, 컴파일러의 도움 정도의 장점이 있었는데, 이를 하나씩 살펴보겠습니다. 기술을 사용하며 느꼈던 점이기 때문에 저런 시각으로 볼 수도 있구나 정도로 이해해 주시기 바랍니다. 1. 영속성 첫 번째 느꼈던 장점은 영속성을 활용할 수 있다...
JPA를 사용하며 느낀 단점
글을 작성하게 된 계기 프로젝트에서 JPA를 사용하며 느꼈던 단점을 정리하기 위해 글을 작성하게 되었습니다. 크게 데이터베이스와 반대되는 사상, 복잡성과 추가쿼리, 자동화, JPA에 대한 의존성 정도가 있었는데요, 이를 하나씩 살펴보겠습니다. 기술을 사용하며 느꼈던 점이기 때문에 저런 시각으로 볼 수도 있구나 정도로 이해해 주시기 바랍니다. ...
Call By Value
Call By Value에 대해 학습하며 정리한 글입니다. 학습 과정에서 작성된 글이기 때문에 잘못된 내용이 있을 수 있으며, 이에 대한 지적이나 피드백은 언제든 환영입니다. 학습 코드는 해당 레포지토리에서 모두 볼 수 있습니다. 1. 자바의 Call By Value 자바에는 Call By Reference가 존재하지 않습니다. 이에 대한...
Slack, Gmail 연동
Zapier를 통해 슬랙과 Gmail을 연동하는 방법에 대해 살펴보겠습니다. 1. Zapier 앱 추가 Zapier에 회원가입 후, Slack에 해당 앱을 설치해 줍니다. 2. Flow 알림이 오는 과정은 다음과 같습니다. 메일함에 메일이 도착하면 Zapier에서 이를 감지하고 Slack으로 알림을 전송합니다. 따라서 어떤...