분류 전체보기27 UV(Ultraviolet)로 빠르게 효율적으로 파이썬 패키지 관리하기 🚀 1. 들어가며Python을 활용한 개발 환경에서 패키지 관리자의 선택은 프로젝트의 효율성에 큰 영향을 줍니다. 본 글에서는 최근 많은 주목을 받고 있는 UV(Ultraviolet)를 소개하고, 기존의 패키지 관리자들과 어떤 차별점이 있는지 알아봅니다. 📚 2. Python 패키지 관리 도구의 이해pipPython의 기본 패키지 관리자간편한 사용법과 광범위한 지원의존성 충돌 관리가 다소 불편conda데이터 과학 환경에서 널리 사용Python뿐 아니라 다른 언어 및 시스템 종속성 관리 가능비교적 느린 성능 및 큰 용량 요구poetry 및 pipenv프로젝트 관리 중심의 패키지 관리자가상환경과 패키지 관리를 통합 ✨ 3. UV(Ultraviolet)란?UV는 Rust 언어를 기반으로 만들어진 최신 Py.. 2025. 5. 14. Airflow DAG에서 SQL 스키마 관리 쉽게 하기 ( 중앙집중화 버전 ) 📌 개요Airflow에서 데이터베이스를 다루다 보면 테이블명이나 컬럼명이 변경될 때마다 여러 파일을 수정해야 해서 번거로울 수 있습니다. 이 글에서는 SQL 스키마를 Python 코드 내 한곳에 집중 관리하여 유지보수를 간편하게 만드는 방법을 소개합니다.🔍 이 방법을 쓰는 이유✅ 유지보수 간편화: 변경이 필요하면 한 파일만 수정하면 끝!✅ 코드 가독성 향상: SQL 쿼리와 로직이 명확하게 분리되어 관리✅ 기존 Airflow Hook 활용: MySqlHook 등을 그대로 사용할 수 있어 변경 부담이 적음 💻 구현 예제📄 db_config.py (중앙 집중식 SQL 관리)class DBConfig: TABLE_ALERT_HISTORY = "alert_history" COL_EXECUTION.. 2025. 4. 21. [Python] @contextmanager 데코레이터 에 대해서 ❓ @contextmanager란?Python의 @contextmanager 데코레이터는 컨텍스트 매니저(Context Manager) 를 손쉽게 만들 수 있도록 도와주는 도구이다. 컨텍스트 매니저는 주로 리소스(파일, 네트워크 연결, 락 등)를 열고 닫는 등의 정리(cleanup) 작업을 자동으로 처리해줘서, 코드의 안정성과 가독성을 높여줍니다. with 문과 함께 사용되어, 리소스를 열고 사용한 뒤 자동으로 정리(종료)해주는 구조를 만들어줍니다. 🤔 왜 사용하나요?프로그래밍을 하다 보면 자원을 열고 나서 반드시 닫아줘야 하는 경우가 많죠.예를 들면:파일을 열면 반드시 닫아야 하고,데이터베이스 연결도 끊어줘야 하며,락(lock)을 잡았다면 해제를 해줘야 해요.이걸 매번 try-finally로 쓰면 .. 2025. 4. 1. [CentOS7] Yum 오류 해결법(Could not resolve host: mirrorlist.centos.org) CentOS 7 환경에서 yum 명령어 사용 시 다음과 같은 오류가 발생할 때가 있습니다.Could not resolve host: mirrorlist.centos.org; Unknown errorCannot find a valid baseurl for repo: extras/7Server/x86_64 이 문제는 특히 CentOS 7.6 이하의 오래된 버전에서 자주 나타납니다. 원인과 해결방법을 알려드립니다.! 🔍 원인 분석DNS 문제: 도메인 주소(mirrorlist.centos.org)를 해석하지 못할 경우 발생합니다.EOL(지원종료): 오래된 CentOS 버전은 공식 리포지토리에서 패키지를 더 이상 제공하지 않기 때문입니다.특히 CentOS 7.6은 지원이 종료되어 기본 리포지토리를 더 이상 사용.. 2025. 3. 25. [Prometheus] NiFi 연동 시 non-compliant scrape target 오류 해결 방법 🔍 오류 발생 원인Prometheus에서 특정 타겟을 스크래핑할 때, 다음과 같은 오류가 발생할 수 있습니다. Error scraping target: non-compliant scrape target sending blank Content-Type and no fallback_scrape_protocol specified for target 이 오류는 Prometheus가 대상 엔드포인트(NiFi, Spring Actuator, 기타 메트릭 제공 서비스)로부터 데이터를 가져올 때, Content-Type이 올바르게 설정되지 않았거나, 예상한 프로토콜 형식이 일치하지 않을 때 발생합니다. 특히 Prometheus 2.43 버전 이상에서는 Content-Type 검증이 더욱 엄격해지면서 이전에는 문제없이.. 2025. 3. 19. [FastAPI] Server Send Event(SSE) 구현 개요 기존 프로젝트의 소스코드를 수정을 해야하는 날이 있었다.SSH 로 연결하여 tail -f 명령어로 실시간으로 로그데이터를 가져오는 기능이였는데 보안 정책으로 인해 원격서버가 주기적으로 비밀번호가 변경되어, SSH 연결정보를 수동으로 바꿔줘야하는 상황이 생겨버렸다. 수동적인 변경이 어려워 이를 해결할 방법으로 API서버를 구현하여 이를 수행하게 만드는 것이였다.이를 구현하는 방법 중 하나로 SSE(Server Sent Event)를 선택하게 되었고, FastAPI를 사용하여 구현하였다. SSE 로 구현한 이유 Server Sent Event( SSE )란, 서버가 실시간으로 발생시키는 이벤트나 데이터를 클라이언트 에 단방향으로 전달하기 위해 설계된 웹 표준 방식 중 하나이다. 단방향 실시간 통신에 적.. 2025. 2. 10. 이전 1 2 3 4 5 다음