분류 전체보기 54

1강: PostgreSQL 기초 및 설치

1강: PostgreSQL 기초 및 설치목차PostgreSQL 소개PostgreSQL 설치기본적인 데이터베이스 및 테이블 생성간단한 SQL 쿼리 작성 및 실행1. PostgreSQL 소개PostgreSQL은 오픈 소스 객체 관계형 데이터베이스 관리 시스템(ORDBMS)입니다. ACID 준수, 확장성, JSON 지원 등 다양한 고급 기능을 제공합니다.관계형 데이터베이스 개념관계형 데이터베이스는 데이터를 테이블 형식으로 저장하며, 각 테이블은 고유한 키를 통해 서로 관계를 맺습니다.PostgreSQL의 특징과 장점오픈 소스: 무료로 사용 가능하며, 소스 코드 수정 가능확장성: 대규모 데이터 처리 및 복잡한 쿼리 지원다양한 데이터 타입: JSON, XML 등 다양한 데이터 타입 지원2. PostgreSQL 설..

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

강의 7: CRUD 작업 구현

강의 7: CRUD 작업 구현강의 목표CRUD(Create, Read, Update, Delete) 작업을 구현하는 방법을 이해합니다.CRUD 작업을 수행하는 API 엔드포인트를 생성합니다.준비물이전 강의에서 설정한 FastAPI 프로젝트실습 예제crud.py 파일에 아래의 CRUD 함수를 추가합니다. def get_users(db: Session, skip: int = 0, limit: int = 10): return db.query(models.User).offset(skip).limit(limit).all() def get_user(db: Session, user_id: int): return db.query(models.User).filter(models.User.id == user..

python_fastapi 2024.05.28

강의 6: 데이터베이스 연동

강의 6: 데이터베이스 연동강의 목표SQLAlchemy를 사용하여 데이터베이스와 연동하는 방법을 이해합니다.데이터베이스에 데이터를 저장하고 조회하는 API 엔드포인트를 생성합니다.준비물이전 강의에서 설정한 FastAPI 프로젝트실습 예제SQLAlchemy와 SQLite 설치 pip install sqlalchemy sqlitedatabase.py 파일을 생성하고 아래의 코드를 작성합니다. from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker SQLALCHEMY_DATABASE_U..

카테고리 없음 2024.05.27

강의 5: 요청 본문 다루기

강의 5: 요청 본문 다루기강의 목표Pydantic을 사용하여 요청 본문을 검증하는 방법을 이해합니다.요청 본문을 받아 처리하는 API 엔드포인트를 생성합니다.준비물이전 강의에서 설정한 FastAPI 프로젝트실습 예제main.py 파일에 아래의 코드를 추가합니다. from pydantic import BaseModel class User(BaseModel): name: str age: int email: str @app.post("/users/") def create_user(user: User): return user서버를 실행하고, POST 요청을 보내기 위해 http://127.0.0.1:8000/docs에 접속하여 인터랙티브 API 문서를 사용합니다.추가 실습더 복잡한..

python_fastapi 2024.05.27