Zihao Li

好记性不如烂笔头

GPU 的线程组织与内存层次是理解 CUDA 性能的基础。本文用表格、Mermaid 图和代码示例,梳理 Kernel、Warp、合并访存与 bank 冲突这些概念。

Read more »

如果把 CPU 比作“多才多艺的总管”,GPU 更像“高效的流水线工厂”:CPU 擅长复杂分支与少量任务的低延迟处理,GPU 擅长大量相同/相似任务的高吞吐处理。本文先给出关键概念,再用 CPU 对比串起 GPU 的架构、执行模型、内存层次与性能要点。

Read more »

包管理器是操作系统里负责安装、删除、查询和管理软件包的工具,可以类比手机上的应用商店。本文从概念到实操、从单机到团队,整理一份跨发行版的包管理学习大纲与命令速查。

Read more »

选择开源许可证时,通常需要回答三个问题:能否商用、能否修改后闭源、是否附带许可声明。本文用一张速查表和几条决策准则,帮助快速选定合适的许可证。

Read more »

加密需要在安全与效率之间权衡。把数据加密比作锁门,会面临一个两难选择:

  • 对称加密像一把普通的房门钥匙:开锁和上锁都用同一把,速度飞快,但把这把唯一的钥匙安全地交给远方的朋友却成了一个大难题。
  • 非对称加密则像一个银行保险箱:对外提供一个只能存东西的“公钥”(存款口),而取东西的“私钥”(保险箱钥匙)则由自己牢牢保管。它完美解决了密钥分发问题,但操作起来却相对“笨重”,处理大量数据时效率不高。

有没有一种方法,能让我们同时拥有对称加密的“快”和非对称加密的“稳”呢?答案是肯定的,这就是我们今天要探讨的主角——混合加密 (Hybrid Encryption)。

Read more »

在团队协作和日常开发中,rebase 和 cherry-pick 是 Git 中非常强大的两个命令。它们不仅能让你的提交历史更加清晰,还能灵活地“搬运”代码。本文结合一张可视化分支图,带你深入理解这两者的用法与区别,并掌握团队协作中的最佳实践。

Read more »

如果你是一个经常使用 shell 的用户,几乎肯定会在主目录下有一个 .bash_profile 或 .bashrc 脚本,通常包含各种调整,比如设置环境变量(将某个目录添加到 $PATH)、告诉 shell 做聪明的事情(如 set -o noclobber)以及为命令添加各种别名(如 alias please=sudo)。

(如果你真的很有条理,你会把所有点文件都放在某个仓库中,这样你就可以在所有工作的机器上保持设置同步。)

无论如何,我怀疑很少有人知道 .bash_profile 和 .bashrc 这样的文件实际上什么时候被执行。当我刚开始时,我只是按照别人的建议把东西放在 .bashrc 中,然后当它不工作时,就放到 .bash_profile 中。我可以在这里停下来,只描述 bash 的启动过程(尽管它很愚蠢),但有一个复杂的情况是,我在几年前切换到了 zsh(并且没有回头),但偶尔会在没有安装 zsh 的机器上使用 bash。

Read more »

在Linux系统中,任务控制是每个用户都需要掌握的核心技能。无论是运行长时间的计算任务、管理多个进程,还是在SSH连接断开后保持程序运行,都离不开任务控制技术。本文将从基础概念出发,系统介绍Linux任务控制的完整知识体系,为你提供一份实用的技术指南。

Read more »

在 Linux 或 macOS 系统中,以点(.)开头的文件和文件夹统称 dotfiles(如 .bashrc、.gitconfig),保存着终端提示符、编辑器(如 Vim/Neovim)、窗口管理器等工具的配置。随着配置变多、跨设备使用变常见,如何管理这些散落在主目录各处的文件就成了一个问题。

Read more »
0%