Skip to content
Calvin's Blog

摸鱼精选第 25 期

Dec 15, 2022 — Reading
关键字放在变量前放在 static/thread_local 前放在函数前常量表达式前
const可以可以成员函数有时可以
constexpr可以 (初始化得是 constexpr 的)可以必须是满足 constexpr 属性的函数可以
consteval不行不行满足 consteval 的函数接受返回值,可以
constinit不行必须常量初始化不行不行

又一个 Rust 开源教程。截至目前,Rust 语言圣经已写了 170 余章,110 余万字,历经 800 多个小时。

QT 官方开源的 QML 教程,这个教程是一个简单的 QML 开发教程,每个章节都有一个 QML 开发的练习。 Github: https://github.com/qmlbook/qt6book (opens in a new window)

另外还有官方的 QT for Python: QtPySide6 (opens in a new window)

一个交互式学习 Flexbox 的教程。

如果对 Linux 进程想了解一下的话,可以看看进程这一章节。当然更好的教程还是《Unix 环境编程》。

不同于传统 Shell 书籍,本书并未花大篇幅去介绍 Shell 语法,而是以面向“对象” 的方式引入大量的实例介绍 Shell 日常操作,“对象” 涵盖数值、逻辑值、字符串、文件、进程、文件系统等。这样有助于学以致用,并在用的过程中提高兴趣。也可以作为 Shell 编程索引,在需要的时候随时检索。

Axel Rauschmayer 博士,非常有名 Web、JS 专家,写了很多免费的 js、ts、node 的书。 他的其他免费书籍:

函数式编程有很多术语,这个仓库收集这些术语,一一配上 JavaScript 示例,给予解释。它是英文版的,但是有中译 (opens in a new window)

Metal 是 Apple 推出的一个和 OpenGL ES 类似的面向底层的图形开发套件,通过使用相关的接口可以直接操作 GPU,本专栏是基于 Metal 技术的系列文章,囊括了很多 Metal 实战相关的技术文章,并且更新频率较高,对 Metal 相关领域感兴趣的同学不妨收藏阅读。

本文作者基于开源 Hook 框架 Frida-gum 提供的 API,利用 C++ 模板进行封装,编写了一个可跨平台的(MacOS、Linux、Windows、Android、iOS 等) mock 工具。作者先结合代码介绍了该工具的主要功能(函数替换,mock 函数的调用次数,函数的回滚操作等等),然后再结合代码来讲解如何使用该工具来实现这些功能。

一篇 19 年的英文老文的中文翻译,主要讲述了为什么要关注 eBPF,为什么 eBPF 如此强大,以及 Cilium 在 eBPF 之上做的一系列封装,介绍数据包是如何穿过 network datapath(网络数据路径)的:包括从硬件到内核,再到用户空间。

一些常用的编译优化的方案:

代码优化方案:

狐友 iOS 技术团队深度使用了 SwiftPM,在实际项目中全面替代曾经长期使用的 CocoaPods;本文将详细介绍狐友团队在引入 SwiftPM 进行工程实践中,探索和累积的相关知识和实践经验,我们将从结构设计、资源处理、链接方式的选择、编译与链接参数设置、异常处理,这五个方面展开详细介绍,每个小部分结尾都提供了最佳实践的总结;希望能够帮助其他想要尝试 SwiftPM 的开发者顺利过渡。

本文面向了解 SwiftPM 基本知识,但是没有深度使用的开发者;如果你还不了解 SwiftPM,建议首先阅读 WWDC 相关视频。

  1. 使用多线程和网卡多队列绑核的特性能够显著得提高服务器性能;
  2. 使用 linux recvmmsg 和 sendmmsg API 可以有效的降低 CPU 负载,批量收取的消息量 vlen 需要根据各个业务的实际情况去设置,并且加上合理的超时时间,这样才能发挥 recvmmsg 的最大功效;
  3. rust 是一门性能非常优秀,开发工具完善,语法设计十分优雅的语言,值得投入。

最小的 React TypeScript 速成课 — Johannes 深信学习 TypeScript 是很好的利用时间的方式,他把它归结为基础知识,并辅以互动练习来帮助你坚持下去。