참고 사이트
https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Development_common_sense#restful-api
https://meetup.toast.com/posts/92
https://medium.com/@hckcksrl/rest%EB%9E%80-c602c3324196
객체
- 물리적인 것, 추상적인 것 중에서 자신의 속성(key)과 동작(value)을 가지는 모든 것
- 데이터와 데이터와 관련된 동작(기능)을 모두 포함할 수 있는 개념적 존재
객체 지향 프로그래밍(Object Oriented Programming)
- 문제를 여러 개의 객체 단위로 나눠 작업하는 방식
- 프로젝트를 독립적인 객체 단위로 분리해서 작업할 수 있기 때문에 여러 개발자와 협업해 규모가 큰 프로젝트를 진행할 수 있으며 유지보수측면도 뛰어나다
REST(Representational State Transfer)
- 웹에 존재하는 모든 자원(이미지, 동영상, DB 자원)에 고유한 URI를 부여해 활용하는 것
- 구성 요소
- 자원(Resource) , URI
ex) 'trade/1’(HTTP URI) - 행위(Verb) , Method
자원을 조작하기 위해 메서드를 사용 ex) HTTP 프로토콜에서는 GET , POST , PUT , DELETE 같은 메서드를 제공 - 표현(Representation)
클라이언트가 서버로 요청을 보냈을 때 서버가 응답으로 보내주는 자원의 상태를 Representation이라고 한다. REST에서 하나의 자원은 JSON , XML , TEXT , RSS 등 여러형태의 Representation으로 나타낼수 있다.
- 특징
1. 클라이언트 / 서버 구조 (Client-Server)
자원이 있는 Server , 자원을 요청하는 Client의 구조를 가진다.
2. 일관된 인터페이스
URI자원을 나타내기 위해서는 명사를 사용해야 한다는 원칙이 있다
ex) http://localhost/api/trade/bitcoin)
RESTful
- REST 아키텍처 원칙을 모두 만족하는 API라는 뜻
API
- 어떤 특정 사이트에서 특정 데이터를 공유할 경우
1. 어떠한 방식으로 정보를 요청해야 하는지
2. 어떠한 데이터를 제공 받을 수 있을지에 대한 규격들을 API라고 함
UI, UX
- UI : 사용자가 제품/서비스를 사용할 때, 마주하게 되는 모습
- UX : 사용자에게 만족스러운 경험을 제공하는 UI를 디자인 하는 것