본문 바로가기

Programming216

로컬 Git 레포지토리 정리 및 최적화 가이드 Git 레포지토리는 프로젝트가 진행됨에 따라 크기가 커지고, 오래된 객체들이 쌓이면서 관리와 성능 문제가 발생할 수 있습니다. 특히 로컬 레포지토리에서 이러한 문제를 방지하기 위해 정기적으로 레포지토리를 정리하고 최적화하는 것이 중요합니다.아래에서는 로컬 Git 레포지토리를 최적화하고 정리하는 방법을 단계별로 설명하겠습니다.1. 로컬 레포지토리 최적화Git의 gc(Garbage Collection) 명령어는 불필요한 데이터나 오래된 객체를 정리하여 레포지토리를 최적화하는 데 사용됩니다.명령어:git gc --aggressive --prune=now옵션 설명:--aggressive: Git의 garbage collection을 더 강력하게 수행하여 디스크 공간 사용을 최소화합니다. 성능은 다소 느려질 수 .. 2025. 1. 23.
Huggingface 모델을 Ollama에 등록하기 1. 소개Ollama는 로컬 환경에서 LLM(Large Language Model)을 쉽게 다룰 수 있도록 도와주는 툴입니다. 주로 Llama 기반 모델들을 사용하지만, 그 외 다양한 모델도 활용할 수 있습니다. 오늘은 Hugging Face에서 제공하는 모델을 Ollama에 등록하여 사용할 수 있는 방법을 단계별로 알아보겠습니다.2. 준비물 확인하기Hugging Face 계정: 모델을 다운받기 위해 필요합니다.Ollama 설치: Ollama가 제대로 설치되어 있어야 합니다. (Mac 또는 Linux 환경에서 동작)터미널/CLI 사용법: 기본적인 터미널 명령어 사용 방법.3. Hugging Face에서 모델 찾기우선 Hugging Face에서 원하는 모델을 찾습니다. Ollama와 함께 사용하기 위해서는.. 2025. 1. 20.
MacOS: Docker 에서 GPU 사용 제한사항Apple Silicon (M1/M2) Mac의 경우Docker Desktop의 제한: 현재 Docker Desktop은 Apple의 GPU를 컨테이너에 노출시키는 기능을 지원하지 않습니다.API 부재: Docker는 컨테이너 내부에서 Apple GPU에 접근할 수 있는 API를 제공하지 않습니다.Intel Mac의 경우하드웨어 패스스루 미지원: Docker는 LinuxKit VM 위에서 실행되며, 이 환경에서는 GPU 하드웨어 패스스루를 지원하지 않습니다.내장 그래픽 지원 제한: AMD나 Intel의 내장 그래픽에 대한 Docker의 지원이 제한적입니다.대안맥북에서 GPU 가속이 필요한 작업을 수행하려면 다음과 같은 방법을 고려할 수 있습니다:네이티브 맥 환경 활용: Docker를 사용하지 않고.. 2025. 1. 14.
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.