首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐
2025年6月11日 星期三 3:07am

DeepSeek:花小钱办大事 | 肘子的 Swift 周报 #068

  • 25-04-23 05:21
  • 2635
  • 12998
juejin.cn

issue68.jpg

欢迎访问 weekly.fatbobman.com 订阅本周报的电子邮件版本。也欢迎访问我的博客 肘子的 Swift 记事本 查看更多的文章。

肘子的话

DeepSeek:花小钱办大事

DeepSeek 推出的新模型无疑是近期科技界最耀眼的明星。他们以极低的训练成本,打造出了性能不逊于当前主流大模型的 AI 系统。从个人使用体验来看,DeepSeek 的 V3 和 R1 在相当多的场景下足以满足我的需求。令人惊讶的是,其训练成本仅为数百万美元,这一数字引发了业内的广泛关注和质疑。一些从业者甚至将此视为“认知作战”,难以置信。然而,其 API 定价仅为主流模型的几十分之一,这无疑是对其训练高效性的最佳佐证。更令人钦佩的是,DeepSeek 选择开源其模型的训练方法与推理机制,这一举措有望推动更多低成本、高质量的 AI 模型涌现,为用户带来优质且价格亲民的 AI 服务。

然而,DeepSeek 的成功能否促使行业巨头调整模型发展路线,却是一个值得深思的问题。自 OpenAI 用“大力出奇迹”的方式证明 LLM 的潜力以来,AI 行业几乎全盘接受了“资源至上”的信条:资金、算力与顶尖人才成为制胜法宝。如今,AI 产业已演变为一场资本的狂欢盛宴。无论产品是否盈利,只要宣布购买了大量显卡,公司的股价就能水涨船高。在“求快、求大”的行业风潮下,大多数从业者已深陷其中,难以自拔。

在这样的环境中,创新往往被巨额资源所稀释。当行业领导者将注意力集中在如何花钱时,像 DeepSeek 这样以有限资源实现突破的做法显得尤为珍贵。或许正是因为资源的稀缺,他们才得以另辟蹊径,寻找全新的技术路径。中国有句古语:“从俭入奢易,从奢入俭难”。那些习惯于高投入、大规模资源配置的头部 AI 企业,在短期内转变思维模式无疑是困难的。即使 DeepSeek 的方法能够提供一些启发,但如果没有彻底的理念变革,这些企业在降低训练成本上将难以取得持续的显著进展。

我也衷心希望 DeepSeek 在未来获得更多资源后,能够保持对有限资源的高效利用,不被丰沛的资源所累。DeepSeek 的成功不仅是技术的胜利,更是开源精神的胜利,是一次未被资本裹挟的成功,也是真正值得期待的成功。

前一期内容|全部周报列表

近期推荐

如何在 macOS 应用中检测点击菜单栏图标时是否按下了修饰键 (How to Check if a Modifier Key Is Pressed When Clicking on a Menu Bar Item in macOS Apps)

有一定经验的 macOS 用户或许已注意到,在打开应用菜单的同时按下某些修饰键(例如 Option),会触发与平时不同的菜单选项。本文作者 Pol Piella Abadia 详细介绍了如何在 AppKit 和 SwiftUI 中检测这一行为,并通过简单的实现来展示或隐藏不同的菜单内容。尽管这是个细节功能,却能为你的应用增添更专业的交互体验。

用两个编辑器开发,因为 Xcode 太蠢了 (Using 2 Editors Because Xcode Is Dumb)

在 Xcode 16 之前,开发者可以方便地将某个库的本地版本拖入项目中,并在开发项目的同时直接修改库代码。然而,这一便捷操作在 Xcode 16 中被废弃,取而代之的是需要手动配置的本地依赖路径(如 ../../PACKAGE_NAME/)。这一变更导致了诸多不便,例如文件变更后无法自动同步、无法运行本地库的测试,以及无法同时在两个 Xcode 窗口中打开库和项目。Christian Tietze 对此调整表示不满,并建议开发者使用另一款非 Xcode 编辑器搭配命令行工具进行开发,以提高效率和灵活性。

在 SwiftUI 中创建一个可重用的操作菜单组件 (Creating a Reusable Action Menu Component in SwiftUI)

许多 SwiftUI 开发者习惯将 Sheet、confirmationDialog 或 contextMenu 的实现直接嵌入主视图代码中,这虽然方便,但会导致代码难以维护和复用。Peter Friese 在本文中分享了通过提取视图代码、创建自定义 Modifier、使用 LabelStyle 和 PrimitiveButtonStyle 定制样式与行为的方式,来构建一个可重用的操作菜单组件。这种方法不仅简化了代码,还显著提高了组件的复用性和 UI 设计的一致性,为 SwiftUI 项目带来了更高的开发效率和更优的用户体验。

减少动画的动态效果 (Reducing Motion of Animations)

