본문 바로가기
반응형

분류 전체보기165

MCP(Model Context Protocol) 완벽 가이드 – AI 도구 연동의 새로운 표준 요즘 AI 에이전트는 단순한 질문에 답하는 수준을 넘어, 복잡한 업무까지 대신 처리할 수 있는 도구로 진화하고 있습니다.이메일을 보내고, 미팅 일정을 조정하고, 업무를 등록하는 등의 작업을 AI에게 맡길 수 있다면 어떨까요? 이 글에서는 다음 내용을 다루며 MCP에 대한 모든 궁금증을 해결해 드릴게요기존 AI 자동화 시스템이 겪는 문제MCP의 등장 배경과 핵심 구성MCP가 작동하는 방식과 내부 구조실전 예시로 살펴보는 Google Calendar/Notion 통합왜 지금 MCP가 중요한지에 대한 이유이처럼 LLM 기반 AI가 다양한 도구와 데이터를 유기적으로 다루기 위해서는 표준화된 연결 방식이 필요합니다. 바로 여기서 등장하는 것이 MCP(Model Context Protocol)입니다. 1. 기존 .. 2025. 8. 2.
Kubernetes kubectl MongoDB 데이터 추출하기 K8s클러스터에 구성된 MongoDB(DocumentDB) 에서 데이터를 추출하는 방법에 대해 설명합니다. 로컬에서 K8s에 접근하여 pod를 띄워 mongo db 내부 데이터를 복사하는 순서는 아래와 같습니다.  1. mongosh을 사용할 수 있는 pod를 하나 띄우고 내부에 접속한다.2. 내부에서 mongosh을 이용해서 데이터베이스에 접근한다.3. 데이터를 조회하여 변수에 담는다.4. 해당 변수를 javascript를 이용해서 pod 로컬에 저장 한다.5. pod로 부터 로컬에 파일을 복사한다. 순서에 맞게 명령어를 통해 확인해봅시다. 로컬과 Pod 내부에서 진행되는 내용이 헷갈릴 수 있으므로 잘 확인하며 진행하면 될 것이다. * 명령어 실행 전, 먼저 mongo 도커 이미지가 필요하다.1dock.. 2024. 4. 29.
[Ubuntu 20.04] nvtop 설치하기 Ubuntu 20.04 버전에서 nvtop을 설치하려고 할 때 다음과 같은 에러가 발생했다. 다음 패키지의 의존성이 맞지 않습니다: nvtop: 의존: libnvidia-compute-418 하지만 %s 패키지를 설치하지 않을 것입니다. E: 문제를 바로잡을 수 없습니다. 망가진 고정 패키지가 있습니다. 보통 sudo apt install nvtop 으로 해결이 되지만 위처럼 에러가 발생하면 아래와 같이 실행해보자. 해결 되신분은 댓글로 공유 부탁드립니다 😊😃 sudo apt-get install libncurses5-dev libncursesw5-dev -y sudo apt-get install libudev-dev libsystemd-dev -y sudo apt-get install libdrm-de.. 2024. 3. 5.
[LeetCode] Number of Changing Keys https://leetcode.com/problems/number-of-changing-keys/ int: s = s.lower() answer = 0 # 처음 문자를 가지고 origin = s[0] # 두번째 문자부터 for i in s[1:]: if i!=origin: answer += 1 origin = i return answer cs 제출 결과 속도가 느린편에 속한데, 빠른 사람들의 코드를 보면 크게 로직의 차이는 없다. 제일 빠른 사람의 코드이다. 1 2 3 4 5 6 7 8 9 class Solution: def countKeyChanges(self, s: str) -> int: s = s.lower() count = 0 for i in range(1,len(s)): if s[i] != s[.. 2024. 2. 24.
[LeetCode] 3042. Count Prefix and Suffix Pairs https://leetcode.com/problems/count-prefix-and-suffix-pairs-i Count Prefix and Suffix Pairs I - LeetCodeCan you solve this real interview question? Count Prefix and Suffix Pairs I - You are given a 0-indexed string array words. Let's define a boolean function isPrefixAndSuffix that takes two strings, str1 and str2: * isPrefixAndSuffix(str1, str2) returns truleetcode.com 주어진 string 리스트에서 하나의 단어가 .. 2024. 2. 23.
[Codility] CyclicRotation 파이썬 풀이 문제 링크: https://app.codility.com/programmers/lessons/2-arrays/ 문제 An array A consisting of N integers is given. Rotation of the array means that each element is shifted right by one index, and the last element of the array is moved to the first place. For example, the rotation of array A = [3, 8, 9, 7, 6] is [6, 3, 8, 9, 7] (elements are shifted right by one index and 6 is moved to the first plac.. 2024. 1. 23.
[Codility] BinaryGap 파이썬 풀이 문제 링크: https://app.codility.com/programmers/lessons/1-iterations/ 문제 A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N. For example, number 9 has binary representation 1001 and contains a binary gap of length 2. The number 529 has binary representation 1000010001 and contains two binary .. 2024. 1. 23.
ChatGPT로 인한 블로그 유입량 저하를 어떻게 해결할까? 개발하며 접했던 오류와 이슈들을 해결하는 포스트를 많이 작성했었습니다. 메타버스가 뜨거웠을 당시에는 하루 1,000명도 들어왔던 블로그였으나 이제 메타버스 관련 포스트에는 유입이 거의 없는 것 같습니다. 이직 한 지 1년이 채 되지 않았습니다. 그동안 업무에 집중하고 결혼을 준비하며 거의 포스트는 작성하지 못했는데 점점 유입이 줄어드는 것 같습니다. 바쁜 이유로 블로그를 관리하지 못한 이유도 있겠지만 가장 큰 유입량 저하의 원인은 ChatGPT가 아닐까 싶습니다. 개발하는 데에 있어서 검색하고 제 블로그에 들어오는 것보다 ChatGPT가 더 빠를테니까요. 제 블로그에서 가장 인기 있는 글인 네이버 카페 크롤링 하는 코드를 물어보면 제 코드와 비스무리하게 ChatGPT도 답변을 합니다. 네이버 크롤링 코드.. 2023. 10. 18.
[Python] 파이썬 프로파일링 (w/ line_profiler) 코드를 짜다보면 어느 부분에서 가장 오래걸리는지 체크를 할 때 time 패키지를 사용해서 현재시간에서 시작 시간을 빼주곤 한다. 매 라인 적어주기가 엄청 귀찮음.. Line-by-line profiling을 통해 쉽게 해결하자. 사용 방법 - pip install line_profiler - 기본적으로 타겟 함수 def위에 @profile을 적어주어야 한다. (파일로 저장할 경우) - 터미널에서는 python 명령어가 아닌 kernprof -l -v 명령어를 사용한다. (kernprof -l -v test.py) - 주피터 노트북에서는 아래와 같이 프로파일러를 로딩하고 실행한다. %load_ext line_profiler %lprun -u 1e-6 -f test for _ in range(100): te.. 2023. 2. 28.
반응형