防御 scope_exit RAII 类型中的异常
本文探讨了在 scope_exit RAII 类型中防御异常的必要性与复杂性。虽然通过特殊处理可以防止析构函数在异常传播期间再次抛出异常,但作者指出这种防御机制可能并不值得——它增加了代码的复杂性和运行时开销,而实际收益有限。
本文探讨了在 scope_exit RAII 类型中防御异常的必要性与复杂性。虽然通过特殊处理可以防止析构函数在异常传播期间再次抛出异常,但作者指出这种防御机制可能并不值得——它增加了代码的复杂性和运行时开销,而实际收益有限。
The article argues that unstructured "go" statements cause concurrency bugs and proposes structured concurrency as a safer alternative, where concurrent tasks are nested and scoped to make lifetimes predictable and prevent resource leaks.
The article argues that centralized package registries (like npm, PyPI, etc.) introduce security risks, single points of failure, and governance problems. It advocates for distributing trust through cryptographic signatures and transparency logs instead of relying on a central authority to vouch for package authenticity.
The document argues that the Robustness Principle ("be conservative in what you send, be liberal in what you accept") has harmful consequences for Internet protocol design. It contends that accepting malformed inputs leads to interoperability failures, ossification of protocols, and security vulnerabilities, advocating instead for strict validation and clear specifications.
This article discusses the undefined behavior that occurs when a C function is called with fewer register parameters than it expects, explaining how mismatched calling conventions can lead to reading garbage values from registers and causing unpredictable program crashes or data corruption.