본문 바로가기

CS

(4)
API에 대하여 API란? API(Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 통신하는 방법이자, 컴퓨터 사이에 존재하는 중계 계층을 의미한다. 중계 계층인 이유? 프로그램이 서로 데이터를 주고 받을 때 중간에 위치하는 것이 바로 API이기 때문이다. Interface? 인터페이스는 서로 다른 시스템, 장치 사이에서 정보나 신호 등이 오갈 때의 접점이나 경계를 의미한다. 이를 통해 내부 시스템의 설계 구조 등은 알 필요없이 통신이 가능하다. API 역시 데이터 베이스 설계가 어떻게 되었는 지는 상관없이 데이터를 교환할 수 있다. API의 장점 1. 제공자는 서비스의 중요한 부분을 드러내지 않을 수 있다. 내부 시스템의 설계 구조나 데이터 베이스 테이블 등 드러내고 싶지 ..
데이터 교환 형식 - JSON과 XML JSON 이란? 자바스크립트 객체 문법으로 구조화된 데이터 교환 형식으로 여러 프로그래밍 언어에서 사용되고 있다. 1. 자바스크립트 객체 문법 key, value 형태로 구성된 프로퍼티들의 집합 -> {key : value} 2. 데이터 교환 형식 데이터를 교환할 때 JSON은 하나의 양식이다. 3. 여러 프로그래밍에서 사용 다양한 프로그래밍 언어에서 딕셔너리, 객체, 해시테이블, 맵 등으로 사용된다. -> 프로그래밍 언어가 업그레이드 된다 하더라도 JSON은 똑같이 호환되어 사용할 수 있다. -> JSON은 독립적이다. 4. 단순 배열이나 문자열로 표현 가능 JSON의 타입 Javascript Object와 비슷하지만 undefined와 메서드를 포함할 수 없고, Number, String, Boole..
Token과 JWT 세션, 토큰과 관련된 이전 글에 이어서 사용자 인가 방식 중 가장 많이 사용되는 방법 중 하나인 JWT에 대하여 공부해보았다. JWT란? - JSON Web Token의 약자 - Header, Payload, Signature로 구성 - Base64로 인코딩 - Header에는 토큰의 종류와 암호와 알고리즘 등과 같은 토큰에 관한 정보가 담겨있음 - Payload에는 발행일, 만료일, 사용자 ID 등 사용자 검증에 필요한 정보가 들어있음 - Signature는 Base64로 인코딩된 Header와 Payload를 알고리즘으로 서명한 값이 들어있음. Server마다 서명하는 암호값이 다르기 때문에 이 값으로 토큰이 조작되었는지 알 수 있다. 아래 사이트에서 jwt를 경험해볼 수 있다. https://jwt..
Token과 Session 주니어가 아닌 경력직 개발자임에도 Token과 Session의 개념을 정확히 모르는 경우가 꽤 있다고 한다. 나는 그러기 싫기 때문에 학습을 하고 기록을 해본다. Session Session은 유저의 정보를 DB에 저장하고 상태를 유지하는 값이다. 특징 Session은 특정한 id 값을 가진다. Session은 서버에서 생성하고 데이터베이스와 클라이언트에 쿠키로 저장된다. 클라이언트에서 요청을 보낼 때 Session을 같이 보내면 사용자가 누군지 알 수 있다. 사용자를 확인하기 위해 데이터베이스를 조회해야한다. 서버에 저장하기 때문에 클라이언트에서 사용자 정보가 노출될 위험이 없다. DB에 Session을 저장해야 하기 때문에 Horizontal Scaling이 어렵다. Token Token은 유저의 정..