跳转至
Cain Blog
第一节:你好,TDD!
正在初始化搜索引擎
Cain Blog
Core Data By Tutorials
Core Data By Tutorials
1.Your First Core Data App
2.NSManagedObject Subclasses
3.The Core Data Stack
4.Intermediate Fetching
5.NSFetchedResults Controller
6.Versioning & Migration
7.Unit Testing
8.Measuring & Boosting Performance
9.Multiple Managed Object Contexts
watchOS With SwiftUI by Tutorials
watchOS With SwiftUI by Tutorials
1.Hello, Apple Watch
2.Section I watchOS With SwiftUI
3.Project Structure
4.Digital Crown
5.Watch Connectivity
6.Snapshots
7.Notifications
8.Lifecycle
9.Complications
10.Keeping Complications Updated
11.Face Sharing
Modern Concurrency in Swift
Modern Concurrency in Swift
1.Section I Modern Concurrency in Swift
2.Chapter 1 Why Modern Swift Concurrency
3.Chapter 2 Getting Started With asyncawait
4.Chapter 3 AsyncSequence & Intermediate Task
5.Chapter 4 Custom Asynchronous Sequences With AsyncStream
6.Chapter 5 Intermediate asyncawait & CheckedContinuation
7.Chapter 6 Testing Asynchronous Code
8.Chapter 7 Concurrent Code With TaskGroup
9.Chapter 8 Getting Started With Actors
10.Chapter 9 Global Actors
11.Chapter 10 Actors in a Distributed System
12.Conclusion
Unity Apprentice
Unity Apprentice
1.Section I Creating Your First Game
2.Getting Started
3.Installing & Using the Unity Editor
4.GameObjects & Prefabs
5.Creating & Using Scripts With C#
6.Section II Now You're Building With Components
7.Setting Up a Scene
8.Input & Collisions
9.User Interfaces
10.Scriptable Objects
11.Section III Smart Enemies & the Bigger Picture
12.Basic AI & Navigation
13.Advanced Camera Controls With Cinemachine
14.Asynchronous Functions, Coroutines & Object Pooling
15.Section IV Cooking Up Animations
16.Basic Animation Principles
17.Advanced Animation Principles
18.Advanced Scriptable Objects
19.Conclusion
Living by the Code
Living by the Code
1.Community
2.An Interview with Britt Barak
3.An Interview with Ellen Shapiro
4.An Interview with Antonio Leiva
5.An Interview with Lara Martin
6.An Interview with Sarah Olson
7.An Interview with Paco Estévez GarcÍa
8.An Interview with Corey Leigh Latislaw
9.An Interview with Zarah Dominguez
10.An Interview with Juhani Lehtimäki
11.An Interview with Erik Hellman
12.An Interview with Eduardo Castelló Ferrer
13.An Interview with Ash Furrow
14.An Interview with Hadi Hariri
15.An Interview with Roman Elizarov
16.Getting to Work
17.An Interview with John Sundell
18.An Interview with Felix Krause
19.An Interview with Joe Birch
20.An Interview with Gabriel Peal
21.An Interview with Marin Todorov
22.An Interview with Mike Wolfson
23.An Interview with Ty Smith
24.An Interview with Marcin Moskala
25.An Interview with Iñaki Villar
26.An Interview with Oluwasegun Famisa
27.An Interview with Fernando Cejas
28.An Interview with Tanner Wayne Nelson.md
29.An Interview with Annyce Davis
30.An Interview with Raúl Raja Martínez
31.An Interview with Paul Blundell
32.An Interview with César Valiente.md
33 An Interview with Israel Ferrer Camacho
34.Leadership
35.An Interview with Dr. Joseph Howard
36.An Interview with Ray Wenderlich
37.An Interview with Cate Huston
38.An Interview with Cyril Mottier
39.An Interview with Huyen Tue Dao
40.An Interview with Marcin Krzyzanowski
41.An Interview with Mike Nakhimovich
42.An Interview with Danny Preussler
43.An Interview with Mark Allison
Git Apprentice
Git Apprentice
1.Section I Beginning Git
2.A Crash Course in Git
3.Cloning a Repo
4.Committing Your Changes
5.The Staging Area
6.Ignoring Files in Git
7.Git Log & History
8.Branching
9.Merging
10.Syncing With a Remote
11.Creating a Repository
12.Conclusion
13.Section II Appendices
14.A Appendix A Installing & Configuring Git
App Design Apprentice
App Design Apprentice
1.Section I Design & Tool Fundamentals
2.Book Overview & App Preview
3.Workspace Tour & Figma Fundamentals
4.App Teardowns
5.Section II Components & Design Systems
6.Wireframing & Screen Layout
7.Reusable Elements & Data
8.Typography
9.Colors
10.Design Systems
11.Section III Interactive prototypes & Developer Handoff
12.Transitions & Animations
13.Feedback & Testing
14.Insights & Next Steps
15.Conclusion
Auto Layout by Tutorials
Auto Layout by Tutorials
1.Section I Beginning Auto Layout
2.Introducing Auto Layout
3.Construct Auto Layout with the Interface Builder
4.Stack View
5.Section II Intermediate Auto Layout
6.Construct Auto Layout with Code
7.Scroll View
8.Self-Sizing Views
9.Layout Guides
10.Content-Hugging & Compression-Resistance Priorities
11.Animating Auto Layout Constraints
12.Adaptive Layout
13.Dynamic Type
14.Internationalization & Localization
15.Common Auto Layout Issues
16.Section III Advanced Auto Layout
17.Under the Hood of Auto Layout
18.Optimizing Auto Layout Performance
19.Layout Prototyping with Playgrounds
20.Auto Layout for External Displays
21.Designing Custom Controls
22.Conclusion
SwiftUI Animations by Tutorials
SwiftUI Animations by Tutorials
1.Introducing SwiftUI Animations
2.Getting to Know SwiftUI Animations
3.View Transitions
4.Drawing Custom Components
5.Applying Complex Transformations & Interactions
6.Intro to Custom Animations
7.Complex Custom Animations
8.Time-Based Animations
9.Combining Animations
10.Recreating a Real-World Animation
11.Conclusion
Flutter Apprentice
Flutter Apprentice
1.Section I Build Your First Flutter App
2.Getting Started
3.Hello, Flutter
4.Section II Everything’s a Widget
5.Basic Widgets
6.Understanding Widgets
7.Scrollable Widgets
8.Interactive Widgets
9.Section III Navigating Between Screens
10.Routes & Navigation
11.Deep Links & Web URLs
12.Section IV Networking, Persistence and State
13.Handling Shared Preferences
14.Serialization With JSON
15.Networking in Flutter
16.Using a Network Library
17.Managing State
18.Working With Streams
19.Saving Data With SQLite
20.Section V Deployment
21.Platform-Specific App Assets
22.Build & Release an Android App
23.Build & Release an iOS App
24.Section VI Working With Firebase Cloud Firestore
25.Firebase Cloud Firestore
26.Conclusion
27.Appendices
28.A Appendix A Chapter 5 Solution 1
29.B Appendix B Chapter 5 Solution 2
Dart Apprentice-Fundamentals
Dart Apprentice-Fundamentals
1.Hello, Dart!
2.Expressions, Variables & Constants
3.Types & Operations
4.Strings
5.Control Flow
6.Loops
7.Functions
8.Classes
9.Constructors
10.Static Members
11.Nullability
12.Lists
13.Sets
14.Maps
15.Iterables
16.Conclusion
Data Structures & Algorithms in Dart
Data Structures & Algorithms in Dart
1.Section I Introduction
2.Why Learn Data Structures & Algorithms
3.Complexity
4.Basic Data Structures in Dart
5.Section II Elementary Data Structures
6.Stacks
7.Linked Lists
8.Queues
9.Section III Trees
10.Trees
12.Binary Trees
13.Binary Search Trees
14.AVL Trees
15.Tries
16.Binary Search
17.Heaps
18.Priority Queues
19.Section IV Sorting Algorithms
20.O(n²) Sorting Algorithms
21.Merge Sort
22.Radix Sort
23.Heapsort
24.Quicksort
25.Section V Graphs
26.Graphs
27.Breadth-First Search
28.Depth-First Search
29.Dijkstra’s Algorithm
30.Conclusion
31.Section VI Challenge Solutions
32.Chapter 4 Solutions
33.Chapter 5 Solutions
34.Chapter 6 Solutions
35.Chapter 7 Solutions
36.Chapter 8 Solutions
37.Chapter 9 Solutions
38.Chapter 10 Solutions
39.Chapter 11 Solutions
40.Chapter 12 Solutions
41.Chapter 13 Solutions
42.Chapter 14 Solutions
43.Chapter 15 Solutions
44.Chapter 16 Solutions
45.Chapter 17 Solutions
46.Chapter 18 Solutions
47.Chapter 19 Solutions
48.Chapter 20 Solutions
49.Chapter 21 Solutions
50.Chapter 22 Solutions
51.Chapter 23 Solutions
Swift中的数据结构和算法
Swift中的数据结构和算法
1.第一节简介
2.为什么学习数据结构和算法
3.复杂性
4.Swift标准库
5.第二节基本数据结构
6.堆栈
7.堆栈挑战
8.链接列表
9.链接列表的挑战
10.队列
11.排队挑战
12.第三节树
13.树
14.树的挑战
15.二叉树
16.二叉树的挑战
17.二叉树搜索
18.二叉树搜索的挑战.md
19.AVL树
20.AVL树的挑战
21.尝试
22.尝试的挑战
23.二分搜索
24.二分搜索的挑战
25.堆
26.堆的挑战
27.优先队列
28.优先队列的挑战
29.第四节排序算法
30.O(n²)排序算法
31.O(n²)排序的挑战
32.合并排序
33.合并排序的挑战
34.基数排序
35.基数排序的挑战
36.堆垛
37.堆垛的挑战
38.筛选
39.筛选的挑战
40.第五节图表
41.图表
42.图表挑战
43.广度优先搜索
44.广度优先搜索的挑战
45.深度优先搜索
46.深度优先搜索的挑战
47.迪克斯特拉的算法
48.迪克斯特拉算法的挑战
49.普利姆的算法
50.普利姆算法的挑战
51.结语
Dart Apprentice-Beyond the Basics
Dart Apprentice-Beyond the Basics
1.String Manipulation
2.Anonymous Functions
3.Inheritance
4.Abstract Classes
5.Interfaces
6.Mixins
7.Extension Methods
8.Generics
9.Enhanced Enums
10.Error Handling
11.Concurrency
12.Futures
13.Streams
14.Isolates
15.Conclusion
Real-World Flutter by Tutorials
Real-World Flutter by Tutorials
1.Setting up Your Environment
2.Mastering the Repository Pattern
3.Managing State With Cubits & the Bloc Library
4.Validating Forms With Cubits
5.Managing Complex State With Blocs
6.Authenticating Users
7.Routing & Navigating
8.Deep Linking
9.Internationalizing & Localizing
10.Dynamic Theming & Dark Mode
11.Creating Your Own Widget Catalog
12.Supporting the Development Lifecycle With Firebase
13.Running Live Experiments With AB Testing & Feature Flags
14.Automated Testing
15.Automating Test Executions & Build Distributions
16.Conclusion
macOS的教程
macOS的教程
1.第一节:你在这一天的第一个应用程序
2.设计数据模型
3.使用Windows工作
4.添加菜单和工具条
5.使用表和自定义视图
6.设置首选项和图标
7.为什么要写一个macOS应用程序
8.第二节:构建一个菜单栏应用程序
9.为一个应用程序使用菜单栏
10.使用计时器、警报和通知的工作
11.添加你自己的任务
12.第三节:构建一个基于文档的应用程序
13.创建一个基于文档的应用程序
14.添加菜单控件
15.第四节:高级魔法师
16.更深入地了解你的Mac
17.添加界面
18.为您的应用程序提供自动化服务
19.第五节:分发你的macOS应用程序
20.使用Mac应用程序商店
21.对外分发
22.总结
Swift服务端Vapor
Swift服务端Vapor
Section I: 创建一个简单的网络API
1.简介
2.你好, Vapor
3.HTTP基础知识
4.异步
5.Fluent和持久化模型
6.配置数据库
7.CRUD数据库操作
8.控制器
9.父子关系
10.同级关系
11.测试
12.创建一个简单的iPhone App, 第1部分
13.创建一个简单的iPhone App, 第2部分
Section II: 制作一个简单的网络应用程序
14.用Leaf进行模板设计
15.美化页面
16.制作一个简单的Web应用程序,第1部分
17.制作一个简单的Web应用程序,第2部分
Section III: 验证、用户和认证
18.API认证,第1部分
19.API认证,第2部分
20.Web认证、Cookies和Sessions
21.验证
22.Google验证
23.GitHub验证
24.使用苹果认证登录
Section IV: 高级服务器端Swift
25.密码重置和电子邮件
26.添加个人资料图片
27.数据库/API版本和迁移
28.缓存
29.中间件
30.WebSockets
31.Fluent进阶
Section V: 生产和外部部署
32.使用Heroku进行部署
33.使用Docker进行部署
34.使用AWS进行部署
35.生产方面的关注
36.微服务,第1部分
37.微服务,第2部分
Swift专家
Swift专家
第一节:核心概念
1.简介
2.类型与变异
3.协议
4.泛型
第二节:标准库
5.数字与区间
6.序列、集合和算法
7.字符串
8.Codable
9.不安全
第三部分:技术
10.高阶函数
11.功能性反应式编程
12.Objective-C的互操作性
13.仪器仪表
14.API设计技巧和窍门
iOS驱动式测试教程
iOS驱动式测试教程
第一节:你好,TDD!
1.什么是TDD?
2.TDD周期
3.TDD应用程序设置
第二节:开始TDD
4.测试表达式
5.测试期望
6.依赖性注入和Mocks
第三节:带网络的TDD
7.Dog Patch介绍
8.RESTful网络
9.使用网络客户端
10.ImageClient
第四节:遗留应用程序中的TDD
11.遗留问题
12.依赖关系图
13.打破依赖关系
14.模块化的依赖关系
15.为现有的类添加功能
SwiftUI学徒
SwiftUI学徒
第一节:你的第一个应用程序HIITFit
第1章:检查你的工具
第2章:规划一个分页的应用程序
第3章:主视图的原型设计
第4章:原型设计补充视图
第5章:组织你的应用程序的数据
第6章:在你的应用程序中添加功能
第7章:观察物体
第8章:保存设置
第9章:保存历史数据
第10章:完善你的应用程序
第11章:了解属性包装器
第12章:苹果应用开发生态系统
第二节:你的第二个应用程序卡
第13章:勾勒出一个照片拼贴的应用程序
第14章:手势
第15章:结构、类和协议
第16章:向你的应用程序添加资产
第17章:与UIKit的接口
第18章:路径和自定义形状
第19章:保存文件
第20章:愉快的用户体验--版面设计
第21章:愉悦的用户体验--最后的修饰
第三节:你的第三个应用程序RWFreeView
第22章:列表与导航
第23章:足够的网络东西
第24章:下载数据
第25章:实施过滤器选项
第26章:小工具
Swift的异步编程Combine
Swift的异步编程Combine
第一部分:Combine简介
第1章:你好,Combine!
第2章:Publishers和Subscribers
第2.1章:第一章学习笔记
第二部分:操作符
第3章:变换运算符
第4章:Filtering操作符
第5章:Combining操作符
第6章:时间操纵操作符
第7章:Sequence操作符
第8章:实践项目Collage
第三部分:Combine的事件
第9章:网络
第10章:调试
第11章:计时器
第12章:键值观察
第13章:资源管理
第14章:实践:"新闻"项目
第四部分:高级Combine
第15章:实践Combine & SwiftUI
第16章:Error处理
第17章:调度器
第18章:定制发布者和处理背压
第19章:测试Combine代码
第五部分:构建一个完整的应用程序
第20章:在实践中建立一个完整的应用程序
Accessibility教程
Accessibility教程
Accessibility:入门
iOS无障碍教程:实现自定义控件的无障碍使用
杂七杂八
杂七杂八
Yunzai-bot搭建教程
SwiftCharts教程:入门
DocC教程:入门
iOS的SwiftUI本地化教程入门
iOS的SwiftGen教程
iOS单元测试和UI测试教程
iOS Unit Testing and UI Testing Tutorial
第一节:你好,TDD!
¶
本节是对测试驱动开发的高层次介绍,它是如何工作的,为什么你应该使用它。在这一章中,你还会了解到
TDD
周期,在本书的其余部分你都会用到它。