[Sudoku] DDD보다는 RDD로 리팩터링
Project2023. 7. 30. 13:57[Sudoku] DDD보다는 RDD로 리팩터링

객체지향의 사실과 오해이라는 책을 읽다보면 아래와 같은 문구가 있습니다 데이터를 먼저 결정하고 객체의 책임을 결정하는 방법은 유연하지 못한 설계라는 악몽을 초래한다. 흔히 책임-주도 설계(RDD: Responsibility-Driven Design)라고 부르는 객체지향 설계 방법은 데이터를 먼저 생각하는 데이터-주도 설계(DDD: Data-Driven Design) 방법의 단점을 개선하기 위해 고안됐다 책에서 계속 언급되는 되는 부분은 객체가 외부에 제공해야 하는 행동을 먼저 생각하고 데이터를 구현해야 한다고 저자는 말하고 있었습니다. 데이터를 우선 생각하고 구조체, 클래스를 만들다 보면 데이터에 맞게끔 메서드를 구현하게 되고 더 복잡해지는 경험을 하게 되었습니다. 어떤 행위를 수행할 것인지 정해진 행위..

Project/friend422022. 6. 21. 14:05HTTP status code

멘토링을 통해서 에러코드를 직접 하나하나 입력보다는 약속된 HTTP status로 전달이 정확하다는 멘토링을 통해서 본격적인 코드 수정을 하려고 한다. HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다 정보를 제공하는 응답 성공적인 응답 리다이렉트 클라이언트 에러 서버 에러. 상태 코드 200 OK 요청이 성공했음을 나타내는 성공 응답 상태 코드 성공의 의미는 HTTP 요청 방법에 따라 다릅니다. GET : The resource has been fetched and is transmitted in the message body HEAD : The representation headers are included in the respon..

OAuth 2.0 개념 (Workflow & Authorization Grant)
Project/friend422022. 6. 16. 10:58OAuth 2.0 개념 (Workflow & Authorization Grant)

OAuth 란? 인증을 위한 개방형 표준 프로토콜 기존 클라이언트 - 서버 인증 모델에서 client는 resource owner의 자격 증명을 사용하여 서버로 인증하여 서버에 액세스 제한 리소스(보호된 리소스)를 요청합니다. 제한된 리소스에 대한 third-party applications 액세스를 제공하기 위해 resource owner는 해당 자격 증명을 third-party와 공유합니다. 간단한 예를 들자면, 간편로그인으로 Naver, Google, Kakao 등을 이용하는 것도 OAuth2 프로토콜 기반으로 사용자 인증 기능을 각 회사에서 제공하는 것입니다. OAuth 역할 : 4가지 역할의 정의 resource owner 보호된 리소스에 대한 엑세스 권한을 부여할 수 있는 엔터티, 최종 사용자..

RESTful API architecture design
Project/friend422022. 6. 15. 12:09RESTful API architecture design

REST APIREST는 Representational State Transfer의 약자이며, 하이퍼미디어 기반 분산 시스템을 구축하기 위한 아키텍처 스타일을 뜻한다. API는 Application Programming Interface의 약자로 애플리케이션 소프트웨어를 구축하고 통합하는 정의 및 프로토콜 세트입니다.RESTful API를 통해 요청이 수행될 때 RESTful API는 리소스 상태에 대한 표현을 요청자에게 전송하며 정보 또는 표현은 HTTP: JSON, HTML, XLT 또는 일반 텍스트를 통해 몇 가지 형식으로 전송되고 그 중에서도 JSON을 널리 사용됩니다.RESTful API의 디자인 원칙리소스를 중심으로 디자인되며, 클라이언트에서 액세스할 수 있는 모든 종류의 개체, 데이터 또는 ..

Project/friend422022. 6. 8. 10:27[friend42] 회의 그리고 멘토링

이 프로젝트의 초점은 무엇인가?최소한의 제스쳐로 원하는 정보를 보여주려고 했다.기본 디자인과 구성은 내가 했지만 현재 백엔드 역할을 많이 하는 중이고 프론트엔드는 팀원이 하다보니 문제점에 대해서 모르고 있었고, 어떤 자료가 필요한 지 모르고 백엔드, 프론트엔드로서 각자의 역할을 하다보니 막히는 부분이 생겨서 회의를 하게 되었다.회의에서 크게 달라진 것은메인 컬러 ( 60 30 10 법칙?으로 색을 구성할 예정)목록이라는 항목을 없애고 즐겨찾기 추가정렬하는 우선순위에 대해 논의즐겨찾기현재 로그인 상태 (유/무)2번에서 로그인 시간 기준으로 최신순시멘틱 라이브러리에 있는 기능과 비슷하게 알람 구현친구 삭제 시 모달창으로 한 번 더 삭제가 맞는 건지 확인친구 검색 (모달창)검색할 때, 실시간으로 필터링 되어 ..

image