| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- Observable
- Clean Code
- Human interface guide
- claude code
- combine
- Xcode
- Refactoring
- 애니메이션
- clean architecture
- collectionview
- swift documentation
- rxswift
- UICollectionView
- SWIFT
- Protocol
- ios
- RxCocoa
- 리펙토링
- 리팩토링
- 클로드코드
- tableView
- HIG
- swiftUI
- map
- 스위프트
- MVVM
- uitableview
- 클린 코드
- UITextView
- uiscrollview
- Today
- Total
목록SWIFT (995)
김종권의 iOS 앱 개발 알아가기
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: 다운로드할 설..
지난 글 복습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)])데이터 레이스란? 두 개 이상의 스레드가 동시에 동일한 메모리 공간에 접근할 때 발생하며, 다음 조건이 모두 충족되는 상태를 의미 동시성: 둘 이상의 스레드가 동시에 메모리에 접근동일 메모리: 최소 하나의 작업이 해..
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 네이티..
1. [AI] Claude Code 병렬 처리로 효율 극대화하기 - git worktree 기본 개념2. [AI] Claude Code 병렬 처리로 효율 극대화하기 (claude --worktree)3. [AI] Claude Code 병렬 처리로 효율 극대화하기 - tmux 활용하기4. [AI] Claude Code 병렬 처리로 효율 극대화하기 - git worktree 기본 개념5. Claude Code 병렬 처리로 효율 극대화하기 - cmux, worktree, omc 병렬 처리하기 (.omc/handoffs, .omc/shared_memory.json)worktree가 왜 중요한가Claude Code나 GitHub Copilot CLI 같은 터미널 기반 AI 도구를 쓸 때 아쉬운 점이 있음.AI에게..
Green, Yellow, Orange 플로우흐름 (Flow)진입 경로리스크 수준인증 절차최종 상태Green-Flow발급사 인앱 (In-App)Low앱 로그인으로 대체즉시 활성화Yellow-FlowApple 월렛 직접 입력Medium발급사 앱 인증 / SMS / ARS인증 후 활성화Orange-Flow의심 기기 / 분실 카드High없음 (거절 또는 강제 차단)등록 실패 애플페이 (Issuer App 입장)의 기능발급사(Issuer) 앱 관점에서 애플페이 대응을 할 때 핵심이 되는 개념은 크게 In-App Provisioning과 Verification 두 가지로 나뉨.1) In-App Provisioning (인앱 프로비저닝)개념: 사용자가 우리 앱 내부에서 "애플 월렛에 추가" 버튼을 눌렀을 때, 안전..
애플페이 관련 목차전체 목차 링크대응해야하는 영역내앱에서 애플페이 결제는 지원하지 않고, 내앱에 있는 카드 정보를 애플월렛에 등록하여 애플월렛에서 결제하게끔 도와주는 방법을 대상으로 설명 예정 (Issuer App 관점)1. 진입점이 애플월렛: 애플월렛 -> 내앱(Issuer App) -> 애플월렛사용자가 애플월렛 앱에서 직접 카드를 추가(실물 카드 카메라 스캔 또는 번호 직접 입력)하는 도중, "이 사람이 진짜 카드 주인이 맞는지 발급사 앱에서 인증해라"라고 요청받아 넘어오는 플로우 핵심 메커니즘: 유니버설 링크를 통한 신원 확인 (Step-up Authentication)흐름:애플월렛이 발급사의 유니버설 링크를 호출하여 발급사 앱을 강제로 깨움.발급사 앱이 켜지면서 URL에 담긴 토큰 정보를 파싱하고..