-
Урок 1.
00:04:11
Welcome
-
Урок 2.
00:26:01
Are Singletons and Global Instances Damaging your ...
-
Урок 3.
00:17:53
Intro to Dependency Diagrams and Composition
-
Урок 4.
00:15:28
Intro to Modular Design
-
Урок 5.
00:22:15
BDD, TDD, Use Cases, Architecture and Modular Design
-
Урок 6.
00:10:51
Effectively Developing Swift Apps Before the Backend/Design Is Ready
-
Урок 7.
00:23:55
From Singletons and Globals to Proper Dependency Injection
-
Урок 8.
00:07:35
Asserting a Captured Value Is Not Enough + Cross-Module Access Control
-
Урок 9.
00:21:59
Handling Errors + Stubbing vs. Spying + Eliminating Invalid Paths
-
Урок 10.
00:40:04
A Classicist TDD Approach (No Mocking) to Mapping ...
-
Урок 11.
00:16:15
Automating Memory Leak Detection + Preventing ...
-
Урок 12.
00:13:27
Conforming to Feature Abstractions ...
-
Урок 13.
00:31:45
Four Approaches to Test(-Drive) Network Requests: End-to-End, Subclass ...
-
Урок 14.
00:41:18
Speeding up Development by: Reducing Debugging Time...
-
Урок 15.
00:22:16
Randomizing & Parallelizing Tests, Code Coverage...
-
Урок 16.
00:10:20
Identifying, Debugging, and Solving Data Races with the Thread Sanitizer
-
Урок 17.
00:10:28
URLCache as a Persistence Alternative ...
-
Урок 18.
00:10:42
Clarifying Requirements, Enhancing Cross-Team ...
-
Урок 19.
00:31:00
Decoupling Use-Case Business Logic From Framework Details...
-
Урок 20.
00:11:44
Proper Memory-Management of Captured References ...
-
Урок 21.
00:20:14
Visualizing and Solving High-Coupling Issues by Decentralizing ...
-
Урок 22.
00:28:23
Performing Calendrical Calculations Correctly, Dealing With Coincidental ...
-
Урок 23.
00:08:41
Test-driving Cache Invalidation + Identifying Complex (Bloated) Functionality ...
-
Урок 24.
00:20:01
Separating Queries & Side-effects for Simplicity and Reusability ...
-
Урок 25.
00:20:33
Separating App-specific, App-agnostic & Framework logic, Entities...
-
Урок 26.
00:12:48
Dependency Inversion Anatomy (High-level | Boundary | Low-level) ...
-
Урок 27.
00:29:35
Persisting/Retrieving Models with Codable+FileSystem ...
-
Урок 28.
00:18:35
Deleting Models and Handling Errors with Codable+FileSystem ...
-
Урок 29.
00:11:38
Designing and Testing Thread-safe Components with DispatchQueue, ...
-
Урок 30.
00:08:19
Protocol vs Class Inheritance, Composite Reuse Principle ...
-
Урок 31.
00:05:45
Core Data Overview, Implementation, Concurrency Model...
-
Урок 32.
00:19:47
Finishing the Cache Implementation with Business Logic ...
-
Урок 33.
00:16:03
Improving Model Composability With Swift’s Standard Result and Optional Types, ...
-
Урок 34.
00:16:06
Gathering Fast Feedback and Validating UI ...
-
Урок 35.
00:09:13
Supporting Multiple Platforms with Swift Frameworks While..
-
Урок 36.
00:19:45
Apple MVC, Test-driving UIViewControllers, Dealing with UIKit†...
-
Урок 37.
00:35:35
Effectively Test-driving MVC UI with Multiple Views/Models/State, Efficiently ...
-
Урок 38.
00:22:09
Refactoring Massive View Controllers Into Multiple Tiny MVCs...
-
Урок 39.
00:26:43
MVVM: Reducing Boilerplate, Shifting Reusable Presentation Logic from ...
-
Урок 40.
00:31:30
MVP: Creating a Reusable and Cross-Platform Presentation Layer, Implementing ...
-
Урок 41.
00:23:48
Storyboard vs. Code: Layout, DI and Composition, Identifying the Constrained ...
-
Урок 42.
00:17:39
Creating, Localizing, and Testing Customer Facing Strings ...
-
Урок 43.
00:14:56
Decorator Pattern: Decoupling UIKit Components From Threading Details ...
-
Урок 44.
00:27:57
Test-driven Approach to Effectively Dealing with Legacy Code...
-
Урок 45.
00:14:12
Feed Image Data Loading and Caching with URLSession/CoreData ...
-
Урок 46.
00:27:55
Composite Pattern: Implementing a Flexible ...
-
Урок 47.
00:27:05
Interception: An Effective, Modular and Composable...
-
Урок 48.
00:32:23
Validating Acceptance Criteria with High-Level UI Tests ...
-
Урок 49.
00:26:53
Validating Acceptance Criteria with Fast ...
-
Урок 50.
00:23:23
Validating the UI with Snapshot Tests + Dark Mode Support
-
Урок 51.
00:07:27
Preventing a Crash when Invalidating Work Based on UITableViewDelegate events
-
Урок 52.
00:24:05
Organizing Modular Codebases with Horizontal and Vertical Slicing
-
Урок 53.
00:18:45
Continuous Delivery and Deployment: Automating the App Deploy to App Store Connect
-
Урок 54.
00:25:56
From Design Patterns to Universal Abstractions Using the Combine Framework
-
Урок 55.
02:19:53
#001 - [Image Comments API] From Dependency Injection to Dependency Rejection
-
Урок 56.
02:31:21
#002 - [Image Comments Presentation] Reusable Presentation Logic
-
Урок 57.
00:52:02
#003 - [Image Comments UI] Reusable UI Components, Diffable Data Sources...
-
Урок 58.
01:02:56
#004 - [Image Comments Composition] Navigation and Feature Composition
-
Урок 59.
02:48:48
#005 - Keyset Pagination with Caching Strategy
-
Урок 60.
01:41:05
#006 - Logging, Profiling, and Optimizing Infrastructure Services
-
Урок 61.
01:41:35
#007 - Async Injection: Decoupling the Domain from Infra Details