831 posts
AWS Bedrock으로 AI 모델 사용하기

AWS Bedrock으로 AI 모델 사용하기

요즘 AI 기능을 서비스에 통합하려는 기업이 정말 많죠. 그런데 OpenAI나 Anthropic 같은 AI 제공업체의 API를 직접 쓰려면 각 업체마다 별도로 계정을 만들고 API 키를 관리해야 하고 비용 청구도 따로 받게 됩니다. 이미 AWS 인프라를 쓰고 있는 조직이라면 이게 꽤 번거로운 일이에요. AWS Bedrock은 이런 고민을 해결해주는 서비스입니다. 여러 AI 회사의 파운데이션 모델(Foundation Model)을 AWS 환경 안에서 통합된 API로 호출할 수 있게 해주거든요. 기존에 사용하던 IAM 권한 체계와 AW

Oxc로 자바스크립트 린팅과 포맷팅을 압도적으로 빠르게

Oxc로 자바스크립트 린팅과 포맷팅을 압도적으로 빠르게

자바스크립트 프로젝트를 하나 세팅하려면 설치해야 할 도구가 한두 개가 아닙니다. 코드 린팅에는 ESLint, 포맷팅에는 Prettier, 트랜스파일링에는 Babel이나 SWC, 번들링에는 Webpack이나 Vite... 각각 다른 팀이 다른 언어로 만든 도구들을 조합해서 쓰다 보니 설정 파일만 여러 개, 플러그인 간 버전 충돌에 빌드 속도는 답답하고. 😩 이 파편화된 자바스크립트 도구 생태계를 하나로 통합하겠다는 프로젝트가 있는데요, 바로 Oxc입니다. 이번 포스팅에서는 Oxc가 무엇이고, 어떤 도구들로 구성되어 있으며, 실제 프

클로드 코드 상태줄: 터미널 하단을 나만의 대시보드로

클로드 코드 상태줄: 터미널 하단을 나만의 대시보드로

클로드 코드로 긴 작업을 하다 보면 궁금한 게 생깁니다. 컨텍스트 윈도우를 얼마나 쓴 거지? 비용은 지금 얼마쯤 됐지? 매번 /cost나 /model을 쳐서 확인할 수 있긴 한데 작업 흐름이 끊기죠. 상태줄(statusline)은 이런 정보를 터미널 하단에 항상 띄워주는 기능입니다. 셸 스크립트 하나로 컨텍스트 사용량이나 비용, Git 브랜치 같은 걸 실시간 대시보드처럼 꾸밀 수 있어요. 한번 설정해두면 작업 흐름을 끊지 않고 세션 상태를 한눈에 파악할 수 있습니다. 상태줄이 뭔가요? 상태줄은 클로드 코드 화면 맨 아래에 붙는 커스

스펙 주도 개발: 바이브 코딩을 넘어 AI 에이전트와 일하는 법

스펙 주도 개발: 바이브 코딩을 넘어 AI 에이전트와 일하는 법

"장바구니 기능 만들어줘." 코딩 에이전트에게 이렇게 요청하면 뭔가 그럴듯한 코드가 나옵니다. 그런데 결과를 보면 내가 원했던 것과 미묘하게 다릅니다. 상품 수량 변경이 빠져 있거나 할인 적용 로직이 내 의도와 다릅니다. 합계를 계산하는 방식이 요구사항과 안 맞기도 하죠. 에이전트가 멍청한 걸까요? 아닙니다. 내가 원하는 걸 충분히 명확하게 전달하지 않은 겁니다. 이런 식으로 분위기에 맡겨 코드를 생성하는 걸 **바이브 코딩(Vibe Coding)**이라고 부릅니다. 대략적인 의도만 던지고 에이전트가 알아서 해주길 바라는 거죠. 간

RedwoodSDK: Cloudflare를 위한 React 프레임워크

RedwoodSDK: Cloudflare를 위한 React 프레임워크

예전에 RedwoodJS로 풀스택 웹 앱 만들기라는 글에서 RedwoodJS를 소개해드린 적이 있는데요. React, GraphQL, Prisma를 하나로 묶어서 풀스택 앱을 빠르게 만들 수 있게 해주는 프레임워크였죠. 그 글 마지막에 잠깐 언급했던 RedwoodSDK가 2025년 3월 드디어 v1.0으로 정식 출시되었습니다. RedwoodSDK는 기존 RedwoodJS의 후속작이라기보다는 완전히 새로운 프레임워크에 가깝습니다. GraphQL과 Prisma 중심이었던 기존 접근 방식을 버리고, React Server Componen

