Rust 面向对象的相关设计 JohanChane 发布于 2025-04-20 收录于 学习Rust面向对象的基本概念 面向对象的三大特性:封装继承 (继承接口/实现)多态Rust Trait 与面向对象的区别 设计哲学差异:
Rust 引用下的成员不能发生 Move JohanChane 发布于 2025-04-20 收录于 学习Rust引用下的成员不能发生 move For example: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 struct Foo {i: i32, string: String} impl Foo { fn get_data(&self) -> i32 { return self.i; // 发生 Copy。 } fn get_string(&self) -> String { return self.string; // error. 引用的成员不能发生 Move。 } fn move_string(self) -> String { // 传拥有资源的标志符 self 才可以 return self.string } } fn main() { }可见 Rust 比 C++ 在引用方面做了一些更加严格的限制。
使用 Ssh 连接到 Github JohanChane 发布于 2025-04-17 收录于 折腾生成公私钥 1 ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/github~/.ssh/config:
记录安装 ArchLinux JohanChane 发布于 2025-04-16 收录于 折腾 ArchLinux目的 记录安装 archlinux 过程, 方便下次装机。准备 如果没有网线, 则使用手机的 USB 网络共享功能即可。
禁用SSH密码认证并启用密钥认证 JohanChane 发布于 2025-02-01 收录于 折腾生成公私钥 1 ssh-keygen -t ed25519 -f ~/.ssh/<file_name>将公钥上传到服务器 1 ssh-copy-id -i <pub_path> -p <port> <username>@<server_ip> # 使用密码的方式上传公钥如果没有ssh-copy-id命令,可以手动操作:
记录一次将宝塔的网站换成手工搭建 JohanChane 发布于 2024-09-16 收录于 折腾原因 vps 的宝塔的 Let’s encrypt 证书三个月后无法自动续签。不知道是原因。算了, 手工搭建, 然后 acme.sh 自动续签证书。acme.sh 申请证书 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 #!/bin/bash # 设置 acme.sh 路径变量 ACME_SCRIPT="/root/.acme.sh/acme.sh" # 设置 Cloudflare API 凭据 export CF_Token="" # 我的个人资料 -> API 令牌 -> 创建令牌 export CF_Account_ID="" # 进入域 -> 右下角的 "帐户ID" DOMAIN_GROUPS=( "foo.domain.com *.foo.domain.com" # 支持申请 SAN 域名 "bar.domain.com *.bar.domain.com" ) # 显示开始信息 echo "开始申请SAN SSL证书..." echo "========================================" # 检查 acme.sh 是否存在 if [ ! -f "$ACME_SCRIPT" ]; then echo "❌ 错误: 找不到 acme.sh 脚本" exit 1 fi # 为每组域名申请证书 for group in "${DOMAIN_GROUPS[@]}"; do main_domain=$(echo "$group" | awk '{print $1}') echo "🔄 申请证书: $group" # 构建并执行命令 cmd="$ACME_SCRIPT --issue" for domain in $group; do cmd="$cmd -d $domain" done cmd="$cmd --dns dns_cf --force" eval $cmd if [ $? -eq 0 ]; then echo "✅ 证书申请成功: $main_domain" else echo "❌ 证书申请失败: $main_domain" fi echo "----------------------------------------" done echo "📋 最终证书列表:" "$ACME_SCRIPT" --list列出 acme 管理的域名: