2024/12 24

[새싹 성동 2기] Pydantic 모델을 사용한 요청 본문 검증

FastAPI에서는 데이터 유효성 검증을 간단하고 효율적으로 처리할 수 있습니다. Pydantic 모델을 사용하면 요청 본문 데이터를 구조화하고 검증할 수 있으며, 검증에 실패하면 FastAPI는 422(Unprocessable Content) 응답을 자동으로 반환합니다.Pydantic 모델 정의Pydantic은 데이터 구조를 정의하고, 요청 및 응답 데이터의 유효성을 검사하는 데 사용됩니다. 이를 통해 애플리케이션의 데이터를 안전하게 처리할 수 있습니다.기본 모델 정의다음은 할 일 데이터를 저장할 Pydantic 모델의 예입니다. 이 모델은 id와 item 필드를 포함합니다.model.pyfrom pydantic import BaseModelclass Todo(BaseModel): id: int ..

코딩/파이썬 2024.12.16

[새싹 성동 2기] FastAPI 라우팅 가이드

웹 애플리케이션에서 라우팅은 클라이언트 요청을 특정 함수나 로직에 매핑하는 중요한 과정입니다. FastAPI에서는 이를 "경로 운영자 데코레이터"를 사용해 손쉽게 정의할 수 있습니다. 또한, APIRouter 클래스를 이용해 라우트를 모듈화하고 그룹화할 수 있습니다. 이번 글에서는 FastAPI의 라우팅 개념과 사용 방법을 단계별로 설명합니다. 1. 경로 운영자 데코레이터FastAPI에서 경로와 HTTP 메서드를 연결하기 위해 경로 운영자 데코레이터를 사용합니다. 이는 특정 HTTP 메서드와 경로에 요청이 들어왔을 때 실행할 함수를 정의합니다. 함수는 보통 비동기 함수(async def)로 작성되지만, 동기 함수(def)로도 가능합니다.주요 데코레이터 종류:@app.get() : HTTP GET 요청 처..

코딩/파이썬 2024.12.11

[새싹 성동 2기] FastAPI로 간단한 웹 애플리케이션 만들기

파이썬 웹 프레임워크인 FastAPI를 이용하여 간단한 REST API를 구현하고, 로컬 환경에서 애플리케이션을 실행해보는 과정을 소개합니다. FastAPI란?FastAPI는 파이썬으로 고성능 비동기 웹 애플리케이션을 쉽게 개발할 수 있도록 도와주는 웹 프레임워크입니다. 기본적으로 비동기(Async) 작업 방식을 지원하기 때문에, 동시성 처리가 많은 REST API를 구현할 때 매우 유용합니다.FastAPI 특징:고성능: Starlette과 uvicorn 기반으로 매우 빠른 속도 제공간결한 문법: Python 타입 힌트를 적극 활용해 자동 문서화 및 검증비동기 지원: async/await 키워드를 통한 논블로킹 I/O 처리REST API 개발에 최적화개발 환경 준비작업 디렉터리 생성먼저 FastAPI 프..

코딩/파이썬 2024.12.11

[새싹 성동 2기] SQLite 데이터베이스 연동 가이드

SQLite를 사용하여 데이터베이스를 연동하고 데이터를 생성, 조회, 수정, 삭제하는 과정을 단계별로 정리한 가이드입니다.  1. 데이터베이스 연결 및 테이블 생성SQLite 데이터베이스에 연결하고 사용자(users) 테이블을 생성하는 코드 예제입니다.import sqlite3# 데이터베이스 연결# SQLite 데이터베이스 파일 'example.db'에 연결conn = sqlite3.connect("example.db")print(conn)# # 커서 생성# SQL 명령을 실행하기 위한 커서 객체를 생성cursor = conn.cursor()# 테이블 생성sql = """create table if not exists users ( id integer primary key autoincrement,..

코딩/파이썬 2024.12.11

[새싹 성동 2기] 객체 지향 프로그래밍 (OOP) 기초

객체 지향 프로그래밍 (OOP) 기초객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍을 객체 단위로 설계하여 코드의 재사용성과 유지보수성을 높이는 방법론입니다. 이번 글에서는 클래스, 인스턴스, 클래스 메서드, 그리고 상속에 대해 알아보겠습니다.1. 클래스와 인스턴스클래스는 객체를 생성하기 위한 틀 또는 설계도입니다. 인스턴스는 클래스에서 생성된 실제 객체입니다. 아래 예제에서 Dog 클래스는 모든 강아지 객체를 생성하는 설계도 역할을 합니다.class Dog: species = "Canis familiaris" # 클래스 변수: 모든 인스턴스가 공유하는 변수 def __init__(self, name, age): self.name =..

