조대협 310

AI 개발 시대에서, 개발자로 살아남기 위해서..

요즘 바이브 코딩, 커서 AI등, AI 기술이 개발쪽으로 깊숙하게 들어오고 있다. 실제로 아래 차트를 보면, LLM 공급자인 앤트로픽에서 LLM 모델이 어디서 많이 사용되는지를 조사한 통계자료가 있는데, 37.2%가 컴퓨터 관련(개발 관련)이다. 그외에 10.3%가 Art & Media쪽인데, 광고/마케팅이나 컨텐츠 생성쪽이다. 실제 시장을 봐도 AI 기술에 대한 이야기는 많지만 업무에 실질적으로 적용하고 있는 빈도는 생각보다 크게 높지 않고, AI를 잘 이해하고 있는 IT 쪽의 적응률이 높은 것을 볼 수 있다. 이러한 AI의 활용은 소프트웨어 개발의 생산성 향상으로 이루어지게 되고, 실제로 아래 파이낸스 타임즈지에 나온 그래프를 보면, 2024년을 기점으로 소프트웨어 엔지니어에 대한 채용이 급격하게 ..

바이브 코딩 다음은 AIOps

코딩 자동화에 이어 운영 자동화까지 AIOps조대협 (http://bcho.tistory.com) 요즘 바이브 코딩이 많이 주목받고 있는데, 오늘은 바이브 코딩과 AIOps에 대해서 이야기 해보고자 한다. 먼저 바이브 코딩과 AI IDE에 대해서 분류해서 생각해볼 필요가 있다. 코딩 플랫폼바이브 코딩바이브 코딩은 대화를 하면서 코딩을 한다는 개념으로 생각하면 되는데, 주로 완제품 웹사이트나 모바일앱을 만들어주는 영역이 여기에 해당한다. 주로 UI가 있는 애플리케이션을 개발해주는 개념인데, Vercel의 V0, Replit, Lovable등이 이에 해당한다. 이러한 플랫폼은 코딩에 대한 지식이 없거나 부족한 경우에도 애플리케이션을 개발할 수 있는 장점이 있다. 특히 Vercel백앤드나 Superbase등의..

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과..

앤트로픽을 모델 사용 통계를 통한 LLM 사용 현황

조대협 (http://bcho.tistory.com 앤트로픽에서 운영중인 모델의 데이터를 분석해서, 앤트로픽 모델이 주로 누가 어디에 사용하는지를 정리한 논문이 있어서 정리해본다. https://arxiv.org/abs/2503.04761v1?fbclid=IwY2xjawJWyMVleHRuA2FlbQIxMAABHVWipyblGC0KyHFa9XOFI58D9_YyB-2OTRySYTyE2sQ1xAiR4QwW5wXIEg_aem_FxQeOTGerX42xiHBiCRZIQ Which Economic Tasks are Performed with AI? Evidence from Millions of Claude ConversationsDespite widespread speculation about artificial i..

2025년 Devops 트랜드 세미나 공지

2025년 Devops 트랜드에 대한 무료 세미나를 알려드립니다. https://docs.google.com/.../1FAIpQLScNuq7qBqEPVF.../viewform미국에서는 이제 Devops는 너무 필수적인 것이라 많이 이야기 하지 않습니다. 그보다 비용 효율화를 위한 Finops, 보안을 위한 Secops와 개발과/운영을 밀접하게 연계해서 비즈니스 임팩트를 주기 위한 부분을 많이 고민합니다.2025년 Devops트랜드에 대해서 구글의 정명훈님과 전 화해 CTO님 이재광님이 준비했습니다.

파이썬 - Function annotation ("->")

Python Function Annotations (100줄 이내 설명)Python Function Annotations는 함수 매개변수와 반환 값에 대한 타입 힌트 및 메타데이터를 제공하는 기능입니다. Python 3.5+ 부터 사용 가능하며, def 키워드 함수 정의 시 콜론 : 뒤에 표현식을 사용하여 어노테이션을 추가합니다.핵심은 리턴 타입을 강제하는 것이 아니라, 개발자나 IDE 와 같은 도구에게 가독성을 높이기 위한 방법이다.  문법:def function_name(param1: type_hint, param2: type_hint = default_value) -> return_type_hint: # 함수 내용 return valueparam1: type_hint: 매개변수 param..

파이썬 - Coroutine과 await

Python 코루틴 (Coroutine) 상세 설명코루틴은 프로그래밍의 패러다임 중 하나로, 서브루틴(함수)을 일반화한 개념입니다. 단순히 순차적으로 실행되는 함수와 달리, 코루틴은 실행을 일시 중단(pause)했다가 나중에 다시 재개(resume)할 수 있는 능력을 핵심으로 가집니다. 이러한 특징 덕분에 코루틴은 비동기 프로그래밍과 동시성 프로그래밍에서 매우 강력한 도구로 활용됩니다.1. 코루틴이란 무엇인가? (서브루틴과의 비교)서브루틴 (Subroutine, 일반 함수):단방향 진입/탈출 (Single entry point/exit point): 함수는 시작점에서 진입하여, 종료점에서 탈출합니다.호출자-피호출자 관계 (Caller-Callee): 함수를 호출하는 쪽(caller)과 호출되는 쪽(cal..