| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- Human interface guide
- 리펙토링
- tableView
- collectionview
- rxswift
- 클로드코드
- MVVM
- combine
- UITextView
- SWIFT
- 클린 코드
- swift documentation
- swiftUI
- RxCocoa
- ios
- HIG
- 스위프트
- claude code
- Xcode
- Clean Code
- UICollectionView
- Protocol
- map
- Refactoring
- 애니메이션
- uitableview
- uiscrollview
- clean architecture
- Observable
- 리팩토링
- Today
- Total
목록전체 글 (1726)
김종권의 iOS 앱 개발 알아가기
지난 글 복습class Counter { var n = 0 func bump() { n += 1 }}let c = Counter()Task { c.bump() }Task { c.bump() }n += 1은 읽기 → 더하기 → 쓰기 3단계 → 두 스레드가 겹치면 한쪽 작업이 사라짐 (데이터 레이스)문제는 재현이 안 됨: 99번 잘 돌다가 사용자 기기에서만 터짐. Swift 5는 이걸 막아주지 않았음Swift 6는 이런 코드를 컴파일 에러로 만들어버림핵심 아이디어 = 격리 구역(isolation domain)코드는 항상 어느 구역엔가 속함: actor 인스턴스마다 구역 하나, @MainActor 구역, 또는 아무 데도 안 속한 nonisolated같은 구역 안 = 안전 (동시 접근 없음)구역 경계..
swift6 세팅swift6는 xcode16부터 지원Xcode > targets > Build Settings > swift compiler - Language에서 swift6 선택swfit6는 옵트인 모드패키지/모듈 단위로 swift6를 적용할 수 있음아래처럼 swiftLanguageMode(.v6)으로 적용 가능모듈별 점진적 마이그레이션이 설계 의도// Package.swift.target(name: "MyLib", swiftSettings: [.swiftLanguageMode(.v6)])데이터 레이스란? 두 개 이상의 스레드가 동시에 동일한 메모리 공간에 접근할 때 발생하며, 다음 조건이 모두 충족되는 상태를 의미 동시성: 둘 이상의 스레드가 동시에 메모리에 접근동일 메모리: 최소 하나의 작업이 해..
MCP란?MCP(Model Context Protocol) = AI가 외부 기능을 "도구(tool)"로 호출하는 표준 규격클로드코드에서 "현재 날씨를 조회하는 기능"은 없지만, 내가 날씨를 조회하는 API가 있는 MCP를 만들어서 클로드코드에서 사용하면 날씨를 조회할수있음MCP는 클로드코드에서만 쓰는 용어MCP 예시브라우저/웹Playwright / Chrome DevTools MCP — 실제 브라우저 띄워서 UI 동작 확인, 스크린샷, 콘솔 로그 확인Brave Search / 웹서치 계열 — 최신 정보 검색협업 툴Slack — 채널 메시지 읽기/보내기Notion — 문서 조회·수정Linear / Jira — 티켓 생성·조회, 스프린트 관리데이터Postgres / SQLite — DB 스키마 조회, 쿼리 ..
초기 에이전트 시스템에서 필수적이었던 하네스가 왜 최근 프로덕션 환경에서 기술 부채와 비효율의 원인이 되고 있는지 핵심 문제점과 최신 아키텍처 방향 정리하네스 엔지니어링(Harness Engineering)이란?하네스(Harness)는 마차의 말을 통제하는 '말굴레'에서 유래한 용어로, AI 에이전트 시스템에서는 LLM의 출력을 제어하고 정해진 궤도 내에서 안전하게 작동하도록 감싸는 외부 통제 프레임워크/래퍼(Wrapper)를 의미초기 에이전트 시스템에서 하네스가 담당했던 역할하네스(Harness)는 마차의 말을 통제하는 '말굴레'에서 유래한 용어로, AI 에이전트 시스템에서는 LLM의 출력을 제어하고 정해진 궤도 내에서 안전하게 작동하도록 감싸는 외부 통제 프레임워크/래퍼(Wrapper)를 의미초기 에..
NFX의 "How the Fastest AI-First Companies Actually Work" 아티클을 정리한 글.1. 패러다임의 변화: 0→1에서 1→2로의 병목 이동0→1 (초안 제작): AI 덕분에 프로토타입/코드 초안을 만드는 시간은 0에 수렴함.1→2 (검증 및 반복): 진짜 병목은 "실제 유저에게 출시해서 데이터 학습 후 V2로 얼마나 빨리 개선하는가"임.핵심: AI에게 "이 아이디어 어때?"라고 묻는 함정에서 벗어나 실제 사용자 릴리즈 및 학습 속도(V1 ➔ V2 Loop)를 최우선 지표로 삼아야 함.2. 조직 구조 및 일하는 방식의 변화미션 팟 (Mission Pod) 중심:기능별 부서(개발/디자인/마케팅) 구분을 없애고, 특정 비즈니스 결과(예: 회원가입률 20% 증가)를 끝까지 책..
해당 글은 redis 창시자의 글을 정리한 글코드가 아닌 아이디어에 집중하기하루 수천 줄의 AI 코드를 직접 검토하는 것은 비효율적AI는 작은 함수 단위 같은 것은 잘하지만, 거시적 설계는 못함프로그래머는 코드 라인이 아닌 아키텍쳐, 디자인 모델(아이디어)를 통제하는데 집중해야함코드 리뷰 대신 '설계와 검증'생성 속도 불균형: 하루 5,000줄씩 쏟아지는 코드를 사람이 일일이 읽는 건 불가능함. 그 시간에 QA나 최적화 아이디어를 고민하는 게 이득.LLM의 한계: LLM은 함수 단위 작성엔 강하지만 거시적 설계(Architecture)엔 약함. 코드 훑을 시간에 원하는 설계를 지시하고 동작 원리를 질의·평가하는 게 훨씬 빠름.실전 검증: DwarfStar 프로젝트 경험상, GPU 커널을 직접 읽고 쓰기보..
1. [AI] Claude Code 병렬 처리로 효율 극대화하기 - git worktree 기본 개념2. [AI] Claude Code 병렬 처리로 효율 극대화하기 (claude --worktree)3. [AI] Claude Code 병렬 처리로 효율 극대화하기 - tmux 활용하기4. [AI] Claude Code 병렬 처리로 효율 극대화하기 - cmux 활용하기5. Claude Code 병렬 처리로 효율 극대화하기 - cmux, worktree, omc 병렬 처리하기 (.omc/handoffs, .omc/shared_memory.json) Ghostty 기반의 AI 전용 터미널 cmux, Claude Code의 --worktree 기능, 그리고 oh-my-claudecode(omc) 플러그인의 데이터..
1. [AI] Claude Code 병렬 처리로 효율 극대화하기 - git worktree 기본 개념2. [AI] Claude Code 병렬 처리로 효율 극대화하기 (claude --worktree)3. [AI] Claude Code 병렬 처리로 효율 극대화하기 - tmux 활용하기4. [AI] Claude Code 병렬 처리로 효율 극대화하기 - cmux 활용하기5. [AI] Claude Code 병렬 처리로 효율 극대화하기 - cmux, worktree, omc 병렬 처리하기 (.omc/handoffs, .omc/shared_memory.json)1. 왜 cmux인가?cmux는 단순한 터미널이 아니라 AI 에이전트(Claude Code, Aider 등)의 오케스트레이션을 위해 개발된 macOS 네이티..