
Rust 中的奇怪表达式
Rust 拥有非常强大的类型系统,但因此也存在一些怪癖,有些人甚至称其为“可恶的表达式”。rust 存储库中有一个测试文件 weird-expr.rs,用于测试其中的一些表达式,并确保它们在更新之间保持一致。因此,我想逐一介绍这些表达式,并解释它们在 rust 中是如何有效的。

为什么 Rust 编译器这么慢?
异步函数的深度调用图的编译时间需要改进——可能是 LLVM 存在一个容易触发的特殊边界情况,而 rustc 生成的代码恰好触发了它,或者可能是其他语言中未充分利用的糟糕启发式算法。

谷歌浏览器将提供内置翻译和语言检测 API
翻译和语言检测 API 提供基于异步 (Promise 的机制,使网站能够通过浏览器内部的 AI 模型检测语言并翻译文本。这非常实用且高效,因为浏览器会处理该服务,而非开发者需要依赖用户下载 AI 模型,或托管或支付基于云的翻译服务。本文将解释如何使用这些 API。

使用 CSS 实现缩放动画:变换顺序很重要……有时
当你动画化 scale 时,目标的宽度和高度会在整个动画过程中线性变化(尽管,如前所述,可以应用缓动效果)。这感觉类似于相机缩放效果

Linux 管道的速度到底有多快?
我们通过分析 perf 输出和 Linux 源代码,系统性地提升了程序的性能。管道和拼接在高性能编程中并非热门话题,但我们涉及的主题包括:零拷贝操作、环形缓冲区、分页与虚拟内存、同步开销。

没错,没人关心 Linux 上的使用友好性
我从未想过我会因为这件事感到如此愤怒,以至于要写一篇标题带有噱头性质的文章。这同时令人沮丧、毫无生产力且令人愤怒。我写这篇文章时完全清楚自己本可以专注于GNOME的无障碍性工作

Kubernetes 2.0 将会是什么样子
HCL已经是Terraform的格式,所以至少我们只需要讨厌一种配置语言,而不是两种。它具有强类型和显式类型。已经有了良好的验证机制。它专门设计用于完成我们要求YAML完成的任务,而且阅读起来并不困难

每位开发者都应尝试 Vim
学习Vim不仅仅是选择一个新的编辑器,更是改变你与代码互动的方式。我认为每位开发者都应该尝试一下Vim,看看它是否适合自己。如果你坚持下去,Vim会让你获得一种难以言喻的控制感和流畅性,直到你亲身体验才会明白。

HTML 规范变更:对属性中的 < 和 > 进行转义
此更改仅修改了在序列化过程中将 HTML 片段转换回字符串表示的方式。影响仅限于访问 innerHTML 或 outerHTML 属性或对元素调用 getHTML() 方法的情况。这些操作会采用现有的 DOM 结构,并生成文本 HTML 表示法。

Android 公共 API 中的笑话与幽默
这次要讨论的是 Android 公共 API 中的一些方法和其他部分,它们可能比实际有用性更具幽默感。无论是彩蛋、笑话,还是其他任何名称,这些内容都是面向 Android 应用开发者而非普通用户的。

如何修改Starlink Mini以在不使用内置WiFi路由器的情况下运行
本文将详细介绍如何物理移除 Starlink Mini 中的内置 Wi-Fi 路由器板,使终端仅通过以太网运行,从而为高级用户提供更大的灵活性。请注意,此修改仅适用于Starlink Mini 1(截至2025年6月14日)。未来型号(如预期中的Mini 2)的硬件变更可能使此过程失效。

在字符串中检测元音的最快方法
但当我开始深入研究时,我意识到这背后还有更多内容。我挑战自己想出尽可能多的检测元音的方法。我还让几位朋友尝试了一下。哪种方法最快?哪种方法绝不能使用?哪种方法最巧妙?哪种方法最易读?这篇文章涉及11种不同的检测元音的方法,包括算法分析、解析Python字节码、检查CPython实现,甚至查看编译后的正则表达式操作码。让我们开始吧。

Python 正在逐步移除 GIL,这对 Python 开发者意味着什么
鉴于无 GIL Python 预计将于 2028 年左右成为默认版本,而当前的无 GIL Python 3.13 仅为实验性构建,我们目前不应在生产环境中使用无 GIL Python。因为仍存在许多不确定性——包括兼容性、稳定性和生态系统采用率。它需要时间来完善。但我们确实应该密切关注无GIL Python的发展。它已经发生了,而且非常令人兴奋!

日志分析工具 GoAccess 配置详细教程
GoAccess是一个网络日志分析工具,它允许你可视化网站的流量,并更深入地了解访客信息:访客数量、页面访问量、访客来源(地理位置、操作系统、浏览器等)。它通过解析网页服务器的访问日志实现这些功能,无论是Apache、NGINX还是其他服务器均适用。

用一个奇招检测并让Chromium机器人爬虫崩溃(机器人爬虫讨厌这个!)
享受这个漏洞吧。把它留在你的工具箱里。在测试环境中让机器人崩溃时笑一笑。但也许不要在生产环境中部署它。尤其是当Googlebot能看到它的时候。

Rust 比 C 更快吗?
假设我们有一个初级开发人员在写 Rust,也在写 C,做的是同一个任务。我们会在其中一种语言中获得更快的代码吗?这控制了能力,但控制不了相同的代码。这是“相同”的吗?

SVG 网站图标(favicon)的实际应用
我们有充分理由关注SVG Favicon:暗色模式支持。暗色模式近期备受关注。您可能已为自己的网站实现了暗色模式。这对图标意味着什么?这意味着根据浏览器标签页背景亮度显示不同Favicon的能力。

对 Rust 10 年的押注以及我对未来的期待
2015年6月,Rust 1.0登陆的喧嚣一个月后,我写下了第一行Rust代码。我来自 C、Python 和 JavaScript,从此一发不可收拾。两家基于 Rust 的初创公司和 50 万行 Rust 代码之后,我在此对这一里程碑进行了一些反思。

关于 JavaScript “工作证明(proof of work) “防抓取系统的思考
人们越来越多地使用基于 JavaScript 的“工作证明”系统来应对激进的大语言模型 (LLM) 和其他网络抓取器的问题,在这种系统中,您的网络服务器要求访问客户端运行一些 JavaScript 来解决挑战

为什么 2025/05/28 和 2025-05-28 在 JavaScript 中是不同的日子?
,JavaScript Temporal 即将推出:一套新的日期和时间 API,旨在取代 Date 对象。我们最初的整个日期解析问题源于时区歧义,但在很多情况下,我们希望将纯日期字符串完全视为纯日期。

ChatGPT 是一种噱头
人工智能的辩护者们必须否认或至少避免这种失望。他们坚持认为,人工智能技术进步的时间尺度正在缩短–人工通用智能将在十年后出现;不,是五年后;不,我们只需要几个月的时间–即使他们恳求怀疑论者给这项技术一个机会,因为现在还为时尚早。

为什么 Debian 会变成这样?
Debian 是一个复杂的大型操作系统,也是一个庞大的开源项目。它已经有 30 年的历史了。对许多人来说,它的某些方面很奇怪。大多数这样的事情都是有原因的,但很难找到原因是什么。本文试图回答一些这样的问题,但并不详细介绍这个项目的历史。

RockyLinux 在 RL10 中正式支持 RISC-V!
从 x86_64 到 Arm,从 PowerPC 到 S390X,再到现在的 RISC-V,Rocky Linux 10 代表着我们向真正开放的跨架构生态系统迈出的最大一步。

在 Rust 中写入未初始化的缓冲区
Rust 中的非初始化缓冲区是一个由来已久的问题, John Nunley and Alex Saveau 想到了一种新方法,使用 Buffer Trait,现在已经出现在 rustix 1.0 中,我将在这篇文章中介绍。

Git bisect:开发者工具包中被低估的调试工具
git bisect 能将你的错误查找变成有指导的调查。一旦你开始使用它,你会惊叹没有它你是怎么调试的。下次再有什么神秘的问题时,不要惊慌–bisect it。

英伟达技术的曙光
当时视频游戏行业中只有世嘉公司使用了四边形贴片。当我们在 Comdex 上推出 NV1 时,我们能够在 PC 上以全帧率运行世嘉街机游戏,如 Virtua Fighter,这在业内尚属首次。原因是 NV1 使用了四元补丁,从而更好地利用了有限的 PCI 总线带宽。

contrast-color():在 CSS 中让浏览器给出对比色
虽然例子都是在彩色背景上显示黑/白色文字,但contrast-color()的用途远不止于此。你可以为文字使用自定义颜色,并将背景设为黑/白色。或者完全不涉及文字,为边框、背景等定义颜色。你可以做很多事情。

每个开发人员最需要的三种重构
Extract Method、Rename Variable/Method/Class 和 Extract Variable 并不是工具箱中唯一的重构工具,但却是最有用的工具。它们带来的好处最多。 如果让我只选择一个,我会选择 Extract Method,因为它能最有力地抵御方法庞杂这一常见问题(诱惑?

JavaScript 的新超能力:显式资源管理
显式资源管理提案引入了一种确定性方法,用于显式管理文件句柄、网络连接等资源的生命周期。该提案为语言增加了以下内容:using 和 await using 声明,当资源退出作用域时会自动调用处置方法;[Symbol.dispose]() 和 [Symbol.asyncDispose]() 符号,用于清理操作。asyncDispose]() 符号;

内核开发人员玩转 Home Assistant:总体印象
我们可以清楚地看到 Home Assistant 为何拥有越来越多的拥趸。它是一个开放的平台,能为行业带来控制权,而这个行业正竭尽全力牢牢掌控着我们的家庭和它们所创造的数据。

掌握 Python 3.8+ 中的海象操作符 (:=)
海象运算符并不是为了写出更短的代码,而是为了在适当使用时写出更清晰、更高效的代码。它在循环、综合和条件中特别有用,消除冗余既能提高性能,又能提高可读性。