2025/03 16

[프로토콜] MCP는 API의 다음 세대?, Copilot Agents

2025년 3월 초 대한민국에서 MCP, MCP Server 검색량이 증가함을 알 수 있다. 이유는?2024년 11월 Anthropic이 시작한 프로젝트 "MCP"를 오픈 소스로 공개하여 여러 회사가 채택하고, AI 도구 상호작용의 새로운 표준으로 자리잡아가는 중이기 때문이다.그래서 이번엔 간단하게 MCP가 뭔지 알아보려고 한다. MCP란?"AI 모델이 외부 도구 및 데이터 소스와 상호작용하는 방식을 표준화한 새로운 개방형 프로토콜이다."MCP는 Model Context Protocol의 약자로, AI 모델, 특히 대규모 언어 모델(LLM)이 외부 데이터 소스, 도구 및 기타 리소스와 상호 작용하는 방식을 표준화하는 오픈 프로토콜이다. MCP는 LLM이 주변 환경을 더 잘 이해하고, 더 정확하고 관련성 ..

[그리디] 백준 11047번 동전 0

문제준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 풀이n, k = map(int, input().split())coins = []for i in range(n): coin = int(input()) coins.append..

공부/Python 2025.03.30

[프론트엔드] CDN 개념과 특징

CDN(Content Delivery Network)전 세계에 분산되어 있는 서버들을 통해 사용자에게 웹 컨텐츠를 빠르고 효율적으로 제공하는 기술이다.웹사이트의 이미지, CSS, JavaScript 파일, 동영상 등 정적 컨텐츠를 사용자와 물리적으로 가까운 서버에서 전달하는 방식이다. 작동방식1. 자주 요청되는 컨텐츠를 전 세계 여러 지역에 위치한 엣지 서버(Edge Server)에 캐싱한다.2. 사용자가 웹사이트에 요청을 보낼 때, DNS를 통해 가장 가까운 엣지 서버로 트래픽이 라우팅되어 처리되도록 한다. 기대효과CDN을 적용하면 컨텐츠 요청이 매번 원본 서버에 직접 전달되지 않는다.1. 트래픽을 분산시키는 효과가 있다.2. 대규모 트래픽이 발생하더라도 안정적으로 컨텐츠를 제공할 수 있다.3. 물리적..

[프론트엔드] 프로토타입 상속의 동작 방식

프로토타입: 자바스크립트에서 객체 간의 상속을 구현하는 메커니즘이다. 자바스크립트의 모든 객체는 기본적으로 [[Prototype]]이라는 숨김 프로퍼티를 가지고 있으며, 이 프로퍼티는 다른 객체를 참조하거나 null 값을 가집니다. 프로토타입 연결은 Object.create()나 함수 생성자의 prototype 프로퍼티를 통해 이루어진다. -> 왜 프로토타입 상속이 필요할까?개발을 하다 보면 기존에 있는 기능을 가져와 확장해야 하는 경우가 생긴다.사람에 관한 프로퍼티와 메서드를 가진 user라는 객체가 있는데, user와 상당히 유사하지만 약간의 차이가 있는 admin과 guest 객체를 만들어야 한다고 가정했을 때"user의 메서드를 복사하거나 다시 구현하지 않고 user에 약간의 기능을 얹어 admi..

[그리디] 증가수열 만들기

입력첫째 줄에 자연수 N(3 출력첫째 줄에 최대 증가수열의 길이를 출력합니다. 두 번째 줄에 가져간 순서대로 왼쪽 끝에서 가져갔으면 ‘L', 오른쪽 끝에서 가져갔으면 ’R'를 써 간 문자열을 출력합니다.(단 마지막에 남은 값은 왼쪽 끝으로 생각합니다.) 문제풀이n = int(input())a = list(map(int, input().split()))lt = 0rt = n-1last = 0res = ""tmp = []while lt last: tmp.append((a[lt], 'L')) if a[rt] > last: tmp.append((a[rt], 'R')) tmp.sort() if len(tmp) == 0: break else: res = res + tmp[0][1] ..

공부/Python 2025.03.29

[그리디] 백준 2891번 카약과 강풍

문제2890번을 보면 알겠지만, 상근이는 카약 대회를 개최했다. 그런데, 갑자기 엄청난 강풍이 경기장에 불었고, 일부 카약이 부서졌다. 경기는 5분 안에 시작해야 하는 상황이다.다행히 일부 팀은 혹시 모를 사태에 대비해서 카약을 하나 더 경기장에 들고 왔다. 카약은 매우 무겁고 운반하기 어렵다. 따라서, 자신의 바로 다음이나 전에 경기하는 팀에게만 카약을 빌려주려고 한다. 즉, 팀 4는 여분의 카약을 3이나 5에게만 빌려줄 수 있다. 다른 팀에게서 받은 카약은 또 다른 팀에게 빌려줄 수 없다. 또, 카약을 하나 더 가져온 팀의 카약이 손상되었다면, 여분의 카약으로 경기에 출전하게되고, 이 카약은 다른 팀에게 빌려줄 수 없다.카약이 부서진 팀과 하나 더 가져온 팀이 주어진다. 카약을 적절히 빌렸을 때 출발..

공부/Python 2025.03.29

[그리디] 백준 1543번 문서 검색

문제세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 단어가 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수 있고, 2번부터도 찾을 수 있다. 그러나 동시에 셀 수는 없다.세준이는 문서와 검색하려는 단어가 주어졌을 때, 그 단어가 최대 몇 번 중복되지 않게 등장하는지 구하는 프로그램을 작성하시오. 입력첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이는 최대 50이다. 문서와 단어는 알파벳 소문자와 공백으로 이루어져 있다. 출력첫째..

공부/Python 2025.03.28