728x90 전체 글426 Hello World MCP 서버 – Python & Node.js 구현과 Amazon Q Developer 연결 이번 글에서는 가장 간단한 Hello World MCP 서버를 직접 구현해보고,Amazon Q Developer CLI에서 실제로 동작시키는 과정을 정리합니다.1. Python 버전 Hello World MCP 서버(1) 프로젝트 초기화mkdir hello-mcp-servercd hello-mcp-server(2) Python 코드 작성hello_mcp_server.py#!/usr/bin/env python3import asynciofrom mcp.server import Serverfrom mcp.server.stdio import stdio_serverfrom mcp.types import Tool, TextContentserver = Server("hello-mcp-server")@server.li.. 프로그래밍공부(Programming Study)/Agent AI 2025. 9. 19. Amazon Q Developer MCP 서버 설정 – command와 args 완전 이해 지난 글에서는 MCP 서버 개발에서 헷갈리는 uv, uvx, npm, npx 개념을 정리했습니다.이번 글에서는 Amazon Q Developer에서 MCP 서버를 연결할 때 꼭 필요한 설정 파일인 mcp.json의 command와 args를 어떻게 작성해야 하는지 구체적으로 알아봅니다.1. MCP 서버 설정 개요Amazon Q Developer는 MCP 서버를 실행할 때,command: 어떤 실행기를 쓸지 (python, uv, uvx, node, npm, npx 등)args: 그 실행기에 넘길 인자들을 지정해야 합니다.즉, 로컬 환경인지 / 배포 환경인지 / Python 기반인지 / Node.js 기반인지에 따라 설정이 달라집니다.2. Python MCP 서버 설정 패턴(1) 로컬 개발 – uv run.. 프로그래밍공부(Programming Study)/Agent AI 2025. 9. 18. MCP 서버 개발에서 헷갈리기 쉬운 uv, uvx, npm, npx 완전 정리 최근 MCP 서버 개발을 하다 보면 uv, uvx, npm, npx 같은 명령어를 자주 쓰게 됩니다.문제는 네 가지가 서로 비슷한 역할을 하다 보니 직관적으로 잘 안 와닿는다는 점이죠.저도 DevOps 엔지니어로 프로젝트를 하다 보니,“이건 pip이랑 뭐가 다르지?”, “uvx랑 npx은 같은 거 맞지?” 같은 고민을 많이 했습니다.이번 글에서는 DevOps 관점에서 uv/uvx와 npm/npx을 어떻게 이해하면 되는지 정리해보겠습니다.1. 한눈에 보는 큰 그림npm ↔ uv→ 프로젝트 단위 패키지/환경 관리자npx ↔ uvx→ 전역 설치 없이 패키지를 바로 실행하는 실행기즉, 두 쌍이 서로 대응합니다.2. npm / uv (프로젝트 패키지 관리자)npmNode.js의 표준 패키지 매니저node_modu.. 프로그래밍공부(Programming Study)/Agent AI 2025. 9. 18. 20250914 오늘의 영어 표현 정리 enacting some ugly hack한국어 의미유지보수가 어렵고 비표준적인 임시 해결책(‘엉성한 해킹’)을 실제로 적용/시행하는 것. 주로 빠른 패치나 회피용 코드로, 장기적으로는 문제를 일으킬 수 있다.실용 예문Rather than refactor the legacy module, we ended up enacting some ugly hack to fix the bug before the release.Enacting some ugly hack at the driver level caused unpredictable behavior under heavy load.The CI pipeline failed because someone enacted some ugly hack that hard-cod.. 끄적끄적(Memo) 2025. 9. 14. Potpourri (자잘하지만 중요한 주제들) 1. Keyboard Remapping (키보드 리매핑)개념: 키보드에서 입력되는 키 신호를 다른 키나 명령으로 바꿔치기하는 것.왜 필요해?Caps Lock 키는 손가락 위치가 좋지만 거의 쓰지 않음 → Ctrl이나 Esc로 바꾸면 훨씬 효율적.자주 쓰는 단축키나 텍스트(이메일 주소, 학번 등)를 단일 키로 매핑하면 반복 입력을 줄일 수 있음.예시:Caps Lock → Esc (Vim 사용자들이 즐겨 씀)Ctrl ↔ Command/Meta (맥/윈도우 키보드 혼용할 때 편리)PrtSc → 음악 재생/일시정지도구:macOS: Karabiner-Elements, skhd, BetterTouchToolLinux: xmodmap, AutokeyWindows: AutoHotkey, SharpKeysQMK Firm.. 프로그래밍공부(Programming Study) 2025. 9. 10. Security and Cryptography 0. 주의사항보안 전문가가 아니라면 직접 암호 구현을 하지 말아야 합니다. “Don’t roll your own crypto.”시스템 보안도 마찬가지로, 정식 보안 훈련 없이 함부로 적용하면 큰 위험을 초래할 수 있습니다.1. Entropy (엔트로피)정의무작위성(randomness)의 정도를 수학적으로 측정하는 값특정 시스템이나 암호의 예측 불가능성을 수치로 나타냄단위는 bit계산 방식경우의 수가 N일 때:entropy=log2(N)entropy = \log_2(N)예:동전 던지기: 경우의 수 2 → 1 bit주사위: 경우의 수 6 → 약 2.58 bits비밀번호 엔트로피Tr0ub4dor&3 같은 비밀번호는 복잡해 보이지만, 실제로는 공격자가 “문자 치환 패턴”을 알고 있다면 경우의 수가 줄어들어 엔.. 프로그래밍공부(Programming Study) 2025. 9. 9. 메타프로그래밍(Metaprogramming)과 DevOps: 빌드·의존성·CI 제대로 이해하기 1. 메타프로그래밍이란?일반적으로 메타프로그래밍은 “프로그램을 다루는 프로그램 작성”을 의미합니다. 하지만 여기서 다루는 의미는 조금 다릅니다.즉, 코드 작성 외의 과정(Process) 효율화에 초점을 맞춥니다.빌드 시스템 (Build Systems)의존성 관리 (Dependency Management)지속적 통합 (Continuous Integration, CI)테스트 자동화 (Testing)2. 빌드 시스템 (Build Systems)개념입력 → 출력으로 가는 과정을 자동화논문 PDF 생성, 코드 컴파일, 테스트 실행 등핵심: 타겟(Target), 의존성(Dependency), 규칙(Rule) 정의예시: Makefilepaper.pdf: paper.tex plot-data.png pdflatex pa.. 프로그래밍공부(Programming Study) 2025. 9. 8. 네트워크 보안 개념과 공격 기법 정리 네트워크와 시스템 보안에서는 다양한 위협이 존재하며, 이를 이해하는 것은 필수적입니다. 이번 글에서는 주요 보안 원칙(기밀성, 무결성, 인증성)부터 실제 발생하는 공격 기법까지 정리합니다.📌 보안의 핵심 원칙1. Confidentiality (기밀성 / 비밀성)정보가 허가되지 않은 사람에게 노출되지 않도록 보호하는 것.예문Encryption ensures the confidentiality of sensitive data.Access control policies help maintain confidentiality.Hackers tried to break the confidentiality of the database.2. Integrity (무결성, Message Authentication Code.. 프로그래밍공부(Programming Study)/보안(Security) 2025. 9. 2. 20250829 오늘의 영어 표현 정리 단어 및 표현 정리Interlude의미: 중간에 삽입되는 짧은 시간, 사건, 또는 간주곡예문:The professor gave a short interlude before starting the next complex topic.The interlude in the software demo allowed participants to ask questions.The movie had a musical interlude to ease the tension.intriguing ways의미: 흥미로운 방식들, 호기심을 자극하는 방법들예문:The professor explained algorithms in intriguing ways that captured students’ attention.Developers.. 끄적끄적(Memo) 2025. 9. 1. 커맨드라인 환경 정리 – 효율적인 셸 활용법 리눅스를 쓰다 보면 단순히 명령어만 실행하는 게 아니라, 여러 프로세스를 동시에 관리하거나 환경을 꾸미고, 원격 서버에 접속해야 하는 상황이 자주 생깁니다. 이번 글에서는 Job Control(작업 제어), 터미널 멀티플렉서, alias와 dotfiles, SSH 같은 기본 개념들을 정리해 보려고 해요.1. Job Control – 프로세스 제어하기터미널에서 프로그램을 실행하다 보면 멈추거나, 잠시 중지하거나, 백그라운드로 돌리고 싶을 때가 있죠. 이럴 때 쓰는 기능이 바로 Job Control이에요.Ctrl-C → 실행 중인 프로그램을 멈춤 (SIGINT 시그널 전송)Ctrl-Z → 프로그램을 잠시 멈춤 (SIGTSTP 시그널)fg → 멈춘 작업을 다시 포어그라운드에서 실행bg → 멈춘 작업을 백그라운.. 프로그래밍공부(Programming Study) 2025. 8. 30. Network - 라우팅(Routing) 인터넷에서 우리가 검색하거나 영상을 볼 때,그 정보들이 어떤 경로를 따라 이동하는지 생각해 본 적 있나요?바로 그 '길 찾기'를 담당하는 것이 라우팅(Routing)입니다.오늘은 인터넷 속 데이터를 어떻게 목적지까지 잘 보내는지,그 방식과 프로토콜을 정리해볼게요. 🔁 라우팅의 기본 방식방식 설명Flooding모든 이웃에게 데이터를 마구 뿌림. 간단하지만 비효율적Source routing출발지에서 전체 경로를 미리 지정함. 유연하지만 복잡Forwarding table라우터가 목적지별 경로 정보를 테이블로 저장해 사용Spanning tree순환(루프)을 방지하기 위해 트리 구조로 구성. 브리지/스위치에서 주로 사용📦 라우팅 프로토콜: 누가 어떻게 경로를 정할까?✅ RIP (Routing Informati.. 프로그래밍공부(Programming Study)/네트워크(Network) 2025. 8. 25. 20250824 오늘의 영어 표현 정리 영어 단어 및 표현 정리1. richer treatment (운영체제 문맥)해석: 더 정교한 처리, 더 깊이 있는 다룸예문:Modern operating systems provide a richer treatment of threads.A richer treatment of memory management includes support for virtual memory.Some textbooks offer a richer treatment of file systems.2. as most of the time it would just sit idle then, costing the facility hundreds of thousands of dollars per hour해석: 대부분의 시간 동안 놀고 있어.. 끄적끄적(Memo) 2025. 8. 24. 이전 1 2 3 4 ··· 36 다음 728x90