개발 이야기/백엔드 이야기 3

암호화 알고리즘 종류

정의 평문(Plaintext) - 해독 가능한 형태의 메시지 암호문(Ciphertext) - 해독 불가능한 형태의 메시지 암호화(Encryption) - 평문을 암호문으로 변환하는 과정 복호화(Decryption) - 암호문을 평문으로 변환하는 과정 양방향 암호화 암호화와 복호화 과정을 통해 송, 수신 간 주고받는 메시지를 안전하게 암, 복호화하는 과정이다. 1. 대칭키 암호화 암호화와 복호화 시 같은 키를 사용하며, 계산속도가 빠르다. 종류 : AES128, AES256, SEED(국내 표준) 문제점 : 수신 측에 키를 전달하는 과정에서 유출될 우려가 있다. 2. 비대칭키 암호화 암호화와 복호화 시 서로 다른 키를 사용한다. 공개키(Public Key)와 개인키(Private Key)가 한 쌍으로 이루..

REST API란?

REST API란? REST 기반으로 서비스 API를 구현한 것이다. REST(Representational State Transfer)는 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. API(Application Programming Interface)는 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환가능 하도록 하는 것이다. REST 구성 요소 1. 자원(Resource): URI 모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다. 자원을 구별하는 ID는 ‘/groups/:group_id’와 같은 HTTP URI 다. Client는 URI를 이용해서 자원을 지정하고 해당 자원의 상태(정보..

MSA 와 Netflix OSS

MSA(Microservice Architecture)란? 느슨히 결합된 서비스의 모임으로 구조화하는 "서비스 지향 아키텍쳐(SOA)"스타일의 개발 기법이다. 여러가지 일을 수행하는 어플리케이션을 한 가지 일만 수행하는 작은 어플리케이션으로 나타내는 것이 마이크로서비스이다. 작은 어플리케이션으로 분해하게 되면 쉽게 교체할 수 있고, 독립적으로 개발되고 전개 할 수있다. MSA를 구현 하게 되면 각 서비스간 통신 방법이 필요하게 되고, 서비스를 나눠 제공하기 때문에, 데이터 중복이 발생할 수 있고 정합성을 보장하기가 어려워진다. 하지만 유지보수성이 뛰어나고, 업무를 독립적으로 분할할 수 있는 장점이 존재하기 때문에 각 기업이나 개인이 사용한다. MSA를 구현하는 방법 중 가장 대중적인 것이 넷플릭스에서 공..