Swift 6 中令人困惑的 @isolated(any) 属性:你需要了解的那些事

2025-09-01
Swift 6 中令人困惑的 @isolated(any) 属性:你需要了解的那些事

Swift 6 引入的 `@isolated(any)` 属性,用于描述异步函数的隔离性,初看令人困惑。它总是需要一个参数,但这个参数却不能变化。文章解释了其引入原因:为了解决异步函数在调度时隔离信息丢失的问题,`@isolated(any)` 属性允许访问函数的隔离属性,从而进行更智能的调度,特别是在处理 `Task` 和 `TaskGroup` 时,保证了 MainActor 上任务的执行顺序。虽然多数情况下可以忽略它,但在处理异步函数的隔离性和调度时,了解 `@isolated(any)` 对于编写高效、可靠的并发代码至关重要。

阅读更多
开发 异步函数

告别确定性:Swift 中的不确定性编程

2025-08-29
告别确定性:Swift 中的不确定性编程

本文介绍了一种在 Swift 中处理不确定性数据的全新方法——Uncertain。它将概率直接编码到类型系统中,优雅地处理诸如 GPS 坐标的不精确性等问题。通过使用概率分布和蒙特卡洛采样,开发者可以更准确地模拟现实世界中的不确定性,从而构建更健壮、更可靠的应用程序。文章还提供了一个基于 Uncertain 的 Swift 库,并包含多个示例,展示如何用它来处理各种概率分布,以及进行统计分析。

阅读更多
开发

Ollama:在Mac上本地运行大型语言模型

2025-02-16
Ollama:在Mac上本地运行大型语言模型

苹果公司在WWDC 2024上发布了Apple Intelligence,但其承诺的“AI for the rest of us”似乎遥遥无期。与此同时,Ollama这个工具却允许用户在Mac上本地运行大型语言模型(LLM),例如llama3.2。它类似于LLM的Docker,易于使用和管理模型。Ollama利用llama.cpp,并通过Modelfiles配置模型行为,使用OCI标准分发模型。本地运行模型具有隐私、成本、延迟和可靠性等优势。Ollama还提供HTTP API,方便开发者集成到应用中,例如文中提到的Nominate.app,它利用Ollama智能重命名PDF文件。文章鼓励开发者抓住机遇,使用Ollama立即构建下一代AI应用,无需等待苹果的承诺。

阅读更多
开发