[Project] Petogether (3) 썸네일형 리스트형 CQRS를 이용한 관심사 분리 CQRS(command query responsibility separation) 패턴이란?CQRS 패턴은 명령(Command)과 조회(Query)를 분리하여 성능과 확장성 및 보안성을 높일 수 있도록 해주는 아키텍처 패턴입니다. 요구 사항이 복잡해질수록 도메인 모델 역시 복잡해집니다. 데이터를 조회한 쪽에서는 현재의 복잡한 모델 구조의 데이터가 필요하지 않은 경우가 대부분이므로 조회 시의 모델과 데이터를 업데이트할 때의 모델을 다르게 가져가도록 하는 방식입니다. 조회는 CRUD에서 read 동작을 담당하는 요청을 뜻합니다. 리소스를 조회한 경과만을 반환하므로 시스템의 상태를 변경하지 않으며 부작용이 없습니다. 명령(command)은 create, update, delete 요청과 같이 시스템의 상태를 .. 클린 아키텍처 적용 이전에 CQRS 패턴으로 Command와 Query 로직을 분리해 보았습니다.프로젝트를 더 확장하기 전에 파일구조를 더 효율적으로 만들고 유지보수에 유리한 아키텍처 구조의 프로젝트로 만들고 싶었습니다. '클린 아키텍처'라는 좋은 아키텍처를 적용한 프로젝트를 만들어서 아키텍처 설계를 하면 현업에서도 대규모의 애플리케이션을 효율적으로 관리 할 수 있겠다는 생각이 들었습니다. 그럼 '클린 아키텍처'는 무엇이고 어떻게 구현하고 또 현재 프로젝트에서 어떻게 구현하게 되었는지 알아보겠습니다.. 클린 아키텍처클린 아키텍처는 의 저자 로버트 C.마틴이 제안한 아키텍처입니다. 클린 아키텍처는 전혀 새로운 아키텍처는 아니고 양파 아키텍처라고 불리던 아키텍처에서 발전한 것입니다. 소프트웨어를 여러 동심원 레이어로 나누고 각.. [로그인 인증] session, token 기반 인증 로그인 기능 구현 로그인 기능 구현방법 중에 session,token방식의 각각의 장단점을 알아보고 어떤 방식으로 구현하는 것이 유리한 방법인지 알아보겠습니다. 세션 기반 인증 세션은 로그인에 성공한 유저가 서비스를 사용하는 동안 저장하고 있는 유저 정보입니다. 서버는 세션을 생성하고 나서 세션을 데이터베이스에 저장하고, 이후 사용자의 요청에 포함된 세션 정보가 세선 DB에 저장되어 있는지 확인합니다. 브라우저에는 데이터를 저장할 수 있는 공간이 있습니다. 현재 열려 있는 브라우저를 닫거나 새로운 탭 또는 창을 열면 데이터가 삭제되는 세션 저장소와 창을 닫아도 데이터가 남아 있는 로컬 저장소, 그리고 간단한 데이터를 저장할 수 있는 쿠키가 있습니다. 세션 방식의 단점은 악의적인 공격자가 브라우저에 저장된 데이터를 탈취할 .. 이전 1 다음