6월 개발 로그 - mediapipe_face_mesh, 외부 리소스 생명주기, 하네스 엔지니어링, Claude Design, AI 구독 비용
이 글은 Tistory에서 이전된 포스팅입니다. 원본은 여기에서 확인할 수 있습니다.
mediapipe_face_mesh
mediapipe_face_mesh의 월간 다운로드 수가 거의 2K 까지 올랐다.
로드맵에 계획했던 기능들을 반영하며 기능 추가, API 사용성 개선, 안정성 향상 등 업데이트를 해왔는데,
버전과 다운로드 지표가 하나씩 올라가는 모습을 보니 보람이 있다.
(오픈소스나 프로젝트 만드는 거 좋아하시는 분들은 깃헙 follow 주시면 맞팔하고 프로젝트 구경 가겠습니다?)
외부 리소스 생명주기 관리
Flutter에서 FFI, TFLite, WebSocket 등 외부 리소스를 다룰 때는 Flutter Widget의 생명주기와 분리해서 관리하는 것이 좋다.
- 리소스의 생성·사용·해제 책임을 Flutter Widget의 생명주기에서 분리하여 별도 클래스로 추상화한다.
- 전용 클래스는 리소스의 내부 구현을 숨기고 일관된 API를 제공하여 리소스 접근 경로를 단일화한다.
- 동일한 리소스는 재사용하고, 필요한 경우에만 교체하는 캐시 구조를 통해 불필요한 생성·해제를 줄인다.
- 비동기 작업은 generation token 등의 방식으로 유효성을 관리한다. 작업 완료 시 현재 상태를 검증하고, 더 최신 작업이 시작되었거나 dispose된 경우 결과를 적용하지 않는다.
핵심은 리소스 관리의 책임과 경계를 명확히 하는 것이다.
그러면 상태 불일치, stale result, 메모리 누수와 같은 문제가 발생하더라도 원인을 쉽게 추적하고, 문제 해결에 사이드 이펙트를 줄일 수 있다.
하네스 엔지니어링
맥락이 같은 여러 플러터 프로젝트에서 동일한 Harness를 사용하고 있다.
.agents
├── rules.md
├── docs/
│ ├── …
│ ├── layout.md
│ ├── database-migration.md
│ ├── environment.md
│ ├── localization.md
│ ├── routes.md
│ ├── text-style.md
│ └── …
└── skills/
├── …
├── adb-deeplink-ui-review/
│ ├── SKILL.md
│ └── scripts/
├── todo-task-runner/
│ ├── SKILL.md
│ └── scripts/
└── …
rules.md
docs나 skills을 읽는 trigger 포인트들이 있다.
NEVER run flutter or dart commands without first reading .agents/docs/environment.md.
Before changing routes or generated route files, read .agents/docs/routes.md.
Before capturing adb screenshots or reviewing UI via deep link, read .agents/skills/adb-deeplink-ui-review/SKILL.md.
~
그리고 ## always apply 섹션에 일반적인 지침을 몇 개 뒀다.
- Start with the narrowest likely files; broaden only if the first pass doesn’t find what’s needed.
- Keep command output small; prefer targeted patterns and paths over repository-wide searches.
~
역할별 에이전트(Architect, Builder, Reviewer 등) 컨셉은 현재 개발 환경에서 효과가 크지 않을 것 같아,
프로젝트 지식과 작업 규칙, Skills을 중심으로 구성했다.
개발 과정에서 필요한 문서를 참조하지 않거나 의도한 패턴을 재현하지 않으면,
해당 케이스를 피드백으로 문서 트리거와 작업 규칙을 보완하고 있다.
Claude Design
프로젝트 UI/UX 스크린샷을 기반으로 현재 디자인을 크게 벗어나지 않는 범위에서 개선 아이디어를 제안해 준다.
화면 전체를 한 번에 요청하기보다는 위젯이나 특정 영역을 지정하는 편이 더 구체적이고 완성도 높은 초안을 주는 듯하다.
아직 Design system을 활용해보진 않았는데 이 분 영상을 보면 결과물이 좋아 보인다.
https://www.youtube.com/watch?v=gNgHnkJc29M
지금 프로젝트 디자인 컨셉은 뉴모피즘을 기반으로 한다.
개선 방향으로 기존 뉴모피즘을 다듬고 글래스모피즘을 섞어보는 방향을 생각하고 있는데,
관련 UI Kit을 Design system으로 함께 활용해 보는 것도 좋겠다.
월간 AI 구독료
기본적으로 Claude 20달러 + Codex 20달러 조합에서
status 확인하면서 돌려 쓰면 5h limit을 분산해서 사용할 수 있다.
weekly limit은 평일에 개발하고 주말에 쉰다면 맞춰서 사용할 수 있다.
범위가 명확한 기능을 구현하거나, 특정 feature를 깊게 분석하는 작업에서는 토큰이 부족한 느낌은 거의 없다.
다만 새로운 기능을 전반적으로 설계하거나, UI/UX를 크게 추가하거나, feature의 범위가 명확하지 않은 작업에서는 토큰이 타이트하다. 여기에 기획~디자인 요소도 포함한다면 토큰이 부족한 편이다.
이런 경우에는 우선 Claude나 Codex 중 하나를 한 단계 높은 요금제로 올려 사용한다.
두 서비스 모두 요금제는 20달러 → 100달러 → 200달러 단계로 구성되어 있다.

