uv: 새로운 파이썬 패키지 관리자 소개
Python 개발 환경에서 패키지 관리와 가상 환경 설정은 필수적인 작업입니다. 기존에는 pip, pipenv, poetry 등의 도구를 조합하여 사용했지만, 최근에는 이러한 기능을 통합하여 제공하는 uv가 주목받고 있습니다. 또한 MCP 서버 설치 및 실행을 할 때도 uv, uvx 라는 것이 굉장히 자주 보이죠. uv가 무엇인지, 그래서 뭐가 더...
Python 개발 환경에서 패키지 관리와 가상 환경 설정은 필수적인 작업입니다. 기존에는 pip, pipenv, poetry 등의 도구를 조합하여 사용했지만, 최근에는 이러한 기능을 통합하여 제공하는 uv가 주목받고 있습니다. 또한 MCP 서버 설치 및 실행을 할 때도 uv, uvx 라는 것이 굉장히 자주 보이죠. uv가 무엇인지, 그래서 뭐가 더...
오늘 Google Cloud에서 진행한 <LLM이 물처럼 흐르는 서비스와 콘텐츠 만들기> AI 웨비나에 참여하여 유용한 내용들을 들어보았습니다. 1. 작은 팀의 AI Transformation을 돕는 구글 클라우드 (오심인) 💡 기업에서 AI를 도입할 때 주요 아이템들 내부 생산성 향상 툴 코드리뷰 자동화 법률 검수 자동...
만 4년 간 근무했던 회사를 마무리했다. 남은 근무일은 잔여 연차를 사용해서 아직 법적으로는 재직 중이지만, 여튼 백수 1일차임은 맞다! 오늘 안쓰면 쭉 안쓰게 될 것 같아, 지금 지난 회사를 떠난 아주 개인적인 회고를 작성해보려 한다. 시작 우선 내가 회사에 다니게 된 시작부터 기록하는 것이 좋겠다. 문화관광콘텐츠학과와 국어국문학이라는 다소...
오늘 토스 강연 "서버개발자가 들려주는 시니어의 성장"의 웨비나에 참여해 좋은 이야기들을 들어보았습니다! 정리한 내용을 기록하고, 공유하기 위해 글을 작성합니다. 😀 세션 1: 엔지니어에서 메이커로 (김현준님) 중요한 것은 모두에게 의미있는 가치를 만드는 것 => 큰 관점에서 사용자에게 진정한 가치를 줄 수 있는 것인지 판단하는 사고! ...
최근 AI 솔루션 회사에 엔지니어로써 기술 면접을 보던 중 TPM 포지션에 대한 제안이 있었습니다. 약 4년 간 Software Egineer로써 경력을 쌓아왔지만, 다음의 이유로 TPM 포지션으로의 전환이 꽤 설레게 다가왔습니다. 생성형 AI의 눈부신 발전으로 인한 단순 Backend Engineer의 역할이 사라질 것이라는 생각 나의 ...
Agile 개요 Agile은 소프트웨어 개발 방법론 중 하나로, 개발자가 분석, 설계, 개발, 테스트의 모든 프로세스에서 주도적으로 결정할 수 있도록 권한이 부여되는 것을 강조합니다. Agile 방식에서는 개발자들이 자율성을 가지고 업무를 진행하며, 이는 성공적인 프로젝트 수행에 필수적입니다. 요구사항 정의와 고객 피드백 Agile 환경에서는 ...
APE(Automated Prompt Engineering) ? 특정 작업에 대한 LLM의 성능을 향상하기 위해서, 프롬프트를 자동으로 생성하고 정제(refining)하는 기술 다양한 프롬프트를 수동으로 만들고, 테스트하는 프롬프트 엔지니어링의 전 과정을 자동화! 기존 머신러닝의 하이퍼 파라미터 최적화(HPO-hyperparameter o...
진행 순서 데이터 읽어오기 데이터 전처리 데이터프레임과 시리즈로 구분 Pandas 라이브러리의 기본 데이터 구조 데이터프레임: 2차원 테이블 (여러개의 시리즈의 결합) => 독립 변수값(입력 특성) ...
Dataset Class torch.utils.data.Dataset 파이토치에서 Dataset을 제공하는 추상 클래스 샘플 및 해당 레이블을 제공 필수 오버라이드 def __init__: dataset의 전처리 def __len__ : dataset의 크기를 리턴 def __getitem__ : i...
1. Pytorch 손쉽게 인공 신경망 모델을 만들고 이용할 수 있도록 지원하는 딥러닝 프레임워크 Tensor Data Types Pytorch 텐서는 Python의 number 및 ndarray를 일반화한 데이터 구조 dtype: 파이토치로 다루고 있는 데이터 타입 CPU tensor: CPU에 올라갈 수 있는 데이...
1. 딥러닝이란? 전통 머신러닝과 딥러닝 비교 전통 머신러닝 딥러닝 특징 - 깊은 전문 지식 필요- 특성(feature) 설정이 매우 중요 - 도메인 지식과 수학적 지식이 상대적으로 덜 필요- 중요한 특성을 스스로 학습하여 가중치...
아나콘다 설치 아나콘다 파이썬의 버전 관리 및 여러가지 패키지가 포함되어 있는 파이썬 배포판 가상 환경 구축에도 사용 가능 파이토치 손쉽게 인공 신경망 모델을 만들고 이용할 수 있도록 지원하는 딥러닝 프레임워크 Tensor Data Types Pyt...
혹시 Gitlab의 CI/CD 파이프라인을 구성하시면서, A 프로젝트에서 CI/CD 작업이 완료되면 B 프로젝트의 CI/CD 작업을 자동으로 실행하고 싶은 경험이 있으셨나요? 저도 이번에 PF팀의 메인 프로젝트의 파이프라인의 속도가 너무 오래 걸려 이를 개선하기 위한 방법으로 프로젝트 분리를 진행했는데요, 이 과정에서 Gitlab의 Multi-Pro...
지난 번 RAG의 한계를 극복하기 위해 떠오르는 대안인 CAG와 KAG 소개 및 비교 글을 올렸었습니다! 그 후에 KAG에 대해 더 궁금해져서 조금 더 깊어 알아보았습니다 🤗 1. 기존 RAG의 한계 지금까지 우리는 LLM에 학습되지 않은 데이터에 대한 정보를 주입하기 위해 RAG를 많이 사용했었습니다. 하지만 RAG는 몇 가지 치명적 한계가 ...
⚡ TL;DR (Too Long; Didn’t Read) 키-값 저장소(Key-Value Store)는 대규모 시스템에서 빠른 데이터 접근을 위해 필수적인 NoSQL 데이터베이스 유형이다. 이 글에서는 키-값 저장소의 개념, 설계 고려 사항, CAP 이론, 샤딩 및 복제 전략, 장애 처리, 시스템 아키텍처를 상세히 다룬다. ✔ 일관성 vs. 가용성...
개발을 하다 보면 같은 그룹 내에서 CICD를 통해 레포지토리를 클론 받고, 커밋하고, 푸시해야 하는 경우가 있습니다. 이를 위해 GitLab CI/CD에서 Group Token을 활용하려 했으나, 예상치 못한 권한 문제를 겪었습니다. 이 문제를 해결한 과정을 공유합니다. 작업 개요 CI/CD 파이프라인을 통해 같은 그룹 내에 있는 repos...
AI 모델이 최신 정보를 바탕으로 정확한 답변을 제공하려면 다양한 기술이 필요하다. 기존에는 RAG(Retrieval-Augmented Generation) 이 가장 널리 사용되었지만, 최근에는 CAG(Cache-Augmented Generation) 및 KAG(Knowledge Augmented Generation) 같은 새로운 방법들이 등장하며 ...
이번 글에서는 네트워크 시스템에서의 처리율 제한 장치(Rate Limiter)를 설계한 아키텍쳐 다이어그램을 중심으로 설명드리도록 하겠습니다. 😀 1. 처리율 제한 장치란? 클라이언트 또는 서비스가 보내는 트래픽의 처리율(rate)를 제어하기 위한 장치입니다. 예를 들어 HTTP의 경우, 특정 기간 내 전송되는 클라이언트의 요청 횟수를 제한하는 ...
대규모 트래픽을 처리하는 시스템을 설계하는 것은 웹 개발자와 인프라 엔지니어들에게 중요한 주제입니다. 이 글에서는 <가상면접 사례로 배우는 대규모 시스템 설계 기초> 책의 첫 번째 단원을 참고해서, 대규모 트래픽 시스템의 전반적인 아키텍쳐와 핵심 개념과 기법을 정리하고자 합니다. 대규모 트래픽을 대응하기 위해 단계적으로, 부분적으로 도입...
지난 글에서 자세히 다루지 못했던 Extension과 Function에 대해 자세히 살펴보도록 하겠습니다. Agent에 대해 전반적인 내용 설명은 지난 글을 참고해주세요! Google의 AI 에이전트 백서에서는 Extension(확장)과 Function(함수 호출)을 에이전트가 외부 데이터를 활용하는 두 가지 주요 방법으로 설명합니다. 두 개...