摸鱼精选第 22 期
1. 8K HDR!|为 Chromium 实现 HEVC 硬解 - 原理/实测指南
本文简述了 Web 解码方案现状,介绍了作者为 Chromium 浏览器实现 & 完善硬解过程中遇到的问题和实现原理,并在文末附加了测试结果。
2. 这一年,我对终端组织与技术架构的思考【专家讲技术】
本文作者是咸鱼技术团队的主要负责人宗心。
本文仅以个人观点阐述未来的端研发趋势和人才岗位结构趋势的要求,进而引出闲鱼技术团队今天要做的事情,闲 鱼技术团队作为集团创新产品的先头兵,一方面希望通过持续的技术革新为业务带来核心竞争力,另一方面也希望为集团开拓新的技术领域从而引领新的技术风潮,通过技术带来长期的效能红利。
3. clean-code-typescript
Clean code ,代码规范。
扩展阅读:clean-code-javascript。
4. React & Redux in TypeScript - Complete Guide
用 ts 写 React 和 Redux 的教程, React 加上类型之后,很多概念和模式需要变化一下,尤其是函数式的编程模式。
5. StateObject 与 ObservedObject
StateObject 在 SwiftUI 2.0 才发布。
StateObject 和 ObservedObject 两者都是用来订阅可观察对象( 符合 ObservableObject 协议的引用类型 )的属性包装器。当被订阅的可观察对象通过内置的 Publisher 发送数据时( 通过 @Published 或直接调用其 objectWillChange.send 方法 ),StateObject 和 ObservedObject 会驱动其所属的视图进行更新。
ObservedObject 在视图的存续期间只保存了订阅关系,而 StateObject 除了保存了订阅关系外还保持了对可观察对象的强引用。
基于 Swift 的 ARC( 自动引用计数 )机制,StateObject 保证了可观察对象的生存期必定不小于视图的存续期,从而确保了在视图的存续期内数据的稳定。
而由于 ObservedObject 只保存了订阅关系,一旦被订阅的可观察对象的生存期小于视图的存续期,视图会出现各种不可控的表现。
6. C++ 20 协程总结
7. Rust 语言之旅
交互式学习 Rust 基础的免费在线教程