Skip to content

Commit

Permalink
refactor: 284 期发布前整理
Browse files Browse the repository at this point in the history
  • Loading branch information
ChengzhiHuang committed Apr 7, 2024
1 parent f669ae1 commit c686648
Showing 1 changed file with 8 additions and 37 deletions.
45 changes: 8 additions & 37 deletions Reports/2024/#284-2024.04.08.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,8 @@

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## 新闻

> 行业相关的新闻、趣事、看法
##  Developer - 设计开发加速器

> 设计开发加速器相关活动
## 新手推荐

> 收集一些对新手友好且质量不错的文章
## 文章

> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
### 🐎 [Generate and read analytics reports from the App Store Connect API](https://www.polpiella.dev/analytics-reports-api-app-store-connect)

[@Smallfly](https://github.com/iostalks):这篇文章介绍了苹果公司最近推出的 50 多种新的分析报告,这些报告包括应用商店参与度、应用商店商务、应用使用情况、框架使用情况和性能等方面的数据。虽然这些新数据提供了很多洞察力,非常有价值,但它们仅通过 App Store Connect API 独家提供,而且获取数据的方式并不直观。文章中介绍了如何使用 App Store Connect Swift SDK 来访问这些新的指标。如果对该方式感兴趣,值得一读。
Expand All @@ -34,48 +20,33 @@

同时应当牢记隔离状态是一个编译时的声明,运行时的状态并不重要,即使一段代码在运行时只会跑在主线程上也不代表它是一段主线程隔离(MainActor-isolated)的代码。

本文在书写过程中假设读者已经对 swift 并发的基础概念((Actor、Task等))有了一些了解,建议未接触过 swift 并发的读者可以简单了解下这几个概念后再阅读此文。
本文在书写过程中假设读者已经对 swift 并发的基础概念((Actor、Task 等))有了一些了解,建议未接触过 swift 并发的读者可以简单了解下这几个概念后再阅读此文。

### 🐢 [Near real-time UI code generation on iPad](https://otaku.codes/uni/dissertation/dissertation.pdf)

[@BluesJiang](https://github.com/BluesJiang):本论文展示了如何利用 YOLO 模型实现从草图到 SwiftUI 代码的流程。详细说明了从数据收集处理、模型训练以及利用 CoreML 实现单机完成部署投放。这里利用 iPad 强大的绘画、机器学习、SwiftPlayground 的能力,可以充分的展示这种可能性。具体展示的效果可以查看 [Demo 视频](https://www.youtube.com/watch?v=SKGdZ3H9eyY)。这篇论文很好的展示了机器学习实践的完整流程,值得学习。
[@BluesJiang](https://github.com/BluesJiang): 本论文展示了如何利用 YOLO 模型实现从草图到 SwiftUI 代码的流程。详细说明了从数据收集处理、模型训练以及利用 CoreML 实现单机完成部署投放。这里利用 iPad 强大的绘画、机器学习、SwiftPlayground 的能力,可以充分的展示这种可能性。具体展示的效果可以查看 [Demo 视频](https://www.youtube.com/watch?v=SKGdZ3H9eyY)。这篇论文很好的展示了机器学习实践的完整流程,值得学习。

### [理解 C++ 的六种 Memory Order](https://lancern.xyz/2021/07/07/cpp-memory-order/)

[@老驴](https://weibo.com/u/6090610445)本文详细介绍了C++11中引入的六种内存顺序(memory order)的概念,目的是解决多线程环境下的数据一致性和可见性问题。内存顺序包括:
[@老驴](https://weibo.com/u/6090610445)本文详细介绍了 C++11 中引入的六种内存顺序(memory order)的概念,目的是解决多线程环境下的数据一致性和可见性问题。内存顺序包括:

Relaxed:不保证顺序性的最宽松内存顺序。
Consume:保证读操作能看到数据依赖的写操作。
Acquire:确保读操作可以看到在相应release操作之前的所有写操作
Acquire:确保读操作可以看到在相应 release 操作之前的所有写操作
Release:确保写操作之前的所有操作对其他线程可见。
Acquire-Release:同时包含acquire和release语义
Acquire-Release:同时包含 acquire 和 release 语义
Sequential Consistent:所有线程看到一致顺序操作的最严格内存顺序。

想要了解 C++ 内存的话,值得一读。

### 🐕 [Using @_silgen_name to forward declare functions in Swift and improve build times](https://swiftrocks.com/using-silgenname-to-call-private-swift-code)

[@Cooper Chen](https://github.com/cjlcooper):文章介绍了使用 `@_silgen_name` 属性在Swift中前向声明函数以及改善构建时间的方法。作者强调了谨慎使用这一技巧的重要性,并解释了其工作原理和潜在风险。通过示例和技术细节,文章展示了如何使用该属性来提高Swift应用程序的构建效率,尽管牺牲了一些类型安全性。最后,作者呼吁Swift支持更多类似的功能,以满足开发者对更多控制和灵活性的需求。这对于需要提升 Swfift 编译速度相关内容的开发者有一定的参考价值。

### 🐕 [Using @_silgen_name to forward declare functions in Swift and improve build times](https://swiftrocks.com/using-silgenname-to-call-private-swift-code)

[@Cooper Chen](https://github.com/cjlcooper):这篇文章介绍了如何使用LLDB调试器去除调试第三方应用时的随机性。通过一个示例程序,演示了生成随机数据并打印出来的过程。文章重点在于展示如何通过设置LLDB断点和特定命令,强制randomData函数返回固定长度和内容的数据,从而消除随机性。作者分步骤说明了如何先返回固定大小的数据,然后是动态大小但固定数据,最终是动态大小且看似随机但实际一致的数据。这一技巧在需要调试包含随机元素的程序时非常有用,能够提高调试的效率和准确性。

## 工具

> 开发过程中常用的工具,及一些新工具的介绍
## 代码

> 库,代码段,开源app
##
[@Cooper Chen](https://github.com/cjlcooper):文章介绍了使用 `@_silgen_name` 属性在 Swift 中前向声明函数以及改善构建时间的方法。作者强调了谨慎使用这一技巧的重要性,并解释了其工作原理和潜在风险。通过示例和技术细节,文章展示了如何使用该属性来提高 Swift 应用程序的构建效率,尽管牺牲了一些类型安全性。最后,作者呼吁 Swift 支持更多类似的功能,以满足开发者对更多控制和灵活性的需求。这对于需要提升 Swfift 编译速度相关内容的开发者有一定的参考价值。

> 比较不错的书的推荐和书评
### 🐕 [lldb remove randomness](https://bryce.co/lldb-remove-randomness/)

## 音视频
[@极速男孩](https://github.com/ztlyyznf001):这篇文章介绍了如何使用 LLDB 调试器去除调试第三方应用时的随机性。通过一个示例程序,演示了生成随机数据并打印出来的过程。文章重点在于展示如何通过设置 LLDB 断点和特定命令,强制 randomData 函数返回固定长度和内容的数据,从而消除随机性。作者分步骤说明了如何先返回固定大小的数据,然后是动态大小但固定数据,最终是动态大小且看似随机但实际一致的数据。这一技巧在需要调试包含随机元素的程序时非常有用,能够提高调试的效率和准确性。

> 比较不错的书的推荐和书评

## 内推

Expand Down

0 comments on commit c686648

Please sign in to comment.