Sesac code works and assignments
새싹에서 진행한 과제 및 코드 작업입니다
| Project | Skills & 고려점 |
|---|---|
| BeerAndLotteryAPI | - Beer API, Lotto API - Parse JSON by SwiftyJSON/Decodable - Refactor into MVVM with custom Observables |
| BoardAndNewWord | - Dictionary & Set instead of array for contain() method - UIButton & UISearchBar |
| BookWorm | - CollectionView section & item - TextView placeholder - CollectionView inside of tableView with delegate for passing data |
| BookWormWithAPI | - Kakao Book API - Realm DB table with CRUD - Save & retrieve image by FileManager - Check realm schema version - NetworkManager singleton pattern |
| CodeBaseUI | -Setup UI with code base using SnapKit - TextField delegate & MVVM refactor for validation logic |
| CodeModuleMVVM | - Unsplash API, Beer API - Error Handling with enum - Generic type for network request - Router pattern with Alamofire's URLReqeustConvertible -scrollView setup - CompositionalLayout, DiffableDataSource, Snapshot, Dynamic height - MVVM refactor |
| CollectionViewCompositionalLayoutDiffableDataSource | - CompositionalLayout - ListConfiguration |
| CoreLocationMapKitTheater | - CLCoreLocation & MapKit - User authentication for location info - MapView with annotations for theater - FollowTrackingMode |
| MovieCollectionViewAssignment | - CollectionView with XIB cells - Typecasting - FlowLayout estimatedSize setting |
| MovieTableViewAssignment | - TableView - Create Image by enum cases' computed value imageString |
| NetworkingProj | - Naver Papago API, Language recognition API - Setup gitignore - Network Singleton & Codable data struct |
| PhotoGram | - Unsplash API - URLSession datatask - WebView - data transfer by Notification, Delegate, Closure - BaseView |
| PhotoGramRealm | - PhotoGram with Realm - DispatchGroup for each cell to retrieve image from network request call |
| RxSampleProjects | - RxSwift Package sample sources -- SimpleTableView -- SimpleValidation -- SimplePickerView -- SimpleNumbers - MVVM refactor |
| RxSwiftMovieAPI | - 영진원 API - Observable.create() for custom network call BehaviorSubject & BehaviorRelay for table/collectionView -withLatest to combine searchButtonClicked & searchBar.rx.text.orEmpty -Input/Output pattern |
| SeSAC3Week5 | -TMDB API, Weather API, Lotto API - Basic GCD - ReusableProtocol for view's identifier |
| SeSACRxThreads | - Publish, Behavior, Replay, Async Subject - zip operator to combine 2 Observables at the same time - MVVM refactor - replace disposeBag in prepareForReuse to call internally dispose() |
| ShoppingListWithRX | - RxSwift real time search with debounce() and distinctUntilChanged() - ItemSelected & modelSelected for table/collectionView |
| SwiftUIProject | - View & ViewModifier protocol, some View - data flow with @State: Source of Truth/to handle data and @Binding: retrieve data from @State to synchronize data - Zstack for SubViews, H and Vstacks to embed various views - NavigationView, Stack and Link for NavigationBar - Toolbar for Nav and Tabbar with ForEach to show various items in list or stack - AsyncImage with NavigationLazyLinkView to wrap view to avoid initialization of subview instance - Environment & ViewBuilder property wrapper - Charts, Grid & GridItem (CollectionView), onAppear/task for viewWillAppear/viewDidAppear |
| SwiftUIAssignments | - NavigationView, Link, LazyHStack, ScrollView, using SubView structs, properties with @State and @Binding property wrapper |
| SwiftUICoinOrderBook | - ScrollView with targetLayout and targetBehavior - visualEffect for animation - GeometryProxy to obtain parent view's data - ForEach Hashable & Identifiable to use in keypath id - overlay to show additional view within view (return as one view with overlay view) - StateObject vs. ObservedObject: difference when body renders - Network api call not in onAppear (everytime new body draw, network call occurs) - NameSpace for grouping different views as same one (apply same animation) - withAnimation with various modifiers to apply animation, using State variable to choose whether apply it or not |
| TMDBAPICallTwiceInARow | -TMDB API - DispatchGroup for calling network API in a row CompletionHandler with Success & error case in tuple |
| TMDBCodeBaseNetworkSingleton | -TMDB API NetworkManager in singleton pattern Data transfer by NotificationCenter, delegate, or closure |
| TMDBNetworkSingleton | - TMDB API - Result type for network call completionHandler - Table/collectionview prefetching - Expandable Cell - PageViewController for OnboardingPage |
| TMDBSegmentControlDispatchGroup | - TMDB API - SegmentControl - DispatchGroup with Result type completionHandler |
| TMDBTrendingAllMultipleCellInTableViewCell | - TMDB API - Multiple type cells in one tableView |
| TableViewControllerAssignments | - TableViews with sections from enum, singleton, subview of ViewController |
| firebaseAnalyticsCrashlytics | - FirebaseAnalyticsWithoutAdid - FirebaseCrashlytics - FCM & Push Notifications Console test |
| enumTagAssignment | - Enum with UIButton tag & UIMenu - Switch from array to dictionary to match tap data |
| iPadMVVMUnsplashAPI | - Unsplash API - DiffableDatasource with MVVM - Localization |