Skip to content

老司机 iOS 周报 #336 | 2025-05-26

Latest
Compare
Choose a tag to compare
@ChengzhiHuang ChengzhiHuang released this 25 May 10:38

老司机 iOS 周报 #336 | 2025-05-26

ios-weekly
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

文章

🌟 🐢 LLM 学习笔记:最好的学习方法是带着问题去寻找答案

@Cooper Chen:这篇文章以日常 AI 聊天场景为切入点,生动解析了大语言模型背后的技术原理。特别值得关注的是:

  1. 完整训练流程剖析
  • 数据清洗:详细讲解如何通过 MinHash 去重、PII 移除、Gopher 过滤等技术处理海量原始数据
  • Tokenization 优化:深入解析 BPE/WordPiece 算法,对比不同模型的词汇表设计(如 GPT-4 的 10 万 token 词汇表)
  • 分布式训练:揭秘千亿参数模型如何在数千 GPU 上高效并行训练
  • 监督微调(SFT):展示如何用人工标注的高质量对话数据优化模型输出
  • 奖励建模(RM):详解如何训练小型网络评估回答质量,实现人类偏好对齐
  1. DeepSeek-R1 的创新实践
  • GRPO 算法详解

    • 创新性地采用分组相对策略优化(Group Relative Policy Optimization)
    • 通过分组奖励估计替代传统批评模型,降低 40% 训练成本
    • 结合准确性奖励(基于规则验证)和格式奖励(强制结构化输出)
  • 自主推理能力涌现

    • 训练过程中自然发展出自我验证和反思能力
    • 在数学(AIME 2024)任务上 pass@1 达 71%
    • 自动生成长思维链(CoT)推理过程,平均生成 500+ 推理 token

文章用大量实例和图表,将复杂的模型训练过程讲解得通俗易懂。无论是想了解 AI 工作原理的初学者,还是希望深入掌握训练技巧的开发者都能从中获得启发。

🐎 What's new in Swift 6.2?

@Smallfly:这篇文章介绍了 Swift 6.2 将会迎来的重大更新,聚焦于提升开发效率与代码安全性。其核心改进包括:

  1. 并发编程简化:通过编译器标志 -default-isolation MainActor 支持模块级主线程默认隔离,大幅降低异步代码复杂度;新增 Task.immediate 实现同步任务初始化,优化执行逻辑。
  2. 语法增强:引入原始标识符(如 `Strip HTML tags`())提升测试可读性,字符串插值支持默认值(\(age, default: "Unknown")),KeyPath 扩展支持方法调用(map(\.uppercased()))。
  3. 工具升级Backtrace API 提供运行时堆栈追踪,任务命名功能(Task(name: "FetchNews"))助力异步调试,InlineArray 实现高性能定长存储。
  4. 测试革新:支持验证程序崩溃逻辑(#expect(processExitsWith:)),失败测试可附加日志 / 数据(Attachment.record())。
  5. 安全强化:严格内存检查要求显式标记 @unsafe 代码,全局 Actor 隔离协议提升并发安全。

此次更新通过 20+ 项提案优化了语言一致性,为开发者提供更简洁、安全的工具链,尤其助力 SwiftUI 和服务器端开发的深度整合。

🐎 Dependency container on top of task local values in Swift

@Cooper Chen:这篇文章由 Swift 专家 Majid 撰写,深入探讨了 Swift 并发编程中的 Task Local Values(任务本地值),并创新性地将其应用于依赖注入容器的实现。
文章首先解析了 @TaskLocal 宏的核心机制,展示了它如何在异步任务间隐式传递数据,类似于 SwiftUI 的 Environment。随后,作者通过构建一个支持多环境(生产 / 测试)的依赖容器,演示了如何利用这一特性优雅地管理全局依赖,特别是在单元测试中快速切换 mock 实现。适合中高级 Swift 开发者学习现代并发编程范式,为复杂应用架构提供新思路。

🐎 2025 上半年 Flutter iOS 大坑超汇总,看看你踩中了没

@david-clang:本文汇总了 2025 上半年 Flutter iOS 影响比较大的 6 个问题,好在这些问题都有对应的解决办法,它们分别是:

  1. iOS 18.4 Beta 的 JIT 权限问题(#163984
  2. macOS 15.4 打包 IPA 的 ITMS-90048 错误(#166367
  3. macOS 15.4 模拟器的调试服务问题(#166333
  4. iOS 设备 Hot Restart 延迟(#165656
  5. iOS 18.5 Beta 字体粗细异常(#167343
  6. iOS 输入框崩溃问题(#138464

🐎 Default isolation with Swift 6.2

@DylanYang:本文作者通过 Swift 默认可见性的类比形象的为大家解释了默认隔离态 (Isolation) 的含义。修改默认隔离态是 Swift 6.2 新引入的特性,帮助开发者方便的修改一个模块默认的隔离态。原先模块默认的隔离态均为无隔离 (nonisolated),而通过修改默认隔离态,我们可以将一个模块的隔离态默认改为使用主线程隔离,相当于默认带上了 @MainActor 。不过作者随后也提到此修改有利有弊,大家实际使用时需要认真权衡。

代码

OpenAsyncImage

SwiftUI 的 AsyncImage 开源 backport:

  • 最低支持 iOS 13
  • 基于 iOS 18 的 State.wrappedValue setter 进行优化
  • 全平台统一一致的行为

内推

重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考

具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)

关注我们

我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。

关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom

说明

🚧 表示需某工具,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)