저는 얼마전에 Unit Test를 돌리면 objc[60376]: Class _TtC4RIBs6Worker is implemented in both ~/Library/Developer/CoreSimulator/Devices/3A6725C3-27B5-4AD4-AE45-74695DC574BD/data/Containers/Bundle/Application/EEED6AE8-0469-42AD-84F2-B470FFB6CFCE/SimpleMemo.app/Frameworks/RIBs.framework/RIBs (0x104851920) and ~/Library/Developer/Xcode/DerivedData/SimpleMemo-gpgaamoyiqvqbnaehzbepweorlts/Build/Products/Debug-ip..
수열님은 의존성 그래프, 우버(RIBs)에서는 의존성 트리 라는 용어를 주로 쓰시던데 같은 용어인 것 같습니다. 의존성 트리란 이렇게 의존 관계이지만 흩어져있는 앱 내의 상태들 혹은 클래스들을 이렇게 예쁜 트리형태로 만들어주는 것을 의미합니다. 이렇게 모든 클래스가 의존성 트리에 속하게 되면 Unit Test도 편하고(Stub을 주입해주기 편하니까) Layering도 확실하게 되어서 각 클래스는 자신이 알아야할 데이터들만 딱 알게 되는 아름다운 그림이 펼쳐집니다. iOS에서 이런 의존성 그래프를 만들어주는 방법(또는 라이브러리)를 정리해보고자 합니다. [1] RIBs 천재 우버가 만든 RIBs....!! (강제) 프로토콜 지향 RIBs을 도입해서 컴파일 에러를 쭉쭉 해결하면서 코딩해가면 아름다운 RIB ..
Dependency Injection의 개념과 장점 뿐만아니라 SOLID의 D인 의존관계 역전 원칙(DIP)을 어떻게 따르게 해줄 수 있을지 설명해주는 아주 좋은 글 입니다 :-) https://medium.com/@jang.wangsu/di-dependency-injection-이란-1b12fdefec4f [DI] Dependency Injection 이란? 디펜던시 인젝션, 의존성 주입에 대해 간단하게 작성해 봅니다. medium.com 그럼 DI를 해주는 세가지 방법을 정리해보겠습니다. [1] Constructor Injection (생성자 주입) [2] Property Injection [3] Method Injection
[1] ReactorKit https://eunjin3786.tistory.com/100 [ReactorKit] ReactorKit 예제 따라하기 ReactorKit으로 단방향 반응형 앱 만들기(전수열) 의 라이브 코딩 예제를 따라해본 것을 정리 -- !! 우선 ReactorKit에 대한 개념은 미디엄 과 슬라이드 에 잘 설명되어있습니다. 간단히 플로우만 보자면 1. View.. eunjin3786.tistory.com [2] RIBs https://github.com/eunjin3786/SimpleMemo-RIBs eunjin3786/SimpleMemo-RIBs SimpleMemo를 RIBs로 바꿔보자 :-). Contribute to eunjin3786/SimpleMemo-RIBs developmen..
[1] Podfile.lock을 여는 명렁어 open podfile.lock [2] cocoapod 버전 업그레이드 아래 명령어로 현재 버전을 확인하고 pod --version 원하는 버전으로 업데이트 시켜주세요 sudo gem install cocoapods -v 1.9.1 ruby 버전이 너무 낮아서 에러가 날 때가 있습니다. 그럴때는 이 블로그를 참고해서 ruby 버전 업 해줍니다. [3] 로컬 캐쉬를 지울때 아래 명령어로 로컬 캐쉬리스트를 출력할 수 있습니다. pod cache list 그리고 아래 명령어로 로컬 캐쉬들을 모두 지울 수 있습니다. pod cache clean --all (www.stackoverflow.com/questions/46428752/how-to-clear-or-clean..
- Total
- Today
- Yesterday
- flutter 앱 출시
- Flutter Spacer
- 플러터 얼럿
- ribs
- github actions
- METAL
- SerializerMethodField
- Sketch 누끼
- ipad multitasking
- Watch App for iOS App vs Watch App
- Flutter getter setter
- 장고 URL querystring
- Flutter Text Gradient
- 장고 Custom Management Command
- 구글 Geocoding API
- flutter dynamic link
- flutter deep link
- Django Firebase Cloud Messaging
- flutter build mode
- Dart Factory
- 플러터 싱글톤
- Django FCM
- cocoapod
- Python Type Hint
- Flutter 로딩
- Flutter Clipboard
- drf custom error
- PencilKit
- Django Heroku Scheduler
- DRF APIException
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |