cargo

Win10—rust语言安装与环境变量配置(+VSCode)

橙三吉。 提交于 2020-05-04 02:08:41
(只记录了必须要内容,日后完善!) 1. rust的安装与环境变量: 要提前把下面两个环境变量配置好,这样是为了指定安装路径。否则会默认安装在 C 盘下。 CARGO_HOME:D:\Program Files\RUST\.cargo RUSTUP_HOME:D:\Program Files\RUST\.rustup 然后,在这个: https://www.rust-lang.org/zh-CN/learn/get-started 界面上下载 rustup-init.exe。下载完成后直接点击执行,会出现一个CMD窗口:仔细阅读上面的内容,如果没有安装Microsoft 2019 builder tools,就打开屏幕上的网址进行下载安装。可以从所给网址直接下载 Microsoft Visual Stdio 2019,或者在这个下在页面下拉,找到下图所示内容,只下载下图中红框标注的内容即可: 然后,在下面输入2,进行自定义安装: 按自己的要求设置好之后就开始安装吧! 执行下面的命令看是否安装成功: rustc --version cargo --version    执行如下命令安装工具链:可以选择其它版本(如nightly-i686-pc-windows-msvc) rustup toolchain install nightly-x86_64-pc-windows-gnu   

rust 编译ios静态库

点点圈 提交于 2020-04-23 04:39:28
1. 安装交差编译的targets rustup target list 两个环境,真机与模拟器 x86_64-apple-ios aarch64-apple-ios 2.安装lipo cargo install cargo-lipo 3.编写代码 use num::{BigInt, ToPrimitive}; #[no_mangle] pub extern fn get_rand_key(p: u32) -> u32 { //随机一个小于P的数最为私钥 return rand::random::<u32>() % (p - 1); } #[no_mangle] pub extern fn get_public_key(g: u32,p: u32,pub_key: u32) -> i32 { return match BigInt::from(g).modpow(&BigInt::from(pub_key), &BigInt::from(p)).to_i32() { Some(n) =>n, None => -1 }; } #[no_mangle] pub extern fn get_private_key(p: u32,pub_key:i32,rand: u32)->i32{ return match BigInt::from(pub_key).modpow(&BigInt:

[转帖]Uber一个团队放弃「微服务」改用「宏服务」

邮差的信 提交于 2020-04-21 03:01:44
Uber一个团队放弃「微服务」改用「宏服务」 https: // t.cj.sina.com.cn/articles/view/3172142827/bd130eeb01900m57y 微服务不是银弹 2020年04月10日 21:52 云头条 语音播报 缩小字体 放大字体 微博 微信 分享 0 人们要么爱微服务,要么恨微服务,没多少人既爱又恨微服务。 因此,当优步(Uber)这种公司的哪怕一个团队宣布从微服务改用宏服务,这颇能说明问题。想想你对优步公司有什么看法,不过从软件角度来看,优步一向是良好的企业公民。 优步支付体验平台的工程经理Gergely Orosz在一条推文中暗示了架构方向发生变化: @GergelyOrosz:郑重申明一下,我们优步正将许多微服务转移到@Cindy Sridharan 所说的宏服务(macroservice,即大小适中的服务)。 对成千上万个微服务进行b/c测试和维护不仅很棘手,长期造成的麻烦比短期解决的麻烦还要多。 微服务确实可以帮助团队尽早迅速行动。 等到你意识到数量更少的服务会很好时,已为时已晚。你需要解决许多服务的“棘手”部分。 我们不断添加更多的服务,但也在停止使用服务,并更慎重地考虑新服务。 @GergelyOrosz: 是的,我们正在这么做,这种方法触及许多微服务的痛点。 每个服务都需要支持租约,包括许多无状态的租约。

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 而言属于外部

WSL安装Rust开发环境

五迷三道 提交于 2020-04-06 02:37:18
安装WSL 参考 WSL安装oh-my-zsh并配置插件 , 不再赘述. 安装Rust 执行 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rust.sh , 下载rust-init的安装脚本. 执行 vim rust.sh , 修改 RUSTUP_UPDATE_ROOT , 配置为如下华中科技大学的rust-init源. RUSTUP_UPDATE_ROOT="-https://mirrors.ustc.edu.cn/rust-static/rustup" 执行 sh rust.sh , 安装rust. 执行 echo "export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup" >> ~/.cargo/env , 配置清华大学rust组件下载源. 执行 vim ~/.cargo/config , 写入如下crates源, 将官方源替换为华中科技大学crates源. 执行 echo "source $HOME/.cargo/env >> $HOME/.zshrc" , 将 cargo 加入环境变量. [source.crates-io] registry = "https://github.com/rust-lang

