FastAPI 8

5강: FastAPI를 통한 웹 게시

5강: FastAPI를 통한 웹 게시목차FastAPI로 웹 애플리케이션 작성크롤링 데이터 API로 제공파일 첨부 및 다운로드 기능 구현최종 웹 애플리케이션 배포1. FastAPI로 웹 애플리케이션 작성FastAPI를 사용하여 웹 애플리케이션을 작성합니다.기본 FastAPI 애플리케이션 작성from fastapi import FastAPIapp = FastAPI()@app.get("/")def read_root(): return {"message": "Hello, World!"}애플리케이션 실행Uvicorn을 사용하여 애플리케이션을 실행합니다.uvicorn main:app --reload2. 크롤링 데이터 API로 제공크롤링한 데이터를 API로 제공하는 엔드포인트를 작성합니다.데이터 조회 API 작성..

PostgreSQL 2024.05.29

4강: 웹 크롤링 데이터 저장

4강: 웹 크롤링 데이터 저장목차웹 크롤링 기본 개념 및 사용법Python으로 웹 크롤러 작성하기크롤링한 데이터 PostgreSQL에 저장하기오류 처리 및 예외 상황 다루기1. 웹 크롤링 기본 개념 및 사용법웹 크롤링은 웹 페이지의 데이터를 자동으로 추출하는 기술입니다. 이를 통해 웹 사이트에서 필요한 정보를 수집할 수 있습니다.웹 크롤링의 활용 사례뉴스 기사 수집상품 정보 수집데이터 분석을 위한 자료 수집웹 크롤링 도구requests: 웹 페이지 요청을 위해 사용BeautifulSoup: HTML 파싱을 위해 사용2. Python으로 웹 크롤러 작성하기웹 크롤러를 작성하여 웹 페이지의 데이터를 추출합니다.필요한 패키지 설치pip install requests beautifulsoup4웹 크롤러 작성아래..

PostgreSQL 2024.05.29

[교안]PostgreSQL과 FastAPI를 활용한 웹 크롤링 학습 커리큘럼

PostgreSQL과 FastAPI를 활용한 웹 크롤링 데이터 저장 및 웹 게시 학습 커리큘럼목차1강: PostgreSQL 기초 및 설치PostgreSQL 소개관계형 데이터베이스 개념PostgreSQL의 특징과 장점PostgreSQL 설치Windows 설치 방법macOS 설치 방법Linux 설치 방법기본적인 데이터베이스 및 테이블 생성데이터베이스 생성테이블 생성간단한 SQL 쿼리 작성 및 실행데이터 삽입데이터 조회데이터 업데이트데이터 삭제2강: Python에서 PostgreSQL 사용하기Python 환경 설정Python 설치 및 설정가상 환경 설정psycopg2를 사용하여 PostgreSQL과 연결하기psycopg2 설치데이터베이스 연결Python으로 데이터베이스에 데이터 삽입 및 조회하기데이터 삽입데이..

PostgreSQL 2024.05.29

[프로젝트]중기부 보도자료 크롤링 & MySql 저장

프로젝트 작업 정리1. Python 환경 설정가상환경 생성 및 활성화python -m venv venvsource venv/bin/activate # For Mac/Linuxvenv\Scripts\activate # For Windows필요한 라이브러리 설치pip install beautifulsoup4 requests fastapi uvicorn sqlalchemy mysql-connector-python jinja22. 데이터베이스 설정MySQL 설치 및 설정Homebrew로 MySQL 설치: brew install mysqlMySQL 서비스 시작: brew services start mysqlMySQL 클라이언트 접속: mysql -u root -p데이터베이스 및 사용자 생성: CREATE..

python_fastapi 2024.05.29

[FastApi]간단한 Todo 리스트 API 구현

간단한 Todo 리스트 API 구현1. 프로젝트 설정필요한 라이브러리 설치pip install fastapi uvicorn프로젝트 파일 구조.├── main.py└── requirements.txt2. FastAPI 서버 코드 작성main.py 파일 내용from fastapi import FastAPI, HTTPExceptionfrom pydantic import BaseModelfrom typing import Listapp = FastAPI()class Todo(BaseModel): id: int title: str description: str = None completed: bool = Falsetodos = []@app.post("/todos/", response_model..

python_fastapi 2024.05.28

강의 10: FastAPI 프로젝트 배포

강의 10: FastAPI 프로젝트 배포강의 목표FastAPI 프로젝트를 배포하는 방법을 이해합니다.기본적인 보안 설정을 적용하여 배포합니다.준비물이전 강의에서 설정한 FastAPI 프로젝트실습 예제Dockerfile을 생성하여 Docker 이미지를 만듭니다. FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8 COPY ./app /appdocker-compose.yml 파일을 생성하여 Docker Compose 설정을 추가합니다. version: "3.7" services: web: build: . ports: - "80:80"Docker 이미지를 빌드하고 컨테이너를 실행합니다. docker-compose up --build브라우저에서 h..

python_fastapi 2024.05.28

강의 9: 사용자 인증 및 권한 부여

강의 9: 사용자 인증 및 권한 부여강의 목표OAuth2와 JWT를 사용하여 사용자 인증 및 권한 부여 방법을 이해합니다.인증이 필요한 API 엔드포인트를 생성합니다.준비물이전 강의에서 설정한 FastAPI 프로젝트실습 예제auth.py 파일을 생성하고 OAuth2 및 JWT 설정을 추가합니다. from fastapi import Depends, HTTPException, status from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm from jose import JWTError, jwt from passlib.context import CryptContext from sqlalchemy.orm import Sessi..

python_fastapi 2024.05.28

강의 8: 응답 모델 사용하기

강의 8: 응답 모델 사용하기강의 목표Pydantic 응답 모델을 사용하여 API 응답을 검증하는 방법을 이해합니다.응답 모델을 정의하고 사용하는 API 엔드포인트를 생성합니다.준비물이전 강의에서 설정한 FastAPI 프로젝트실습 예제schemas.py 파일에 응답 모델을 정의합니다. class UserResponse(BaseModel): id: int name: str age: int email: str class Config: orm_mode = Truemain.py 파일에서 응답 모델을 사용하도록 수정합니다. @app.post("/users/", response_model=schemas.UserResponse) def create_user(user:..

python_fastapi 2024.05.28