코딩/파이썬 2024.12.11

[새싹 성동 2기] Python에서 파일 처리하는 방법

파이썬에서는 파일을 다루는 다양한 방법을 제공합니다. 파일을 열고 읽거나 쓰는 작업을 효율적으로 수행할 수 있으며, 예외 처리로 안전한 파일 작업도 가능합니다. 이번 글에서는 파이썬에서 파일을 처리하는 기본 문법과 주요 기능을 정리해 보겠습니다.1. open() 함수의 기본 문법파일을 열 때 사용하는 open() 함수는 다음과 같은 매개변수를 가집니다.file_object = open(file_name, mode, buffering, encoding, errors, newline, closefd, opener)file_name: 파일 이름mode: 파일 모드(읽기, 쓰기, 추가 등)encoding: 파일 인코딩(예: utf-8)buffering: 버퍼 설정errors: 오류 처리 방식newline: 줄바..

코딩/파이썬 2024.12.09

[새싹 성동 2기]Python 데이터 타입과 연산자 기초 정리

1. 불변 객체와 가변 객체불변 객체정수(int), 문자열(str), 튜플(tuple) 등은 불변 객체입니다.값이 변경되면 새로운 객체가 생성됩니다.x = 42print(x, id(x)) # 42 140720571869384x = x + 1print(x, id(x)) # 43 140720571869416 # 새로운 객체가 생성 가변 객체리스트(list), 딕셔너리(dict), 집합(set) 등은 가변 객체입니다.값을 변경해도 같은 객체를 참조합니다.my_list = [1, 2, 3]print(my_list, id(my_list)) # [1, 2, 3] 1952297804288my_list.append(4)print(my_list, id(my_list)) # [1, 2, 3, 4] 19522978..

코딩/파이썬 2024.12.09

[새싹 성동 2기] 파이썬 변수와 관련된 기초 정리

1. 변수와 동적 타이핑(Dynamic Typing)파이썬의 변수 특성파이썬은 동적 타이핑을 지원합니다.x = 10print(type(x)) # x = "hello"print(type(x)) # 변수의 데이터 타입은 값을 할당할 때 자동으로 설정됩니다.변수 선언 시 별도의 데이터 타입 지정이 필요 없습니다.자바(Java)처럼 변수의 타입을 선언해야 하는 언어와 대조적입니다.int i;int j = 100;2. 강력한 타입 검사(Strong Typing)타입 변경 없이 연산 불가능x = "123"y = 456print(x + y) # TypeError: can only concatenate str (not "int") to str파이썬은 변수 타입 간의 자동 변환을 지원하지 않습니다.서로 다른 타입의..

코딩/파이썬 2024.12.06

[새싹 성동 2기] Python 설치 및 가상환경 설정 방법

1. Python 설치 확인설치 여부 확인Command Prompt 또는 터미널에서 아래 명령어를 입력하여 Python과 pip이 설치되었는지 확인합니다.python --versionpip --versionPython 3.12.5pip 24.2 from C:\Users\-------\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip (python 3.12)2. 패키지 설치Python 패키지 관리 도구인 pip을 사용하여 필요한 패키지를 설치합니다.예: numpy 설치pip install numpySuccessfully installed numpy-1.26.43. 가상환경 설정가상환경이란?프로젝트 간 패키지 버전 충돌을 방지하기 위해 독립적인 환..

코딩/파이썬 2024.12.06

[새싹 성동 2기] React Router 부가 기능(네비게이션, 스타일링, 리다이렉션)

React Router를 사용하면 SPA(Single Page Application) 개발에서 라우팅을 손쉽게 관리할 수 있습니다. 이번 포스팅에서는 React Router의 부가 기능들을 활용하여 페이지 이동, 스타일링, 그리고 리다이렉션을 구현하는 방법을 알아보겠습니다.1. useNavigate 훅으로 페이지 이동useNavigate는 Link 컴포넌트를 사용하지 않고 프로그래밍 방식으로 페이지를 이동할 때 사용하는 훅입니다.예제: 이전 페이지와 정보 페이지로 이동 버튼 추가아래 코드는 useNavigate 훅을 활용하여 버튼 클릭 시 페이지를 이동시키는 방법을 보여줍니다.import { Link, Outlet, useNavigate } from "react-router-dom"; // Link: 경..

코딩/리액트 2024.12.06