본문 바로가기

Python52

uv - Python Package Manager Python 개발자들은 패키지 관리와 가상 환경 설정을 위해 주로 pip과 poetry를 사용해 왔습니다. 그러나 최근 Rust로 개발된 초고속 Python 패키징 도구인 uv가 등장하여 주목받고 있습니다. uv란 무엇인가요?uv는 Rust로 작성된 매우 빠른 Python 패키지 설치 및 관리 도구로, pip 및 pip-tools의 워크플로우를 대체하도록 설계되었습니다. 기존 도구보다 10배에서 100배까지 빠른 성능을 자랑하며, 단일 정적 바이너리로 제공되어 Python 버전에 따라 pip 설치를 관리할 필요 없이 독립적으로 설치할 수 있습니다. uv의 주요 기능• 가상 환경 생성: uv venv 명령을 통해 .venv 디렉토리에 가상 환경을 생성할 수 있습니다.uv venv특정 Python 버전을.. 2025. 1. 10.
개발을 시작하는 Python 신입, 주니어에게 GIT 적극적으로 사용하기Git은 프로젝트 버전 관리를 위한 필수 도구입니다. Git을 통해 코드 변경 내역을 추적하고, 협업을 수행할 수 있습니다.Git 기본 명령어(add, commit, push, pull, merge, branch 등)를 익힙니다.원격 저장소(remote repository)를 활용하여 팀원들과 코드를 공유합니다.코드 리뷰와 Pull Request 프로세스를 경험해 봅니다.Git 브랜치 전략과 Git Flow 방식을 학습합니다.웹 프레임워크를 활용하여 API 만들기웹 프레임워크(Django, Flask, Express.js 등)를 선택하여 API 서버를 구축합니다.RESTful API의 개념을 이해하고 설계합니다.HTTP 상태 코드와 메서드(GET, POST, PUT, DELETE.. 2025. 1. 6.
decorator - 데커레이터 decorator 패턴은 '@'표기를 사용해 함수 또는 메서드의 변환을 우아하게 지정해준다'함수의 객체'와 '함수를 변경하는 다른 객체'의 wrapping을 허용한다@decodef method(arg): # method... passdecorator 를 사용한 위 코드는 아래코드와 같다def method(arg): # method... passmethod = deco(method)import functoolsimport timeline_len = 80def clen(s): """Calculate the effective length of a string considering full-width characters.""" return sum(1 if ord(c) >= 0x2E80 else.. 2024. 10. 30.
[issue] tensorflow, keras, transformer 버전 문제 TypeError: Exception encountered when calling layer 'embeddings' (type TFEmbeddings). colab, kaggle 에서 돌아가는 코드들이 로컬에서 돌리면 안돌아가는 경우가 있다. 대부분 버전문제로 아래 2줄의 코드로 해결했다. import os os.environ["TF_USE_LEGACY_KERAS"] = "1" 아래는 MacOS 에서 설치한 각버전 pip install tf-keras==2.16.0 pip install tensorflow-macos==2.15.0 pip install tensorflow-metal==1.1.0 # macos==2.15.0과 호환 pip install transformers==4.39.1 2024. 3. 29.
python 으로 asdict, from_dict 직접 구현 편의를 위해서 dict을 많이 사용하지만 변수들이 많아지면 class화 해서 사용하는 것이 좋다. 아래 처럼 dataclass 사용시 입력값을 request의 json으로 받거나 dict으로 변환했을 때 class의 파라미터에 셋하는 from_dict 구현내용이다. 구현된 asdict 대신에 dataclasses.asdict 을 사용해도 된다. 아래의 asdict는 조건들을 추가하고 싶어서 만든 것이다. from dataclasses import dataclass, fields @dataclass class AppRawData: sessionId: str = "" deviceId: str = "" uuid: str = "" view_url: str = "" event_name: str = "" event.. 2023. 12. 18.
docker compose - python default 컨테이너 만들기 매번 가상환경(pyenv, poetry) 생성하는 것보다, 별도의 도커 컨테이너 만들기 필요한 파일 docker-compose.yml Dockerfile requirements.txt # docker-compose.yml version: '3' services: app: build: . stdin_open: true tty: true volumes: - .:/app # Dockerfile FROM python:3.11-slim-buster WORKDIR /app COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt; \ apt-get update; \ apt-get install -y --no-install-recommen.. 2023. 4. 5.