처음부터 차근차근

[TIL - 231019] 블로그 정리와 REST API 본문

TIL

[TIL - 231019] 블로그 정리와 REST API

HangJu_95 2023. 10. 20. 10:29
728x90

오늘 한 일

  • Notion -> tistory로 블로그 정리
  • REST API 정리
  • OpenAI API를 활용해서 코드 작성

블로그 정리

나는 Notion으로 내가 배운것들을 정리하고, TIL도 Notion에다가 작성하였다. 그러나 다른사람들의 조언을 들으니 정리도 잘해놓는 편인데 Tistory로 옮기는게 조금 더 좋아보인다는 느낌이 들었다.

실제로 Tistory로 옮기니 무언가 정리하는 느낌이 더 들기도 하였다.

아직 글 작성을 하나밖에 하지 않았지만 계속 정리해서 11월까지 다시 정리할 예정이다.

REST API 개념 정리

  • 저번 Intellipick 모의 면접에서 신나게 맞은 내용을 다시 공부하고 정리하고 있다.
  • 너무 과거에 공부했던 내용을 복습하지 않아 기억이 나지 않는 점이 문제였다.
  • 이제부터 배운것들을 면접 대비로 한 내용으로 정리하여 TIL에 작성해 볼 예정
REST API는 REST 아키텍처 스타일의 디자인 원칙을 준수하는 API입니다. 여기서 REST는 자원의 표현으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미하며, 즉 HTTP URL을 통해 자원을 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD를 적용하는 것을 의미합니다.
REST의 특징으로는
1. Uniform-interface
API에서 자원들은 각각의 독립적인 인터페이스를 가지며, 각각의 자원들이 URL 자원 식별, 표현을 통한 자원 조작(Method를 통한), Self-descriptive messages, HATEOAS 구조를 가지는 것을 의미합니다.
2. Stateless (무상태성)
REST는 기본적으로 HTTP를 이용하기 때문에, 무상태성 성격을 갖습니다.
3. Cacheable
HTTP를 사용하기 떄문에 REST도 이러한 특징을 가지고 있다.
4. Client-Server 구조
REST 서버는 API 제공, 클라이언트는 사용자 인증이나 context등을 직접 관리하는 구조로 각각의 역할이 확실히 정해져 있기 때문에 서로간의 독립적인 구조를 가질 수 있습니다.
5. 계층형 구조
REST 서버는 다중 계층으로 구성될 수 있으며 보안, 로드 밸런싱, 암호화 계층을 추가해 구조상의 유연성을 둘 수 있고 PROXY, 게이트웨이 같은 네트워크 기반의 중간매체를 사용할 수 있게 합니다.

OpenAI API을 활용한 코드 작성

  • 팀 프로젝트에서 OpenAI Chat API를 이용해서 사용자의 자기소개, 프로젝트를 깔끔하게 정리해주는 Server를 만들고 있다.
  • OpenAI에 학습을 가르치려다보니, 뭔가 예시들이 많으면 좋겠다는 생각을 한다.
  • 그러나 입력값과 출력값이 있는 예시가 있어야 하므로 굉장히 어려운 작업이 될 수 있음