개념정리
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/
Template Designer Documentation — Jinja Documentation (2.11.x)
This document describes the syntax and semantics of the template engine and will be most useful as reference to those creating Jinja templates. As the template engine is very flexible, the configuration from the application can be slightly different from t
jinja.palletsprojects.com
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 |