블루프린트 라우트 함수 관리
·
백엔드
from flask import Flask def create_app(): app = Flask(__name__) @app.route('/') --- 매핑 만들어줌 : 라우트 함수 def hello_pybo(): --- URL에서 /에 매핑돠는 함수 return 'Hello, pybo!' return app 이전에 작성해본 코드는 새로운 URL이 생길 때마다 라우트 함수를 create_app 함수안에 계속 추가해야 하는 귀찮음이 있다. 이를 해결해주는 클래스가 블루프린트다. 블루프린트(Blueprint) : '청사진', 플라스크에서는 URL고 호출되는 함수의 관계를 확인할 수 있는 Blueprint 클래스를 의미 → 라우트 함수를 구조적으로 관리할 수 있다. 01. 블루 프린트 생성하기 __init__...
플라스크 프로젝트 생성하기
·
백엔드
01. 프로젝트 루트 디렉터리 생성하기 플라스크 프로젝트는 여러 개가 될 수 있으므로 프로젝트를 모아 둘 프로젝트 루트 디렉터리를 생성해야 한다. 여기서 프로젝트 루트 디렉터리 이름을 projects로 지었다. 02. 프로젝트 루트 디렉터리 안에서 가상 환경에 진입하기 다음 명령어를 입력해 앞에서 만든 myproject 가상 환경에 진입한다. 이때, 반드시 프로젝트 루트 디렉터리에서 명령어를 입력해야 한다. "길어도 꾹 참고 입력!" 03. 플라스크 프로젝트를 담을 디렉터리 생성하고 이동하기 플라스크 프로젝트를 담을 myproject 디렉터리를 생성하고 이동하자 04. 배치 파일로 myproject 가상 환경에 간단히 진입하기 myproject 가상 환경에 진입하려면 매번 명령 프롬프트를 실행하고 C:\..
HTTP의 구조 및 핵심 요소
·
백엔드
프론트앤드 시스템과 백엔드 API 시스템은 일반적으로 HTTP 프로토콜을 기반으로 통신한다. HTTP HyperText, Transfer Protocol의 약자 웹상에서 서로 다른 서버 간에 하이퍼텍스트 문서, 즉 HTML을 서로 주고 받을 수 있도록 만들어진 프로토콜, 통신 규약 웹상에서 네트워크를 통해 서버 사이에 통신할 때 어떠한 형식으로 서로 통신하자고 규정해놓은 통신 형식, 통신 구조 (서버 간의 통신에서도 서로 이해할 수 있는 공통의 통신 형식 필요 → 프로토콜(protocol)) HTTP 통신 방식 HTTP 통신 방식에는 2가지의 특징이 있다. 1. HTTP 요청(request)과 응답(response) 방식 2. Stateless HTTP 요청과 응답방식 HTTP를 기반으로 통신을 할 때 ..
ping 엔드포인트 구현하기
·
백엔드
▶ ping 엔드포인트(endpoint) 구현 엔드포인트 : API 서버가 제공하는 통신 채널 혹은 접점 프론트엔드 서버의 클라이언트가 백엔드 API 서버와 통신할 때 엔드포인트에 접속하는 형태로 통신 각 엔드포인트는 고유의 URL 주소를 가지게 되며, 고유의 URL 주소를 통해 엔드포인트에 접속 각 엔드포인트는 고유의 기능을 담당 → 이러한 엔드포인트들이 모여 하나의 API 구축 ex) SNS 서비스를 위한 API : 사용자 sign up 엔드포인트, 사용자 로그인 엔드포인트, 새로운 포스팅 생성 엔드포인트, 다른 사용자들과 친구 맺기 엔드 포인트 등 여러 엔드포인트로 구성 ping endpoint - "pong"이라는 텍스트를 return하는 endpoint - 아주 간단한 엔드포인트지만 실제 시스템..
Python : Flask 시작하기
·
백엔드
Flask란? 2004년 오스트리아의 오픈소스 개발자 아르민 로나허가 만든 파이썬 웹프레임워크 이때 프레임워크란 특정 시스템을 구현하기 위해서 공통적으로 요구되는 기능들과 구조를 재사용이 가능하도록 구현해 놓은 것 (프로그래밍할 규칙이 정해져 있음) 플라스크를 이용하면 파일 하나로 구성된 짧은 코드만으로도 완벽하게 동작하는 웹 프로그램을 만들 수 있음 - Flask의 홈페이지 : http://flask.pocoo.org/ 플라스크엔 form, database를 처리하는 기능이 없음 확장 모듈을 사용하여 보완해야 함 플라스크를 사용한 API 개발 1. 파이썬 가상 환경 생성 conda create --name api python=3.7 가상환경의 이름을 api라고 지었지만, 이름은 원하는 대로 각자 알아서..