
了解 JavaScript 中的事件传播:冒泡与捕获详解
了解 JavaScript 中的事件传播对于创建交互式和响应式网络应用程序至关重要。事件冒泡和捕获是决定事件如何遍历 DOM 层次结构的两种机制。通过有效利用这些概念,开发人员可以构建更健壮、更易维护的代码库。

简述异步 Rust 编程
并发执行在编程世界中并不新鲜。而且,异步编程已经存在了一段时间,你可能在 JavaScript 或 C# 中见过类似的东西。但在 Rust 中,乍一看可能很相似,但仔细观察就会发现有所不同。

Safari 17.4:一个 HTML 新原生开关(Switch)控件
开关是移动平台和各种用户界面框架中的常用控件,但直到现在它们还没有内置到网络平台中。看到这种控件的广泛需求,我们决定改变这种状况。

如何居中一个 Div–CSS 居中技术终极指南
在过去,元素居中是 CSS 中最棘手的事情之一。随着 CSS 语言的发展,我们有了很多新工具可以使用……但我们该如何选择最佳方案呢?何时使用 Flexbox、CSS Grid 或其他工具?让我们一探究竟。

如今,是否有充分的理由在新项目中使用 C++ 而非 Rust ?
我不希望这变成一场语言大战。我的问题是出于善意,而且我确实想从在这里发表评论的人们那里汲取智慧。使用 Rust 的时间比我长得多的人可以提供我可能不知道的宝贵见解。因此,为了避免 “火焰战争”,请允许我尽可能具体地说明这个问题:

HTMX 与 React:全面对比
在 HTMX 与 React 这篇文章中,您了解了 HTMX 是什么、它如何工作以及它如何与 React 竞争。HTMX 可实现现代 HTML 交互性,而不会像成熟的 Web 框架那样复杂。虽然 HTMX 前景光明,但它并不是来取代 React 的

Rust 和 C 语言速度比较
Rust 最大的潜力在于,它能无畏地将大部分 Rust 代码并行化,即使同等的 C 代码并行化风险太大。在这方面,Rust 是一种比 C 语言成熟得多的语言。

使用 SELECT 可以做的酷事
我在工作中经常使用 SQL。有些查询相当庞大(多达数百行),而且运行时间很长。如果查询有问题,就很难对其进行分解和调试。有一种方法一直很有用,那就是使用 SELECT 本身。

选择正确的框架:React Native vs. Swift vs. Kotlin vs. Flutter
本文提供了 React Native、Swift、Kotlin 和 Flutter 的简单指南,帮助您了解开发移动应用的各种选择。关注项目目标、时间表和预算。对于大多数应用程序来说,React Native 和 Flutter 等跨平台选项能提供最佳平衡

互动式指导开发 SVG 加载旋转器
通过本分步开发,学习创建一个很酷的 SVG 加载旋转器。我们将使用 stroke-dasharray 和 stroke-dashoffset 等属性来简化操作

如何进行有效的代码审查
当您查看代码时,90% 的改动都是合理的,与 git 提交信息中的描述完全一致,但可能有一些代码行的改动您不理解。请询问提交者。也许是错误地包含了这些代码,或者是出于某种不明显的原因。应该在代码旁边加上注释,或修改变更说明。

使用 Rsync 和 Unison 同步保持远程目录的最新更新状态
Rsync 和 Unison 都是同步不同电脑上目录的不错选择。如果只需单向复制文件,请使用 Rsync。如果需要双向复制文件,则使用 Unison。

linux cat 的妙用
很多人都习惯性地称这是 cat 的无用用法,因为 head 可以将文件名作为参数,我们不需要额外的管道和 cat 命令。事实上,几乎所有命令都可以直接使用文件名,只有当我们想连接文件内容时才真正需要 cat。

utf8_unicode_ci 和 utf8mb4_unicode_ci 之间有什么区别?
在 mysql 中,utf8mb4_unicode_ci 和 utf8_unicode_ci 数据库文本编码有什么区别(尤其是在性能方面)?utf8mb4_unicode_ci 和 utf8mb4_unicode_ci 之间有类似的区别吗?

如何使用 Docker 容器实施互操作 TLS
对于生产用例来说,服务网格是一种开箱即用 mTLS 的好方法,但在采用服务网格之前,你可能会好奇两个 docker 容器之间的 mTLS 如何简单实现。

在版本控制方面,我们能做得比 Git 更好吗?
你认为有可能做出比 Git 更好的版本控制系统吗?还是说问题已经解决,Git 就是版本控制系统的终结者?

C 语言编程中两个方便的 GDB 断点技巧
在过去的几个月里,我发现了几个使用 GDB 断点的小窍门。这些都是我自己想出来的,而且我也没有在其他地方看到过对它们的讨论,所以我真的应该与大家分享一下。

CMOS逆向工程:苏联老式计数器芯片为例
我最近发现了一张有趣的苏联 1 芯片裸片照片,该芯片可能设计于 20 世纪 70 年代。本文以该芯片为例,介绍 CMOS 电路逆向工程的入门指南

AVIF 与 WebP:四个主要区别以及如何选择图片格式
在比较 AVIF 和 WebP 时,必须考虑每种格式的具体使用情况。AVIF 尤其适用于高质量图像(如照片),其先进的压缩技术和更高的色彩深度支持可带来更准确的色彩和更好的细节。

现代图像格式:AVIF 与 WebP
AVIF 和 WebP 是突破性的图像格式,它们源于优化网络性能的需要。AVIF 诞生于 AV1 视频编解码器,具有出色的压缩能力和质量,尤其适用于高保真图像。

Go 1.22 中的新功能:slices.Concat
事实上,我早在 2021 年 5 月就提出了这个建议。在随后关于在切片软件包中添加什么功能的讨论中,这个建议被轻易否决了

Go语言中的客户端分页(range-over 函数版)
Go 1.22 实验版在允许在一个函数上进行迭代,有鉴于此,我想重温一下我在 2022 年写的关于使用泛型迭代器进行客户端分页的笔记,并了解 range-over 函数如何帮助完成这项任务。

获取展示 Python 模块中所有使用过的类、方法和函数
这个小工具利用 sys.settrace(和一些字符串处理)的强大功能来查找模块使用的类、方法和函数以及调用树。在试图掌握模块的内部结构和自己的应用程序代码中转使用的模块实体时,该工具非常有用。

CSS 媒体查询支持 Scripting
Chrome 浏览器 120 已于上周发布,在这个版本中,我们获得了用于脚本支持的 CSS 媒体查询(media query)。简单地说,这个媒体查询允许你测试脚本语言是否可用,并根据支持情况调整页面内容和样式。