1.2 웹 애플리케이션 아키텍처

약 5분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

1.2 웹 애플리케이션 아키텍처

웹 애플리케이션 아키텍처는 애플리케이션이 어떻게 구성되고 상호작용하는지를 정의합니다. 이 강의에서는 FastAPI와 함께하는 웹 애플리케이션 아키텍처의 기본을 다루겠습니다. 이론적 배경보다는 실습을 위주로 진행하여, 실질적인 개발 환경을 체험해 볼 것입니다.

웹 애플리케이션은 일반적으로 클라이언트와 서버로 나뉘며, 클라이언트는 사용자 인터페이스를 제공하고 서버는 데이터 처리와 저장을 담당합니다. 흔히 사용되는 구조는 다음과 같습니다:

  1. 프론트엔드: 사용자와 상호작용하는 부분으로, HTML, CSS, JavaScript 등을 이용하여 구현합니다.
  2. 백엔드: 서버에서 데이터 처리 및 API 제공을 담당하는 부분으로, FastAPI를 사용하여 구현합니다.
  3. 데이터베이스: 데이터 저장을 위한 시스템으로, SQLite에서 MySQL로의 마이그레이션을 통해 더 다양한 데이터베이스 환경을 배울 수 있습니다.

다음은 FastAPI를 사용한 간단한 웹 애플리케이션의 예제입니다. 이 예제에서는 기본적인 CRUD(Create, Read, Update, Delete) 작업을 수행할 수 있는 API를 구축합니다. 이는 우리가 실제로 구현할 프로젝트의 기초가 될 것입니다.

코드 python
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import List

app = FastAPI()

class Item(BaseModel):
    id: int
    name: str
    description: str
    price: float

items = []

@app.post("/items/", response_model=Item)
def create_item(item: Item):
    items.append(item)
    return item

@app.get("/items/", response_model=List[Item])
def read_items():
    return items

@app.get("/items/{item_id}", response_model=Item)
def read_item(item_id: int):
    for item in items:
        if item.id == item_id:
            return item
    raise HTTPException(status_code=404, detail="Item not found")

@app.put("/items/{item_id}", response_model=Item)
def update_item(item_id: int, item: Item):
    for index, existing_item in enumerate(items):
        if existing_item.id == item_id:
            items[index] = item
            return item
    raise HTTPException(status_code=404, detail="Item not found")

@app.delete("/items/{item_id}")
def delete_item(item_id: int):
    global items
    items = [item for item in items if item.id != item_id]
    return "Item deleted successfully"

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.