SOLID
Readable Code: 읽기 좋은 코드를 작성하는 사고법를 듣고 요약한 내용입니다. 객체 설계하기 객체로 추상화하기 비공개 필드(데이터), 비공개 로직(코드) 공개 메서드 선언부를 통해 외부 세계와 소통 각 메서드의 기능은 객체의 책임을 드러내는 창구이다. 객체의 책임이 나뉨에 따라 객체간 협력이...
Readable Code: 읽기 좋은 코드를 작성하는 사고법를 듣고 요약한 내용입니다. 객체 설계하기 객체로 추상화하기 비공개 필드(데이터), 비공개 로직(코드) 공개 메서드 선언부를 통해 외부 세계와 소통 각 메서드의 기능은 객체의 책임을 드러내는 창구이다. 객체의 책임이 나뉨에 따라 객체간 협력이...
Spring Quartz? Spring Quartz는 Spring Framework와 Quartz Scheduler를 통합하여 작업 스케줄링을 더욱 쉽게 만들어주는 오픈 소스 라이브러리입니다. 주기적인 작업을 예약하거나 특정 시간에 작업을 실행할 수 있도록 도와주며, 다양한 환경에서 안정적으로 동작합니다. Quartz의 특징 유연한 스케줄링: ...
DTO 란 무엇인가? DTO(Data Transfer Object)는 계층 간 데이터 교환을 위해 사용되는 객체를 말합니다. 주로 다음과 같은 상황에서 사용됩니다. 계층 간 데이터 전송: 프레젠테이션 계층(API 컨트롤러)과 도메인 계층 간에 데이터를 전달할 때 DTO를 사용합니다. 이를 통해 계층 간의 의존성을 낮출 수 있습니다. ...
실전 카프카 개발부터 운영을 읽고 제 나름대로 정리한 글 입니다. 등장 배경 회사 규모가 커지고 사업이 다각화되면서 데이터에 대한 요구사항이 증가함. -> 데이터의 변화가 스트림으로 컨슈머 측에 전달되는 Event Driven System 으로서의 전환이 필요. 데이터를 소비하는 컨슈머들이 자신의 요구사항에 따라 데이터를 처리하거나 구독할...
사내 서비스가 커지면서 트래픽이 점점 늘어나고 있다. 덕분에 일이 많아졌지만, 쉽게 경험할 수 없는 이슈라고 생각하며 즐겁게 일하고 있다. 많은 부분을 개선할 수 있겠지만, 내가 맡은 부분은 RDS의 CPU 사용률이다. 학교를 대상으로 하는 서비스다보니 주중 오전 8시부터 오후 4시까지는 DB에 꽤나 높게 부하가 걸린다. 이번주 WIL은 이러한 부하를...
배달앱은 어떻게 내 주변의 맛집을 찾을까? 파트1에 대한 개인적인 정리 글 입니다. MongoDB에서 지리공간 데이터 다루는 방법 MongoDB는 다양한 형태의 데이터를 저장하고 검색할 수 있는 유연성을 제공하며, 지리공간 데이터의 처리도 예외는 아닙니다. MongoDB에서 지리공간 데이터를 다루기 위해, 첫 번째 단계는 적절한 인덱스를 생성하는 ...
이번주 WIL은 FastAPI에서 의존성 주입을 어떻게 하는지 삽질의 기록이다. Dependency Injection? Dependency Injection(DI)이란? 소프트웨어 설계 패턴 중 하나로, 객체가 다른 객체의 의존성(즉, 객체가 필요로 하는 다른 객체나 리소스)을 직접 생성하지 않고, 외부(주로 프레임워크나 컨테이너)로부터 제공받는 방...
2024 2분기가 시작됐다. 평소에 공부한 것을 기록하는 습관을 만들기 위해 2분기부터 WIL를 적어보려 한다. 현재 회사에서 Python으로 서버를 구현하는 것이 있어, 강의를 몇개 듣고 있다. 4월 1주차 WIL는 파이썬 동시성 프로그래밍: 데이터 수집부터 웹 개발까지(feat. FastAPI) 의 일부를 보고 공부한 것을 정리하고자 한다. ...
gRPC 소개 gRPC(google Remote Procedure Call)란 구글에서 만든 원격 프로시저 호출 프레임워크입니다. gRPC가 왜 등장했는지 알아보기 위해 프로세스간 통신의 역사를 알아야 할 필요가 있습니다. 등장배경 RPC(Remote Procedure Call) RPC는 프로세스 간 통신을 추상화하여, 프로세스가 동일한 시스템에...
gRPC vs REST: 주요 차이점 gRPC와 REST는 여러 기본적인 유사점을 가지고 있지만, 그들의 아키텍처 디자인, 지도 원칙, 구현 세부 사항에서 크게 다릅니다. 통신 모델 REST: 클라이언트가 단일 요청을 보내고 서버로부터 단일 응답을 기다리는 단일 요청/응답 주기를 따릅니다. gRPC: 단일 통신뿐만 아니라 서버 스트리밍, 클...