SwiftData 모델명 Tag가 빌드를 깨뜨리는 이유 (+ Xcode 16 .gitkeep 함정)

뭘 하려고 했냐면 문서 스캔 앱을 새로 시작했는데요. SwiftData로 Document와 Tag 모델을 만들고, 테스트를 먼저 작성하는 TDD로 진행하고 있었어요. 모델 코드는 심플했거든요: @Model class Tag { var name: String var color: String @Relationship(inverse: \Document.tags) var documents: [Document] } 여기까지는 문제없었어요. 빌드도 잘 되고. 첫 번째 삽질: Tag가 내 Tag가 아닌데요 테스트에서 FetchDescriptor를 쓰는 순간 터졌어요: let fetched = try context.fetch(FetchDescriptor<Tag>()) error: 'Tag' is ambiguous for type lookup in this context 처음엔 뭔 소린가 했는데요. SwiftUI에 이미 Tag라는 타입이 있더라고요. TabView나 Picker에서 선택 항목을 식별할 때 쓰는 그 Tag요. ...

2026년 4월 26일 · 3 분 · Young

1인 개발자 뉴스 #13 - 2026년 1월 4주차 생산성 도구 특집

이번 주 1인 개발자를 위한 생산성 도구 뉴스 5선 - 개발 워크플로우를 더 효율적으로

2026년 1월 24일 · 4 분 · Young

Git Hooks Manager - devops 스타트업 아이디어

문제점 (고통지수: 6/10) Git hooks(pre-commit, pre-push 등)는 강력하지만, 프로젝트마다 설정이 분산되어 관리가 어렵습니다. 실제 사례: 새 프로젝트마다 hooks 처음부터 설정 팀원마다 다른 hooks 설정으로 불일치 발생 유용한 hooks를 다른 프로젝트에 재사용하기 어려움 hooks 업데이트 시 모든 프로젝트에 수동 적용 필요 빈도: 새 프로젝트 시작 시마다 + 팀원 온보딩 시 pre-commit 같은 도구가 있지만, hooks 자체를 버전 관리하고 여러 프로젝트에서 공유하는 것은 여전히 수동 작업입니다. 타겟 시장 주요 타겟: 여러 프로젝트를 관리하는 개발팀 오픈소스 메인테이너 프리랜서 개발자 (여러 클라이언트 프로젝트) DevOps/플랫폼 엔지니어 시장 규모: ...

2026년 1월 23일 · 3 분 · Young