[ 니즈 ] 이렇게 된 구성에서 1. SharedUI 안에 커스텀 폰트를 넣고 프리뷰로 커스텀 폰트를 보고 싶음. 2. SharedUI 를 의존하는 Feature1 타겟의 프리뷰로 커스텀 폰트를 보고 싶음. 3. 앱의 UIKit 기반 코드에서도 SharedUI의 커스텀 폰트를 쓰고 싶음. [ 작업 ] ~~ 귀여운 마루부리 폰트와 함께하는 예제 ~~ # 1. 폰트파일을 넣을 폴더를 원하는 경로에 만들고 Pacakge > resources 추가하기 // swift-tools-version: 5.5 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescript..
[1] task modifier - task(priority:_:) // Adds an asynchronous task to perform before this view appears. - task(id:priority:_:) // Adds a task to perform before this view appears or when a specified value changes. [2] 필요성 task modifier 가 나오기 전에는 뷰가 disappear 될 때 진행 중인 task 를 cancel 해주기 위해 어딘가에 (아래 예제는 뷰인데 보통 뷰모델) task 를 들고 있고 onDisappear 에서 cancel을 해줘야했음. struct SampleView: View { var body: some ..
WWDC 2016 Understanding Swift Performance 를 보다가 명확히 몰랐던 세가지를 알게 되었다. 1️⃣ final 키워드를 붙이면 컴파일이 빨라진다고 알고 있는데 이유가 뭘까? 2️⃣ uuid 필드를 String 타입 vs UUID 타입으로 들고 있는 것 중에 뭐가 더 좋은걸까? 3️⃣ 프로토콜과 달리 제네릭을 쓸 때는 구체타입을 왜 못바꿀까? [1] final 키워드 --- WWDC 세션 중 Method Dispatch 부분에 나오는 내용 ---- ✓ static dispatch: 컴파일 타임에 어떤 구현이 실행될 건지 알 수 있음 ✓ dynamic dispatch: 런타임에 어떤 구현이 실행될 건지 알 수 있음 static dispatch 인 경우, 컴파일러는 여러 기법 (..
단위 테스트 4-7장 (Part 2. 개발자에게 도움이 되는 테스트 만들기) 내용 정리 4장 좋은 단위 테스트의 4대 요소 # 좋은 단위 테스트의 네 가지 특성 - 회귀 방지 - 리팩터링 내성 - 빠른 피드백 - 유지 보수성 1) 첫번째 요소: 회귀 방지 회귀 방지는 테스트가 얼마나 버그(회귀)의 존재를 잘 나타내는 지에 대한 척도다. 회귀 방지 지표에 대한 테스트 점수가 얼마나 잘 나오는 지 평가하려면 테스트 중에 실행되는 코드의 양 / 코드 복잡도 / 코드의 도메인 유의성 을 고려해라. 단순한 코드를 다루는 테스트는 회귀 오류가 많이 생기지 않는다. 기반 코드에 실수할 여지가 많지 않다면 테스트는 회귀를 나타내지 않을 것이기 때문 이다. 복잡한 비즈니스로직을 다루는 테스트가 더 좋다. 2) 두번째 요..
Processing URL Session Data Task Results with Combine 에 나오는 내용입니다. [ 목표 ] Combine으로 네트워크 쪽 코드를 작성하는 것은 크게 두가지 절차를 거칩니다. 1. Data Task Publisher 를 만든다. 2. 비동기 연산자 (asynchronous operator) 들을 체이닝하여 data를 받고 처리한다. 이를 알아봅니다. 또한 네트워크 쪽 코드작성할 때 필요한 에러 핸들링, 스케쥴링, share 도 알아봅니다! [1] Data Task Publisher 만들기 URLSession 은 Combine Publisher 인 URLSession.DataTaskPublisher 를 제공합니다. func dataTaskPublisher(for: U..
- Total
- Today
- Yesterday
- Dart Factory
- SerializerMethodField
- Flutter Text Gradient
- 장고 Custom Management Command
- drf custom error
- github actions
- 구글 Geocoding API
- flutter 앱 출시
- flutter dynamic link
- METAL
- Sketch 누끼
- Flutter getter setter
- 플러터 싱글톤
- DRF APIException
- Django FCM
- 플러터 얼럿
- ribs
- flutter build mode
- Flutter Spacer
- Django Heroku Scheduler
- Watch App for iOS App vs Watch App
- Flutter 로딩
- Django Firebase Cloud Messaging
- Python Type Hint
- PencilKit
- 장고 URL querystring
- flutter deep link
- ipad multitasking
- cocoapod
- Flutter Clipboard
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |