실버를 위한 코딩/파이썬 연습 41

파이썬 프로젝트 패키지 관리와 의존성 관리, Poetry란?

📝 Poetry란?Poetry는 파이썬 프로젝트의 패키지 관리와 의존성 관리, 그리고 패키지 배포까지 통합적으로 지원하는 도구입니다.기존의 pip, virtualenv, setuptools, requirements.txt 등 여러 도구를 한데 통합한 올인원 솔루션이라 생각하시면 됩니다.📦 주요 기능기능 설명의존성 관리pyproject.toml 파일을 통해 직관적으로 의존성 추가 및 잠금(lock) 가능가상환경 자동 관리프로젝트마다 자동으로 가상환경 생성 및 관리패키징 간편화간단한 명령어로 패키지 생성 및 배포 준비 가능일관성 있는 환경 구성poetry.lock 파일로 팀 간 환경 차이 최소화버전 관리 지원패키지의 버전 명세를 ^, ~ 등으로 유연하게 조절 가능🛠️ Poetry 설치curl -sSL ..

웹 기반 사용자 인터페이스(UI), Swagger

웹 기반 사용자 인터페이스(UI), SwaggerFastAPI에서 제공하는 Swagger는 API 문서를 자동으로 생성해 주는 웹 기반 사용자 인터페이스(UI)입니다.API를 설명하고, 직접 테스트까지 할 수 있는 편리한 도구입니다.✅ Swagger란?웹 API의 기능을 시각적으로 보여주는 도구API 요청 방법과 응답 구조를 자동으로 문서화직접 버튼 클릭으로 요청을 보내고 결과를 확인할 수 있음FastAPI는 Swagger를 내장하여 별도 설정 없이 /docs 주소에서 바로 제공📌 Swagger의 주요 기능기능 설명API 목록 보기모든 경로(GET, POST 등)를 한눈에 확인 가능입력 필드 자동 생성필요한 데이터 형식을 자동으로 표시버튼 클릭 테스트코드 작성 없이 API 실행 가능응답 확인응답 데이터..

FastAPI 기초 교육 자료 (입문 실습용)

🏷️ FastAPI 기초 교육 자료 (입문 실습용)📌 학습 목표FastAPI 웹 서버를 실행할 수 있다.URL 경로를 만들고 응답 메시지를 작성할 수 있다.JSON 형식의 데이터를 주고받을 수 있다.Swagger UI를 통해 API를 테스트할 수 있다.1. FastAPI란?Python으로 만든 빠르고 쉬운 웹 프레임워크웹 브라우저나 앱과 데이터를 주고받는 API 서버 구축에 최적화문서 자동 생성 (Swagger, Redoc)2. 프로젝트 기본 구조📁 예제 디렉터리 구조my_project/├── main.py ← 여기에 서버 코드 작성3. 예제 코드 작성하기main.py 파일에 아래와 같이 작성합니다.from fastapi import FastAPIfrom pydantic import ..

FastAPI 접속 오류 해결

FastAPI 접속 오류 해결브라우저에서 해당 앱에 접속하려고 하자 "사이트에 연결할 수 없음" (ERR_CONNECTION_REFUSED) 오류가 발생하고 있습니다.✅ 현재 상황 요약FastAPI 앱은 uvicorn을 통해 다음 주소에서 실행됨:http://127.0.0.1:8000그러나 Windows 호스트에서 가상머신 서버(192.168.142.200:8000) 로 접속하려 하여 연결 거부됨.즉, 서버는 127.0.0.1 (자기 자신) 만 허용 중이고, 외부(호스트 PC)에서는 접근할 수 없음.✅ 해결 방법✔ 1. Uvicorn 실행 시 호스트를 0.0.0.0으로 지정현재는 127.0.0.1에서만 접속을 허용하고 있어서 외부에서 접근이 안 됩니다. 다음 명령어로 실행해 주세요:uvicorn main..

conda로 가상환경 새로 만들기

✅ conda로 가상환경 새로 만들기1. 가상환경 생성conda create -n fastapi-env python=3.11fastapi-env는 가상환경 이름입니다. 원하는 이름으로 바꾸셔도 됩니다.python=3.11은 사용할 Python 버전입니다. 필요에 따라 3.10, 3.9 등도 가능합니다.2. 가상환경 활성화conda activate fastapi-env활성화되면 프롬프트 앞에 (fastapi-env)처럼 가상환경 이름이 보입니다.3. 필요한 패키지 설치pip install fastapi uvicornFastAPI와 서버 구동용 Uvicorn을 함께 설치합니다.✅ FastAPI 실행 예시작업 디렉터리로 이동한 뒤, FastAPI 프로젝트를 실행하세요:uvicorn main:app --relo..

[파이썬 연습] 별칭 사용으로 코드 간소화

