2025/04 5

Nest.JS DTO,DAO and Pojo

Nest.js에서 사용하는 DTO의 개념이 Spring DAO와 헷갈렸는데. DTO는 단순히 Value Object라고 보면 된다. Data Transfer Object로 데이터를 저장하는 복합체 구조이다. DAO는 Data Access Object로, ValueObject의 내용을 DB에 저장하는 로직을 가지고 있다. 참고 : 아래는 Java 코드 예제임. 즉 DTO는 데이터에 대해서 아래와 같이 get/set 만을 가지고 있고, public class UserDto { private int id; // @NotEmpty // Example validation: name cannot be empty // @Size(min = 2, max = 50) // Example validat..

Nest.JS Controller, Module, Service 의 관계

Nest.JS에서 처음으로 소개되는 개념인 Controller, Service, Module의 개념에 대해서 알아보자. ControllerHTTP Request를 직접 받는 컴포넌트이다. 어떤 URI로 받을지 @Get,@Post,@Put,@Delete 등의 데코레이터로 어떤 HTTP Request를 받을지 결정한다. 아래는 /users REST API를 정의한 간단한 예제인데/users URI는 @Controller('users') 데코레이터에서 정의한다. @Get(':id')로 /users/{id}에 대한 요청 처리 로직을 정의하였다. import { Controller, Get, Post, Body, Param, Put, Delete } from '@nestjs/common';@Controller(..

바이브 코딩 - 개발자들이 없어진다고 하는데, 바이브 코딩 오해와 진실

요즘 인터넷에 보면 가장 많이 나오는 단어가 바이브 코딩(Vibe coding)이 아닌가 싶다. Cursor와 같은 AI 코딩 도구를 이용해서, 코딩을 모르는 사람도 자연어로 요구 사항을 설명하면 AI가 자동으로 코드를 생성해준다. 유투브 채널에 보면 온갖 바이브 코딩에 대한 이야기이고, 개발자는 이제 없어질 것이며 신입은 필요가 없다는 이야기도 나오는데, 잘못된 오해가 많은 것 같고, 제대로 바이브 코딩을 하는 방법에 대한 가이드가 상대적으로 적은 것 같아서, 바이브 코딩에 대한 오해와, 어떻게 하면 바이브 코딩을 제대로 할 수 있을지에 대해서 설명하고자 한다. 바이브 코딩의 정의바이브 코딩은 OpenAI의 공동 창립자인 Andrej Karpathy에 의해서 2025년 2월에 소개되었다. 바이브 코딩은..

MCP (Model Context Protocol) 2. 서버 개발하기

조대협 (http://bcho.tistory.com)지난 글을 통해서 MCP의 개념에 대해서 간략하게 이해해봤다. 이번글에서는 그러면 어떻게 MCP 서버를 실제로 구현하는지에 대해서 알아보도록 한다. MCP Local server & remote serverMCP server 는 구동 위치에 따라서, 로컬 서버와 리모트 서버로 분리된다. 아래는 Anthropic 의 아키텍처 다이어그램이다.   로컬 서버의 경우, MCP 애플리케이션 호스트 프로세스가 기동되는 로컬 데스크탑에서 실행되는 서버이고, 리모트 서버는 클라우드나 기타 네트워크로 접속될 수 있는 환경에서 기동되는 서버이다. 로컬 서버의 경우에는 같은 데스크탑에서 실행되기 때문에, 로컬 자원, 즉 데스크탑의 파일 등에 접근할 수 있다.(노트 : 이는..

MCP (Model Context Protocol) 1. 개념 이해

조대협 (http://bcho.tistory.com) 근래에 들어서 LLM 에 관련해서 가장 핫한 토픽중에 하나는 MCP (Model Context Protocol)이다. MCP는 Anthropic에서 발표한 프로토콜로 LLM 모델이 외부 애플리케이션과 연동할 수 있도록 해주는 스펙으로, 예를 들어 클로드 모델이 학습된 결과로 답변만할 수 있는데 비해서 MCP를 이용하여 외부 애플리케이션과 연동하게 되면, 구글 검색 결과를 통해서 최신 정보를 가지고 답변을 하거나, Spotify를 이용해서 음악을 플레이하도록 할 수 있다.  이번 글에서는 MCP에 대한 개념에 대해서 이해해보도록 한다. (아래는 본 글의 내용을 이해하기 쉽게 설명한 비디오 이다. ) Agent 개념의 이해MCP를 이해하려면 먼저 LLM과..