将静态分析器从 Java 迁移到 Rust
Codiga 加入 Datadog 后,作者团队需要将静态分析器整合到 Datadog,但遇到扩展语言支持和解析速度慢的问题。
最终选择使用Rust进行迁移, 在迁移过程中, 主要挑战是理解 Copy 和 Clone trait、借用检查器以及并行处理。
迁移后,分析时间减少了三倍,且不再依赖 JVM,分析器可以嵌入 IDE 实时反馈。
LazyCell 和 LazyLock 在 nightly 已经稳定
目前, LazyCell 和 LazyLock 在 nightly 已经稳定, 不出意外, 会在 1.80 正式稳定.
约20%的crates 使用unsafe
关键字
Rust 基金会近日报告指出,尽管 Rust 消除了大多数运行时内存问题,但约20%的 crates 使用了unsafe
关键字。报告显示,截至2024年5月,145,000个 Rust crates 中,127,000个包含重要代码,这其中19.11%使用了unsafe
关键字,而34.35%直接调用了使用unsafe
关键字的其他 crates。
这些unsafe Rust
大多用于调用第三方非 Rust 语言代码或库,如 C 或 C++。例如,使用最多的unsafe源码是 windows crate,用于调用 Windows API。尽管这些代码需要特别小心,但它们并非天然存在漏洞。
为维护 Rust 的安全性,Rust 项目开发了如 Miri 等检查工具。Rust 基金会通过其安全计划不断推进 Rust 生态系统的安全,开发了依赖关系图 Painter、错别字检测工具 TypoMania 和恶意 crates 监控工具 Sandpit,帮助识别和响应潜在的安全问题。
#原文链接
将 CSV 数据集加载到 NDArray
本文探讨如何将现实世界的数据集加载到 ndarray::Array 中,逐步涵盖高层次特征和样本分析。
使用 Iris Flower Dataset 作为示例, 解释数据集特征及分析目标(样本数量、特征数量、数据类型、缺失值等)。
--
From 日报小组 BobQ, FBI小白
社区学习交流平台订阅:
评论区
写评论还没有评论