ReadMore:https://github.com/cloudwego/sonic-rs
Lightning-fast and Powerful Code Editor written in Rust
备受期待的 Deno 项目 终于发布了 1.0 版本!Deno 是由 Node.js 的创始人 Ryan Dahl 创建的,旨在解决他所说的“我为 Node.js 感到遗憾的十件事”。
大家好,我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder。
这篇文章分享了我对Rust与C程序之间字符串(字节序列)传输机制的“悟道”成果。【FFI字符串·传输】是FFI诸多概念中:
原文链接: https://luqman.ca/blog/achievement-unlocked-rustc-segfault/
来源:https://mnt.io/2018/08/22/from-rust-to-beyond-the-webassembly-galaxy/
本文将围绕 Rust 性能评估和调优主题,比较系统地介绍 Rust 代码的性能优化经验。先从大的总原则出发,介绍在编写 Rust 过程中应该遵循哪些原则对后续优化有帮助。接下来会分享一些代码优化的方法和技巧,然后介绍可以用于 Rust 代码性能评估的工具,也会包括 Rust专用的一些异步并发测试工具介绍。
由于github老被墙,原来使用github备份/同步文档效率太低了, 打算写一个局域网内多端文件自动同步的小工具。其中有个环节需要结点之间能自动发现局域网其他结点。所以打算使用mdns现实服务自动发现的功能。
Rust 生态中的 reqwest 和 serde 两个 crate,对使用 Rust 语言进行各类开放 web API 调用提供了强力支持。我们使用 Rust 语言及其相关 crate,对 github web api 进行调用,通过从查询 GitHub API、检查 API 资源是否存在、使用 GitHub API 创建和删除 Gist、使用 RESTful API 分页、处理速率受限 API 等几个实例来做一个展示。
decode将16进制数据解码成字节并返回,比如下面就将"Hello world!"的16进制模式转化为"Hello world!"的字节表示
对于程序员来说,错误处理的重要性是不言而喻的,贯穿于代码编写、开发、调试,以及交付运行的全过程中。对于此等重要的工作,Rust 生态中特别有一个 crate error-chain 对错误处理在 Rust 标准库之上给予了支持。
来自 Grapl 的博客文章。在 Grapl,我们相信为了构建最好的防御系统,我们需要深入了解攻击者的行为。作为该目标的一部分,我们正在投资于进攻性安全研究。随时关注我们的博客,了解有关高风险漏洞、利用和高级威胁策略的新研究。
前些天在某 IDC 售后群里潜水,看到很多 MC 服主都在为正盗版 UUID 转换发愁(如果您不理解的话,Minecraft 服务器可以被设置为正版和盗版两种验证模式,而在此两种模式下运行的服务器实例为玩家生成的唯一标识符,也即 UUID 是完全不同的,前者从 Minecraft 正版验证服务直接获取,后者由服务端以玩家 ID 直接生成 UUID v3),遂打算开发一款能够快速转换玩家 UUID 的桌面应用。
当我有一个想法,并且这个想法很有意思,正好戳中我技能的盲区时,我便有一种强大的要将其实验一番的冲动。自从上周做一个「前端中的后端」的想法出炉后,这周我几乎寝食难安,随时随地都在想这件事,所以后来干脆撸起袖子开干,毕竟 Linus 大神告诫我们:
Zombodb是一个PostgreSQL插件,使用rust编写,支持pg14以下版本。Zombodb可以允许PostgreSQL查询ElasticSearch中的内容。本篇为《Zombodb那些事》第一篇,后面将更新其他部分内容。
notan 的目标是成为一个简单和可移植的多媒体层,旨在在其上创建您自己的多媒体应用程序,而不必过多地担心特定于平台的代码。
Rust不支持函数/结构体的特化,它支持的是针对 impl 块的特化。我们可以为一组类型,impl 一个 trait,同时为其中的一部分更特殊的类型,impl 同一个 trait。
Rust 中,有一个神奇的函数 parse。它定义在 std:str 下面。因为字符串中可以存放各种信息(如果加上序列化的话),对字符串的解析就显得特别重要,而且很通用。于是 Rust 就赋予了这个函数强大(几乎无限)的功能。
最近有一个老旧的nodejs项目需要移植到rust,其中一部分严重依赖nodejs的json-rules-engine库,于是昨天抽时间移植了该项目的部分功能到rust,尚不支持优先级和缓存。
通过前几天的学习,我们了解到: 通过单一所有权模式,Rust 解决了堆内存过于灵活、不容易安全高效地释放的问题,既避免了手工释放内存带来的巨大心智负担和潜在的错误; 又避免了全局引入追踪式 GC 或者 ARC 这样的额外机制带来的效率问题。
Josh Triplett (Linux主要開發者之一)在一次的演講提到了Rust的可能性,
在上期的技术视点中,我们简单介绍了如何在不依赖模板的情况下,完成一个简单的 Ontology Wasm 合约的开发,并介绍了 Ontology Wasm 工具库 API 文档的生成方式,方便开发者查询和调用已提供的功能。但我们发现在合约开发的过程中,通常需要进行以下操作:
在 Fundamentals of Generic Programming[1] 里,Alexander Stepanov(泛型概念的创立者)用一段优雅的文字描绘了计算机技术不断泛化(generalized)的历史:
Rust 标准库中包含一系列被称为「集合」(collections)的非常有用的数据结构。不同于内建的数组和元组类型,这些集合指向的数据是储存在堆上的,这意味着数据的数量不必在编译时就已知,并且还可以随着程序的运行增长或缩小。
在某种高级语言中,如果嵌入了SQL语句,而这个SQL语句的主体结构已经明确,例如在Java的一段代码中有一个待执行的SQL“select * from t1 where c1>5”,在Java编译阶段,就可以将这段SQL交给数据库管理系统去分析,数据库软件可以对这段SQL进行语法解析,生成数据库方面的可执行代码,这样的SQL称为静态SQL,即在编译阶段就可以确定数据库要做什么事情。而如果嵌入的SQL没有明确给出,如在Java中定义了一个字符串类型的变量sql:String sql;,然后采用preparedStatement对象的execute方法去执行这个sql,该sql的值可能等于从文本框中读取的一个SQL或者从键盘输入的SQL,但具体是什么,在编译时无法确定,只有等到程序运行起来,在执行的过程中才能确定,这种SQL叫做动态SQL
json_find.rs文件是Rust源代码中jsondoclint工具的一部分。该工具用于在文档注释中查找JSON示例并验证其格式。
直接使用第三方库serde,serde_json,serder_yaml,serde-tuple-vec-map 进行反序列化 对xray的yml文件进行解析,在构造结构体的时候,我们发现,有一些看上去应该是HashMap类型的变量,执行起来却必须是有序的,如
在知乎发现了几篇非常有意思的Unsafe 随堂小测[1],我来尝试解答一下。本文为第一篇。
刚刚结束的首届Rust China Conf 2020就是一种交流学习的方式。Rust中文社区采用直播并提供视频回放,为所有Rustacean提供了绝佳的、宝贵的学习资料。
本文是《Rust in action》学习总结系列的第三部分,更多内容请看已发布文章:
接上一篇继续,今天学习如何从Request请求中提取想要的内容,用axum里的概念叫Extract。
本篇为一个新的章节《手动绑定 C 库入门》的第一篇。从这个章节开始,我们将会进行使用 Rust 对 C 库进行封装的实践。
公有云中的 Serverless TensorFlow 函数 对于软件开发者和学生来说,人工智能是有偿的。2021年,最流行的 AI 框架 Tensorflow 开发者的平均年薪为148508 美元,换算成人民币将近百万。现在,即使是入门级编程工作,开发者也必须具备人工智能技能。实际上,遵循在线教程并为图像识别和自然语言处理等任务训练自己的 Tensorflow 模型非常容易。只需要一些基本的 Python 知识即可进行培训,然后运行该模型进行演示。 仅仅知道如何使用简单的 Python 来训练模型并不
我的思想被神经元序列化成一句句要表达的语言,进而推动我的双手将其序列化成在蓝牙键盘上有节奏的敲击出的字符流。
这一篇我们来探讨Rust导出共享库时如何传递字符串,主要涉及字符串作为函数参数和函数返回值的处理细节。我们首先回顾关于字符串的基础知识,了解其在Rust和C中的区别,然后设计具体的示例进行实践,并整理出传递字符串的FFI编程范式。
像Golang 借助微服务和云原生的春风,构建了强大的生态系统。Python在数据分析和机器学习,构建了简洁实用的生态系统。
本文来自 AirCloud 的知乎投稿:https://zhuanlan.zhihu.com/p/104299612
2022-10-01:给定一个字符串 s,计算 s 的 不同非空子序列 的个数因为结果可能很大,所以返回答案需要对 10^9 + 7 取余 。字符串的 子序列 是经由原字符串删除一些(也可能不删除)字符但不改变剩余字符相对位置的一个新字符串。输入: s = "abc"。输出: 7。答案2022-10-01:dp0~25,保存26个字母结尾的子序列个数。时间复杂度:O(N)。空间复杂度:O(1)。代码用rust编写。代码如下:use std::collections::HashMap;fn main() {
概述 最近疫情期间在看开发效率和zero overhead两者都比较折中的开发语言工具,目前主流的编程语言,c就不用说了,语法简单,借助于开源的开发库构建负责的大型项目,自由度非常高,但是带来的负担就是必须手动管理好你申请的每一块的heap上的内存,一旦这块做稳妥了,基于c的二进制的binary程序非常稳定(比如业界的redis和nginx),在基于c的代码大型项目至少70%的问题都可以归咎于内存的问题。go是一个开发web和High concurrency的网络服务和工具研发的最佳选择,开发效率非常高,标
Rust的enum类似C++ std::variant的实现(大致是用union实现的)
最近一段时间没有坚持写学习记录,总是给自己加班很晚,工作很忙这些理由来自我安慰,回想来属实有些羞愧,总是暗示自己没有时间,但是真正空闲的时间却在我一边安慰自己一边做着一些没啥太大意义的事情的过程中流逝了。所以要想让自己能够有进步,不逼自己一把是不行的。
但当100个enum类型的数据中,有80%都是8字节数据,如f64,剩下的20%才是24字节的Vec,那占得比例:
[左神java代码](https://github.com/algorithmzuo/weekly-problems/blob/main/src/class_2022_07_2_week/Code01_DistinctSubseqValue.java)
v4.1文章链接,https://epage.github.io/blog/2023/01/clap-v4-1/
一个 TOML 文件解析库,灵活的配置管理是大多数程序都需要的功能,使用配置文件可以让程序更加灵活,更方便适应不同的使用情况、运行环境等等。这次的toml解析器就可以协助程序的配置管理。
在Rust源代码中,rust/library/std/src/sys_common/wtf8.rs这个文件的作用是实现了UTF-8编码和宽字符编码之间的转换,以及提供了一些处理和操作UTF-8编码的工具函数。
本系列主要是分析RustSecurity 安全数据库库中记录的Rust生态社区中发现的安全问题,从中总结一些教训,学习Rust安全编程的经验。
大家好,我今天分享的是我们团队在做的 Distributed Actor System。首先我想说一下这个 Talk 「不是」关于哪些内容的,因为很多人看到这个标题的时候可能会有一些误解。
题目截图来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/string-to-integer-atoi/
领取专属 10元无门槛券
手把手带您无忧上云