2025/12/15 2

[Pinit] 최종 일관성 구현 - 회원가입 플로우, 이대로 괜찮은가?

문제 상황현재 auth 서비스와 task 서비스는 이벤트를 통해 상호작용을 조율하고 있다. 그런데, 사용자가 회원가입 후 로그인을 한 뒤 task서비스를 이용하려는데, task에 회원 정보가 존재하지 않다면 어떻게 될까? 로그인 성공 - task에 이벤트가 도착한 후task 서버에서 사용자 정보를 정상 처리정상 플로우로그인 성공 - task에 이벤트가 도착하기 전task 서버에서 auth 서버에서 처리한 사용자 정보를 아직 못받음일정을 생성할 수 없음(예외 발생)사용자의 지역 정보를 받아와야 하는데, member record 자체가 없음별명도 존재하지 않음 문제를 깔끔하게 정리해보자.현재 이 문제는 task, auth 서버 간의 문제다.사용자 경험(UX) 기준에서, 별명 정보는 필수가 아니다.진짜 문제는..

컴파일 타임 의존 vs 런타임 의존

이 말은 모듈 레벨에서도 사용 가능하고, 코드 레벨에서도 사용 가능하다.하지만 모듈 레벨 의존과 코드 레벨 의존이 별로 다르지 않다고 생각한다.말로 엄밀히 정의하는 것보단, 직접 해보며 둘의 미묘한 차이를 이해하는 것이 중요하다고 생각한다.따라서, 본 글에선 두 개념을 하나로 묶어서 정리한다.나중에 둘이 많이 다르다는 걸 알게되면 추가로 정리한 글을 작성하고 링크하도록 하겠다.컴파일타임 결합(빌드/링크 타임 결합)A 모듈이 B 모듈의 헤더/정적 라이브러리/심볼에 의존해서 컴파일·링크 단계에서 결합이 확정되는 형태 예: 컴파일 타이밍에 예외를 잡을 수 있는 형태기초적인 문법 사용checked exception런타임 결합(동적 로딩/플러그인)A가 B를 실행 시점에 선택/로드/연결하는 형태예: 런타임에 예..