加载中
MacOS 下 cgo 的库依赖问题的解决过程。

碰到了这个问题: go get -v github.com/labstack/echo runtime/cgo # runtime/cgo ld: library not found for -lpthread clang-11: error: linker command failed with exit code 1 (use -v...

08/25 12:17
424
Rust 同时迭代访问两个数组,生成 HashMap

Rust 的迭代器设计的非常强大和具有高度的一致性,在其他语言里写起来可能会很啰嗦。 生成 HashMap, BTreeMap 的时候需要每个元素为一个二元组结构, (key, value)。 use std::collections::...

01/11 11:05
662
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
2020/11/11 19:47
2K
Rust 强制类型转换

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

2020/10/14 20:15
1.9K
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...

2020/09/14 19:16
109
MacOS 下编译 Bootstrap 4

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

2020/09/14 18:10
61
如何在同步函数中执行异步函数?

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

2020/07/26 15:44
297
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...

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

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

2020/06/29 18:56
2.4K
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 ...

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

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

2020/06/27 17:33
75
对比 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...

2020/06/22 13:07
1.7K
rust tokio mpsc 异步发送数据

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

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

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

2020/06/03 17:44
1.4K
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...

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

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

2020/05/27 14:40
3.4K
Rust 裸指针操作范例。

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

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

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

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

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

2020/05/08 16:35
1.6K

没有更多内容

加载失败,请刷新页面

返回顶部
顶部