안녕하세요 Hani입니다. 이번에는 Explore UI animation hitches and the render loop를 공부할 거예욥. 😎 Hitch and Render Loop Hitch는 화면에 프레임이 기대했던 것보다 늦게 나온 정도를 의미해요. Render Loop은 이벤트가 앱에 전달되고, UI에 관한 변경이 처리되는 연속적인 과정을 의미합니다. 프레임의 시작점마다 디바이스는 VSYNC라는 이벤트를 방출하는데 VSYNC는 새 프레임이 준비되어야 하는 시점을 말합니다. (디바이스마다 주사율이 다르기 때문에 VSYNC가 방출되는 주기도 디바이스마다 다릅니다.) 프레임이 준비되는 과정은 총 세 단계로 나눌 수 있어요. 첫 번째 단계는 App에서 이벤트가 처리되어 UI 변경사항을 결정하는 단계입니..
안녕하세요 Hani입니다. 이번에는 Code Coverage 측정해볼 거예욥. ☺️ 프로젝트를 하나 생성해둔 모습입니당. 오른쪽에서 Target Membership을 볼 수 있는데 체크할 수 있는 목록은 프로젝트의 타겟이예요. 프로젝트의 타겟을 누르고 Build Phases의 Compile Sources로 들어가면 어떤 소스 파일을 컴파일할지 결정할 수 있습니다. Xcode - Product - Scheme - Edit Scheme - Test - Options로 가면 Code Coverage를 측정할 건지 체크할 수 있고 타겟을 지정할 수 있어요. 커버리지 볼 거니까 체크해 줄 겁니당. 일단은 유닛 테스트를 아무것도 작성하지 않고 UnitTestProjectTests를 실행시켜서 커버리지를 측정해볼 거..
안녕하세요 Hani입니다. 이번에는 프로젝트에 GitHub Actions 적용할 거예욥. 일단 필수적으로 테스트가 한개는 있어야 해요. 그래서 백퍼 통과하는 테스트를 하나 만들어 두겠습니다. Repository - Actions - Workflow - Configure를 눌러줍시당. 기본으로 주어지는 yml 파일 등장 😎 목표는 한 브랜치에서 develop 브랜치로 push를 할 때, 빌드랑 테스트를 실행하도록 만드는 거예요. name: developCleanTest on: push: branches: [ develop ] pull_request: branches: [ develop ] jobs: cleanTest: runs-on: macos-latest env: PROJECT: App/App.xcode..
안녕하세요 Hani입니다. 이번에는 Bundle에 관한 내용이예요. Package A package is any directory that the Finder presents to the user as if it were a single file. 패키지는 macOS의 Finder에서 디렉토리를 마치 하나의 파일인 것처럼 나타낸 것입니다. .app, .kext, .bundle, .framework, .plugin 등의 확장자가 패키지의 일종입니다. 단, 모든 번들이 패키지인 것은 아닙니다. Bundle A bundle is a directory with a standardized hierarchical structure that holds executable code and the resources us..
안녕하세요 Hani입니다. Mach-O가 빌드 프로세스나 Xcode 공부할 때 자꾸 튀어나와서 정리좀 해보려구해요. Mach-O Mach-O는 애플 OS에서 동작하는 컴파일된 프로그램에 대한 파일 포맷입니다. 오브젝트 파일(.o), 동적 라이브러리(.dylib), 정적 라이브러리(.a), 번들(.bundle) 커널 익스텐션(.kext) Core Dump, Framework, Command-line Tool 요런 애들은 다 파일 포맷이 Mach-O인 거예요. Mach-O는 크게 Header, Load Command, Segment Data 영역으로 나뉘어 있는데 하나씩 알아보러 갑시당. ✈️ Mach-O Header 애플 플랫폼에서 컴파일된 모든 것들은 다음과 같은 Mach-O 구조를 가지고 있어요. (H..
안녕하세요 Hani입니다. 흠 🥺 요즘 글이 잘 안 써져서 조금 맘이 아프네욥 내 블로그.. 1. Xcode Project(.xcodeproj) 2. pbxproj 3. Xcode Workspace(.xcworkspace) 4. Xcode Target 5. Build Settings 6. Xcode Scheme(.xcscheme) Xcode Project(.xcodeproj) Project는 하나 이상의 Product를 build하기 위해 필요한 모든 파일과 리소스 및 정보를 담고 있는 저장소예요. .m, .swift 등의 구현 파일과 .h 헤더 파일, 라이브러리와 프레임워크, 리소스 및 이미지 파일, nib 파일 등의 소스 파일에 대한 참조 정보를 가지고 있습니다. Project에서는 Build Set..
- Total
- Today
- Yesterday
- observeOn
- mach-o
- 최대 매칭
- 최단경로 알고리즘
- CompositionalLayout
- State Restoration
- 강한 순환 참조
- 컴퓨터 추상화
- IOS
- WWDC16
- 최단경로 문제
- 다익스트라 시간복잡도
- CPU와 Memory
- test coverage
- 부스트캠프 6기
- 코딩대회
- 포드 풀커슨 알고리즘
- rxswift
- MeTal
- WWDC21
- Testable
- 벨만포드 알고리즘
- 에드몬드 카프 알고리즘
- HIG
- WWDC19
- 벨만포드 시간복잡도
- 최단경로문제
- 네트워크 플로우
- 네트워크 유량
- WWDC17
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |