Dev
-
[OAuth 2.0] 소셜로그인 인증 방식 OAuth 2.0 이해하기Dev/Server 2023. 3. 16. 22:29
OAuth 2.0 OAuth 2.0(Open Authorization 2.0, OAuth2)은 인증을 위한 개방형 표준 프로토콜이다. 구글, 페이스북, 트위터와 같은 다양한 플랫폼의 특정한 사용자 데이터에 접근하기 위해 제 3자 클라이언트(우리의 서비스)가 사용자의 접근 권한을 위임(Delegated Authorization)받을 수 있는 표준 프로토콜이다. : 이 프로토콜에서는 Third-party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공한다. 구글, 페이스북, 카카오, 네이버 등에서 제공하는 간편 로그인 기능도 OAuth2 프로토콜 기반의 사용자 인증 기능을 제공하고 있다. OAuth 2.0 주체 Resource Owner 리소스 소..
-
[Network] HTTP에 대한 딥다이브Dev 2023. 2. 12. 16:09
HTTP(Hyper Test Transfer Protocol)란, 브라우저와 서버가 통신할 수 있도록 만들어주는 여러 프로토콜 가운데 한 종류로 웹 브라우저와 웹 서버 사이에 HTML(웹 문서를 만들기 위한 언어) 문서를 주고 받는데 쓰이는 통신 프로토콜이다. 초기에는 HTTP 파일을 전송하기 위한 목적으로 만들어졌으나 현재는 JSON, IMAGE 파일 등 또한 전송할 수 있다. 일반적으로 전송 계층(Transport Layer) 프로토콜 TCP를 사용하고 네트워크 계층(Network Layer) 프로토콜로 IP를 사용한다. 이 두 계층을 합쳐서 TCP/IP라는 이름으로 부른다. TCP/IP에서는 IP주소를 사용해서 통신할 컴퓨터를 정하고, 포트 번호를 사용해서 해당 컴퓨터의 어떤 프로그램과 통신할지를 ..
-
[TEST PATTERN] TDD란 무엇일까?Dev 2023. 2. 12. 10:21
TDD(Test Driven Development) TDD란 '테스트 주도 개발'을 의미한다. 반복 테스트를 통한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다. 짧은 개발 주기의 반복에 의존하는 개발 프로세스 이며 애자일 방법론 중 하나인 eXtream Programming(XP) 의 'Test-First' 개념에 기반을 둔 단순한 설계를 중요시한다. eXtream Programming(XP) ? 미래에 대한 예측을 최대한 하지 않고, 지속적으로 프로토타입을 완성하는 애자일 방법론 중 하나이다. 이 방법론은 추가 요구사항이 생기더라도, 실시간으로 반영할 수 있다. 단위 테스트(Unit Test) ? 말 그대로 한 단위(일반적으로 cl..
-
[Network] REST API를 설계하는 법, REST API란Dev/Server 2023. 2. 5. 18:52
REST API REST의 정의 "Representational State Transfer"의 약자 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. 간단히 정리하자면 자원(resource)의 표현(representation)에 의한 상태 전달이라고 볼 수 있다. 월드 와이드 웹(WWW)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍처의 한 형식 REST는 API 작동 방식에 대해 조건을 부과하는 소프트웨어 아키텍처이다. 처음 REST는 인터넷 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌다. REST 기반 아키텍처를 사용하면 대규모 고성능 통신을 안정적으로 지원할 수 있다. 또한 쉽게 구현하고 수정할 수 있다. REST는..