본문 바로가기

전체 글45

Netfilx는 PassPort ? 넷플릭스에서 사용한 Netflix Passport는 사용자 인증을 위한 독특한 접근 방식 중 하나로, 특히 넷플릭스의 글로벌 서비스 확장에 맞춰 확장성과 보안을 중점으로 고려한 시스템입니다. 이 시스템은 주로 다양한 인증 방식(OAuth2, SSO 등)과 관련 서비스를 통합하는 데 사용되며,  마이크로서비스 아키텍처에서 쉽게 적용할 수 있는 분산 인증 시스템을 구축하는 데 초점을 맞추고 있습니다.   Netflix Passport는 넷플릭스에서 전 세계 다양한 사용자의 인증과 인가를 관리하기 위해 만들어졌으며, 사용자 정보를 중앙화된 인증 시스템에 저장하는 대신, 분산된 여러 마이크로서비스에서 인증을 처리할 수 있도록 도와줍니다.   Netflix는 유저 인증 시에 Passport 라는 id 토큰을 트랜.. 2024. 9. 27.
과일 플랫폼 프로젝트 설계하기 프로젝트 목표상품 추천(제철 과일) 및 의견 공유 커뮤니티 기반의 과일 판매 이커머스.커뮤니티에서 활발한 논의가 되는 주제를 바탕으로 수요 파악(또는 리뷰로 대체) 인프라설계도도커를 각각띄우기로 결정하였으며, DB는 Postgres를 사용.    프로젝트 구조도이벤트 스토밍 이라는것을 처음으로 진행해보았다.협업시 이벤트스토밍을 통해 도메인에 대한 이해도가 높아질 수 있고, 기능에 대해서 더 구체적이고 정확하게 이해할 수 있고, 회의를 할 수 있다.  ERD설계도이것을 토대로 테이블 설계도 진행하였다. API 명세서https://www.notion.so/teamsparta/API-36e9408bcc45450881571aef395b9b8f API 명세서 | NotionMade with Notion, the .. 2024. 9. 26.
<캡슐화> JPA 엔티티 생성시 Setter를 지양하는이유 JPA 엔티티 생성시  setter 메서드를 지양해야 하는 이유는 객체 지향 프로그래밍의 원칙 중 하나인 캡슐화와 깊은 관련이 있습니다. JPA 엔티티는 데이터베이스 테이블과 매핑되는 객체로, 데이터의 상태와 비즈니스 로직을 담습니다. 엔티티에서 setter를 무분별하게 사용하는 것은 다음과 같은 문제를 초래할 수 있습니다.캡슐화 원칙 위반 setter 메서드를 통해 엔티티의 상태를 쉽게 변경할 수 있게 하면, 객체의 내부 상태가 외부에서 쉽게 조작될 수 있습니다. 이렇게 되면 엔티티의 데이터 무결성을 유지하기가 어렵고, 예기치 않은 상태 변경이 발생할 수 있습니다. 엔티티의 데이터를 수정할 때는 반드시 해당 수정이 비즈니스 로직에 부합하는지 확인해야 하는데, setter는 이러한 검증 과정을 우회합니다.. 2024. 9. 24.
MSA 기반 물류관리 및 배송시스템 프로젝트를 마치며... 물류 관리 및 배송 시스템을 위한 MSA 기반 플랫폼 개발나는 Security 파트와 User파트를 맡았다.  프로젝트를 마치며 튜터님께 피드백이 온것들을 정리해보겠습니다. 인프라설계서  MSA 서비스 중 Object Service 는 서비스 명을 보고도 해당 서비스가 어떤 역할을 할지를 유추할 수 있는 이름으로 변경하시면 좋습니다. 대면피드백때도 말씀드린 내용인데요! Object Service 의 root 에그리거트 이름을 따라가면 좋습니다 :)  더보기Object라는 서비스 명이 직관적이지가 않다는 피드백을 받았습니다. Object안에 Hub관리 도메인들이 있었기에, Hub Service로 이름을 수정하는 방향을 생각했다.   *Gateway 에서 Auth 서비스를 호출할 때에 localhost 로 .. 2024. 9. 24.