일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxCocoa
- 스위프트
- ios
- Xcode
- combine
- uitableview
- UICollectionView
- swiftUI
- 리팩토링
- map
- MVVM
- 리펙터링
- swift documentation
- SWIFT
- Observable
- HIG
- rxswift
- collectionview
- 클린 코드
- Protocol
- clean architecture
- Refactoring
- uiscrollview
- ribs
- Human interface guide
- 애니메이션
- 리펙토링
- UITextView
- tableView
- Clean Code
- Today
- Total
목록architecture (4)
김종권의 iOS 앱 개발 알아가기
템플릿 세팅 git clone: github.com/uber/RIBs 템플릿 설치 $ cd RIBs/ios/tooling $ /install-xcode-template.sh Xcode의 템플릿 확인 튜토리얼의 RIB 트리 LoggedOut RIB 추가 * storyboard를 사용할 경우, 아래 "RIBs에서 storyboard 사용 방법" 참고 LoggedOutBuilder LoggedOutBuildable protocol을 사용하여 mock을 만들 수 있는 구성 LoggedOutInteractor LoggedOutRouting protocol로 Router와 통신 LoggedOutListener protocol은 Router와 연결되어 있으며 Router에서 부모 RIB에 데이터 전달 LoggedOu..
RIBs 아이디어 view가 아닌 business logic 중심 구조 state변화는 view가 아닌 business logic에서 관리 하나의 화면이 여러 ViewController로 이루어질 수 있다는 점이 존재 State관리는 scope를 이용하여 관리 (isolation) 모듈화에 의해 co-working에 유리: dependency가 제대로 inject되어 있다면 각 RIB을 합치기 쉬운 장점 RIB - 6개의 컴포넌트로 이루어진 하나의 기능 단위 (Required) Router: RIB이 어떻게 attach, detach될 것인지 (animation) Interactor: 비즈니스 로직 관리, 어떤 RIB들을 attach, detach 할지 명령 Builder: RIB 생성 (Mock에 유리..
행위(behavior) 요구사항을 기계에 구현하고 버그를 수정하는 일이 개발자의 모든 일이 아님을 깨닫는게 중요 개발자를 고용하는 이유는 이해관계자를 위해 기계가 수익을 창출하거나 비용을 절약하기 위함 곧 이해관계자가 기능 명세서나 요구사항 문서를 구체화할 수 있도록 돕는 임무를 포함 아키텍처(architecture) 핵심은 'sofrware': 부드러운(soft) 제품(ware) 소프트웨어는 부드러움을 지니도록 구성 - 기계의 행위를 쉽게 변경할 수 있도록 하기 위함 부드럽다는 의미는 변경하기 쉬워야하며 이해관계자가 기능에 대한 생각을 바꾸면 변경사항을 간단하고 쉽게 적용할 수 있어야함 변경사항을 적용하는 데 드는 어려움은 변경되는 형태와는 관련이 없어야하며, 범위에 비례해야함 ex) 잘못개발 사례: ..
"빨리 가는 유일한 방법은 제대로 가는 것이다." - 로버트 C. 마틴 (Rovert C. Martin) 설계(design)와 아키텍처(architecture)의 차이 결론적으로 의미 차이가 없음 아키텍처(architecture): 디테일한 것보다는 전체적인 것 설계(design): 디테일한 것에 초점 ex) "집"의 아키텍처: 집의 형태, 외관, 방의 배치 - 이런 것들은 모두 설계(design), 즉 아키텍처(architecture)는 설계(design)로 표현할수 있으므로 같은 의미 소프트웨어 아키텍처의 목표 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화 하는것 * 참고: Clean Architecture