Sentry MCP 서버로 AI에게 에러 디버깅 맡기기

Sentry MCP 서버로 AI에게 에러 디버깅 맡기기

Sentry로 프로덕션 에러를 모니터링하고 있으면 보통 이런 워크플로우를 반복하게 됩니다. Slack에서 에러 알림을 받고 Sentry 대시보드로 이동해서 스택 트레이스를 확인하고 관련 코드를 에디터에서 열어서 원인을 파악하고 수정 코드를 작성합니다. 이 과정에서 브라우저와 에디터를 끊임없이 왔다 갔다 하게 되는데요. 만약 코딩 중인 AI 도구에서 "이 프로젝트에서 최근에 발생한 에러 보여줘"라고 말하면 바로 이슈 목록을 가져오고 "이 에러 원인 분석해줘"라고 하면 스택 트레이스를 보고 수정 코드까지 제안해준다면 어떨까요? 🤔 S

Sharp로 자바스크립트에서 이미지 처리하기

Sharp로 자바스크립트에서 이미지 처리하기

웹 서비스를 운영하다 보면 이미지를 다뤄야 하는 일이 참 많은데요. 사용자가 올린 프로필 사진을 썸네일로 줄이거나, 상품 이미지를 WebP로 변환하거나, 여러 이미지를 하나로 합쳐야 할 때가 있죠. 이런 작업을 브라우저가 아닌 서버 쪽에서 처리하려면 어떻게 해야 할까요? Sharp는 Node.js에서 가장 널리 쓰이는 이미지 처리 라이브러리입니다. 내부적으로 C 기반의 libvips 엔진을 사용하기 때문에 ImageMagick보다 4~5배 빠르고, 메모리 사용량도 적습니다. JPEG, PNG, WebP, AVIF, GIF, TIFF

클로드 코드의 언어 모델 선택과 추론 강도 조절

클로드 코드의 언어 모델 선택과 추론 강도 조절

클로드 코드로 작업하다 보면 가끔 이런 상황이 생깁니다. 오타 하나 고치려고 했는데 Opus가 코드베이스 전체를 분석하느라 30초를 기다린다거나, 반대로 복잡한 아키텍처 리팩토링을 맡겼는데 Haiku가 피상적인 답만 내놓는 경우요. 두 경우 모두 언어 모델과 추론 강도가 작업에 맞지 않아서 생기는 문제인데요. 클로드 코드에서 언어 모델과 추론 강도는 모든 상호작용의 품질과 속도에 가장 직접적으로 영향을 주는 설정입니다. 이 글에서는 어떤 언어 모델과 추론 강도 조합이 어떤 작업에 적합한지 그리고 상황에 따라 전환하는 방법을 하나씩

Cloudflare MCP 서버로 AI에게 인프라 관리 맡기기

Cloudflare MCP 서버로 AI에게 인프라 관리 맡기기

Cloudflare에서 Workers를 배포하고 KV에 데이터를 저장하고 D1 데이터베이스를 관리하려면 보통 Wrangler CLI를 쓰거나 대시보드에 접속해야 합니다. 그런데 이걸 AI한테 "내 Workers 목록 좀 보여줘", "KV에 이 값 저장해줘" 같은 자연어로 시킬 수 있다면 어떨까요? 🤔 Cloudflare는 자사 서비스를 AI 도구에서 바로 사용할 수 있도록 MCP(Model Context Protocol) 서버를 공식으로 제공하고 있습니다. Claude Desktop, Cursor, VS Code 같은 AI 도구에

cmux: 코딩 에이전트를 위한 터미널

cmux: 코딩 에이전트를 위한 터미널

Claude Code를 터미널에서 돌리다 보면 자연스럽게 여러 세션을 동시에 띄우게 됩니다. 하나는 프론트엔드 리팩토링을 시키고, 다른 하나는 API 테스트를 작성하게 하고, 또 다른 하나는 버그를 추적하게 하는 식이죠. 문제는 이 세션들을 관리하는 게 생각보다 귀찮다는 겁니다. Ghostty에서 분할 창을 여러 개 열어놓으면 어느 에이전트가 질문을 던지고 기다리는 중인지 눈으로 일일이 확인해야 해요. macOS 알림도 어떤 세션에서 온 건지 맥락이 부족하고요. cmux는 이 문제를 해결하려고 만들어진 터미널입니다. Ghostty의

