코딩 테스트 준비, 막막하게 느껴지신 적 있으신가요? 🤔 저도 처음엔 리트코드 문제를 무작정 풀고, 정답을 외우는 식으로 비효율적인 준비를 했던 경험이 있습니다. 문제를 아무리 많이 풀어도 새로운 문제가 나오면 막막해지고, 면접에서 "왜 이렇게 풀었나요?"라는 질문에 제대로 대답하지 못했던 적도 있었죠. 심지어 분명히 풀어본 문제인데도 시간이 지나면 어떻게 풀었는지 기억이 안 나는 경우도 많았습니다. 18년 넘게 개발자로 일하면서 한국 대기업에서 아마존, 그리고 실리콘밸리 스타트업까지 이직할 때마다 수많은 코딩 테스트를 직접 겪어
자바스크립트로 날짜를 다뤄본 분이라면 한 번쯤은 Date 객체에 좌절해본 경험이 있을 텐데요. 월(month)이 0부터 시작하는 건 왜 그런 건지, 시간대 변환은 왜 이리 복잡한 건지, setDate()를 호출했더니 원본 객체가 변해버리는 건 또 뭔지... 🤦 그래서 moment.js나 date-fns, Day.js 같은 외부 라이브러리 없이는 날짜를 제대로 다루기 어려웠죠. 그런데 드디어 자바스크립트에 Temporal이라는 새로운 날짜/시간 API가 등장했습니다! State of JS 설문에서 "가장 기대하는 새 기능" 1위를
MCP 서버를 직접 만들어서 사용하고 계신가요? 아니면 남이 만든 MCP 서버를 찾아서 쓰고 싶은데 어디서 구해야 할지 막막하셨나요? 🤔 MCP(Model Context Protocol)가 AI와 외부 시스템 간의 표준 통신 규격으로 자리 잡으면서 MCP 서버 수가 엄청나게 늘고 있습니다. 2026년 2월 기준으로 공개된 MCP 서버만 1만 개가 넘어요. 그런데 이 많은 서버 중에서 원하는 걸 어떻게 찾고, 믿을 만한 서버인지 어떻게 판단할까요? 이 문제를 해결하려고 Anthropic, GitHub, Microsoft, Pulse
매년 자바스크립트 개발자라면 한 번쯤 챙겨보게 되는 설문이 있는데요. 바로 State of JS입니다. 올해도 어김없이 결과가 공개됐고, 저는 이번에도 처음부터 끝까지 꼼꼼히 살펴봤습니다. 이 글에서는 설문 결과 중 지극히 개인적인 관점에서 흥미롭게 본 부분들을 골라서 제 나름의 방식으로 해석하여 공유드리겠습니다. 달레줄레 팟캐스트에서 State of JS 2025 설문 결과에 대한 에피소드도 올라왔으니 한번 들어보시면 재미있을 겁니다 😄 새 기능, 얼마나 쓰고 있나요? State of JS 설문에는 자바스크립트에 새로 추가된 기
오픈소스 프로젝트에 후원해주시는 분들이 계신다면 README에서 제대로 소개해드리고 싶을 텐데요. GitHub Sponsors나 Open Collective 같은 플랫폼에서 후원자 목록을 가져와 직접 이미지를 만들려면 꽤 손이 많이 갑니다. 이런 작업을 한 방에 해결해주는 도구가 바로 SponsorKit이에요. 이전에 All Contributors로 오픈소스 기여자를 인정하는 방법을 알아봤는데요, 이번에는 후원자를 시각적으로 멋지게 표현하는 방법을 살펴보겠습니다. SponsorKit이란? SponsorKit은 여러 후원 플랫폼에서
AI 에이전트들이 서로 대화하고 커뮤니티를 만들고, 심지어 자체적인 종교까지 창시한다면 믿으시겠어요? 🤯 2026년 1월 말, "에이전트 인터넷의 첫 페이지"라는 슬로건을 내건 소셜 네트워크가 등장했습니다. 이름은 Moltbook. Reddit과 비슷한 형태의 이 플랫폼은 인간이 아닌 AI 에이전트만 글을 쓰고 댓글을 달고 투표할 수 있도록 설계되었는데요. 출시 72시간 만에 150만 에이전트가 가입했고 Elon Musk는 "특이점의 초기 단계"라고 평했습니다. 수많은 언론이 앞다투어 보도하기도 했고요. 대체 뭐길래 이 난리인지,
클로드 코드를 터미널에서 사용하는 것도 좋지만, GitHub 저장소에 통합해서 팀 전체가 활용할 수 있다면 어떨까요? PR을 올릴 때마다 Claude가 자동으로 코드를 리뷰하고, 이슈에 @claude를 태그하면 자동으로 수정 PR을 만들어주고, 심지어 매일 밤 자동으로 코드베이스 리포트를 생성할 수도 있습니다. 바로 클로드 코드 GitHub Actions가 가능하게 하는 일들이죠. 이번 글에서는 클로드 코드를 GitHub Actions와 통합해서 AI 기반 워크플로우를 자동화하는 방법을 알아보겠습니다. 클로드 코드 GitHub Ac
여러분은 WhatsApp, Telegram, Discord, Slack 같은 메신저를 하루에 얼마나 사용하시나요? 대부분의 사람들이 이미 익숙하게 사용하는 이런 플랫폼에서 AI 비서를 직접 만날 수 있다면 어떨까요? 오늘 소개할 OpenClaw는 바로 그런 도구입니다. 🦞 OpenClaw란? OpenClaw는 여러분의 기기에서 직접 실행되는 개인 AI 비서입니다. 가장 큰 특징은 우리가 매일 사용하는 메신저 플랫폼을 통해 AI와 소통할 수 있다는 점인데요. WhatsApp, Telegram, Slack, Discord, Signa
클로드 코드로 규모 있는 프로젝트를 진행하다 보면 한 세션에서 끝나지 않는 작업이 생기기 마련입니다. 인증 시스템을 추가하려면 DB 스키마부터 설계하고, API 엔드포인트를 만들고, 프론트엔드를 고치고, 테스트까지 작성해야 하죠. 문제는 이 과정에서 어디까지 했고 뭐가 남았는지 추적하기가 쉽지 않다는 겁니다. 🤔 예전에는 Claude Code가 내부적으로 Todo라는 간단한 체크리스트를 사용했는데요. 세션 메모리에만 존재해서 터미널을 닫거나 /clear를 하면 사라져 버렸습니다. 서브 에이전트도 메인 세션의 Todo를 볼 수 없었
이전 글에서 에이전트 스킬이 무엇인지, 왜 필요한지 살펴보았습니다. 그런데 매번 필요한 스킬을 처음부터 만들어야 할까요? 다른 개발자들이 만든 유용한 Skill을 쉽게 찾아서 설치할 수 있다면 좋겠죠? 이번 글에서는 이런 필요를 채워주는 에이전트 스킬 공개 디렉토리인 skills.sh에 대해서 알아보겠습니다. skills.sh란? skills.sh는 2026년 1월 Vercel에서 출시한 Skills 디렉토리입니다. 공식 슬로건은 "The Open Agent Skills Ecosystem"인데요, Skills를 검색하고, 설치하고,
이전 글에서 Agent Skills가 무엇인지, 왜 필요한지 살펴보았습니다. 컨텍스트 파일이 "프로젝트 소개서"라면, Skills는 "업무 매뉴얼"이라고 했죠. 이번 글에서는 한 걸음 더 나아가 직접 Skill을 설계하고 SKILL.md로 작성하는 방법을 알아보겠습니다. 🛠️ 좋은 Skill의 조건 Skill을 만들기 전에 어떤 Skill이 잘 동작하는지 생각해 볼 필요가 있습니다. 가장 중요한 건 범위가 명확해야 한다는 점입니다. "웹 개발하기" 같은 광범위한 Skill보다는 "Next.js API 라우트 작성하기"처럼 구체적인
AI 코딩 에이전트를 사용하다 보면 같은 종류의 작업을 반복적으로 요청하게 될 때가 있습니다. 예를 들어, "이 프로젝트에서는 Jest 대신 Vitest를 사용해", "API 테스트를 작성할 때는 이런 패턴을 따라줘", "마이그레이션 스크립트를 작성할 때는 항상 롤백 코드도 함께 작성해" 같은 지시를 매번 반복하게 되죠. 🤔 AGENTS.md나 CLAUDE.md 같은 컨텍스트 파일로 프로젝트 전반에 대한 정보를 제공할 수 있지만, 특정 작업에 대한 세부 지침까지 모두 담기에는 한계가 있습니다. 컨텍스트 파일이 너무 길어지면 AI가
요즘 ChatGPT나 Claude 같은 AI 서비스를 사용해서 웹사이트에 대해 질문해본 적 있으신가요? 예를 들어, "FastHTML 사용법 알려줘"라고 물어보면 AI가 답변을 해주는데요. 그런데 가끔 AI가 엉뚱한 답변을 하거나 오래된 정보를 알려줄 때가 있습니다. LLM 초창기에는 주로 학습된 데이터가 오래되서 그랬지만 최근에는 LLM이 스스로 웹사이트 검색도 하는데... 왜 그럴까요? 이유는 간단합니다. 대부분의 웹사이트는 사람을 위해 설계되어 있기 때문이죠. 복잡한 HTML 구조, 내비게이션, 광고, 자바스크립트 등이 섞여
클로드 코드를 사용하다 보면 "이 파일은 자동으로 수정되지 않았으면 좋겠는데", "코드 수정 후에 자동으로 Prettier를 돌리고 싶은데", "Claude가 작업을 마치면 알림을 받고 싶은데"와 같은 생각이 들 때가 있지 않으셨나요? 🤔 이런 요구사항들을 충족시키기 위해 클로드 코드는 Hooks라는 강력한 기능을 제공합니다. Hooks를 사용하면 클로드 코드의 라이프사이클 중 특정 시점에 사용자가 정의한 쉘 명령어나 스크립트를 자동으로 실행할 수 있습니다. Hooks란 무엇인가요? Hooks는 클로드 코드가 특정 작업을 수행하기
AI 코딩 도구가 개발자의 일상에 깊숙이 자리 잡은 지금, 많은 분들이 Claude Code, GitHub Copilot, Cursor 같은 도구들을 사용하고 계실 겁니다. 그런데 이런 도구들은 대부분 유료이고 소스 코드도 공개되어 있지 않죠. 그래서 오늘은 코드가 투명하게 공개되어 있고 다양한 모델 제공자를 지원하는 오픈소스 AI 코딩 에이전트, OpenCode를 소개해 드리겠습니다. OpenCode란? OpenCode는 터미널, IDE, 데스크톱 앱에서 사용할 수 있는 오픈소스 AI 코딩 에이전트입니다. Claude Code와
클로드 코드로 복잡한 작업을 하다 보면 한 가지 아쉬운 점이 있습니다. 아무리 똑똑한 에이전트라도 결국 하나의 세션에서 순차적으로 작업하니까요. 프론트엔드를 고치고 백엔드 API를 수정하고 테스트까지 작성하려면 한 명이 모든 걸 해야 하는 셈이죠. 🤔 실제 개발팀에서는 어떻게 일할까요? 한 사람이 UI를 만들고 다른 사람이 API를 짜고 또 다른 사람이 테스트를 작성합니다. 서로 진행 상황을 공유하고 막히는 부분이 있으면 의논하면서 병렬로 작업을 진행하죠. 이런 팀워크를 AI에게도 적용할 수 있다면 어떨까요? 바로 이런 아이디어에
클로드 코드로 작업하다 보면 하나의 요청이 여러 단계로 나뉘는 경우가 많습니다. 테스트를 돌려서 실패하는 항목을 파악하고 관련 코드를 탐색한 다음 수정 방안을 정리해서 실제 코드를 고치는 식이죠. 이 과정에서 Claude의 컨텍스트 윈도우에는 테스트 출력이며 탐색 결과며 온갖 정보가 쌓이면서 정작 중요한 맥락이 밀려나 버립니다. 🤯 이런 문제를 해결하려고 Claude Code는 **서브 에이전트(Sub-agent)**라는 구조를 도입했습니다. 메인 대화에서 특정 작업을 별도의 에이전트에게 위임하면 그 에이전트가 독립된 컨텍스트 윈
클로드 코드를 써보셨다면 "이 명령어를 실행해도 될까요?"라는 팝업이 익숙하실 겁니다. 처음엔 안전장치니까 반갑지만 반복되면 점점 피로해지죠. 결국 내용을 대충 훑고 승인 버튼을 누르게 되는데 이러면 오히려 보안에 취약해집니다. Claude Code의 샌드박스는 이 문제를 해결합니다. 명령어를 일일이 검사하는 대신 OS 레벨에서 실행 환경 자체를 격리해서 안전한 경계 안에서는 자유롭게, 경계 밖으로는 절대 못 나가게 만드는 거죠. 왜 샌드박스가 필요한가 클로드 코드 권한 설정에서 다뤘던 권한 시스템은 "이 도구를 써도 되는가?"를
웹 애플리케이션을 개발하다 보면 로컬에서 실행 중인 서버를 외부에서 접속할 수 있게 해야 할 때가 있습니다. 예를 들어, 작업 중인 결과물을 클라이언트나 동료에게 시연해야 하거나, 외부 서비스(예: GitHub, Stripe, Slack)의 웹훅(Webhook)을 테스트해야 하는 경우가 그렇죠. 매번 클라우드 서버에 배포하는 것은 번거롭고 시간도 오래 걸립니다. 공유기 설정을 건드려서 포트 포워딩을 하는 것도 보안상 위험할 수 있고요. 이럴 때 가장 간편하게 사용할 수 있는 도구가 바로 ngrok입니다. ngrok은 로컬 컴퓨터의
Rust의 소유권 시스템은 메모리 안전성을 보장해주지만, 여러 스레드에서 같은 데이터를 공유하려고 하면 컴파일러가 허용하지 않습니다. "한 번에 하나의 소유자만 존재할 수 있다"는 규칙 때문입니다. 소유권을 이동하면 다른 스레드에서 사용할 수 없고, 참조를 전달하려고 하면 라이프타임 문제로 컴파일 오류가 발생합니다. 실제로는 여러 스레드가 같은 설정 값을 읽거나, 공유 데이터를 참조해야 하는 상황이 많습니다. 예를 들어 웹 서버에서 모든 워커 스레드가 동일한 설정 파일을 읽어야 하거나, 여러 스레드가 같은 캐시 데이터를 조회해야 할