Crate

Rust编程进阶:025、crate发布与撤回

余生长醉 提交于 2021-01-24 14:01:52
crate的发布与撤回(此部分没有实际操作过,只讲步骤) (1)创建Crates.io账号:通过Github账户注册,并通过cargo login ****** 来登陆 (2)发布前需要在Cargo.toml中增加描述: [package] name = "package_name" version = "0.1.0" license = "MIT" #Linux 基金会 的 Software Package Data Exchange (SPDX) 列出了可以使用的标识符 authors = ["linghuyichong"] description = "some thing descript the package" 运行cargo publish来发布。 (3)撤回指定版本 cargo yank --vers 0.1.0 来源: oschina 链接: https://my.oschina.net/u/943779/blog/4922281

Rust 有问有答之 use 关键字

女生的网名这么多〃 提交于 2020-08-09 18:13:43
use 是什么 use 是 Rust 编程语言的关键字。using 是 编程语言 C# 的关键字。 关键字是预定义的保留标识符,对编译器有特殊意义。 using 关键字有三个主要用途: using 语句 定义一个范围,在此范围的末尾将释放对象。 using 指令 为命名空间创建别名,或导入在其他命名空间中定义的类型。 using static 指令 导入单个类的成员。 use的用途是什么 类比using,use的用途有: 用于引用某个外部模块 直接使用枚举值,而无需手动加上作用域 为某个作用域下的方法或作用域创建别名 用于引用某个外部模块 外部模块 a.rs,代码内容如下 mod a { fn print_function() { println!("This is a.print_function."); } } 主函数 main.rs 想要调用 print_function,需要对 mod 标识访问级别,使用关键字 pub。所以 a.rs 的内容变动如下 pub mod a { fn print_function() { println!("This is a.print_function."); } } 主函数 main.rs 调用 print_function 如下,使用关键字 use: use a; fn main() { a::print_function(); }

Rust 有问有答之 use 关键字

血红的双手。 提交于 2020-08-08 09:05:48
use 是什么 use 是 Rust 编程语言的关键字。using 是 编程语言 C# 的关键字。 关键字是预定义的保留标识符,对编译器有特殊意义。 using 关键字有三个主要用途: using 语句 定义一个范围,在此范围的末尾将释放对象。 using 指令 为命名空间创建别名,或导入在其他命名空间中定义的类型。 using static 指令 导入单个类的成员。 use的用途是什么 类比using,use的用途有: 用于引用某个外部模块 直接使用枚举值,而无需手动加上作用域 为某个作用域下的方法或作用域创建别名 用于引用某个外部模块 外部模块 a.rs,代码内容如下 mod a { fn print_function() { println!("This is a.print_function."); } } 主函数 main.rs 想要调用 print_function,需要对 mod 标识访问级别,使用关键字 pub。所以 a.rs 的内容变动如下 pub mod a { fn print_function() { println!("This is a.print_function."); } } 主函数 main.rs 调用 print_function 如下,使用关键字 use: use a; fn main() { a::print_function(); }

Rust:mod、crate、super、self、pub use等模块系统用法梳理

删除回忆录丶 提交于 2020-08-06 07:55:05
在Rust模块系统中,有诸多的概念和用法,不容易搞清楚,理一下,很有必要。 cargo是从包的根目录开始找相应的文件的。 一、packages、crates、modules packages: 通过cargo new 创建; crates: 通过cargo new --lib 创建。有根包和子包。即一个根包下可以包含多个子包。 modules: 通过关键字mod加模块定义 二、各种用法 src下有同个级:兄弟、父、子三个层级。 1、mod 往往是引入与当前文件同级的文件夹下(兄弟模块下)的文件。 2、crate 代表引用当前文件同级的文件。为同级文件时,意义和self相同。但如果是同级文件夹,不能混用。 3、super super:代表当前文件的上一级目录(父模块) 。super后面可以直接接函数。也可以接“*”,表示所有函数。 4、self 见crate 5、pub use 三、桥 在src下,往往有一个子目录,比如名字叫core. 里面还有两个文件,read.rs,write.rs.此时,需要有一个文件把这两个文件串起来。 此时,可以在core目录同级,建一个core.rs文件,把core目录下的两个文件串起来,对外可见。 我称这种与目录相同的rs文件为桥(个人定义,不规范)文件。 比如: pub mod a; pub mod c; pub use a::*; //不能省

CrateDB分布式数据库

喜夏-厌秋 提交于 2020-08-05 05:22:19
今日在portianer后台,查询应用模板时,偶尔看到一个名为CrateDB的数据,顺手查了一下。其中就一一篇标题名为“比Postgre快10倍的开源数据库CrateDB”的文章,第一个感觉,就是口气好大哈。在不了解的情况下,也不敢妄自菲薄哈。先了解下这个东西吧。 我们还是先上图,下图摘自网络,这算是对CrateDB的优点进行了描述。 摘自《比Postgre快10倍的开源数据库CrateDB》文章中的某段内容: 一张拥有20多个字段的表,记录大约有3亿条,需要查询某个时间范围内的数据,并做分组,排序,聚合统计操作,并需要即时响应结果,大家看到这个需求,一定深有体会,传统的关系型数据库不能满足需求,肯定能想到的方案是hbase,ElasticSearch了,hbase方案稍微有点重,ElasticSearch又对sql支持不太好,那有没有既对sql支持,响应速度又快的开源产品呢,CrateDB就满足上述的需求 看完这段描述后,感觉单表超3亿的数据库,做分组、排序、聚合等操作,算是逆天了。CrateDB是基于 ElasticSearch的,再次基础上,提供了sql的支持,也算是其点亮的一部分。这里我们和快会想到,这种数据库必然在ACID方面存在某种缺陷。果不其然, CrateDB不适合强事物的场景。 CrateDB官网地址 : https://crate.io/