【转】Nodejs 异步流程控制 Async

和自甴很熟 提交于 2020-03-02 03:29:30
前言 Nodejs框架类库很多,功能相近的框架,本来只打算学一种写一种。之前写过流程控制框架 windjs文章 ,本来是想着要支持一下“国人框架”。无奈啊,作者竟然放弃了维护,国人真的不靠谱啊! “流程控制”本来是件比较简单的事,但是由于Nodejs的异步架构的实现方法,对于需要同步的业务逻辑,实现起来就比较麻烦。嵌套3-4层,代码就会变得的支离破碎了! 今天就遇到了一个业务逻辑,连续对数据库操作,前后有依赖。让我们看看Async是如何解决问题的。 不用不知道,一用真强大!! 目录 Async介绍 Async安装 Async函数介绍 async_demo使用介绍 场景:对数据库的连续操作 async_demo我的分支 1. Async介绍 Async是一个流程控制工具包,提供了直接而强大的异步功能。基于Javascript为Node.js设计,同时也可以直接在浏览器中使用。 Async提供了大约20个函数,包括常用的 map, reduce, filter, forEach 等,异步流程控制模式包括,串行(series),并行(parallel),瀑布(waterfall)等。 项目地址: https://github.com/caolan/async 2. Async安装 我的系统环境 win7 64bit Nodejs:v0.10.5 Npm:1.2.19 MySQL

window10 rust配置相关

两盒软妹~` 提交于 2020-02-26 23:44:52
visual studio buil tool安装 下载地址 某些python包也依赖这个 rust环境搭配步骤 新建环境变量CARGO_HOME 比如:E:\rust\cargo 新建环境变量RUSTUP_HOME 比如:E:\rust\rust 运行rustup_init.exe rust环境卸载 rustup self uninstall 来源: oschina 链接: https://my.oschina.net/youcodeme/blog/3160125

Rust编程基础

时光总嘲笑我的痴心妄想 提交于 2020-02-26 11:14:51
编者注 由于需要一个编写库的语言,要求执行速度非常快,能够完整跨平台使用。由于商业项目对稳定性要求高,则尽量增加稳定性。其中的主要选择为C++20与Rust语言,但是由于C++20的语言特性并未在主流编译器上完整实现,且VC与Gcc等割裂也不是一天两天。则确认学习Rust语言。作为学习重点。至于为什么不选择Go,主要问题是Go的Gc无法控制,导致作为第三方库的运行失控。Dart由于无法创建动态连接库,落选。 Rust Rust介绍 https://www.rust-lang.org/ Rust:一个赋予有所构建可靠有效软件的开发语言。 为什么使用Rust? 性能 - Rust具有非常快的内存效能:没有运行时和垃圾回收,能够为关键性能服务提供支持,能够运行在嵌入式设备,能够轻松和其他语言集成 可靠 - Rust的丰富类型系统和所有权模型保证了内存安全性和线程安全性,并使您能够在编译时消除许多类的错误 生产 - Rust拥有出色的文档,友好的编译器和有用的错误消息,以及一流的工具-集成的软件包管理器和构建工具,具有自动完成和类型检查的智能多编辑器支持,自动格式化程序等 Rust构建 在2018年,Rust社区决定改善一些不同领域的编程体验(请参见2018路线图)。对于这些,您可以找到许多高质量的板条箱和一些很棒的入门指南。 Command Line - 借助Rust强大的生态系统

How to run embedded Tomcat 9 inside Maven 3 for integration testing purposes?

做~自己de王妃 提交于 2020-02-25 16:56:29
问题 I am trying to run embedded Tomcat 9 inside Maven 3 for integration testing purposes. I was led to cargo-maven2-plugin by other SO answers. So, attempting to follow the instructions found here: https://codehaus-cargo.github.io/cargo/Static+deployment+of+WAR.html I have this fragment in a simple POM: <build> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.7.6</version> <configuration> <container> <containerId>tomcat9x<

How to run embedded Tomcat 9 inside Maven 3 for integration testing purposes?

主宰稳场 提交于 2020-02-25 16:56:24
问题 I am trying to run embedded Tomcat 9 inside Maven 3 for integration testing purposes. I was led to cargo-maven2-plugin by other SO answers. So, attempting to follow the instructions found here: https://codehaus-cargo.github.io/cargo/Static+deployment+of+WAR.html I have this fragment in a simple POM: <build> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.7.6</version> <configuration> <container> <containerId>tomcat9x<