简谈 Rust 与国密 TLS - 王江桐为标识加密算法(Identity-Based Cryptography),非对称加密,标识加密将用户的标识 (如微信号、邮件地址、手机号码、QQ 号等)作为公钥,省略了交换数字证书和公钥过程,使得 安全系统变得易于部署和管理。提供签名校验,密钥交换,密钥封装与加解密功能。由于以上用 例,可以用于网络安全密码协议,如SSL/TLS。 • 保证数据机密性、真实性和完整性。 • 在商用密码体系中,SM9 主要用于用户的身份认证,据新华网公开报道,SM9 的公钥密码体制有许多优点,省去了证书管理等。因此,使用SM9算法不需要申请数字证 书,适用于互联网各种新兴应用的安全保障,应用可采用手机号码或邮件地址作为公钥, 实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署 的特点。 • 不同于传统签名算法的由用户随机选择私钥然后 计算得到公钥的方式,SM9 能够实现用户指定公 钥(即身份标识),密钥生成中心通过公钥计算 私钥。 SM9 Introduction of Resumption:SessionID(TLS1.2/TLCP)、Ticket( TLS1.2/TLS1.3) 8. 同步 API 以及基于可替换 Runtime 的异步 API 9. 支持单国密模式,单通用模式,或混合模式 TLS 使用 安全协议: 密码算法: 1. 对称加密:AES 、Chacha20 、SM4 2. 加密模式:GCM、XTS、CBC、CFB、CTR、OFB 3. 非对称加密:SM2、RSA0 码力 | 44 页 | 3.70 MB | 1 年前3
CeresDB Rust 生产实践 任春韶优化了写入性能 优化了分布式方案 CeresDB – 目标 解决时间线高基数问题 • 能高效处理好 APM 型时序数据 • 同时能高效处理好高基数时间线场景 提供原生分布式方案 • 大规模部署 • 提供高可用、高可靠的服务 • 支持水平扩容 • 支持高效的分布式查询 - Tokio Preemption - Future Cancellation Rust 生产实践 生产实践 spawn(task1) cpu_runtime.spawn(task2) cpu_runtime.spawn(task3) 生产实践 – Preemption 总结: Mixed workload: 碰到混合负载的时候,把 CPU 密集型任务隔离出去 会得到比较好的效果。 相关 Blog : 1. https://tokio.rs/blog/2020-04-preemption 2. https://www0 码力 | 22 页 | 6.95 MB | 1 年前3
Comprehensive Rust(简体中文) 202412. 192 34.1.4 AIDL 服务器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 34.1.5 部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 34.1.6 AIDL 客户端 . . . 2018。 – 这些版本支持对语言进行向后不兼容的更改。 – 为防止破坏代码,版本是可选的:通过 Cargo.toml 文件为 crate 选择合适的版本。 – 为免分割生态系统,Rust 编译器可以混合使用为不同版本编写的代码。 – 请注意,不借助 cargo 直接使用编译器的情况相当少见(大多数用户从不这样做)。 – 值得一提的是,Cargo 本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括 join_thread_pool to add the current thread to Binder's thread pool and start listening for connections. 34.1.5 部署 我们现在可以构建、推送和启动服务: m birthday_server adb push "$ANDROID_PRODUCT_OUT/system/bin/birthday_server" /data/local/tmp0 码力 | 359 页 | 1.33 MB | 10 月前3
Comprehensive Rust(繁体中文). 192 34.1.4 AIDL 伺服器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 34.1.5 部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 34.1.6 AIDL 用戶端 . . . 2018。 – 這些版本可針對語言進行回溯不相容的變更。 – 為避免破壞程式碼,版本皆為自行選擇採用:您可以透過 Cargo.toml 檔案選擇所需版本。 – 為避免分割生態系統,Rust 編譯器可混合寫給不同版本的程式碼。 – 請說明很少會略過 cargo 直接使用編譯器,大部分使用者都不會這麼做。 – It might be worth alluding that Cargo itself join_thread_pool to add the current thread to Binder's thread pool and start listening for connections. 34.1.5 部署 現在我們可以建構、推送及啟動服務: m birthday_server adb push "$ANDROID_PRODUCT_OUT/system/bin/birthday_server" /data/local/tmp0 码力 | 358 页 | 1.41 MB | 10 月前3
Comprehensive Rust(繁体中文) 202406. 190 34.1.4 AIDL 伺服器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 34.1.5 部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 34.1.6 AIDL 用戶端 . . . 2018。 – 這些版本可針對語言進行回溯不相容的變更。 – 為避免破壞程式碼,版本皆為自行選擇採用:您可以透過 Cargo.toml 檔案選擇所需版本。 – 為避免分割生態系統,Rust 編譯器可混合寫給不同版本的程式碼。 – 請說明很少會略過 cargo 直接使用編譯器,大部分使用者都不會這麼做。 – It might be worth alluding that Cargo itself join_thread_pool to add the current thread to Binder's thread pool and start listening for connections. 34.1.5 部署 現在我們可以建構、推送及啟動服務: m birthday_server adb push "$ANDROID_PRODUCT_OUT/system/bin/birthday_server" /data/local/tmp0 码力 | 356 页 | 1.41 MB | 1 年前3
Rust 程序设计语言简体中文版错误是软件中不可否认的事实,所以 Rust 有一些处理出错情况的特性。在许多情况下,Rust 要求你承认错误的可能性,并在你的代码编译前采取一些行动。这一要求使你的程序更加健 壮,因为它可以确保你在将代码部署到生产环境之前就能发现错误并进行适当的处理。 Rust 将错误分为两大类:可恢复的(recoverable)和 不可恢复的(unrecoverable)错误。对 于一个可恢复的错误,比如文件未找到 表达式来实现这些逻辑。 注意你可以在返回 Result 的函数中对 Result 使用 ? 运算符,可以在返回 Option 的函数中 对 Option 使用 ? 运算符,但是不可以混合搭配。? 运算符不会自动将 Result 转化为 Option ,反之亦然;在这些情况下,可以使用类似 Result 的 ok 方法或者 Option 的 ok_or 方法来显式转换。 中很多并发错误都是 编译时 错误,而非运行时错 误。因此,相比花费大量时间尝试重现运行时并发 bug 出现的特定情况,Rust 会拒绝编译不 正确的代码并提供解释问题的错误信息。因此,你可以在开发时修复代码,而不是在部署到生 产环境后修复代码。我们给 Rust 的这一部分起了一个绰号 无畏并发(fearless concurrency)。 无畏并发令你的代码免于出现诡异的 bug 并可以轻松重构且无需担心会引入新的0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0错误是软件开发中不可避免的事实,所以 Rust 有一些处理出错情况的特性。在许多情况下, Rust 要求你承认错误的可能性,并在你的代码编译前采取一些行动。这一要求使你的程序更 加健壮,因为它可以确保你在将代码部署到生产环境之前就能发现错误并进行适当的处理。 Rust 将错误分为两大类:可恢复的(recoverable)和 不可恢复的(unrecoverable)错误。对 于一个可恢复的错误,比如文件未找到 符,则不得不使用更多的方法调用或者 match 表达式来实现这些逻辑。 注意你可以在返回 Result 的函数中对 Result 使用 ? 运算符,可以在返回 Option 的函数中对 Option 使用 ? 运算符,但是不可以混合搭配。? 运算符不会自动将 Result 转化为 Option, 反之亦然;在这些情况下,可以使用类似 Result 的 ok 方法或者 Option 的 ok_or 方法来显式 转换。 目前为止,我们所使用的所有 中很多并发错误都是编译时错误,而非运行时错误。 因此,相比花费大量时间尝试重现运行时并发 bug 出现的特定情况,不正确的代码会直接编 译失败并提供解释问题的错误信息。因此,你可以在开发时修复代码,而不是在部署到生产环 境后修复代码。我们给 Rust 的这一部分起了一个绰号无畏并发(fearless concurrency)。无畏 并发令你的代码免于出现诡异的 bug 并可以轻松重构且无需担心会引入新的 bug。0 码力 | 562 页 | 3.23 MB | 26 天前3
KCL: Rust 在编译器领域的实践与探索和云精简应用交付工作流,并提供开发友 好的体验 基于 Platform as Code (平台服务即代码)理念,研发者 可以用统一的组织和操作界面定义应用交付生命周期,充分 利用Kubernetes和云的混合能力,通过端到端的交付工作 流程,真正实现集中定义、随处交付。 KusionStack 架构 • KCL:面向应用研发者的 配置策略专用高级编程语 言,及其协议组,工具链及 IDE 插件 •0 码力 | 25 页 | 3.50 MB | 1 年前3
王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI Desktop Server 的全平台实践经验build && kubectl apply 项⽬介绍 开发 从代码库克隆代码到本地 硬盘,打开 VS Code 编 辑器进⾏编码 AMP 在 Amphitheatre 中创建 即可实时部署到云端 进⾏测试和验收 上线 利⽤ Amphitheatre 配置⽂ 件, 执⾏标准 CI/CD ⼯ 作流,轻松发布! 开发⼯程师需要在本机安装各种编程语⾔的运⾏时和相关的框 架以及库, 技术栈杂多 研发流程⻓达⼗⼏个步骤:安装开发软件、配置环境、克隆代 码、开发、本地调试、提交代码、编译构建、⾃动化测试、部 署到测试环境、测试验收、合并代码到主线、部署到⽣产环 境… 研发流程繁⻓ 起因:开发者之痛 为了部署测试,不仅要学习容器化、Kubernetes,还要申请资 源安装配置各项中间件,学习成本⾼,费⼼费⼒ 复杂的基础设施 Build Test Code Deploy Account Project Activity Tariq Share Redis ETCD 可让您完全跳过镜像构建, 使⽤新代码更新正在运⾏的容器, 只需⼏秒钟⽽不是⼏分钟。 本地开发实时部署到远程集群 如何⼯作的? Kubernetes 集群 更改 资源定义 ⻆⾊定义 执⾏资源 资源定义 资源定义 更改 ⽂件 更改 ⽤户 触发 ⽂件 更改 frontend0 码力 | 34 页 | 10.81 MB | 1 年前3
基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭异构设备兼容性强(x86, ARM, RISC-V, MIPS, Raspberry Pi, Orange Pi … ) Serverless in MQTT Broker • 更好的代码执⾏环境抽象,它可以直接部署代码或应⽤程序到各种异构设备,⽽不需要开 发⼈员为每个异构设备都编写或编译⼀套单独的代码或程序,从⽽提⾼开发效率; • 更好的安全机制,Docker 之类的容器最让⼈诟病的问题之⼀就是安全性; 是偏⼤,并且依赖的东⻄偏多,很难在⼀些资源 受限的设备上跑起来; Wasm vs Docker • Kubedge? • OpenYurt? • Krustlet? wasm如何分发部署? 3. HPMQ函数开发说明 HPMQ平台 触发器 公共函数 (⽐如:tb2aws) 私有函数 配置 关联 关联 使⽤流程 编写函数 Hpmqfile OCI镜像 镜像仓库0 码力 | 31 页 | 3.95 MB | 1 年前3
共 23 条
- 1
- 2
- 3













