WWDC 2022 > Embrace Swift Generics 에 나오는 내용입니다. Feed (사료, 먹이) 를 associatedtype으로 가지는 Animal 프로토콜을 예제로 사용합니다. [1] AS IS Farm에 feed라는 메소드를 만들고 싶을 때, 아래 두가지 중 하나의 방법으로 코드를 작성해줬어야했습니다. 메소드가 좀 복잡해보입니다. [2] TO BE 하지만!! 이제 opaque type인 some을 사용하여, 아래와 같이 간단한 메소드를 만들 수 있습니다. Swift 5.7부터는 some을 parameter type에도 쓸 수 있기 때문입니다 👏 (이전에는 프로퍼티 타입, 리턴 타입에만 쓸 수 있었음) [3] some 과 any (1) 하지만,, some은 제약이 있는데,, 아래와 같이..
[1] RELEASE 플래그 보통 앱을 만들면 DEBUG 컴파일러 플래그는 기본으로 추가되어있고 RELEASE 플래그를 직접 추가합니다. 그리고 앱에서 종종 플래그를 사용해서 분기처리를 합니다. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() #if RELEASE print("릴리즈") #else print("릴리즈 아님") #endif #if DEBUG ... } } 그럼 Local Swift Package 를 앱에 embed 해서 쓰는 경우, Swift Package 안에서도 앱 빌드세팅의 컴파일러 플래그를 그대로 사용할 수 있을까요? 테스트해보면 #if DEBUG 는 타고 #if REL..
회사에서 TDD 관련 외부세션을 듣다가 '서비스가 안티패턴' 이라는 말을 들었다. 왜 안티패턴일까..? 머리에 궁금증이 남아있었는데 클린아키텍처 27장('크고 작은 모든' 서비스들) 을 읽으며 이유를 알게 되었다. 그래서 정리! (참고로 책을 쭉 이끌어온 저자의 맥락을 이 요약글에 다 담을 수 없으니.. 책을 읽어보시는 것을 추천드립니다.) [1] 서비스 아키텍처? 서비스의 이점? 서비스 지향 '아키텍처' 와 마이크로서비스 '아키텍처' 는 최근에 큰 인기를 끌었다. 그 이유는 다음과 같다. - 서비스를 사용하면 상호 결합이 철저하게 분리되는 것처럼 보인다. // 결합 분리 - 서비스를 사용하면 개발과 배포 독립성을 지원하는 것 처럼 보인다. // 개발 및 배포 독립 둘다 일부만 맞는 말이다. 뒤에서 살펴..
- Total
- Today
- Yesterday
- Flutter Text Gradient
- flutter build mode
- flutter dynamic link
- flutter deep link
- Sketch 누끼
- Flutter Clipboard
- 구글 Geocoding API
- Flutter 로딩
- 장고 Custom Management Command
- ribs
- Django Heroku Scheduler
- Django FCM
- ipad multitasking
- drf custom error
- METAL
- Watch App for iOS App vs Watch App
- Python Type Hint
- Flutter Spacer
- github actions
- flutter 앱 출시
- 플러터 싱글톤
- PencilKit
- cocoapod
- Django Firebase Cloud Messaging
- 플러터 얼럿
- 장고 URL querystring
- Dart Factory
- SerializerMethodField
- DRF APIException
- Flutter getter setter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |