| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- swift documentation
- map
- uiscrollview
- rxswift
- uitableview
- 스위프트
- MVVM
- HIG
- Clean Code
- RxCocoa
- ios
- Xcode
- 클린 코드
- 리펙토링
- 애니메이션
- claude code
- SWIFT
- 클로드코드
- Human interface guide
- tableView
- clean architecture
- Refactoring
- combine
- Observable
- swiftUI
- collectionview
- 리팩토링
- AI
- UICollectionView
- UITextView
- Today
- Total
목록전체 글 (1731)
김종권의 iOS 앱 개발 알아가기
/remote-control 기능Anthropic 서버를 통해 웹/모바일 클라이언트와 로컬 CLI 세션 메시지 전달모든 통신은 TLS 암호화네트워크 중단 시 자동 재연결사용방법claude code 실행 > /config 입력enable remote 검색키보드 아래쪽을 누르고, default를 true로 설정이제 클로드코드를 열때마다 remote control이 활성화됨아래 사진처럼 "/rc active"라고 표출위 config를 true로 안한다면, cluade remote-control로 세션을 열거나, 이미 실행중인 세션에 적용하려면 /remote-control (줄여서 /rc) 사용연결 방법클로드코드 챗에 /rc를 입력하면 아래처럼 url과 qr로 접속할 수 있는 Show QR code 메뉴가 등장..
Claude code mod란?Claude Code의 화면과 동작을 바꾸는 플러그인. 도구 호출, 프롬프트 제출, UI 렌더링 같은 이벤트에 맞춰 JS/TS 핸들러가 실행패널, 상단 밴드, 버튼, 텍스트 입력 같은 UI 추가 가능mod와 유사한 개념 비교형태플러그인 내 JS/TS 함수셸/HTTP/프롬프트Markdown 지침외부 프로세스 도구UI 그리기가능불가불가불가언제 쓰나패널, 명령어, 이벤트 재작성기존 스크립트로 차단/로깅반복 지침외부 시스템 연결mod 활용해보기디폴트 클로드코드 화면mod 활용claude code에 아래와 같이 명령mod 관련 예제를 만들고 있는데, 간단히 내가 지금 클로드코드 쓸때 토큰 얼마나 쓰는지 실시간으로 보여주는 가시성 좋은 UI 하나 근처에 띄워줘청록색으로 "tokens..
* async & await에 관한 WWDC21 정리한 글 (영상링크: https://www.youtube.com/watch?v=r_clm92NI1s)sync, async 개념 이해하기sync: 함수 하나를 호출했을때 그 함수가 끝나기까지 스레드가 대기async: 함수가 끝나기까지 스레드가 대기 x (ex. 함수 안의 completion 인수)제어권 개념제어권: a함수에서 b함수를 호출했을때, 현재 스레드의 제어권은 a에서 b로 넘어간 것b가 return을 만나기전까지 스레드의 제어권은 b가 가지고 있음b가 return을 만나게 되면 a에게 스레드 제어권이 넘어감func a() { b()}func b() {}비동기 환경에서의 제어권동기 함수는 return 키워드를 만날때 제어권이 종료가 되는데, 비동기 ..
macOS 특정 버전 업데이트보통은 시스템 설정 > 일반 메뉴 > 소프트웨어 업데이트 메뉴 확인이 가능하지만 특정 버전으로 업뎃이 어려움특정 버전으로 업데이트 하려면 아래처럼 커맨드를 통해 가능만약 macOS 26.6으로 업데이트 하려면 터미널에 아래 명령어를 입력% softwareupdate --fetch-full-installer --full-installer-version 26.6명령어 의미softwareupdate: 소프트웨어 업데이트를 관리하는 macOS의 내장 명령어 도구--fetch-full-installer: Apple 서버로부터 운영체제 전체 설치 관리자 파일(InstallAssistant.pkg)을 다운로드하겠다는 옵션--full-installer-version 26.6: 다운로드할 설..
1. Skill이란?반복적으로 설명해야 하는 절차·규칙·컨텍스트를 한 번 문서화해서 재사용하는 것이 핵심. 매번 프롬프트에 장황하게 다시 설명할 필요 없음. ❌ Bad매 대화마다 사용자가 직접 반복 입력:"우리 커밋 메시지는 티켓 번호 접두사 붙이고, 제목은 72자 이내, 본문은 한글로, 브랜치명은 정해진 형식으로 써야 해..." ✅ GoodSKILL.md 파일 하나로 규칙 고정:---name: commit-writerdescription: 커밋 메시지 작성 시 사용. 티켓 번호 접두사 + 컨벤션 자동 적용---변경된 파일 확인브랜치명에서 티켓 번호 추출 [플랫폼] 형식으로 작성한 번 만들어두면 이후 대화에서는 "커밋해줘"만 입력해도 규칙이 자동 적용됨.2. 짧고 명확하게, 한 가지 목적만하나의 Ski..
지난 글 복습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 스키마 조회, 쿼리 ..