JavaScript 注释的奇特历史:为什么`<!--`和`-->`也能注释代码?

2025-03-12

这篇文章揭秘了 JavaScript 中 `` 作为注释符的奇特历史。最初,为了兼容旧版浏览器,开发者会在 `` 标签内使用 HTML 注释包裹 JavaScript 代码。令人意外的是,现代浏览器仍然支持这种语法,这源于浏览器兼容性的历史包袱和标准化委员会对“不破坏网络”的承诺。文章解释了这种语法如何工作,以及为什么 `-->` 只能出现在行首。

阅读更多
开发

软件工程中的控制层级:从生产事故中吸取教训

2025-03-08

一位机械工程师向作者介绍了控制层级(HoC)的概念,这在工作场所安全中至关重要。作者将HoC应用于软件工程,以分析自己十年前因错误操作导致的生产数据库故障。文章探讨了在软件开发中如何应用消除、替代、工程控制、管理控制和个人防护装备(PPE)等不同层级的控制措施来降低风险,并指出每个层级都有其优缺点和潜在的局限性,例如,过于严格的访问策略可能会延缓问题解决。最终,作者强调了需要全面考虑控制措施对系统安全的影响,避免引入新的风险。

阅读更多
开发

1/0 = 0?探讨除以零在数学中的定义

2024-12-02

本文探讨了在数学中定义1/0=0的可能性。作者首先解释了数学中“一致性”的概念,然后介绍了域的概念及其属性。接着,作者讨论了除法的定义,并指出在标准的实数域中,0没有乘法逆,因此除以0是未定义的。然而,作者认为,可以将除法扩展为定义x/0 = 0,并且这种扩展在数学上是一致的,不会导致矛盾。文章还分析了一些常见的反对意见,并指出这些意见通常基于对除法性质的误解。最后,作者引用了一些数学家和计算机科学家的观点,以支持其论点。

阅读更多
未分类 除法

软件摩擦

2024-06-18

文章阐述了软件开发过程中存在的“摩擦”现象,即理论与现实之间的差异导致的各种问题,例如API变更、bug、安全漏洞、依赖项升级问题、人员变动、需求变更、设备故障等等。作者列举了减少摩擦的方法,包括采用敏捷开发、赋予团队更多自主权、增加冗余、制定更好的计划、自动化流程、积累经验、进行模拟演练以及使用检查清单和运行手册等。

阅读更多
未分类 摩擦