Varlock으로 환경 변수를 안전하게 관리하기

Varlock으로 환경 변수를 안전하게 관리하기

프로젝트를 진행하다 보면 .env 파일에 API 키, 데이터베이스 비밀번호 같은 민감한 정보를 저장하게 됩니다. dotenv를 사용해서 이 값들을 불러오는 건 이제 거의 표준처럼 자리 잡았는데요. 그런데 이런 경험 한 번쯤 있지 않으신가요? 새로운 팀원이 프로젝트를 클론받고 나서 .env.example을 보고 .env를 만들었는데, 필수 환경 변수 하나를 빼먹어서 런타임에 에러가 나는 상황. 아니면 AI 코딩 도우미에게 코드를 맡겼더니 .env 파일의 실제 비밀값까지 컨텍스트에 포함돼 버리는 아찔한 순간. 😅 Varlock은 바로

Harness Engineering: AI 코딩 에이전트를 위한 환경 설계

Harness Engineering: AI 코딩 에이전트를 위한 환경 설계

AI 코딩 에이전트로 개발하다 보면 반복되는 경험이 하나 있습니다. 프롬프트를 아무리 잘 써봐야 에이전트가 프로젝트 맥락을 놓치고, 아키텍처는 무시한 채 엉뚱한 코드를 만들어내는 거죠. 사람이 뒤에서 계속 수습하느라 바쁩니다 😅 왜 이런 걸까요? 모델이 멍청해서? 아닙니다. 에이전트가 일할 수 있는 환경 자체가 안 갖춰져 있어서 그렇습니다. OpenAI가 최근 발표한 Harness Engineering이라는 글이 딱 이 지점을 짚는데요. 이번 글에서 그 내용을 정리해 보겠습니다. Harness란 무엇인가 Harness는 말 그대로

Cloudflare Workers AI로 서버리스 AI 추론하기

Cloudflare Workers AI로 서버리스 AI 추론하기

AI 기능을 서비스에 넣으려면 OpenAI API 키를 발급받고 서버를 세팅하고 요청을 중계하는 백엔드까지 구성해야 하잖아요. 이 과정이 꽤 번거롭고 GPU 인프라를 직접 관리하는 건 비용도 만만치 않습니다 😅 Cloudflare Workers AI를 쓰면 별도의 GPU 인프라 없이 전 세계 엣지에서 AI 모델을 바로 실행할 수 있습니다. Cloudflare Workers에 코드 몇 줄만 추가하면 텍스트 생성, 이미지 생성, 번역, 음성 인식 같은 AI 기능을 서버리스로 제공할 수 있어요. 이번 글에서는 Workers AI의 기본

WebMCP: 웹사이트를 AI 에이전트에게 열어주는 브라우저 표준

WebMCP: 웹사이트를 AI 에이전트에게 열어주는 브라우저 표준

AI 에이전트가 웹사이트에서 항공권을 검색하거나 장바구니에 상품을 담는 모습을 상상해보신 적 있나요? 지금까지 AI 에이전트가 웹사이트를 다루려면 사람처럼 DOM 요소를 찾아서 클릭하고 텍스트를 입력해야 했습니다. Playwright MCP처럼 브라우저 자동화 도구를 쓰는 방법도 있었지만 웹 페이지 구조가 바뀌면 에이전트가 길을 잃기 십상이었죠. 2026년 2월, 구글과 마이크로소프트가 함께 완전히 다른 접근법을 내놓았습니다. 웹사이트가 직접 "나한테는 이런 도구들이 있어"라고 AI 에이전트에게 알려주게 하자는 건데요. 이게 바로

클로드 코드 예약 작업: 반복 업무를 자동화하는 세 가지 방법

클로드 코드 예약 작업: 반복 업무를 자동화하는 세 가지 방법

매일 아침 출근하면 습관처럼 하는 일이 있습니다. PR 리뷰 목록 확인하고, CI 실패한 거 훑어보고, 의존성 업데이트 알림 살펴보고... 중요한 일이긴 한데 매번 직접 하자니 번거롭죠. "이거 Claude가 알아서 해주면 안 되나?" 싶은 생각, 한 번쯤은 드셨을 겁니다. 클로드 코드에는 바로 이런 반복 업무를 자동으로 처리해주는 예약 작업(Scheduled Tasks) 기능이 있습니다. 컴퓨터를 꺼도 돌아가는 Cloud 예약 작업, 로컬 파일에 접근할 수 있는 Desktop 예약 작업, 세션 안에서 가볍게 폴링하는 /loop까지

