mcp 많이 들어보고 이게 통합적으로 어디서 사용되는지 등등 대충은 알고 있는데, mcp관련 내용을 할일이 있어서 찾다보니 하나도 모르겠어서 정리해본다. 간단 정리 우선 기존의 LLM과 애플리케이션을 연동할라면 각 모델마다 Glue Code를 작성해야했다. 이제 이걸 mcp만들어서 어떤 애플리케이션이든 한번에 연결하고자 하는게 mcp이다. 이런식으로 구조를 간단하게 보면 쉽다. MCP Host (User Interface):LLM과 상호작용하는 실제 애플리케이션 (예: Claude Desktop App, Zed Editor, Cursor).MCP Client (Protocol Implementation):Server와의 1:1 연결을 유지하며 세션을 관리.MCP Server (Data/Tool Pro..
전체 글
고생한 내용 정리이 서평은 출판사에서 도서를 제공받아 작성된 후기입니다 이 책을 선택한 이유평소 서버 개발 분야에서 도커(Docker), 쿠버네티스(Kubernetes) 등 핵심 인프라 기술에서 go가 자주 사용된다는 점에 go언어에 관한 흥미를 가지고 있었다. 토이프로젝트나, 학교 팀플을 하게 되면서 go언어를 조금씩 사용해보며 점차 매력을 느끼는 중이였다. go언어를 사용해서 설계 및 개발을 해보며, 내 실력이 부족한 부분이 동시성 프로그래밍 등 go만의 특색을 잘 살리지 못하는 느낌을 받으며 갈증을 느끼고 있었다. 그러던 중, 믿고 보는 Do it! 시리즈에서 Go 언어 완벽 정복이라는 제목과 함께 동시성 프로그래밍까지 다룬다는 목차를 보고 바로 읽어보게 되었다. Go를 가장 Go답게 쓰는 '핵심 기술'책의 가..
1장에서는 우분투를 새로 깔아봤다. 이제는 깨끗한 우분투에 쿠버네티스를 올려볼 차례다. k3s 설치kubectl 설치서버와 연결할 로컬 kubectl 연동이정도 할일이 생겼다.k3s, kubectl 설치설치는 뭐 간단하다. 다 밀어버린 깨끗한 우분투기 때문에k3scurl -sfL https://get.k3s.io | sh - kubectlsudo snap install kubectl --classic 서버와 로컬 kubectl연동기존에 쓰던 클러스터가 없으면 그냥 서버의 kube config[/etc/rancher/k3s/k3s.yaml]를 가져오면 되지만. 나는 이미 사용중인 클러스터가 있어서 기존 파일을 수정하는 방향으로 진행했다.접속 주소 등록설정파일을 만들어서 접속할 주소를 tls-san로 등록을..
어느때처럼 캡스톤 프로젝트를 진행하던 중 갑자기 서버가 죽어버렸다. 고생고생하며 초반에 설정하고 이제 좀 쉬나 했는데, 일이 생겨버렸다..배를 까고 ssd를 다시 넣어보니 정상 작동하길래 다행이다~ 했지만 다음날 바로 죽어버렸다. 바로 고치면 될거 같지만 후에 발표할때 죽어버린다면 낭패라서 이렇게 된거 처음부터 싹 다시 설치하면서 기록으로 남겨보자 하게 되었다. 아마우분투 설치우분투 세팅서버 오픈 이런식으로 진행 할듯 하다. 이 포스팅에서는 아래와 같지 않을까?1장. Ubuntu Server 설치하기 설치 전 환경mini-s 미니 pcn95 / 8G Ram / 256 nvme ssdubuntu-24.04.2-live-server-amd64 ISO 이미지 다운로드 및 USB 생성balenaEtcher..
Helm??Helm의 존재를 모르고 디플로이먼트부터 서비스 시크릿 등등.. 각각의 yaml파일을 직접 만들어 보았다면 일종의 귀찮음을 느꼈을 것이다. 하나의 ns에만 배포한다면 모르겠지만, 개발, 배포 ns로 나누어서 진행했던 경험이 있다면 각각 일일이 적용했던 경험이 있다. 만일 Helm을 미리 알았다면 좀더 편했지 않았을까.. 물론 지금도 공부하는 입장이라 아직은 미숙하다. Helm은 위에서 말해던 다양한 리소스를 각각 관리하지 않고 하나의 패키지고 관리하는 도구라고 볼 수 있다.Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.- Helm Helm의 구성요소Hel..
가장 먼저 적용해볼 부분은 프론트 엔드부분을 올리고자 한다. nextjs를 사용해서 구성하였다. 지금 프로젝트는 아래처럼 처음 작성한 사람의 이상한 구조를 따르고 있지만, 다시 구현한다면 helm을 사용해서 편하게 만들어 보고자 한다.Heml 다운로드 heml을 바로 받아서 k8s에 적용할수도 있지만, value.yaml을 수정하여 원하는 방식으로 사용하고자 한다. 내가 사용한 heml 차트는 다음과 같다. 당시 버전은 nextjs.1.1.4이다https://artifacthub.io/packages/helm/icoretech/nextjs nextjs 1.1.4 · icoretech/icoretechGeneric Helm chart for Nextjs apps on Kubernetesartifacthu..
학교 프로젝트로 쿠버네티스를 활용한 프로젝트를 진행하였다. 그 당시에는 GKE를 사용해서 클라우드 상에서 구현하였으나, 비용이 너무 많이 나오고 계정을 새로 만들면서 계속해서 유지하기보다는 집에서 놀고있는 미니 pc를 사용해서 클라우드와 비슷한 환경을 구성해보면 공부가 될거 같아서 구성 해보고자 하였다. 프로젝트는 모두 구현되어 있지만, 시간에 쫓겨 해보지 못했던 helm이나 서비스등을 고쳐가면서 완성해보고자 하였다. kubectl의 기본 설정은 "24단계 실습으로 정복하는 쿠버네티스" 이책을 보면서 설정하기로 하였다.https://www.yes24.com/product/goods/115187666 24단계 실습으로 정복하는 쿠버네티스 - 예스24실무 현장의 경험을 고스란히 담은 쿠버네티스 실습서!직접..
특정 문제를 풀때마다, 제곱수의 나머지를 구하는 문제는 심심찮게 나오곤 한다. 나올때마다 햇갈리는 계념을 정리하여 활용해본다.페르마의 소정리$p$와 정수 $a$가 서로소(즉, $a$와 $p$의 최대공약수가 1)일 때,$$ap−1≡1(modp)a^{p-1}$$$a^{p-1}$를 $p$로 나눈 나머지가 1이 된다는 간단하면서도 아름다운 정리이다. 해당 수식만 본다면 위 정리를 나머지를 구하는데 어디에 사용해야 할지 잘 모르겠다. 모듈러 연산의 성질페르마의 소정리를 제곱수의 나머지를 구하는 문제에 활용하기 위해서는 모듈러 연산의 성질을 떠올려 볼 필요가 있다. 1. 덧셈$$(a \mod n) + (b \mod n) \equiv (a + b) \mod n$$2. 곱셈$$(a \mod n) \times (b \m..