일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발자
- Python
- FLUTTER
- mac
- appstore
- 한글
- rxswift
- UIButton
- Archive
- Xcode
- MacOS
- github
- Notification
- Realm
- Session
- error
- darkmode
- 웹뷰
- Swift
- JPA
- SwiftUI
- Git
- Code
- iOS16
- stack
- Apple
- IOS
- String
- Firebase
- view
- Today
- Total
목록IOS (164)
EEYatHo 앱 깎는 이야기
WWDC 매년 6월 경 애플에서 개최 https://developer.apple.com/wwdc22/ https://namu.wiki/w/WWDC 레츠 스위프트 Let's Swift https://letswift.kr/2022/ 2022.11.30 참가신청 11.16 ( 트위터 11.11 에 글 올라왔었음 ) https://twitter.com/letswiftkr 그전에는 온라인으로 진행했었음 https://festa.io/hosts/70 네이버 DEVIEW 2019.10.28 ~ 29 ( 참가신청 10.10 ~ 11 ) 2020.11.25 ~ 27 ( 참가신청 11.10 ) 2021.??.?? ( 참가신청 11.10 ) 2023.02.27 ~ 28 https://d2.naver.com/home 여기에..
Concurrency CPU 칩은 발달을 거듭해 열과 같은 물리적 법칙 한계로 코어당 성능을 더이상 끌어올리기 힘들어졌고, 칩이 가지고 있는 코어를 늘리는 방향으로 발전하고 있다. 코어의 갯수는 계속해서 늘어날 것으로 예상된다. 이에 소프트웨어 개발자는 멀티코어(동시성) 프로그래밍을 어떻게 잘 할 수 있을지 고민해야한다. 애플 문서 링크 iPhone 14 CPU 코어 6개 Thread 개발자가 여분의 코어를 제어하는 전통적인 방법은 Thread(쓰레드)를 사용하는 것이다. 쓰레드를 생성하고 해제하면서 여분의 코어를 이용해 병렬적으로 Task를 처리한다. 스케쥴링은 CPU가 알아서 해준다. let thread = Thread { print("My Awesome Thread") } thread.start()..
성능 비교의 3가지 관점 Allocation: 인스턴스를 생성하면 Stack과 Heap 중 어느 곳에 할당 되는 지 Reference Counting: 인스턴스를 통해 레퍼런스 카운트가 몇개가 발생하는지 Method Dispatch: 인스턴스에서 메소드를 호출했을 때, 메소드 디스패치가 정적인지 동적인지 Allocation Stack 은 LIFO 구조 및 Pointer 를 이용해서 할당, 해제하기에 간단한 만큼, O(1)의 빠른 속도를 가짐 Heap 은 사용하지 않은 블럭을 찾아서 할당하고, 해제한 블럭을 적절한 곳에 재삽입해야하고, thread-safe 를 위해 locking 또는 기타 동기화 기법을 사용해 무결성을 보호해야하기에, Stack 보다 느린 속도를 가짐 Stack 은 Value-Sement..
노션 링크 코드 컨벤션 📌 코드 포맷팅 iris-numeric-9d0.notion.site 📌 코드 포맷팅 띄어쓰기, 쉼표, 콜론, 줄바꿈 등. 기능 및 성능과는 직접적인 연관이 없는, 코드들의 모양 (겉부분) 을 다룹니다. 통일된 코드 포멧은, 우리 뇌의 청킹을 도와, 타인의 코드를 더 쉽게 볼 수 있게 도와줍니다. 1. import import 순서 내장 프레임워크를 먼저 import 한 후, 한줄 띄우고 third-party 들을 import 합니다. 이후 알파벳 순으로 정렬합니다. ✅ Preferred import Foundation import UIKit import AdSupport import AppTrackingTransparency import RxCocoa import RxSwift i..
ReactorKit 에서 테스트 대상 3가지로 나눠서 확인할 수 있다 View -> Reactor 유저의 인터렉션이 일어났을 때, Reactor 에게 기대되는 Action 을 넘기는지 Reactor -> View Reactor 에서 도달한 State 값에 따라 View 의 property 들이 기대한대로 설정되는지 Reactor Processing ( Action - mutation -> State ) 특정 State에서 특정 Action이 들어왔을 때 State 가 기대한대로 변경되는지 Stub ReactorKit 은 용이한 Test 를 위해, Reactor 에 Stub 이라는 기능을 제공한다. 아래처럼 Reactor 에서 Stub 기능을 사용할 것인지 설정할 수 있다. let reactor = MyR..
ReactorKit 공식 Git 링크 View 와 Reactor 을 가지고 화면을 만든다. View = UIView, UIViewController, UITableViewCell 등 Reactor = ViewModel. 비지니스 로직. ReactorKit 은 Flux 와 Reactive Programming 의 조합 부분적으로 도입이 가능하고, 라이브러리인 만큼, 공식 설명이 잘 되어있다. ReactorKit 의 디자인 목표 Testability : 뷰(View)와 비지니스 로직(Reactor)을 분리. Reactor는 View 에 대한 종속성이 없음. Small Start : RIBs 처럼 앱 전체가 하나의 아키텍쳐를 따를 필요 없음. 특정 화면에만 ReactorKit을 사용할 수 있음 Less Typ..
UnitTest 파일을 만들면 상속받고 있는 XCTestCase 가 있다. 테스트에 관심이 생겨, 공식 문서 정리 XCTestCase 애플 문서 XCTestCase 란 ? ( Overview ) 테스트를 시작하기 전이나, 테스트가 끝난 후의 행동을 setup 할 수 있는 Test Method 들의 그룹입니다. 테스트 케이스와 함수 정의하기 XCTActivity 를 따르기 때문에, 복잡한 테스트들을 조직화하고 단순화할 수 있으며, 분석을 위한 output 출력이 가능합니다. For more information, see Activities and Attachments. expectations 를 사용하여 비동기 테스트를 만들 수 있습니다. 앱에서 Concurrency 를 사용하고 있다면 맘껏 사용하세요, ..
시뮬레이터 방향 바꾸기 : Command + 좌/우 방향키 시뮬레이터 화면 캡쳐 : Command + S 시뮬레이터 화면 영상 녹화 시작 : Command + R ( 녹화 종료는 우측 상단의 정지 버튼 ) 시뮬레이터 크기(해상도) 바꾸기 : Command + 1/2/3 줌인/줌아웃 제스처 : Option + Drag 텍스트 입력시, 키보드 보이기/숨기기 : Command + Shift + K 홈키 : Command + Shift + H 잠그기 : Command + L