RestFul API 22

์œ ํŠœ๋ธŒ ๋ฐ์ดํ„ฐ API๋ฅผ Postman(ํฌ์ŠคํŠธ๋งจ)์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

https://console.cloud.google.com/welcome/new?hl=ko&project=eastern-surface-426200-r0&supportedpurview=project Google ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ๋กœ๊ทธ์ธ Google ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์œผ๋กœ ์ด๋™accounts.google.com  youtube data ๊ฒ€์ƒ‰ํ•ด์„œ ์‚ฌ์šฉ ๋ˆ„๋ฅด๊ธฐ,     ํ‚ค ๋งŒ๋“ค๊ธฐ         ์ ์šฉ ๊ทœ์น™ ์•Œ์•„๋ณด๊ธฐ  https://developers.google.com/youtube/v3/docs/search/list?hl=ko Search: list  |  YouTube Data API  |  Google for Developers์ด ํŽ˜์ด์ง€๋Š” Cloud Translation API๋ฅผ ํ†ตํ•ด ๋ฒˆ์—ญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Search:..

RestFul API 2024.06.12

instargram ์‚ฌ์ง„ ํฌ์ŠคํŒ… API (4) follow์™€ like ์„œ๋น„์Šค ๊ตฌํ˜„ํ•˜๊ธฐ

follow ์„œ๋น„์Šค ๊ตฌํ˜„ํ•˜๊ธฐ    app.py์— ์ถ”๊ฐ€ํ•˜๊ธฐfrom resources.follow import FollowResourceapi.add_resource( FollowResource , '/follow/')   resources ํด๋”์— follow.py ํŒŒ์ผ ์ƒ์„ฑํ•ด์„œ ์ž…๋ ฅํ•˜๊ธฐfrom flask import requestfrom flask_jwt_extended import get_jwt_identity, jwt_requiredfrom flask_restful import Resourcefrom mysql_connection import get_connectionfrom mysql.connector import Errorclass FollowResource(Resource) : @jw..

RestFul API 2024.05.31

instargram ์‚ฌ์ง„ ํฌ์ŠคํŒ… API (3) rekognition์„ ์ด์šฉํ•œ ์ž๋™ ํƒœ๊ทธ ๋งŒ๋“ค๊ธฐ

ํƒœ๊ทธ๋ฅผ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ์€ rekognition ํฌ์ŠคํŒ…์„ ์ฐธ์กฐํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค. https://codebunny99.tistory.com/109 AWS S3์™€ ์—ฐ๊ฒฐํ•˜์—ฌ AWS Rekognition์œผ๋กœ ์ด๋ฏธ์ง€ ์ธ์‹ ํƒœ๊ทธ API ๋งŒ๋“ค๊ธฐhttps://docs.aws.amazon.com/ko_kr/rekognition/latest/dg/labels-detect-labels-image.html ์ด๋ฏธ์ง€์—์„œ ๋ ˆ์ด๋ธ” ๊ฐ์ง€ - Amazon Rekognition๊ธฐ๊ณ„ ๋ฒˆ์—ญ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ๋ฒˆ์—ญ์ž…๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ๋ฒˆ์—ญ๊ณผ ์›๋ณธ ์˜์–ด์˜ ๋‚ด์šฉ์ด ์ƒ์ถฉํ•˜๋Š” ๊ฒฝcodebunny99.tistory.com   ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ ๋‹ค.  updatedAt์€ now() on update now()๋ฅผ ์ž…๋ ฅํ•˜๊ณ  apply ํ•ด์ฃผ๋ฉด ์ž…๋ ฅ๋œ๋‹ค.       app.p..

RestFul API 2024.05.30

instargram ์‚ฌ์ง„ ํฌ์ŠคํŒ… API (2) ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ API

MySQL user ํ…Œ์ด๋ธ” ์ž‘์„ฑํ•˜๊ธฐ    app.py ์ž‘์„ฑํ•˜๊ธฐimport serverless_wsgifrom flask import Flaskfrom flask_jwt_extended import JWTManagerfrom flask_restful import Apifrom config import Configfrom resources.user import jwt_blacklistfrom resources.user import UserRegisterResourcefrom resources.user import UserLoginResourcefrom resources.user import UserLogoutResourceapp = Flask(__name__)# ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์…‹ํŒ…app.config.from_ob..

RestFul API 2024.05.30

instargram ์‚ฌ์ง„ ํฌ์ŠคํŒ… API (1) ๊ธฐ๋ณธ ์„ธํŒ…(Setting) ํ•˜๊ธฐ

API ๋งŒ๋“ค๊ธฐ ์ „์—, ๊ธฐ๋ณธ ์…‹ํŒ… ํ•˜๊ธฐ  (1). serverless๋กœ aws-posting-server๋ฅผ ๋งŒ๋“ค๊ณ  vscode๋กœ ์—ด์–ด์ฃผ์—ˆ๋‹ค. https://codebunny99.tistory.com/105 RestFul API๋ฅผ Serverless Framework๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ*** ์•„๋‚˜์ฝ˜๋‹ค ํ”„๋กฌํ”„ํŠธ์—์„œ ๊ฐ€์ƒํ™˜๊ฒฝ ๋งŒ๋“ค๋ฉด์„œ flask์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด ๋ฐ›์•„์ค€๋‹ค *** conda create -n lambda_310 python=3.10pip install flask flask-restful mysql-connector-python psycopg2-binary passlib flask-jwt-extecodebunny99.tistory.com   (2). ๋„์ปค ์„ค์ •์„ ํ•ด์ค€๋‹ค. https://codebun..

RestFul API 2024.05.30

HTTP ์š”์ฒญ์„ ์œ„ํ•œ ๋ณต์žกํ•œ ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” requests ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

requests ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ž€?  requests ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ๋ณต์žกํ•œ ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•˜์—ฌ   ์‚ฌ์šฉ์ž๊ฐ€ HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ณผ์ •์„ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.   vscode cmd์ฐฝ์—์„œ ์ž…๋ ฅํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. pip install requests    ์žฅ์  (1) ์„ธ์…˜ ์ง€์›- requests.Session ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์š”์ฒญ ๊ฐ„์— ์ง€์†์ ์ธ ์„ธ์…˜์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. - ์ฟ ํ‚ค์™€ ์ธ์ฆ ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.   (2) ์ฟ ํ‚ค, ํ—ค๋”, ํŒŒ๋ผ๋ฏธํ„ฐ ์ง€์› - ์š”์ฒญ ์‹œ ์ฟ ํ‚ค, ํ—ค๋”, URL ํŒŒ๋ผ๋ฏธํ„ฐ ๋“ฑ์„ ์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.  (3) ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œ- ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œ ์ž‘์—…์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.  (4) JSON ์‘๋‹ต ์ฒ˜๋ฆฌ- JSON ํ˜•..

RestFul API 2024.05.30

๊ด€๋ จ ํ‚ค์›Œ๋“œ๊ฐ€ ํฌํ•จ๋œ ๋‰ด์Šค ๊ฒ€์ƒ‰ API ๋งŒ๋“ค๊ธฐ

ํ‚ค์›Œ๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•œ ๋‰ด์Šค๋ฅผ ๋‚˜์˜ค๊ฒŒ ํ•˜๋Š” ๋‰ด์Šค ๊ฒ€์ƒ‰ API๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.  API ๋งŒ๋“ค๊ธฐ ์ „์—, ๊ธฐ๋ณธ ์…‹ํŒ… ํ•˜๊ธฐ  (1). serverless๋กœ aws-openapi-server๋ฅผ ๋งŒ๋“ค๊ณ  vscode๋กœ ์—ด์–ด์ฃผ์—ˆ๋‹ค. https://codebunny99.tistory.com/105 RestFul API๋ฅผ Serverless Framework๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ*** ์•„๋‚˜์ฝ˜๋‹ค ํ”„๋กฌํ”„ํŠธ์—์„œ ๊ฐ€์ƒํ™˜๊ฒฝ ๋งŒ๋“ค๋ฉด์„œ flask์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด ๋ฐ›์•„์ค€๋‹ค *** conda create -n lambda_310 python=3.10pip install flask flask-restful mysql-connector-python psycopg2-binary passlib flask-jwt-extecodeb..

RestFul API 2024.05.29

RestFul API๋ฅผ Serverless Framework๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ

*** ์•„๋‚˜์ฝ˜๋‹ค ํ”„๋กฌํ”„ํŠธ์—์„œ ๊ฐ€์ƒํ™˜๊ฒฝ ๋งŒ๋“ค๋ฉด์„œ flask์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด ๋ฐ›์•„์ค€๋‹ค *** conda create -n lambda_310 python=3.10pip install flask flask-restful mysql-connector-python psycopg2-binary passlib flask-jwt-extended email-validator flask-uploads uuid numpy pandas scikit-learn==0.23.2  node.js ๋‹ค์šด๋ฐ›๊ธฐ https://nodejs.org/en/ Node.js โ€” Run JavaScript EverywhereNode.jsยฎ is a JavaScript runtime built on Chrome's V8 JavaScript ..

RestFul API 2024.05.23

JWT ์ธ์ฆ ํ† ํฐ์˜ ๋กœ๊ทธ์ธ ๋งŒ๋ฃŒ ์‹œ๊ฐ„ ์„ค์ •ํ•˜๊ธฐ

https://codebunny99.tistory.com/100 JWT(JSON WEP TOKEN) ์•”ํ˜ธํ™” ๋กœ๊ทธ์ธ API ๋งŒ๋“ค๊ธฐ๋กœ๊ทธ์ธ API ๋งŒ๋“ค๊ธฐ     app.py์— ์‚ฝ์ž…ํ•˜๊ธฐfrom resources.user import UserLoginResourceapi.add_resource( UserLoginResource, '/users/login')    user.py์— ์‚ฝ์ž…ํ•˜๊ธฐfrom utils import check_password #4์—์„œ ์‚ฝ์ž…class UserLoginResource(Recodebunny99.tistory.com ๋กœ๊ทธ์ธ API ๋งŒ๋“ค๊ธฐ๋Š” ์œ„ ๊ธ€์„ ์ฐธ์กฐํ•˜์„ธ์š”   ๋กœ๊ทธ์ธ ํ† ํฐ์˜ ๋งŒ๋ฃŒ ์‹œ๊ฐ„ ์„ค์ •  user.py ํŒŒ์ผ ์ˆ˜์ •ํ•˜๊ธฐ  class UserLoginResource import date..

RestFul API 2024.05.22

JWT(JSON WEP TOKEN) ์•”ํ˜ธํ™” ๋กœ๊ทธ์•„์›ƒ API ๋งŒ๋“ค๊ธฐ

user.py์— ์ถ”๊ฐ€ํ•˜๊ธฐ from flask_jwt_extended import get_jwt, jwt_required # ๋กœ๊ทธ์•„์›ƒ๋œ ํ† ํฐ์„ ์ €์žฅํ• , set์„ ๋งŒ๋“ ๋‹คjwt_blacklist = set()class UserLogoutResource(Resource) : @jwt_required() def delete(self) : jti = get_jwt()['jti'] jwt_blacklist.add(jti) return     app.py์— ์ถ”๊ฐ€ํ•˜๊ธฐ from resource.user import UserLogoutResourceapi.add_resource( UserLogoutResource, '/user/logout')from re..

RestFul API 2024.05.22