All Posts

SIL(Swift Intermediate Language) 入门

什么是 SIL

An Introduction to HDR Video 学习笔记

本文整理了 Apple Developer 中一个 6 分钟的 Tech-Talk 《An Introduction to HDR Video》 所涉及的知识点。

在 Swift 里安全管理指针

WWDC20 Session 10167 - Safely manage pointers in Swift 在 Swift 中,我们通过 Unsafe 前缀来标识那些输入后可能发生未定义行为的操作,详情可以回顾 WWDC20 - Unsafe Swift。而本文则会更深入地探讨在非安全范围内编写 Swift 的一些细节,日常开发中比较少接触到的部分。 想要更安全地管理指针,意味着需要了解各种导致不安全的方式。指针的安全性可以分为不同级别来讨论,越往底层,程序员越需要为代码的正确性负责。所以日常开发中建议尽量使用顶层的 API 编写代码。

了解 Swift 中的数值计算

WWDC20 Session 10217 - Explore numerical computing in Swift Swift Numerics Numerics 是一个 Apple 开源的 Swift 包,通过范型约束,提供更简单的方式,来使用所有标准库里的浮点型进行数值计算。

浅谈 WebRTC NetEQ

WebRTC Native 代码里面有很多值得学习的宝藏,其中一个就是 WebRTC 的 NetEQ 模块。根据 WebRTC 术语表 对 NetEQ 的解释: A dynamic jitter buffer and error concealment algorithm used for concealing the negative effects of network jitter and packet loss. Keeps latency as low as possible while maintaining the highest voice quality. 一种动态抖动缓冲区和错误隐藏(丢包补偿)算法,用于去除网络抖动和数据包丢失的负面影响。在保持最高语音质量的同时,保持尽可能低的延迟。 NetEQ 其实就是音视频处理中的 Jitter Buffer 模块,在 WebRTC 的语音引擎中使用。这个模块很重要,会影响播放时的体验,同时也相当复杂。 本文源码参考 WebRTC Native M78 版本。

如何假装写过 Swift

总结了笔者日常使用 Swift 的一些小 Tips。