RUST 机器学习的现状

拥有回忆 提交于 2020-05-09 16:22:12
https://main.run/p/121 每隔一段时间,这个话题就出现在社交媒体或Rust用户频道上。 我想简要介绍一下我所看到的事情的历史,以及有关机器学习/深度学习框架的现有变化以及最近的主要趋势的一些信息。 BRIEF HISTORY AND WHERE ARE WE NOW? 现有的 ML/DL 生态系统非常庞大,因为它们是高性能计算、数学优化、系统和编译器工程等的组合。 因此,为了简单起见,如果我们将ML划分为传统ML和DL(包括重叠),然后我们可以看到 rusty-machine , rustlearn 和 leaf 。他们做了非常有趣和大胆的发展, 特别是当时的 leaf 。最终,他们大多放弃了,因为创建一个完整的开源ML/DL框架需要大量的工作: 语言和库的支持 (稍后会介绍) 基本成熟的线性代数和统计学方面的库 一个由ML专家组成的社区,他们碰巧知道Rust并愿意做出贡献 主流的现有ML库(主要使用Python/Cython或c++)都是在这些支持下开发的,Rust也不例外。 语言和库的支持 之前,Gonzalo 列出了一份 HPC 清单,到目前为止,我可以说 Rust 通过语言(稳定/不稳定)特性和 crates 支持了其中大多数条目,希望到今年年底我们能看到越来越多的支持。 但是 constant-generics (更好的数组支持), 稳定的 std:

rust 播放音乐

六眼飞鱼酱① 提交于 2020-05-03 20:14:47
extern crate rodio; use std::io::BufReader; fn main() { let device = rodio::default_output_device().unwrap(); let sink = rodio::Sink::new(&device); let file = std::fs::File::open("D:\\dev\\test\\xrust\\src\\1.wav").unwrap(); let decoder = rodio::Decoder::new(BufReader::new(file)).unwrap(); sink.append(decoder); sink.sleep_until_end(); } 来源: oschina 链接: https://my.oschina.net/zhupengdaniu/blog/4263521

5 个免版权高清视频素材下载网站(一)

一个人想着一个人 提交于 2020-04-26 18:02:03
视频表达相对文字和图片的更高难度就是,去哪里找那么多专业的高清、超清、4K、8K 素材,对于专业机构来说,我们会向版权方购买适宜的素材;而对于大多数人来说,当然可以通过一些网站找到免费可商用的高画质视频。 Videezy,摄影师素材共享社区 直接通过搜索,或查看,即可找到需要的素材,点击即可预览、点击右边的 DOWNLOAD 按钮,即可直接下载到本地;这上面的大多素材都来自专业摄影师,适合用在任何地方; 🌏 资源链接 Distill,高清的免费视频素材分享平台 这个平台的所有视频内容都是由众多艺术家一起贡献,预览后即可点击右下角下载按钮,直接下载。如果你对自己的视频非常自信,也可以上传到网站中。 🌏 资源链接 Mazwai,高清免费视频下载平台 这个网站的所有内容,都经过精心挑选,网站的设计感也别出心裁,找到自己需要的视频素材即可点击预览,点击下载,可以设置下载的时间段等元素,最后点击下载即可,因为是国外的网站,对于网速有一定的要求; 🌏 资源链接 Footage Crate,带通道的创意视频元素下载网站 提供各种带通道的神奇素材,大多内容由创意工作者和独立制作人完成,在我们制作的一些普通视频上,加上带通道的创意内容,会让整个创作更有新意;同时,这个网站还为你贡献了一些好玩儿的音效;当然,下载内容可能需要先注册一个账号。 🌏 资源链接 Monzoom,高清的视频背景素材下载网站

Rust 1.41.0 发布,带来多项新特性

五迷三道 提交于 2020-04-10 09:44:42
https://www.oschina.net/news/113158/rust-1-41-0-released Rust 1.41.0 发布了,此版本亮点包括放宽对 trait 实现的限制、改进 cargo install 、对 git 更友好的 Cargo.lock 以及 Box<T> 与 FFI 相关的新保障。 放宽对 trait 实现的限制 为了防止当依赖项添加新 trait impl 时生态系统崩溃,Rust 强制执行孤立规则。其要点是,仅当所实现的 trait 或 type 是在本地定义而不是外部 crate ,才允许使用 trait impl。但是,当涉及泛型时会变得复杂。 在 Rust 1.41.0 之前,孤立规则过于严格,造成了问题。例如,假设 crate 定义了 BetterVec<T> 结构,并且想要一种将结构转换为标准库的 Vec<T> 方法,需要编写以下代码: impl<T> From<BetterVec<T>> for Vec<T> { // ... } 这是模式的一个实例: impl<T> ForeignTrait<LocalType> for ForeignType<T> { // ... } Rust 1.40.0 中,孤立规则禁止使用该 impl,因为 From 和 Vec 均在标准库中定义,这对于当前 crate 而言属于外部

Running CrateDB in production

牧云@^-^@ 提交于 2020-01-06 04:53:06
问题 As suggested by https://crate.io/docs/crate/guide/en/latest/deployment/cloud/aws/ec2-setup.html. I've been trying to setup a CrateDb (3.0.2) cluster. However setting network.host: _site_ prevents the node from starting. Setting everything back to default settings of course starts the instance but this is bound to localhost . All I'm trying to do is to evaluate and set up CrateDB cluster. Sadly the error received isn't useful as it seems to complain about heap size (on a fresh Windows install