agent-browser: AI 에이전트를 위한 브라우저 자동화 CLI

agent-browser: AI 에이전트를 위한 브라우저 자동화 CLI

AI 에이전트에게 브라우저를 맡기는 시대가 점점 현실이 되고 있습니다. 이전에 Playwright MCP를 소개하면서 AI 에이전트가 MCP 서버를 통해 브라우저를 조작하는 방법을 다뤘는데요. 이번에는 좀 다른 접근 방식을 가져온 도구를 살펴보려고 합니다. Vercel Labs에서 만든 agent-browser는 AI 에이전트가 쉘 명령어만으로 브라우저를 제어할 수 있게 해주는 CLI 도구입니다. MCP 프로토콜이나 프로그래밍 언어에 종속되지 않고 터미널에서 바로 agent-browser open example.com처럼 실행할 수

Starship으로 터미널 프롬프트 꾸미기

Starship으로 터미널 프롬프트 꾸미기

터미널을 열 때마다 보이는 프롬프트가 밋밋하다고 느끼신 적 있으신가요? 기본 프롬프트는 현재 디렉터리 정도만 보여주다 보니 Git 브랜치를 확인하려면 git branch를 치고, Node.js 버전이 궁금하면 node -v를 입력해야 하죠. Starship은 이런 불편을 해결해주는 크로스 쉘 프롬프트입니다. Rust로 만들어져서 빠르고, Bash부터 Zsh, Fish, PowerShell까지 거의 모든 쉘에서 동작합니다. 이 글에서는 Starship을 설치하고 나만의 프롬프트를 설정하는 방법을 알아보겠습니다. Starship이란?

Google Workspace CLI로 구글 서비스 터미널에서 제어하기

Google Workspace CLI로 구글 서비스 터미널에서 제어하기

구글 드라이브에서 파일 찾고, 지메일로 메일 보내고, 캘린더에 일정 추가하고, 시트에 데이터 넣는 작업을 매번 브라우저 열어서 하고 계신가요? 터미널 명령어 한 줄이면 이걸 다 할 수 있다면요? 🤔 오늘 소개할 gws(Google Workspace CLI)가 바로 그런 도구입니다. 구글 Discovery Service를 기반으로 명령어를 동적 생성하기 때문에 구글 API가 업데이트되면 도구를 따로 업데이트하지 않아도 새 기능을 바로 쓸 수 있는데요. AI 에이전트 연동까지 고려해서 설계됐기 때문에 자동화 워크플로우에도 딱입니다.

Tailscale로 어디서든 내 기기에 안전하게 접속하기

Tailscale로 어디서든 내 기기에 안전하게 접속하기

집에 있는 NAS에 저장해둔 파일이 급하게 필요한데 밖에서 접속할 방법이 없었던 적 있으신가요? 회사 내부 서버에 집에서 작업해야 하는데 VPN 설정이 너무 복잡해서 포기한 적은요? 기존 VPN은 설정이 번거롭고, 포트 포워딩은 보안상 위험하고, ngrok으로 터널링하는 방법은 일시적인 용도에 가깝습니다. 이런 고민을 깔끔하게 해결해주는 도구가 바로 Tailscale인데요. Tailscale은 WireGuard 프로토콜 위에 구축된 메시(mesh) VPN입니다. 복잡한 네트워크 설정 없이 내 기기들을 하나의 사설 네트워크로 묶어주죠

Ralph Wiggum 개발법: 코딩 에이전트를 밤새 돌리는 요령

Ralph Wiggum 개발법: 코딩 에이전트를 밤새 돌리는 요령

AI 코딩 에이전트로 작업하다 보면 한 가지 답답한 순간이 있습니다. 에이전트가 코드를 작성하다가 어느 시점에 "완료했습니다"라고 선언하는데, 정작 빌드가 깨져 있거나 테스트가 실패하는 거죠. 그래서 다시 지시하고 또 고치고 또 확인하고... 이 과정을 수십 번 반복하다 보면 "차라리 내가 짜는 게 빠르겠다"는 생각이 들기도 합니다 😅 그런데 2025년 말, 호주에서 염소를 키우던 한 개발자가 이 문제를 아주 단순한 방법으로 해결했습니다. Bash while 루프 하나로요. 이름도 기가 막히는데, Ralph Wiggum입니다. R

Discord