简介cargo deny 是一个 Rust 工具,用于检查项目依赖项的许可证、安全性和其他合规性问题。在 Rust CI(持续集成)中,cargo deny 扮演着重要角色:
许可证检查:确保项目使用的所有依赖项的许可证都符合项目的许可政策。
安全漏洞扫描:检查依赖项是否存在已知的安全漏洞。
依赖项合规性:验证依赖项是否符合项目的其他要求,如版本限制或来源限制。
禁用特定依赖项:允许明确禁止使用某些依赖项。
在 CI 流程中,cargo deny 通常作为一个检查步骤运行,以确保项目在构建和部署之前满足所有合规性要求。这有助于维护项目的质量、安全性和法律合规性。
一句话:cargo deny 让你合法合规放心使用第三方依赖
使用
地址:Cargo deny
安装命令:
1cargo install --locked cargo-deny && cargo deny init && cargo deny check
常见错误使用 cargo-deny 报错 failed to open advisory database123 Installe ...
Rust探秘
未读使用场景JAVA 与 Rust 互操作让 Rust 可以背靠 Java 大生态来做更多事情,而 Java 也可以享受 Rust 语言特性的内存安全,所有权机制,无畏并发。
互操作的典型场景包括:
性能优化:利用 Rust 处理计算密集型任务,提高 Java 应用的整体性能。
系统级编程:结合 Rust 的底层控制能力与 Java 的高级抽象,实现更高效的系统交互。
跨平台开发:使用 Rust 编写核心逻辑,通过 JNI 在不同平台上与 Java 交互,实现高效跨平台开发。
安全关键应用:在金融、医疗等领域,利用 Rust 处理敏感数据和核心功能,保证高度安全性。
实时系统:在游戏引擎、音频处理等延迟敏感的应用中,使用 Rust 处理时间关键部分。
背景知识JNI
全称 Java Native Interface,它允许 Java 代码与其他语言(如 C 或 C++)编写的应用程序进行互操作。
JNI Specification:这是 JNI 的官方规范,详细描述了 JNI 的使用方法、接口和功能。
Java 虚拟机(JVM)
JNI 是 Java 虚拟机的一部分,JVM 在启动 ...
Rust探秘
未读背景在 Rust 中,使用 println!打印日志时,输出实际上是发送到标准输出(stdout),而 Android Logcat 专门用于处理和显示应用程序的日志信息,此环境下标准输出实现被重新定义。这意味着 Rust 日志输出不会出现在 Logcat 中。
android_logger直接与 Android 的日志系统集成,确保日志信息可以按预期出现在 Logcat 中。
配置android_logger 使用如下
注意这里使用的是 android_logger0.11.0 版本,若使用最新版本可能需要做相关 api 调整。
cargo.toml 中增加如下依赖
12345[dependencies]log = "0.4"[target.'cfg(target_os = "android")'.dependencies]android_logger = "0.11.0"
同时引入 log 的原因:
log 是一个日志记录的抽象库,提供了一套统一的接口,用于记录日志消息(如 info!、warn ...
效率工具
未读继去年Gamma:强大的 AI 制作 PPT 神器,用完再也回不去了! 一文发布后,最近一段时间断断续续又有读者反馈注册过程中问题,遂打算在国内环境重新注册一遍,方便暴露和解决问题。
关于注册网址是这个,这个,这个 ,重要事情说三遍!Gamma 注册地址
Gamma:强大的 AI 制作 PPT 神器,用完再也回不去了!微信公众号原文中未提到,参考链接未附上是我的疏忽大意。原因是当时文章用 markdown 写的,在Markdown | 让排版变 Nice 上排版,微信文章发布时未点击微信外链转注脚按钮。(微信公众号中默认引用外部链接只能声明在文末,只有引用公众号生态中文章才体现链接形式)。
收不到验证邮件步骤 ①
步骤 ②
结论
现象:经过上述两步后注册邮箱未收到验证邮件。
原因: 注册邮箱是否收到验证邮件的关键与邮箱无关,而与魔法有关。
解决办法: 微信公众号后台回复”kxsw” 或者关注个人博客唯你 - 不满是向上的车轮,后续会在博客更新如何使用魔法文章
问题复现步骤:在未使用魔法之前分别试用了两个 QQ 邮箱发送,均未收到验证邮件。后来打开魔法,再注册就有验证邮件收到了。
邮箱 ...