探讨如何在 Rust 中将异步函数 (async fn) 存储到 HashMap 中。详细解析了使用特征对象 (dyn), Future, Send, Sync, Pin 等概念时遇到的挑战和编译错误。通过实际代码示例,展示了手动解决这些问题的方法,并介绍了如何利用 async_trait crate 简化流程。主要涉及 Rust 异步编程和动态分发。
介绍如何在 Cloudflare Workers Rust 中使用异步代码(Future)。由于 Cloudflare Workers 的 wasm 环境限制,tokio 库无法直接使用。重点讲解如何使用 futures crate 的 join! 和 join_all 实现并发,以及如何使用 buffer_unordered 限制并发数。
使用 Incus 在拥有整段/64 的 IPv6 的 Ubuntu 主机上开虚拟机(Container、容器),配置虚拟网卡的 IPv6 地址分发,让虚拟机和主机能够使用独立的 IPv6 地址。原理与之前介绍的 Proxmox VE 上配置的相同。
在完全搞懂 TLS 证书原理的基础上,使用 step cli 这个比 OpenSSL 更加人性化的证书工具模拟 CA 生成、中间证书生成、叶子证书密钥对生成和 CSR 生成、证书签发、证书链打包和证书验证的全过程,帮助你进一步熟悉 TLS 证书的运作流程。
在逆向 JavaScript 写爬虫的过程中可能会遇到一些不太容易推演其加密算法的场合,这时如果满足一定条件(例如加密相关的函数是直接暴露在顶层 window 或 document 对象中),可以尝试直接用 JavaScript 写爬虫,把代码注入到浏览器中,这样就可以用我们自己的 JavaScript 调网站上加密相关的函数。
今天发现 Go 的正则表达式 regexp 库在 CRLF 上是不工作的,为了这个问题调试了好久,特此记录。
详细解析了在使用 Rclone、rsync 和 Docker COPY/ADD命令时,路径末尾是否添加斜杠(`/`)对文件复制和同步行为的影响。通过多个示例,文章展示了不同工具在处理文件夹到文件夹、文件到文件夹、文件到文件等场景时的差异。总结要点包括:Rclone 对斜杠不敏感,rsync 斜杠影响源路径行为,而 Docker COPY/ADD 斜杠决定目标路径是文件还是文件夹。
介绍了通过 userChrome.css 自定义 Firefox 浏览器界面的方法,特别是实现垂直标签栏。回顾了 Firefox 与 Chrome 的比较,探讨了 Tree Style Tab 插件的使用,并详细说明了如何创建和编辑 userChrome.css 文件以隐藏原生标签栏,提升用户体验。还提及了原生标签栏设置及 CSS 定制标签栏外观的代码示例。
提供了一个详细的指南,解释了如何在 Windows 操作系统中设置和使用键盘语言和输入法。介绍了两种方法来优化键盘语言切换的过程:一种是通过删除不常用的键盘语言来简化切换过程,另一种是使用 AutoHotKey 脚本来覆写 Windows+Space 快捷键,从而实现在两种常用键盘语言之间快速切换。
PVE 的配置,包括三个网卡(一个处理独立 IPv4,一个处理 NAT4 和 NAT6,一个处理独立 IPv6),适合有一个独立 IPv4 和一个子网 IPv6 的机器。文章详细解析了/etc/network/interfaces 网络配置文件中的各个参数和网卡的作用,适合有一定网络知识和 Proxmox VE 使用经验的读者阅读。