별칭 사용으로 코드 간소화다음 이미지는 별칭 사용의 사례를 보여주고 있습니다. 사용 방법과 별칭 사용에서 유의해야 할 내용들을 알아봅니다.별칭 사용의 목적과 방식별칭 지정 목적:모듈 이름이나 함수 이름이 길 경우, 간결한 이름을 사용해 가독성을 높이고 타이핑을 줄입니다.코드 내에서 반복적으로 사용하는 이름을 간략화하여 유지보수성을 강화합니다.별칭 지정 방식:import 모듈 as 별칭: 모듈 전체에 대해 별칭을 지정합니다.from 모듈 import 함수 as 별칭: 특정 함수나 클래스에 대해 별칭을 지정합니다.코드에서의 별칭 사용 사례1. 모듈 별칭 (import pizza_factory.pizza as p)pizza_factory.pizza 모듈에 대해 p라는 별칭을 지정했습니다.이렇게 하면 pizza..

[파이썬 연습] 딕셔너리(Dictionary)란?

딕셔너리(Dictionary)란?파이썬의 딕셔너리(Dictionary)는 키(key)-값(value) 쌍으로 이루어진 자료형입니다. 데이터를 이름으로 매핑하여 저장하기 때문에 빠르고 효율적인 데이터 검색이 가능합니다. 딕셔너리는 {} 중괄호를 사용해 선언합니다.딕셔너리의 주요 특징키-값 쌍으로 구성:키: 고유하며 불변(immutable)해야 함 (문자열, 숫자, 튜플 등 가능).값: 변경 가능한(mutable) 모든 자료형 사용 가능.순서 유지 (파이썬 3.7 이상):딕셔너리는 삽입된 순서를 유지합니다.중복 키 불허:동일한 키가 여러 개 존재하면, 마지막에 정의된 키-값 쌍이 유지됩니다.변경 가능(Mutable):딕셔너리는 추가, 삭제, 수정 가능.딕셔너리 생성 방법# 빈 딕셔너리 생성empty_dict..

[파이썬 연습] 튜플과 리스트

튜플(Tuple)과 리스트(List)의 비교튜플과 리스트는 파이썬에서 데이터를 순서대로 저장할 수 있는 시퀀스 자료형입니다. 하지만 두 자료형은 특징, 사용 목적, 그리고 동작 방식에서 차이가 있습니다.튜플(Tuple)정의: 변경 불가능한(immutable) 시퀀스 자료형특징:한 번 생성되면 요소를 변경할 수 없음 (추가, 삭제, 수정 불가)읽기 전용 데이터 구조로, 값이 변경되지 않음을 보장해야 하는 경우에 적합( )를 사용해 선언 (괄호를 생략할 수도 있음)튜플 생성 예시:# 튜플 생성t = (1, 2, 3) # 일반적인 튜플t2 = 4, 5, 6 # 괄호 없이 생성 가능t3 = (7,) # 하나의 요소를 가진 튜플 (쉼표 필수)t4 = () # 빈 튜플리스트(List)정의..

[파이썬 연습] 파이썬 문자열 포매팅

파이썬 문자열 포매팅문자열 포매팅(String Formatting)은 텍스트 안에 변수나 값을 삽입해 동적인 문자열을 생성하는 기술입니다. 파이썬에서는 문자열 포매팅을 수행하는 다양한 방법을 제공합니다. 대표적으로는 % 연산자 방식, str.format() 메서드, 그리고 f-string 방식이 있습니다.1. % 연산자 방식C 언어의 printf 스타일을 따른 방식으로, 문자열 안에 포매팅 지시자를 사용하여 값을 삽입합니다.사용법:name = "Alice"age = 25print("Hello, my name is %s and I am %d years old." % (name, age))주요 포매팅 지시자:%s: 문자열%d: 정수%f: 부동소수점 (기본적으로 소수점 이하 6자리)%.2f: 소수점 이하 2자..

코랩에서 파일 올리고 압축해제하는 방법

코랩에서 파일 올리고 압축해제하는 방법Colab에서 업로드한 .zip 파일을 압축 해제하는 방법은 다음과 같습니다.1. D2Coding.zip 파일 업로드먼저 D2Coding 폰트를 다운로드하여 .zip 파일을 Colab 파일 탐색기(왼쪽 파일 아이콘)에서 D2Coding.zip 이름으로 업로드합니다.2. 압축 해제 코드 실행아래 코드를 새로운 코드 셀에 입력하고 실행하여 압축을 해제합니다.# 압축 해제 코드!unzip D2Coding.zip -d /content/D2Coding이 코드는 D2Coding.zip 파일을 /content/D2Coding 폴더에 압축 해제합니다. 압축 해제 후에는 /content/D2Coding 폴더 안에 폰트 파일(.ttf 형식)이 저장됩니다.3. 폰트 파일 확인Colab의..