🔧 Python 개발 필수 도구 4종 + 커버리지 도구 정리 (Poetry 기준)
·
기술블로그-Fastapi편
🔧 Python 개발 필수 도구 4종 + 커버리지 도구 정리 (Poetry 기준)1. black – 코드 자동 정리 도구✨ 간단 정의Python 코드를 보기 좋게 자동으로 정리해 주는 도구입니다.✔️ 설치poetry add --dev black휴대 예제# 정리 전def hello(name): print("Hi, "+name)# 정리 후def hello(name): print("Hi, " + name)2. ruff – 보조 코드 검사 + 자동 수정 도구✨ 간단 정의문법 오류가 있는지 검사하고, 자동으로 고침할 수 있는 고속 Linter 도구입니다.✔️ 설치poetry add --dev ruff휴대 예제# 수정 전import os, sys# 수정 후import osimport sys3. mypy – ..
🌟 Python asyncio 와 FastAPI/Django 비동기 여러 작업 동시 처리 기능 정리
·
기술블로그-Fastapi편
🌟 Python asyncio 와 FastAPI/Django 비동기 여러 작업 동시 처리 기능 정리1. ✨ asyncio 또는 “비동기”이 무엇인가?asyncio는 Python의 비동기(가능성)을 지원하는 프로그램 라이브러리다.시간이 금강한 작업과 (홀로, API 호출, sleep 기반) 같은 것을 통신에 무리 두고 더 효율적으로 처리할 때 사용한다.2. 평생적인 복잡한 작업들을 동시에? ❄️ 복잡 사례예상: 라면을 만들려고 할 때물 깨지기 (3초 걸린다)물 깨지는 동안 가슴, 계란, 구매하기▶️ 이것이 복잡치로 되게 “비동기”3. FastAPI와 Django에서 어떻게 연결되는가?✔️ FastAPI 예제 (asyncio 기능 용어)from fastapi import FastAPIimport async..
👉 Python 개념 정리: 상수(Constant) 와 리터럴(Literal)
·
기술블로그-Fastapi편
👉 Python 개념 정리: 상수(Constant) 와 리터럴(Literal)1️⃣ 상수와 리터럴 구분 정의구분 설명 예시 특징리터럴 (Literal)값 그 자체를 의미함"hello", 123, True코드에 직접 쓰인 고정된 값상수 (Constant)바뀌지 않도록 약속된 변수PI = 3.14, MAX = 100변수이지만 변경하지 말아야 함Literal 타입힌트typing 모듈에서 정해진 값만 허용하는 타입 지정Literal["on", "off"]Python 3.8+부터 지원2️⃣ 리터럴 (Literal) 예시 설명# 리터럴: 값 그 자체를 의미"Python" # 문자열 리터럴42 # 정수 리터럴3.14 # 실수 리터럴True, False # 불리언 리터..
📅 공공데이터포털 공휴일 API 사용법 총정리
·
기술블로그-Fastapi편
📅 공공데이터포털 공휴일 API 사용법 총정리1️⃣ 공공데이터포털 공휴일 API란?**공공데이터포털(https://www.data.go.kr)**에서는 연도별 대한민국의 공휴일 정보를 제공하는 API를 지원합니다.✔️ 주요 제공 정보:공휴일 명칭 (예: 설날, 추석)날짜 (예: 2025-09-29)양력/음력 여부대체공휴일 여부 등이 API는 예약 시스템, 캘린더 앱, 학교 일정 관리 등에 매우 유용합니다.2️⃣ 사용 절차 요약Step 1. 회원가입 및 인증키 발급공공데이터포털 회원가입공휴일, 특일 정보 등 검색 후 "활용 신청"신청 완료 후 인증키(API Key) 발급 받기Step 2. API 문서 확인 및 URL 구성기본 URL:https://apis.data.go.kr/B090041/openapi/..
✅ isinstance() 함수 완전 정복
·
기술블로그-Fastapi편
✅ isinstance() 함수 완전 정복isinstance()는 Python에서 아주 자주 쓰이는 자료형 검사 함수야.쉽게 말하면:어떤 값이 특정 타입인지 확인하는 함수야.🔧 기본 형식isinstance(값, 타입)첫 번째 인자: 검사할 값두 번째 인자: 검사할 타입 또는 타입들의 튜플🧪 사용 예제print(isinstance("hello", str)) # ✅ Trueprint(isinstance(123, int)) # ✅ Trueprint(isinstance(123, str)) # ❌ False🔄 여러 타입 동시에 검사할 수도 있어print(isinstance(3.14, (int, float))) # ✅ True튜플로 여러 타입을 넘기면 그 중 하나라도 맞으면 True..
✅ Python 타입 힌트는 강제성이 있을까?
·
기술블로그-Fastapi편
✅ Python 타입 힌트는 강제성이 있을까?다음과 같은 함수가 있을 때:def process(data: str) -> str: return data.upper()많은 사람들이 궁금해하는 질문:"이렇게 타입 힌트를 써도, 사용자가 123 같은 숫자를 넣으면 어떻게 되는 걸까?"🔍 타입 힌트의 본질Python의 타입 힌트는 정적 타입 검사 도구(mypy, pyright 등), IDE 자동완성, 문서화를 위한 것.실행 시 강제되지 않는다.예:process(123) # ⚠️ 런타임 에러 발생 (AttributeError)✅ 사용자 입력은 항상 문자열이지만...user_input = input("Enter something: ")process(user_input) # ✅ str이라 OK하지만 외부 데..
✅ Git 브랜치가 왜 main이 아닌 master일까?
·
기술블로그-Fastapi편
✅ Git 브랜치가 왜 main이 아닌 master일까?git init을 실행했을 때 기본 브랜치가 main이 아니라 master로 설정되는 경우가 있다. 이는 Git의 기본 설정에 따라 달라지는데, 여전히 기본 브랜치명이 master로 설정된 환경에서는 자동으로 master 브랜치가 생성된다.🔍 현상 예시$ git inithint: Using 'master' as the name for the initial branch.이런 메시지가 출력되며 브랜치명이 master로 설정된다.✅ 현재 브랜치명을 main으로 변경하는 방법이미 master 브랜치가 생성된 경우, 아래 명령어로 간단히 main으로 변경할 수 있다:git branch -m main이제 브랜치명이 main으로 바뀌며, 이후 깃허브에 푸시해도..
🐧 WSL + Python 3.13 + Poetry + PyCharm 프로젝트 설정 가이드 (Windows)
·
기술블로그-Fastapi편
🐧 WSL + Python 3.13 + Poetry + PyCharm 프로젝트 설정 가이드 (Windows)윈도우 환경에서 WSL(Ubuntu)을 기반으로 Python 3.13 개발 환경을 구성하고, 이를 Poetry 및 PyCharm과 연동하는 전체 과정을 정리한 가이드입니다.✅ 준비 사항WSL(Ubuntu 22.04 이상) 설치 완료 (이 단계는 생방)PyCharm Professional 설치됨1️⃣ Python 3.13 설치기본 Python 3.10을 사용하는 Ubuntu에 Python 3.13을 수동 설치합니다.sudo apt updatesudo apt install -y software-properties-commonsudo add-apt-repository ppa:deadsnakes/ppa ..