목록전체 글 (288)
개발자는 기록이 답이다

내가 담당한 "문의" 도메인은 레거시 시스템인 "상담"도메인 으로부터 이벤트를 받아서 추후 로직을 처리한다. 이와 관련해서 지난 24년말에 개발한 "상태 카드 발송"과 관련하여 이벤트 메세지 Payload설계에 대해 고민했던 부분을 적어보고자 한다. 문제 배경파드민 상담 및 채팅과 관련하여 상태 변경 이슈가 많이 발생하고 있습니다. 하지만 consultation_outbox_message 테이블에서는 모든 상태 변경 이력을 추적할 수 없어, 빠른 VOC(Voice of Customer) 대응이 어렵습니다. 특히, 가예약/대기예약/확정예약 상태가 어떻게 변경되었는지를 확인하기 어려운 점이 주요 문제로 제기되었습니다.제안 사항이 문제를 해결하기 위해 다음과 같이 이벤트 필드를 추가하는 것을 제안합니다:Con..

최근 회사에서 "안 읽은 채팅 메시지가 있을 경우, 해당 사용자에게 이메일 보내기" 기능을 구현하고 있습니다.이 기능은 B2B 사용자를 대상으로 하며, 이메일 전송 시 고려해야 할 여러 사항이 있어 정리해보고자 합니다.Functional사용자는 특정 시간에 안읽은 메시지가 있을 경우, 메일로 알림을 받을 수 있다.매일 9:00, 13:00, 17:00에 정각에 메일 전송메일 플랫폼 : 샌드그리드안읽은 메세지가 없으면 메일 안보내도 됨사용자는 메일에서 안읽은 채팅 메세지가 있는 데이터에 대한 총 개수를 알 수 있다.사용자는 메일에서 관리자 페이지에 접속할 수 있다.Non-functionalJob Schedule 활용해야함기존의 Job Schedule 방식왼쪽 도메인서비스에서 트리거가 있을 경우, job을 ..
추후에 MySQL에서 파티셔닝을 사용하게 될때 참고하면 좋을 듯하여, 작년에 면접준비를 위해 노션에 정리했던 내용 일부 가져왔습니다. 📌 레인지 칼럼 파티셔닝 전략을 사용한 이유 큰 틀로 보면 파티션의 종류로 총 4가지가 있지만, 이력 데이터를 범위 기반으로 분리하기 위해 레인지 파티션을 사용했습니다.레인지 파티션리스트 파티션해시 파티션키 파티션특히, 이체 내역은 기간 범위에 따라 조회하는 경우가 많기 때문에 파티션 프루닝 을 할 수 있도록 날짜와 시간 에 맞게 논리적으로 테이블을 분할할 수 있도록 설정했습니다. 그리고 레인지 파티션 중에서도 Range Column Partioning을 사용한 이유는 요구사항에 따라 연도와 월별 기준으로 데이터를 추출해야 하기 때문입니다.Range 의 경우 파티션..

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