Rest API
API(Application Programming Interface)는 응용 프로그램에서 사용할 수 있도록,
운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.
파이썬의 함수나 클래스 같은 기능들 하나하나가 일종의 API이다.
Rest(Representational State Transfer)란 자원(Resource)의 표현(Representation)에 의한 정보전달이다.
예를들면, 파이썬의 list나 dictionary 등(자원)을 json 파일의 형태(표현)으로 전달하는 것이다.
즉, Rest API란 Rest의 특징을 지키면서 API를 제공하는 것이다.
Rest의 구성요소
자원(Resource) : URI
인터넷 주소와 같은 형식
행위 : HTTP 메소드
GET / POST / PUT / DELETE
표현 : Representation of Resource
JSON, XML, RSS 등
# API
# Rest API
import requests as req
import json
result = req.get('https://s.pstatic.net/static/newsstand/2020/logo/light/0604/015.png') # 네트워크 창에서 헤더에 보면 요청URL을 통해서 확인 가능하다.
print(result) # <Response [200]>
print(result.json) # <bound method Response.json of <Response [200]>>
Flask
Flask는 파이썬으로 작성된 웹 프레임워크이다.
import requests as req
from flask import Flask
app = Flask(__name__)
@app.route("/get", methods = ['GET']) # methods를 통해서 HTTP 메소드 확인
def hello():
return 'hello' # hello 출력
if __name__ == "__main__":
app.run(debug = True, port=8080) # http://127.0.0.1:8080/ # port변경 가능
python 속도 향상법
똑같은 for문으로 compile 했을 때
일반 python은 92.53초 걸리고, pypy는 3.42초 정도로 상당히 빠르다.
그렇기에 기본 파이썬 인터프리터를 사용하지 않고 pypy3 JIT Complier를 이용한다.
import time
start=time.time()
count = 0
for i in range(10000):
for j in range(100000):
count += 1
print(time.time()-start) # 총 걸리는 시간
# time.sleep(1000)
'PYTHON' 카테고리의 다른 글
Pandas (0) | 2023.01.27 |
---|---|
Numpy (0) | 2023.01.27 |
DB 연동과 정규식 (0) | 2023.01.24 |
병렬처리(프로세스와 쓰레드), Process와 Pool의 차이 (0) | 2023.01.24 |
추상 클래스, isinstance, assert 문, __call__, 파일처리, with ~ as 문, 직렬화, 디렉토리(폴더) 생성 (0) | 2023.01.24 |