요즘 개발자 대부분이 그렇듯, 나도 Claude Code 같은 에이전트형 도구를 일상적으로 쓰고 있다. 그런데 쓸수록 한 가지 질문이 자꾸 떠올랐다.결국 개발 업무에서 가장 시간을 잡아먹는 건 '코드를 치는 순간'이 아니잖아? 기획서를 읽고, 위키에 개발 문서를 정리하고, 티켓을 쪼개고, 구현하고, PR을 올리고, 리뷰 받고, 다시 문서를 맞추는 이 전체 흐름 안에서 정작 '순수하게 코드를 치는 시간'은 작은 조각일 뿐이다. AI가 코드만 잘 써줘도 개발자는 여전히 앞뒤 맥락을 이어 붙이느라 바쁘다. 그래서 이번 글에서는 실제 실무에서 업무를 진행하며 Claude Code의 MCP(Model Context Protocol) 와 Skill 두 가지를 활용해, 기획서에서 시작해 PR 이후 재리뷰까지 이어지는..
전체 글
대 클로드 코드 시대를 맞아, 관심있던 주제의 사이드 프로젝트를 혼자 개발해보기로 했다. 기획, 디자인, FE, BE, 인프라.. 리얼 End-to-End로!클코와 함께 한 달 정도 작업했다. 결론부터 말하면 — 어렵지 않았다.잘 아는 쪽에서는 AI가 손발이 됐고, 모르는 쪽에서는 AI가 가이드가 됐다. 두 경우 모두 내가 한 건 디렉팅이었다. 바이브 코딩이라고들 하지만, 실제로 해보니 "바이브"으로만 되는 건 아니었다. 체계가 있어야 했다.한달동안 클로드와 지지고 볶으며 작업했던 방식 및 꾸르팁들을 소개하려 한다.1. 화면 먼저, 서버는 나중에나는 보통 개발할 때에 API를 만들고, 클라이언트를 붙인다. 백엔드 개발자로서 어쩌면 당연한지도 모르겠다.하지만 클로드 코드와 일하면서는 화면부터 만들었다. F..
"완벽한 앱을 만들려다 2년을 질질 끈 프로젝트, 최소 기능의 웹으로 이틀만에 런칭하다." 🤦 2년간의 삽질, 그리고 테스트앱까지 올렸지만...2년 전, AI 기반 스미싱 탐지 서비스 웨잇을 기획했다.OpenAI Embedding API를 활용해 문자 메시지를 벡터화하고, Elasticsearch로 기존 스미싱 패턴과의 유사도를 측정하는 서비스였다. 아이디어는 좋았다. 문제는 실행이었다. 처음엔 앱 개발하는 친구화 함께 모바일 앱으로 시작했다. 사용자가 의심스러운 문자를 받으면 앱에서 바로 분석할 수 있도록 하는 게 목표였다.백엔드는 Kotlin + Spring Boot로 탄탄하게 구축했고, AI 분석 서버도 Python Flask로 완성했다.심지어 Google Play 스토어에 테스트 앱까지 올렸다..
스프링 IoC와 DI 스프링에서 ‘bean’은 단순한 객체가 아닌, 스프링이 직접 생성하고, 의존관계를 설정하며, 필요한 시점에 주입까지 담당하는 오브젝트.애플리케이션을 구성하는 최소 단위이며, 스프링이 제어권을 갖고 관리한다는 점에서 일반 객체와 구분됨. IoC(Inversion of Control)는 이런 제어권을 개발자가 아닌 프레임워크가 갖는 구조.오브젝트 간의 관계를 설정하고 주입하는 책임을 외부 컨테이너에 넘김으로써, 애플리케이션의 유연성과 테스트 용이성이 크게 향상됨.빈 팩토리: IoC의 핵심 기능을 담당하는 컨테이너스프링이 제공하는 가장 기본적인 IoC 컨테이너. 오브젝트의 생성과 의존관계 설정을 담당하며, `getBean()` 메서드를 통해 등록된 빈을 꺼내 쓸 수 있도록 함.내부적으로는..
개발을 하다 보면 여러 Redis 명령어를 하나의 흐름으로 묶어 실행해야 하는 경우가 있다.나의 경우, Rate Limit 기능을 Redis로 구현하면서 이런 상황을 마주했다.1. 현재 window 만큼 sorted set 자르기2. sorted set의 크기 가져오기3. 해당 크기가 limit보다 작다면, 현재의 timestamp를 sorted set에 추가하기이 모든 과정은 반드시 원자적(atomic) 으로 보장돼야 한다.만약 2번 → 3번 실행 사이에 다른 요청이 들어오면, 잘못된 limit 체크 결과가 나올 수 있기 때문이다.이를 해결하기 위해, Redis에서는 여러 명령어를 하나의 단위로 실행할 수 있는 방법을 제공한다. 그중 하나가 Lua Script이다.Lua Script란?Redis 공식 ..
암호화의 두 축: 대칭키 vs 비대칭키암호화 시스템은 크게 두 가지 방식으로 나뉜다.대칭키 암호화: 하나의 비밀키로 암호화와 복호화를 모두 수행. 대표적으로 AES. 빠르고 계산량이 적어 대용량 데이터 암호화에 적합.비대칭키 암호화: 공개키와 비공개키라는 두 개의 키를 사용. 대표적으로 RSA가 있으며, 한 키로 암호화한 데이터는 반드시 다른 키로만 복호화 가능. 키 교환, 인증, 서명 등에 사용⚡ 성능 측면에서의 차이항목 대칭키 (AES) 비대칭키 (RSA)속도매우 빠름상대적으로 느림연산량적음많음 (큰 수 연산)자원 사용낮음높음사용 용도메시지/파일 암호화키 전달/서명/인증이러한 성능 차이로 인해 실제 보안 시스템에서는 “하이브리드 암호화”라는 방식이 등장 하이브리드 암호화란?빠르고 효율적인 AES로 메..
