setapp 常用软件列表: https://congcong0806.github.io/2019/02/17/Setapp/
setapp 常用软件列表: https://congcong0806.github.io/2019/02/17/Setapp/
Sequel Ace is the “sequel” to longtime macOS tool Sequel Pro: https://github.com/Sequel-Ace/Sequel-Ace
powerlevel10k,一个漂亮的 mac 终端主题样式: https://github.com/romkatv/powerlevel10k
貌似不能在项目目录中直接配置。
在 ~/.ssh/config
中增加一个 ssh 主机配置:
Host github-id2
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_id2
Port 22
然后指定 origin
为配置中的主机:
git remote add origin git@github-id2:path/my-repository.git
Mac 平台的一款磁盘读写测试工具: Blackmagic Disk Speed Test
MonitorControl Mac 下用于控制外接显示器亮度、音量的软件: https://github.com/MonitorControl/MonitorControl
重新折腾了一下 Mastodon,搭了个节点 : https://something.vip
目前各大主流服务商的 ClashX 托管配置都搞了一大堆各种规则,这些规则很多是针对不同的网站平台选择不同的线路。
比如:可能定义一个名为 HBO频道
的规则走美国节点,定义一个名为 B站台湾专区
的规则走台湾节点。
然而,我的需求其实很简单: 国内直连,国外选择最快线路。
Stair Speedtest Reborn
https://github.com/tindy2013/stairspeedtest-reborn
测速
对比 Map、Slice、Chan 的传值方式
一个 go 写的服务监控平台: https://github.com/TwinProduction/gatus
一个web模板下载网站: https://templated.co/
儿时做恶梦往往是受鬼怪坏人所吓,如今早已不惧这些牛鬼蛇神,却害怕醒来时的瞬间…
—— 也许大概是因为这意味着该起床上班了吧。
各应用对苹果M1芯片的支持情况跟踪: https://doesitarm.com/
xxd file
以十六进制方式查看 file
xxd -b file
以二进制方式查看 file
-l
限制输出长度, -s
设定起止行数
AWS Linux 自带的包管理器 amazon-linux-extras 挺方便的啊
一个 go 实现的符合 BIP39 规范的助词词生成库: https://github.com/tyler-smith/go-bip39
一些 Go 终端交互库:
cobra
一个功能强大的 Go CLI 命令行交互库 (https://github.com/spf13/cobra)readline
终端交互(https://github.com/chzyer/readline)WMenu
CLI 菜单,让用户可选择 ( https://github.com/dixonwille/wmenu )termui
Go语言编写的功能强大的终端仪表盘和小部件(https://github.com/gizak/termui)uiprogress
在终端呈现多进度条 (https://github.com/gosuri/uiprogress)mpb
在终端呈现多进度条 (https://github.com/vbauerster/mpb)asciigraph
以 ASCII 字符的方式在终端画图表 (https://github.com/guptarohit/asciigraph) 初试 Rust 时,对它的 mod 机制很蒙蔽,特别是习惯了 Go 的包机制后。
其实站在编译器的角度来思考就清晰多了。
Rust 编译器只接受 【一个】
.rs
文件作为输入,并且只生成一个crate。
所以在 src/main.rs
中,我们使用 mod video;
告诉编译器去在当前位置查找 video.rs
或 ./video/mod.rs
。
如,以下目录结构:
$ tree -L 3 src
src
├── main.rs
└── video
├── file.rs
├── mod.rs
└── worker.rs
在此项目中 main.rs
作为入口文件,然后在 main.rs
中定义 video
模块:
/// src/main.rs
mod video;
fn main() {
video::do_work();
}
于是编译器找到 video/mod.rs
文件:
// 将此mod下的 worker mod (文件:video/worker.rs) 中的 say()函数 发布到与当前同级别的空间(外部可以 video::say() 的方式调用)
pub use self::worker::say;
// 告诉编译器去当前目录下找 `file.rs` 或 `file/mod.rs`
pub mod file;
pub mod worker;
pub fn do_work() {
let files = file::all_files();
for f in files.iter() {
println!("得到文件:{}", f.file_name().to_str().unwrap());
worker::dowork(f);
}
}