본문 바로가기

분류 전체보기139

[데이터 리터러시] 데이터 리터러시 강의를 듣는 이유 & 1강 배경무언가를 잘 이해하기 위해 필요한 역량은 무엇일까? 나는 단언컨대 “추상화”라고 답하겠다. 혼자서 개념을 정리하는 과정은 물론, 타인과 소통을 함에 있어서도 “중요한 것을 이해하기 용이한 구조로 정리하는 것”은 핵심적이라고 생각한다. 그리고 이러한 역량은 “문제를 해결하는 것”을 목적으로 할 때 의미를 갖는다. 관련된 역량을 키우기 위한 방법 중 하나로 데이터를 제대로 살펴보고 논리적으로 분석 및 정리할 수 있는 “데이터 리터러시”와 관련된 강의를 듣는 것을 선택했다. 앞으로 간단한 내용 정리와 생각들을 적어보는 식으로 글을 써보려고 한다. PM을 위한 데이터 리터러시(프로덕트 데이터 분석) 강의 | 카일스쿨 - 인프런카일스쿨 | 데이터를 활용하고 싶은 PM 분들을 위한 강의입니다. PM 직무에서 .. 2025. 6. 28.
쿠키 이해하기 (세션, 스토리지를 곁들여) 쿠키정의쿠키는 브라우저와 서버 사이에서 사용자 상태를 공유하기 위한 수단이다.공유하는 사용자의 상태는 보통 “세션”이고, 브라우저에서 웹사이트로 접속을 시작해서 종료할 때까지의 흐름을 의미한다. 브라우저의 유저와 서버의 정보(세션)를 연결하는 식별자로 세션 아이디를 사용하며, 쿠키는 세션 아이디를 담아서 호출 시 전달된다. 흐름의 순서를 간략하게 살펴보자면 다음과 같다.어떤 사람이 브라우저에서 sample.com 에 접속하면, 브라우저가 요청을 보낸다.서버는 요청을 받아 세션을 생성하고, 세션 아이디를 Set-Cookie 헤더로 응답에 담아서 보낸다.응답을 받은 브라우저는 쿠키 저장소에 받은 쿠키를 저장한다.이후 해당 도메인으로 요청을 보낼 때 Cookie 헤더에 쿠키를 담아서 전송한다.위의 흐름은 세부.. 2025. 6. 28.
마이크로서비스 설계 1. 마이크로서비스를 도출하는 방법마이크로서비스를 응집성이 높고(high cohesion), 다른 서비스와의 의존도는 낮게(low coupling) 구성하여 독립성을 갖추려면, 어떤 비즈니스 기능들을 묶는지가 중요하다.먼저 기존 조직을 분류했던 방법과 유사하게 업무 기능을 분해하는 방법이 있다. 경험적으로 익숙한 분류이기 때문에 비즈니스 이해에는 유용하지만, 서비스 간의 관계와 구체적인 기능을 파악하는 데는 한계가 있다반면, DDD 바운디드 컨텍스트를 기반으로 마이크로서비스를 도출하는 방법은 하위 도메인마다 데이터와 기능이 엮인 도메인 모델을 정의하기 때문에 도메인 모델의 소유권이 어떤 서비스인지 분명하게 할 수 있고, 이를 기반으로 서비스 간의 관계를 파악하기 용이하다.2. DDD에서의 설계DDD에서의.. 2025. 6. 6.
MSA에서 아웃박스 패턴으로 결과적 일관성 확보하기 배경"크리에이터를 누적 상금이 높은 순으로 조회한다"는 요구사항 구현을 위해, 상금 모델의 위치를 user와 다른 컨텍스트인 campaign에 위치시키고, 매번 campaign 서비스에서 누적상금에 대한 api를 호출하는 것이 헤비하므로, 정렬을 위한 누적상금 속성을 유저 엔티티에 추가했다. 그리고 이 경우, 상금에 대한 정합성을 맞춰야 하는데 마이크로서비스 아키텍처(MSA)에서는 서비스별로 DB를 갖기 때문에, 두 서비스가 관련된 기능을 수행할 때 트랜잭션을 사가 패턴 혹은 아웃박스 패턴으로 구현하여 정합성을 맞춰야 한다. 메시지의 발송 상태와 재시도 측면에서 아웃박스 패턴이 유리하다고 판단했고, 실시간성을 요구하는 정보가 아니기 때문에 결과적 일관성 확보로 충분하다고 생각했다. 아웃박스 패턴으로 누적.. 2025. 6. 4.