1. 협력하는 객체들의 공동체 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다. 객체지향은 어떻게 표현해야하는가? 객체를 스스로 생각하고 스스로 결정하는 현실세계의 생명체에 비유하는 것은 상태와 행위를 '캡슐화'하는 소프트웨어 객체의 '자율성'을 설명한다. 현실 세계의 사람들이 암묵적인 약속기반으로 협력하며 목표를 달성해 나가는 과정은 '메시지'를 주고 받으면서 공동의 목표를 달성하기 위한 '협력'하는 객체들의 관계를 설명한다. 요청과 응답으로 구성된 협력 스스로 해결하지 못하는 문제와 마주치면 문제 해결에 필요한 지식을 알고 있거나 서비스를 제공해줄 수 있는 사람에게 도움을 요청한다. 요청을 받은 사람은 주..
OAuth 참여자 Resource Owner, User(사용자) Service Provider(카카오, Github...) Client, Consumer(우리가 만드는 서비스) OAuth 참여자의 역할 Resource Owner Service Provider에 계정이 존재하며, Client를 이용하려는 사용자. Service Provider Authorization Server(인증서버) User를 인증하고, Client를 인증하는 서버 Resource Server(리소스 서버) Open API를 제공하는 서버 Client OAuth인증을 사용해 Service Provider의 기능을 사용하려는 애플리케이션, 웹 서비스 OAuth의 흐름 +--------+ +---------------+ | |--(A)..