Apple 的 Human Interface Guidelines 提醒开发者,动画的滥用可能会导致用户分心或身体不适。在本文中,Keith Harrison 探讨了如何适配辅助功能中“减少动态效果”的设置,并提供了实用的代码示例。Harrison 强调了以下原则:不要仅为了添加动画而添加动画;动画不应是传递关键信息的唯一方式;要特别留意大幅度或高频率的动画效果。他还展示了如何在 SwiftUI 中利用 .accessibilityReduceMotion 检测设置状态,并根据用户需求禁用或调整动画,从而实现更友好的用户体验。

在 SwiftUI 视图外观察 @Observable 类的属性 (Observing Properties on an @Observable Class Outside of SwiftUI Views)

虽然 Observation 框架主要为 SwiftUI 提供支持,但开发者也可以通过 withObservationTracking 在视图之外观察 @Observable 实例的属性变化。Donny Wals 在文中详细讨论了相关技术要点,包括如何实现 didSet 效果、优化代码复用,以及在 Swift 6 中处理 @Sendable 限制等问题。Wals 指出,Observation 在 SwiftUI 之外的使用存在诸多局限性,尤其是在 Swift 6 的语言模式下,建议优先采用更成熟的 Combine 框架进行可靠的属性观察。

Tuist Registry 上线 (Announcing Tuist Registry)

Swift Package Manager(SwiftPM)尽管无需依赖中心化的包注册服务,而是直接从源代码库管理依赖,但这种去中心化的机制也带来了一些副作用:

  • 存储和效率问题:克隆一个包时会下载完整的 Git 历史,导致磁盘空间浪费。
  • 非确定性构建:Git 仓库的版本标签可能被重新分配,造成构建结果不一致。
  • 可用性风险:如果依赖的 Git 仓库被移动或删除,后续构建将失败。
  • 速度瓶颈:对于历史记录较大的项目,克隆仓库的速度会明显变慢。

为了解决这些问题,几天前 Tuist 宣布了全新的服务 —— Tuist Registry。该服务基于 Swift Package Registry 提案 SE-0292 实现,允许开发者直接下载所需版本的源码归档文件,而无需下载整个 Git 历史。这一改进显著提升了依赖解析的效率,节省时间和磁盘空间,使得本地开发和持续集成(CI)更高效、更可靠。

在这篇文章中,Marek Fořt 详细介绍了 Tuist Registry 的优势及其使用方法。

往期内容

  • 周报进展与博客调整 - #067
  • 将 AI 整合至日常工具链 - #066
  • 视角转换:从机场之争看开发者的双重身份 - #065
  • 2025 新年快乐 - #064

THANK YOU

如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞 并将其 转发 给更多的朋友。

欢迎访问 weekly.fatbobman.com 订阅本周报的电子邮件版本。也欢迎访问我的博客 肘子的 Swift 记事本 查看更多的文章。

注:本文转载自juejin.cn的东坡肘子的文章"https://juejin.cn/post/7464117489326129179"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
iOS.resizable()的用法

.resizable()的用法

在 Swift 中,resizable()是SwiftUI框架中的一个修饰符(modifier),主要用于调整Image(图片)的尺寸和缩放行为。作用默认情况下,SwiftUI 的Image会以原始尺寸显示。调用.resizable()后,...
2025-04-24 3813 13217
iOS

Swift Combine 学习(五):Backpressure和 Scheduler

Swift Combine 学习(一):Combine 初印象Swift Combine 学习(二):发布者 PublisherSwift Combine 学习(三):Subscription和 SubscriberSwift Combin...
2025-04-24 4669 10427
iOS

关于我在 iOS 开发中用 Swift 实现的两个交互效果

Swift + UIView 实现通过透明度的判读进行事件穿透在开发过程中会有这样一种场景:在一个页面A上有一个透明或者半透明的view B,希望在点击ViewB的透明或者半透明区域的时候,将点击事件透传给下层页面A。像下面这样,在蓝色的发...
2025-04-24 2928 10526
iOSWebKit URL Cache 与网络拦截

WebKit URL Cache 与网络拦截

Network 进程 URL Cache是在 WKNetworkSessionDelegate 使用 NSURLSession 处理网络请求,没有实现其URLSession:dataTask:willCacheResponse:comple...
2025-04-23 2967 9047
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

  • 1

    .resizable()的用法

  • 2

    Swift Combine 学习(五):Backpressure和 Scheduler

  • 3

    关于我在 iOS 开发中用 Swift 实现的两个交互效果

  • 4

    WebKit URL Cache 与网络拦截

  • 5

    DeepSeek:花小钱办大事 | 肘子的 Swift 周报 #068

  • 6

    Native 与 Flutter 混合开发中的 Flutter 多引擎与单引擎分析

  • 7

    ios vpn app 手动kill之后 断开vpn

  • 8

    Codable 宏让 Swift 序列化如此简单!

  • 9

    更短的有效期和更长的保质期 | 肘子的 Swift 周报 #080

  • 10

    iOS开发:关于Moya之上的Request层

141
iOS
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top