diff --git a/Reports/2024/#314-2024.12.02.md b/Reports/2024/#314-2024.12.02.md index db6c217b..281e6387 100644 --- a/Reports/2024/#314-2024.12.02.md +++ b/Reports/2024/#314-2024.12.02.md @@ -5,23 +5,9 @@ 你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。 -## 新闻 - -> 行业相关的新闻、趣事、看法 - -##  Developer - 设计开发加速器 - -> 设计开发加速器相关活动 - -## 新手推荐 - -> 收集一些对新手友好且质量不错的文章 - ## 文章 -> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等 - -### 🐎 [AutoConsis:UI内容一致性智能检测](https://mp.weixin.qq.com/s/VwnnYnyo9sCDdUuG4Mu1kQ) +### 🐎 [AutoConsis:UI 内容一致性智能检测](https://mp.weixin.qq.com/s/VwnnYnyo9sCDdUuG4Mu1kQ) [@Damien](https://github.com/ZengyiMa):这篇文章介绍了美团技术团队与复旦大学计算机学院合作开发的 AutoConsis 系统,这是一个自动化智能检测流程,用于检测移动 App 中 UI 界面内容的一致性。该系统通过目标区域识别、目标信息提取和一致性校验三个关键步骤,实现了低成本、高泛化性和高置信度的 UI 内容一致性检测。AutoConsis 在美团 App 的多类营销业务场景中得到应用,有效提升了 UI 质量保障,并在 ICSE 2024 会议上发表了相关论文。 @@ -41,20 +27,16 @@ 对开发者而言,Writing Tools 已自动集成到 SwiftUI 的 Text、TextField 和 TextEditor 等原生组件中。开发者可以通过 writingToolsBehavior 修饰符来自定义写作工具的行为,还可以在 UIKit 中实现更灵活的控制。这套工具已无缝集成到 Mail、Messages、Notes 和 Safari 等 Apple 生态系统应用中,显著提升了在这些应用中的写作体验。 -### 🐎 [深入探讨C++多线程性能优化](https://mp.weixin.qq.com/s/18TujefnTj-17GuNgmYW-Q) - -[@老驴](https://weibo.com/u/6090610445):这篇来自腾讯技术工程的文章从实际案例出发,深入探讨了C++多线程编程中的性能优化问题,包括锁竞争、缓存一致性等难点,并通过详细的 benchmark 数据对比锁与原子操作的性能差异。此外,文章还介绍了如 Epoch Based Reclamation 等高级优化方法。无论是提升性能还是理解底层机制,这篇文章都值得一读。 - -### 🐕 [货拉拉iOS疑难Crash治理-系统键盘语音](https://juejin.cn/post/7396463744186515465) +### 🐕 [货拉拉 iOS 疑难 Crash 治理-系统键盘语音](https://juejin.cn/post/7396463744186515465) [@xiaofei86](https://github.com/xiaofei86):本文主要介绍了货拉拉解决系统键盘语音转文字崩溃的整个排查过程。通过崩溃类型、崩溃堆栈和偏移指令等信息,结合汇编指令调试,最终确定崩溃根本原因,并进行有效治理。感兴趣的同学可以阅读原文学习更多疑难崩溃的分析思路。 -### 🐢 [Google Deepmind LLM研究员解读OpenAI o1 及LLM+强化学习新范式 | 3小时播客全文精华](https://mp.weixin.qq.com/s/i019cHmumJIviyLCDPI3sA) +### 🐢 [Google Deepmind LLM 研究员解读 OpenAI o1 及 LLM+ 强化学习新范式 | 3 小时播客全文精华](https://mp.weixin.qq.com/s/i019cHmumJIviyLCDPI3sA) -[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章是对一个长达162分钟播客内容的深入解读,该播客深入探讨了 OpenAI 的 o1 模型及其与 LLM(大型语言模型)和强化学习(RL)结合的新范式。以下是播客内容的主要总结: +[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章是对一个长达 162 分钟播客内容的深入解读,该播客深入探讨了 OpenAI 的 o1 模型及其与 LLM(大型语言模型)和强化学习(RL)结合的新范式。以下是播客内容的主要总结: - 1. Agent 系统 - - 基础:推理能力是构建 agent 的基础,需解决AI间协作、竞争及任务分工。 + - 基础:推理能力是构建 agent 的基础,需解决 AI 间协作、竞争及任务分工。 - 工具使用:关键在于提升模型对工具功能的理解和调用能力。 - 构建要素:强大基础模型、高质量工具、优质 prompt 及学习使用工具的数据集。 - 数据收集:理想方式是将数据标注嵌入用户日常工作流程。 @@ -66,7 +48,7 @@ - 3. AI 反馈系统与 Human in the Loop - AI 优势:快速处理文本并总结,处理复杂评估任务有优势。 - - Human in the Loop:AI简化复杂问题,人类做最终判断,提升可扩展性。 + - Human in the Loop:AI 简化复杂问题,人类做最终判断,提升可扩展性。 - 4. Multi-Agent 与角色分类 - Multi-Agent:更像 multi-task,需角色分离,如 generator 和 critic。 @@ -93,23 +75,10 @@ ### 🐎 [Syntax Highlighting SwiftUI Code with Swift Syntax](https://sahandnayebaziz.org/blog/syntax-highlighting-swiftui-with-swift-syntax) -[@Kyle-Ye](https://github.com/Kyle-Ye): 作者总结了一些在使用 swift-syntax 时的经验和技巧,并最终在 DetailsPro 应用中实现了对 SwiftUI 代码实时更新的语法高亮显示功能。 - -### 🐕 [有意为之还是技术缺陷?SwiftUI 多层导航中的 onChange 异常 | 肘子的 Swift 记事本](https://fatbobman.com/zh/posts/the-anomaly-of-onchange-in-swiftui-multi-layer-navigation/) - -[@Barney](https://github.com/BarneyZhaoooo):本文探讨了 SwiftUI 中 `onChange` 的异常行为,特别是在多层导航的情况下。文章分析了在使用 `NavigationView` 和 `NavigationLink` 时,`onChange` 修饰符可能会出现的问题,尤其是当视图层级嵌套较多时。作者提供了几个实际示例,演示如何管理状态变化和确保 `onChange` 正常响应。同时,提供了一些最佳实践,以帮助开发者避免常见陷阱并提升应用性能和用户体验。 - -### 🐕 [Improving the approachability of data-race safety](https://github.com/hborla/swift-evolution/blob/approachable-concurrency-vision/visions/approachable-concurrency.md) -[@Smallfly](https://github.com/iostalks):这篇文章提出了 Swift 并发特性面临的易用性挑战,包括过多的显式注释、数据竞争误报和异步代码编写困难。文中提出了解决方案包括减少并发注释、调整异步函数语义以减少误报、提供同步和异步代码之间的桥接工具,以及自动迁移代码等。目的是为了让 Swift 并发更易学易用,同时保持高性能。推荐给对 Swift 并发特性演进感兴趣的同学阅读。 - -## 工具 - -> 开发过程中常用的工具,及一些新工具的介绍 +[@Kyle-Ye](https://github.com/Kyle-Ye): 作者总结了一些在使用 swift-syntax 时的经验和技巧 , 并最终在 DetailsPro 应用中实现了对 SwiftUI 代码实时更新的语法高亮显示功能。 ## 代码 -> 库,代码段,开源app - ### [SwiftUIFX](https://swiftpackageindex.com/finnvoor/SwiftUIFX) [@bq](https://github.com/bqlin):SwiftUIFX 是一个 Final Cut Pro 插件,用于直接将 SwiftUI 视图渲染到视频中。该插件提供了一个容器,打通了从 SwiftUI 到 Final Cut Pro 上屏渲染的链路。项目创造性地解决了几个问题: @@ -124,18 +93,6 @@ [@Cooper Chen](https://github.com/cjlcooper):`NSDockTilePlugIn` 是一个用于在 Mac 开发中用于应用未运行时自定义 Dock 图标的插件。通过实现这个插件,开发者可以在应用程序未启动的情况下修改其 Dock 图标,并提供自定义的 Dock 菜单。插件的名称通过应用的 `Info.plist` 文件进行指定,并在登录时或图标被添加到 Dock 时加载。插件可以通过实现 `setDockTile(_:)` 来定制图标,并通过 `dockMenu()` 提供自定义菜单选项。当图标不再有效时(例如应用被移除出 Dock),插件会接收到 `nil` 参数进行销毁操作,这个插件对于部分 Mac 开发用不错的借鉴价值。 -### [SwiftUI-experiments](https://github.com/mikelikesdesign/SwiftUI-experiments) - -[@DylanYang](https://github.com/Dylan19Yang):作者是一个爱好自己通过代码实现创意的设计师,他通过 SwiftUI 实现了不少有创意的交互设计,并且都提供了原型 Demo。独立开发者们如果希望尝试一些有特色的交互的话可以参考参考。 - -## 书 - -> 比较不错的书的推荐和书评 - -## 音视频 - -> 比较不错的书的推荐和书评 - ## 内推 重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考 diff --git a/Reports/2024/#315-2024.12.09.md b/Reports/2024/#315-2024.12.09.md new file mode 100644 index 00000000..f6612195 --- /dev/null +++ b/Reports/2024/#315-2024.12.09.md @@ -0,0 +1,76 @@ +# 老司机 iOS 周报 #315 | 2024-12-09 + +![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/315.jpg?raw=true) +老司机 iOS 周报,只为你呈现有价值的信息。 + +你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。 + +## 新闻 + +> 行业相关的新闻、趣事、看法 + +##  Developer - 设计开发加速器 + +> 设计开发加速器相关活动 + +## 新手推荐 + +> 收集一些对新手友好且质量不错的文章 + +## 文章 + +> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等 + +### 🐕 [有意为之还是技术缺陷?SwiftUI 多层导航中的 onChange 异常 | 肘子的 Swift 记事本](https://fatbobman.com/zh/posts/the-anomaly-of-onchange-in-swiftui-multi-layer-navigation/) + +[@Barney](https://github.com/BarneyZhaoooo):本文探讨了 SwiftUI 中 `onChange` 的异常行为,特别是在多层导航的情况下。文章分析了在使用 `NavigationView` 和 `NavigationLink` 时,`onChange` 修饰符可能会出现的问题,尤其是当视图层级嵌套较多时。作者提供了几个实际示例,演示如何管理状态变化和确保 `onChange` 正常响应。同时,提供了一些最佳实践,以帮助开发者避免常见陷阱并提升应用性能和用户体验。 + +### 🐕 [Improving the approachability of data-race safety](https://github.com/hborla/swift-evolution/blob/approachable-concurrency-vision/visions/approachable-concurrency.md) +[@Smallfly](https://github.com/iostalks):这篇文章提出了 Swift 并发特性面临的易用性挑战,包括过多的显式注释、数据竞争误报和异步代码编写困难。文中提出了解决方案包括减少并发注释、调整异步函数语义以减少误报、提供同步和异步代码之间的桥接工具,以及自动迁移代码等。目的是为了让 Swift 并发更易学易用,同时保持高性能。推荐给对 Swift 并发特性演进感兴趣的同学阅读。 + +### 🐎 [深入探讨 C++ 多线程性能优化](https://mp.weixin.qq.com/s/18TujefnTj-17GuNgmYW-Q) + +[@老驴](https://weibo.com/u/6090610445):这篇来自腾讯技术工程的文章从实际案例出发,深入探讨了 C++ 多线程编程中的性能优化问题,包括锁竞争、缓存一致性等难点,并通过详细的 benchmark 数据对比锁与原子操作的性能差异。此外,文章还介绍了如 Epoch Based Reclamation 等高级优化方法。无论是提升性能还是理解底层机制,这篇文章都值得一读。 + + +## 工具 + +> 开发过程中常用的工具,及一些新工具的介绍 + +## 代码 + +> 库,代码段,开源app + +### [SwiftUI-experiments](https://github.com/mikelikesdesign/SwiftUI-experiments) + +[@DylanYang](https://github.com/Dylan19Yang):作者是一个爱好自己通过代码实现创意的设计师,他通过 SwiftUI 实现了不少有创意的交互设计,并且都提供了原型 Demo。独立开发者们如果希望尝试一些有特色的交互的话可以参考参考。 + +## 书 + +> 比较不错的书的推荐和书评 + +## 音视频 + +> 比较不错的书的推荐和书评 + +## 内推 + +重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考 + +具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr) + +## 关注我们 + +我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。 + +**关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参** + +![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true) + +同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。 + +## 说明 + +🚧 表示需某工具,🌟 表示编辑推荐 + +预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins) diff --git a/assets/weekly-header/315.jpg b/assets/weekly-header/315.jpg new file mode 100644 index 00000000..2f4e3b3d Binary files /dev/null and b/assets/weekly-header/315.jpg differ diff --git a/assets/weekly-header/316.jpg b/assets/weekly-header/316.jpg new file mode 100644 index 00000000..d5b89b77 Binary files /dev/null and b/assets/weekly-header/316.jpg differ diff --git a/assets/weekly-header/317.jpg b/assets/weekly-header/317.jpg new file mode 100644 index 00000000..45fa6c55 Binary files /dev/null and b/assets/weekly-header/317.jpg differ diff --git a/assets/weekly-header/318.jpg b/assets/weekly-header/318.jpg new file mode 100644 index 00000000..ee4c5b4a Binary files /dev/null and b/assets/weekly-header/318.jpg differ