加载中
Rust sqlx 0.4.0 开箱。

Github: https://github.com/launchbadge/sqlx Doc: https://docs.rs/crate/sqlx/0.4.0 Rust sqlx 0.4.0 最近正式发布了,上次用的它的 0.4 beta 版本,因为 0.3.x 版本在 MySQL 5.x 下有诡异...

Golang 最新版本的安装 for CentOS 7

yum 安装的版本比较低,卸载掉: go version yum remove go 下载,安装 https://golang.org/dl/ 选择最新的 amd64 编译好的版本,这样不用从头编译!。 cd /usr/local/src wget https://gol...

go
11/11 19:47
20
Rust 强制类型转换

Rust 的强制类型转换的时候要先转为离自己最近的类型的指针,再转为其他指针,然后 Drefer 得到新类型的变量。 struct A { a: u64, b: u64, c: u64, d: u64, } #[derive(Debug, PartialEq)]...

10/14 20:15
42
sed 正则恶心的地方

就是这么戳,服不服? 正确: sed -i "" "s/[0-9]{1,}/$time1/g" ./1.txt 错误: sed -i "" "s/[0-9]+/$time1/g" ./1.txt sed -i "" "s/\d+/$time1/g" ./1.txt sed -i "" "s/[0-9]{1,}/$tim...

MacOS 下编译 Bootstrap 4

有段时间没有碰 Bootstrap 了,没想到它的工程组织还是那么的臃肿。git clone 已经快啃不动了,只能放弃,采用 npm install,然后凑合安装一个 node-sass 手工编译拉倒。没想到如此朴素简单的...

如何在同步函数中执行异步函数?

第一种: xxx = futures::executor::block_on(asnyc_fn1()).unwrap_or_default(); 第二种: let mut rt = tokio::runtime::Builder::new() .threaded_scheduler() .enable_all(......

07/26 15:44
42
mac 安装 mysql 5.7

卸载以前的版本 sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* edit /etc/hostconfig an...

07/05 22:40
90
rust 多线程下的条件锁例子

这是官方给的例子,稍微修改了一下。 notify_one() 不会阻塞。 wait() 会阻塞。 use std::collections::HashMap; use log::info; fn main() { use std::sync::{Arc, Mutex, Condvar}; use st...

06/29 18:56
446
i32, u32, u64,i64,i128,u128,(u64,u64),(i64,i64) 作为 Map Key 效率对比

结果: i32: 865 u32: 824 i64: 1102 u64: 1053 i128: 1385 u128: 1355 (i64, i64): 1465 (u64, u64): 1421 有符号和无符号速度基本无差别,谁放到后面执行谁的速度快一点,可能猜测跟 CPU ...

06/29 16:24
87
Mutable borrow in loop [duplicate] 的问题解决方案

关于 Bowrrow check 的疑问,在 stackoverflow 里看到一个问题: https://stackoverflow.com/questions/46393890/mutable-borrow-in-loop 自己改了下代码,通过了,不过问题已经关闭了,记录...

06/27 17:33
32
对比 rust 几种数据结构占用内存和插入速度,插入一亿条数据。

硬件:mbp 2019 编译参数:cargo run --release 插入 i32 条数: 100,000,000 结论 HashMap<i32,i32> 1.3G, 13s BTreeMap<i32,i32> 1.98G, 10s HashSet<i32> 650M, 13s Vec<i32> 381M, 0.27...

06/22 13:07
207
rust tokio mpsc 异步发送数据

启动两个异步任务,一个阻塞在键盘输入。一个间歇的读取通道,有数据就输出。在快速输入的时候会卡住,因为 mpsc 的 buffer 设置为了 5。 代码如下: use std::io; use tokio::task; use to...

06/03 19:32
221
actix-web wrap_fn() middleware 拦截请求方法。

问了一圈 stackoverflow,没有人回答,最后在代码注释里找到了相关范例,修改后如下: #![allow(clippy::type_complexity)] use actix_service::Service; use actix_web::{web, App, HttpSer...

06/03 17:44
472
rust 返回 impl Future 的三种写法。

use futures::{future, Future}; use futures::future::{FutureExt, Ready}; use std::result::Result; use std::error::Error; // 返回 impl Future 的三种写法 async fn f() -> Result<usi...

06/03 14:30
379
Rust Future 小结:几种 Future 的写法,本质是一样的。

Future 牵扯的概念比较多,Future 可以多个串起来当作一个 task,然后众多 task 再送入线程池,线程在执行的时候会阻塞在 block_on() 调用等待事件。 比如 epoll 事件,它会驱动最靠近的 Fu...

05/27 14:40
478
Rust 裸指针操作范例。

内存分布和 C 基本一致,不过还没有找到如何打印变量本身在栈中的位置的方法,也许它已经被完全编译器优化为偏移量了,没有深入研究。 &stu1 的值是结构体的首地址,第一个 String 占用了 0x...

05/25 12:03
304
Rust: 撸了一个用来保存进度的包。

撸了一个记录进度的包,用于记录多线程各个线程的进度。用法看单元测试部分。 use std::path::Path; use std::io::Write; #[derive(Debug)] pub struct Progress<'a> { file: &'a str, works...

05/11 18:16
47
rust 多线程无锁读写一个变量

这个方案可能是目前发现的最优美简洁的了: use crossbeam::thread; use std::collections::HashSet; fn main() { let mut a = HashSet::new(); a.insert("aaa"); let mut input = vec![a.cl...

05/08 16:35
397
Rust https web server 范例

Hyper 比较底层,不适合用于直接生产。适合基于它做封装。 Actix-web 文档比较友好,速度也不错。 Rocket 采用大量的宏,不适合 IDE 编写提示。 最后我们采用 Actix-web 作为我们的生产环境。...

04/29 14:21
334
【转载】bitcoin全节点部署及bitcoind bitcoin-cli命令使用解释

服务器配置: 操作系统: ubuntu 16.04 CPU: 4U 内存: 16G #一般来说4G就够,但如果要查历史记录,需要加载完整的交易索引表-tindex,这导致需要8G+的内存 硬盘: 500G #比特币从08年开始运...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部