计算机和网络安全课程笔记

信息安全的基本原则 真实性(Authenticity) 保密性(Confidentiality) 完整性(Integrity) 不可否认性(Non-repudiation) 可用性(Availability) 隐蔽性(Covertness) Hash 函数 密码学安全属性 抗第一原像性(Pre-image Resistance) 无法根据哈希函数的输出恢复其对应的输入。

为什么在 Go 中应该避免直接返回 Err

在 Go 语言中,错误处理是一个核心设计哲学。通过显式的错误返回值(error 类型),开发者必须直面潜在的问题。然而,许多刚接触 Go 的开发者(甚至是有经验的开发者)常犯一个错误:直接返回原始的 err。这种看似简单的行为,实际上会为代码的调试和维护埋下隐患。 直接返回 err 的问题 1. 错误信息不透明 当你在多层嵌套的函数调用中直接返回 err 时,上层调用者可能完全不知道错误的来源:

Archlinux 部署 Deepseek-R1 蒸馏模型

最近 Deepseek 发布 R1 模型,在网上特别火,正好闲的没事部署一个 7b 版本玩一玩。 使用 ollama 可以简化部署流程,通过 yay -S ollama 安装 ollama 后,启动服务 sudo systemctl start ollama,再运行命令 ollama run deepseek-r1 即可开始对话。 但是很快我发现事情不对,为什么生成速度那么慢?查看资源管理器发现推理运行在 CPU 上,完全没有使用 GPU 加速,于是我开始排查问题。 查看 ollama 服务的日志 journalctl -u ollama -f 发现一行警告 no cuda runners detected, unable to run on cuda GPU,但是我显然是有 CUDA 驱动的。 于是我在网上一顿搜,看到解决方法直接无语。aur 库中除了有 ollama 还有一个 ollama-cuda,需要同时安装才能调用 cuda 加速。

Podman 迁移笔记

最近把各个服务从 Debian 迁移到 Archlinux,顺便把 Docker+Compose 换成 Podman(无根)+Quadlet,期间遇到了一些奇怪问题,记录一下。 当 compose 中有容器间的依赖关系时,podlet compose –pod 生成的配置无法正常工作 podlet 生成时会将依赖关系转换为:

Sing-Box 与 Tailscale 并存问题

问题描述 在使用 Sing-box 时,Tailscale 客户端无法正常工作。 在其他设备可以通过 tailscale ping <ip/hostname> ping 通主机,但是无法建立连接(例如 ssh 会显示 Connection refused)。

Archlinux Clevo(蓝天) 笔记本驱动以及控制中心安装

Clevo 电脑的风扇调度真的是吵得要死,之前一直用 Windows 系统,用 Ryzen Master 降压来控制 CPU 温度,间接降低转速。 现在换到 Linux 系统,不好好配置一下实在受不了。 我在 Google 上翻了半天,找到了一堆 Github 仓库,试了几个都不好用,最后发现 AUR 仓库里已经有大佬整理了好用的包(我太爱 pacman 和 aur 了!)。 https://aur.archlinux.org/packages?K=clevo 安装驱动 yay -S clevo-drivers-dkms-git
0%