삭제를 Delete 쿼리 한 줄로 끝낼 수 없는 이유
삭제는 단순히 DELETE 쿼리 하나가 아니다. 복구 가능성, 연쇄 삭제, 구현 방법 선택까지 — 데이터를 지운다는 것의 의미를 설계 관점에서 정리했다. 서론 특정 서비스에서 삭제 기능을 넣는다고 하면 필연적으로 고려해야할 것들이 있다. 첫번째로는, 이 삭제의 복구 가능성을 염두에 둘 것인가? (softDelet...
삭제는 단순히 DELETE 쿼리 하나가 아니다. 복구 가능성, 연쇄 삭제, 구현 방법 선택까지 — 데이터를 지운다는 것의 의미를 설계 관점에서 정리했다. 서론 특정 서비스에서 삭제 기능을 넣는다고 하면 필연적으로 고려해야할 것들이 있다. 첫번째로는, 이 삭제의 복구 가능성을 염두에 둘 것인가? (softDelet...

slow query를 발견하고 Postgresql의 실행 계획을 통해 문제점을 찾아 개선시킨 경험을 기록합니다. 배경 최근 프로젝트를 진행하면서 특정 화면의 로딩이 매우 오래 걸리는 것을 발견했다. 페이지를 로딩하는데 거의 4~5초 정도 걸리는 듯 했다. 초반에는 이러지 않았지만, 데이터가 쌓이면서 API 응답 속도가 느려진 듯 하다. 해당...

저의 첫 오픈소스 기여 여정을 기록합니다. Kubetail 프로젝트의 Issue #687을 해결하면서 겪은 시행착오와 배운 점들을 공유합니다. 🔍 오픈 소스 탐색 다들 누구나 처음 오픈소스 기여할 때 막막함을 느낄 것이다. 이때 추천할만한 사이트가 있다. 해결하기 쉬운 이슈에는 “good first issue” 라벨이 종종 붙는데, 첫 오픈...
Restful하다는 것 사이드 프로젝트에서 API 개발을 진행하던 중, 좋은 인사이트를 얻게 되어 글을 남긴다. 프로젝트 상황과 초기 설계 이번 스프린트에서는 사용자와 사용자를 연결하는 기능을 맡게 되었다. 어떤 사용자가 특정 사용자에게 연결을 요청하고, 해당 요청을 받은 사용자가 수락하거나 거절하여 최종적으로 연결 여부가 결정되는 구조였다...
D-n 룰 ❓ D-n룰이란? 💡D-n룰: PR에서 코드리뷰에 대한 데드라인을 명시하는 룰을 의미한다. 이 룰을 적용시키면 PR을 올리는 입장에서도 리뷰가 달리는 시간을 보장받을 수 있고 리뷰를 하는 입장에서도 언제까지 리뷰를 하면 될지가 정해져 일정을 정하기가 쉬워진다. 이번 프로젝트에서 좋은 개발 환경 구축을 위해서 여러 기업의 개발 ...