반응형
개념정리
jinja2 / API / 해시함수 / JWT
1. jinja2
Jinja2는 python flask 패키지에 내장된 템플릿 엔진이다. 개발자가 동적으로 변하는 웹 페이지를 쉽게 구현할 수 있도록 도와준다. 고정적으로 출력되어야 할 서식 html코드가 존재하고 동적으로 변해야할 자리는 jinja2문법으로 비워둔다. 이후 클라이언트가 웹 브라우저를 통해 엔드포인트에 접근하면 아까 비워둔 자리에 값을 설정하여 클라이언트에게 출력한다. 이처럼 고정적인 행위와 변해야할 행위를 쉽게 처리 할 수 있다는 장점이 있다.
- flask에 포함되어 있는 jinja를 사용
- jinja의 template을 만드는 문법으로 flask의 render_template을 이용해서 data를 넘겨주고 html에서 해당 문법으로 처리
- 주요 문법 확인 https://jinja.palletsprojects.com/en/2.10.x/templates/
2. API(Application Programming Interface)
운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식을 말한다. 특정 서비스, 데이터를 제공하는 서버에 우리의 컴퓨터나 브라우저는 요청을 보낼 수 있다. 이 때 컴퓨터끼리 데이터를 주고받는 양식 / 인증, 허가 / 데이터의 호출(요청) 제한 등을 지정할 수 있는데, 이러한 방법에 대한 모든 것을 API 라고 부른다.
- 개발자가 프로그램을 만드는데 필요한 어떤 기능을 직접 구현하지 않고 API 제공자들이 제공하는 데이터와 모듈 등을 갖다쓸 수 있게 해주는 게 API와 API 문서
- 예를 들어 내가 네이버를 통해 내 페이지를 네이버 서비스에 공유하고 싶다면 네이버에서 제공하는 공유하기 API를 문서에서 제시하는대로 맞춰서 쓰면 됨
- API가 공개되지 않았다면 쓸 수 없다. 또 공개 API라고 하더라도 호출 횟수가 많아지면 비용을 지불해야 할 수도 있음
반응형
'개발 하나둘셋 > CS' 카테고리의 다른 글
[네트워크] RESTful 하게 API를 디자인 한다는 것은? (0) | 2021.11.29 |
---|---|
[네트워크] HTTP와 HTTPS의 특징과 차이점 (0) | 2021.11.19 |
[네트워크] REST API와 HTTP 메소드정리 (0) | 2021.11.17 |
객체지향 프로그래밍 (0) | 2021.11.14 |
[네트워크] 회원가입, 로그인기능 (해시함수 / JWT) (0) | 2021.11.07 |