'Programming' 카테고리의 글 목록 (2 Page)
본문 바로가기

Programming218

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.
ollama로 코드 리뷰 자동화하기 코드 리뷰는 개발 프로세스에서 매우 중요한 단계입니다. 하지만 바쁜 일정 속에서 일일이 코드 변경 사항을 검토하는 것은 쉽지 않습니다. 이를 자동화하기 위해 ollama와 최신 LLM 모델을 활용하여 코드 리뷰 프로세스를 자동화하는 방법을 소개합니다.1. ollama 설치https://ollama.com/download2. Model 받기 - 리뷰를 위한 LLM 모델ollama pull mistral:7b3. 코드리뷰 shell script 작성조건: git 초기화가 필요함git diff기반으로 변경사항에 대해서 코드리뷰를 진행함vi pre-commit.sh#!/bin/bashmodel="mistral:7b"#model="llama3.2-kor:latest"#model="llama3.3:70b"expor.. 2025. 1. 8.
개발측면 - 생산 문제 에스컬레이션 개발자 측면에서 '프로덕션 이슈 에스컬레이션(Production Issues Escalation)'은 실제 운영 환경에서 발생한 문제나 버그를 효과적으로 처리하고 해결하기 위한 절차를 의미합니다. 일반적으로 다음과 같은 단계를 거칠 수 있습니다.문제 식별: 운영 환경에서 발생한 이슈를 신속하게 감지하고 확인합니다. 모니터링 시스템, 로그 분석, 사용자 피드백 등을 통해 문제를 파악합니다.초기 대응: 문제의 심각성과 영향도를 평가하고, 필요한 경우 초기 대응 조치를 취합니다. 예를 들어 일시적인 워크어라운드나 시스템 종료 등을 수행할 수 있습니다.에스컬레이션: 문제를 해결하기 위해 적절한 수준의 지원을 요청합니다. 일반적으로 개발팀, 운영팀, 제품 관리자 등 관련 부서와 협력하여 진행됩니다.문제 분석: 이.. 2025. 1. 7.
개발을 시작하는 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.
무료 SSL 인증서: certbot 사용하기 certbot SSL wildcard 갱신순서기존에 _acme-challenge 로 등록된 DNS TXT 모두 삭제action: DNS name: _acme-challenge 삭제certbot 설치, certbot 명령어 실행action: apk add certbot or apt-get -y install certbot콘솔창에 나온 DNS name, value DNS TXT 타입으로 저장action: DNS TXT 생성DNS TXT 저장하는데 시간이 걸림1차 DNS 저장 후 콘솔에서 엔터, 2차 DNS 내용나옴2차 DNS TXT 저장 후 콘솔에서 엔터Successfully received certificate.Certificate is saved at: /etc/letsencrypt/live/xxx.co.. 2024. 1. 4.