목록2025/02 (5)
개발자는 기록이 답이다
추후에 MySQL에서 파티셔닝을 사용하게 될때 참고하면 좋을 듯하여, 작년에 면접준비를 위해 노션에 정리했던 내용 일부 가져왔습니다. 📌 레인지 칼럼 파티셔닝 전략을 사용한 이유 큰 틀로 보면 파티션의 종류로 총 4가지가 있지만, 이력 데이터를 범위 기반으로 분리하기 위해 레인지 파티션을 사용했습니다.레인지 파티션리스트 파티션해시 파티션키 파티션특히, 이체 내역은 기간 범위에 따라 조회하는 경우가 많기 때문에 파티션 프루닝 을 할 수 있도록 날짜와 시간 에 맞게 논리적으로 테이블을 분할할 수 있도록 설정했습니다. 그리고 레인지 파티션 중에서도 Range Column Partioning을 사용한 이유는 요구사항에 따라 연도와 월별 기준으로 데이터를 추출해야 하기 때문입니다.Range 의 경우 파티션..

글또 연휴 기간, 포인트를 얻기 위해 무지성으로 글을 쓰고 있는 나…반성하는 의미에서 오랜만에 회고록을 써보려고 합니다.2024년, 공부와 성장의 시간 24년도에는 그전에는 잘 보지도 않던 개발 책을 엄청 많이 읽었고, 멘토링과 강의도 꾸준히 들었습니다.개발자 시장이 어려운 시기였지만, 살아남기 위해 열심히 공부했던 한 해였습니다.여러 동료 개발자들과 멘토님께 징징대기도 했고, 많은 도움을 받으며 성장할 수 있었습니다. 덕분에 감사한 분들이 참 많습니다. 2024년 4월 ~ 8월까지의 취준 생활기 F-Lab 멘토링이 끝나갈 무렵, 본격적으로 이력서를 수정하고 지원을 시작했습니다.2024년 4월부터 8월까지, 중소기업부터 스타트업, 대기업까지 다양한 회사의 서류 전형을 통과하고 면접을 보러 다녔습니다. ..

계좌 이체와 도메인 서비스에릭 에반스는 도메인 주도 설계(DDD)에서 도메인 서비스를 활용하는 사례로 계좌 이체를 소개했습니다. 하지만 도메인 서비스를 사용하면 트랜잭션의 범위와 일관성이 도메인 서비스와 결합되어, 필요할 때 서비스를 독립적으로 분리하기 어려운 문제가 발생할 수 있습니다.이를 해결하기 위해, 계좌 이체 프로세스를 개별 애그리게이트(Aggregate)로 분리하고, 나아가 별도의 마이크로서비스로 독립할 수 있도록 설계하는 방식을 고려할 수 있습니다.계좌 이체 도메인 모델 계좌 이체는 일관성의 범위로 한 개의 Transfer와 2 개의 Account 애그리게이트가 참여하고 애그리게이트마다 독립적인 데이터베이스 트랜잭션을 소유합니다.Transfer 애그리게이트는 출금 계좌(from)와 입금 ..

최종적 일관성(Eventual Consistency)은 즉각적인 데이터 동기화(Strong Consistency)를 보장하지 않지만, 일정 시간이 지나면 시스템이 일관된 상태로 수렴하는 데이터 일관성 모델입니다. 이는 특히 분산 시스템이나 마이크로서비스 아키텍처에서 데이터 정합성을 유지하는 데 중요한 개념입니다. ✅ 특징즉각적인 데이터 동기화를 보장하지 않음 → 데이터가 모든 서비스에 동일하게 반영되기까지 시간이 걸릴 수 있음일정 시간이 지나면 일관된 상태로 수렴 → 메시지 기반 시스템, 이벤트 소싱, 데이터 복제 등의 기술을 활용해 최종적으로 정합성을 유지높은 가용성을 보장 → 강한 일관성을 유지하려면 시스템이 대기해야 하지만, 최종적 일관성은 시스템의 독립적인 운영을 가능하게 함✅ 사용 사례마이크로서..