분류 전체보기
-
[AI] iOS API 디버깅하기: AI와 만든 핑퐁 테스트 워크플로우Dev 2026. 7. 23. 19:11
새 화면의 API 연동을 끝내면 늘 비슷한 질문이 남습니다.지도에 진입했을 때 viewport API는 정확히 한 번만 호출될까?필터를 탭하면 서버가 기대하는 쿼리 파라미터가 붙을까?바텀시트를 크게 펼쳤을 때 detail API가 그 시점에만 호출될까?단위 테스트는 요청 메서드가 호출됐는지 알려주지만, 실제 앱에서 실제 제스처로 서버에 무엇을 몇 번 보냈고 어떤 응답을 받았는지는 충분히 보여주지 못할 때가 있습니다.DDD 13기 사이드 프로젝트 Pickflow에서 지도와 스팟 리스트 API를 검증하며 이 간극을 메우는 워크플로우를 만들었습니다. 프록시 도구 대신 앱의 네트워크 로그를 stdout으로 흘리고, 사람이 시뮬레이터를 한 단계씩 조작하면 AI 코딩 에이전트가 로그를 읽어 명세와 비교하는 방식입니..
-
[AI] UI를 개발할 때 화면 하나를 TDD 3단계로 강제한 방법Dev 2026. 7. 23. 18:02
AI에게 “TDD로 화면을 만들어 줘”라고 요청하면 정말 TDD로 끝까지 구현할까요?제 경험에서는 그렇지 않았습니다. 처음에는 테스트부터 시작하더라도 어느 순간 SwiftUI 뷰를 먼저 만들거나, 깨진 스냅샷을 원인 분석 없이 새 이미지로 덮어쓰는 일이 반복됐습니다. 지시를 더 길고 자세하게 적을수록 좋아질 것 같았지만, 600줄에 가까운 프롬프트 안에서는 오히려 중요한 규칙이 중간에서 흐려졌습니다.DDD 동아리에서 Pickflow라는 iOS 앱을 개발하며 이 문제를 해결하기 위해 선택한 방법은 “더 강한 프롬프트”가 아니었습니다. 화면 하나를 만들 때 반드시 통과해야 하는 산출물과 게이트를 정하고, 이를 Claude Code 스킬로 시스템화했습니다.이 글에서는 SwiftUI + MVVM + Tuist ..
-
[AI] git worktree와 cmux 활용한 AI 병렬 개발 워크플로우Dev 2026. 7. 23. 17:58
AI 코딩 에이전트를 하나만 사용할 때는 터미널 창 하나면 충분하다. 하지만 기능 구현, 리뷰 반영, 빌드 확인을 동시에 맡기기 시작하면 문제가 달라진다.에이전트를 여러 개 실행하는 것 자체는 어렵지 않다. 진짜 어려운 일은 각 에이전트가 서로의 코드를 밟지 않도록 작업 공간을 나누고, 어느 세션이 내 판단을 기다리는지 놓치지 않는 것이다.DDD 13기 사이드 프로젝트 Pickflow에서 iOS 개발을 진행하며 이 문제를 자주 겪었다. Xcode와 Tuist를 사용하는 프로젝트라 브랜치 전환 비용도 컸다. 결국 브랜치를 계속 바꾸는 방식을 버리고, 티켓마다 git worktree를 만들었다.여기에 여러 터미널과 AI 에이전트 세션을 정리하는 cmux를 결합하면 역할이 명확해진다.· git worktree..
-
youtube 요약 n8n 워크플로우 구축기Dev 2026. 5. 21. 13:06
Oracle Cloud Always Free + Docker로 n8n 자동화 구축기 — YouTube 신규 영상 자막을 Notion에 자동 정리하기0원으로 24시간 돌아가는 자동화 서버를 만들고 싶었다. 결론부터 말하면 됐다. 그런데 만드는 과정에서 Oracle IP가 YouTube에 차단된다는 사실을 알게 됐고, 라이브러리도 두 개나 갈아치웠고, n8n에서는 4연속으로 에러를 만났다. 이 글은 그 구축기다.목표내가 만들고 싶었던 건 단순했다.특정 유튜브 채널에 새 영상이 올라오면 자동 감지해당 영상의 자막(스크립트) 추출AI로 요약원본 자막 + 요약을 한 행으로 Notion 데이터베이스에 적재한 줄짜리 목표였는데, 막상 부딪혀보니 YouTube 생태계의 봇 차단·API 정책·서비스 outage를 한 바..
-
-
터미널 Claude Code 계정 두 개 분리해서 쓰기카테고리 없음 2026. 5. 9. 00:35
맥 한 대에서 Claude Code를 쓰다 보면 이런 상황을 만날 수 있다.터미널 A에서 Claude Code에 로그인했는데, 터미널 B에서도 자동으로 같은 계정으로 로그인되어 있는 상황이다.처음에는 “터미널을 두 개 띄웠는데 왜 계정이 공유되지?”라고 생각할 수 있지만, 핵심은 터미널이 아니다. Claude Code가 바라보는 설정 저장소가 같기 때문이다.Claude Code는 기본적으로 설정, 세션, 인증 토큰 등을 ~/.claude/ 아래에 저장한다. 그래서 어느 터미널에서 실행하든 같은 디렉토리를 바라보면 같은 계정 상태를 공유하게 된다.즉 문제의 본질은 이것이다.터미널 A -> ~/.claude/터미널 B -> ~/.claude/둘 다 같은 저장소를 보고 있으니 같은 계정으로 동작하는 것이 자연..
-
-