최근 AI를 활용한 개발 워크플로우, 이른바 '바이브 코딩(Vibe Coding)'이 대세로 자리 잡았어요.자연스럽게 AI 모델에게 내 프로젝트나 외부 서비스의 정확한 컨텍스트를 제공하는 일이 핵심 경쟁력이 되었죠.이때 등장한 표준 규격이 바로 MCP(Model Context Protocol)입니다. 공식 API가 없는 서비스라도 브라우저가 할 수 있는 일이라면, 코드로 구현해 AI의 새로운 능력으로 확장할 수 있어요.저는 이 방식을 응용해서 AI가 제 Velog 계정에 직접 접근해 글을 읽고 쓸 수 있는 velog-mcp를 개발하고 npm에 배포했습니다. 이번 글에서는 가장 기초적인 MCP 서버 구현부터 npm 오픈소스 배포, 그리고 실전 응용 인사이트까지 단계별로 알아볼게요. 💡 이 글에서 다룰 내..
이 문서는 그래프 탐색의 대표적인 방법인 DFS와 BFS를 단순히 어떻게 사용하는지가 아니라, 왜 이런 방식으로 동작하는지를 이해하는 데 초점을 맞춰요.또한 문제를 마주했을 때 어떤 기준으로 탐색 방법을 선택해야 하는지까지 함께 정리해 보려고 해요. 이 문서를 읽고 나면 아래 질문에 스스로 답할 수 있게 될 거예요.이 문제는 모든 경우를 끝까지 탐색해야 할까요?최단 거리나 이동 횟수가 중요한 문제일까요?이런 조건에서 DFS와 BFS 중 어떤 탐색을 선택하는 게 맞을까요? 왜 그래프 탐색이 중요한가요?그래프 탐색은 알고리즘 문제에서 반복해서 등장하는 핵심 개념이에요.문제의 형태는 달라 보여도, 내부를 들여다보면 정점과 간선을 따라 이동하며 답을 찾는 구조인 경우가 많아요. 그래프 탐색은 아래와 같은 상황에..
개발하며 가장 많이 다루는 데이터는 단연 문자열이죠.백엔드 개발자라면 '이 문자열 데이터를 어떻게 효율적으로 저장하고 빠르게 불러올까?'를 늘 고민하게 돼요.특히 데이터베이스 테이블을 설계할 때 CHAR와 VARCHAR 중 무엇을 쓸지 결정하는 건 흔히 겪는 난관이에요. 그래서 오늘은 MySQL의 대표적인 문자열 타입인 CHAR, VARCHAR, TEXT의 내부 동작 방식을 깊이 있게 살펴볼게요.단순한 데이터 길이를 넘어, 디스크 공간 효율성과 업데이트 시 발생하는 성능 오버헤드까지 함께 짚어보겠습니다.나아가 무중단 스키마 변경(Online DDL) 이슈까지 종합적으로 파악해 두면, 내 서비스에 딱 맞는 데이터 타입을 직접 결정하실 수 있을 거예요. 디스크 공간 할당 방식: 고정 길이 vs 가변 길이CH..
트랜잭션(Transaction)은 데이터베이스의 무결성과 안정성을 지키기 위해 꼭 이해해야 하는 핵심 개념입니다.오늘은 다음 내용을 단계별로 살펴봅니다트랜잭션의 기본 개념ACID 속성이 중요한 이유MySQL에서 트랜잭션이 어떻게 동작하는지스토리지 엔진(MyISAM vs InnoDB)에 따른 동작 차이트랜잭션 격리 수준 4단계와 관련 문제(Dirty Read, Phantom Read 등)Spring에서 @Transactional로 격리 수준을 설정하는 방법이 글을 읽고 나면, DB 트랜잭션을 안정적으로 설계하고 활용하기 위한 실무 기준을 자연스럽게 이해할 수 있을거에요! 트랜잭션이란 무엇인가트랜잭션(Transaction)은 데이터베이스에서 실행되는 하나의 논리적 작업 단위(Logical Unit of Wo..
현대의 데이터 환경에서는 서비스 운영, 분석, 인공지능 등 다양한 목적에 따라 여러 형태의 데이터 저장소를 사용합니다. 대표적인 예로 데이터베이스(Database), 데이터 웨어하우스(Data Warehouse), 데이터 레이크(Data Lake)가 있으며, 각각의 역할과 설계 철학은 크게 다릅니다. 이 글은 세 저장소의 차이와 장단점, 그리고 상황에 따른 기술 선택 기준을 비교 중심으로 쉽게 이해할 수 있도록 정리했습니다. 요약아래는 데이터베이스(DB), 데이터 웨어하우스(DWH), 데이터 레이크(DL)를 한눈에 비교한 핵심 요약입니다. 각 저장소가 어떤 목적에 쓰이고, 어떤 데이터 형태를 다루며, 어떤 방식으로 스키마를 적용하는지 빠르게 파악할 수 있습니다. 구분데이터베이스 (DB)데이터 웨어하우스 ..
일급 컬렉션(First-Class Collection)은 단순한 데이터 컬렉션을 하나의 객체로 묶어,해당 컬렉션과 관련된 모든 로직·검증·행위를 한 클래스에서 관리하도록 돕는 설계 방식입니다. 이 글을 통해 여러분들은 다음 내용을 명확하게 이해할 수 있을거에요일급 컬렉션의 개념일급 컬렉션을 사용하는 이유적용하기 좋은 상황실제 코드 구현 방법오버엔지니어링을 피하기 위한 기준 일급 컬렉션(first-class-collection)이란? 일급 컬렉션(First-Class Collection)은 마틴 파울러(Martin Fowler)가 발매한 책 소트웍스 앤솔러지(SortWorks Anthology)에서 소개한 규칙 중 하나입니다. 규칙8: 일급 콜렉션 사용이 규칙의 적용은 간단하다. 콜렉션을 포함한 클래스는..