主题的晦涩 人生的短暂

kongjun18's Github chart

tar 格式详解

tar 是 tape archive 的简称,即“磁带归档”,最早出现在 1979 年的第 UNIX v7。磁带上的数据存储为可能不相邻的变长数据块,浪费了大量块与块之间的空间。向磁盘、网络传输数据时,传输一大块的效率远高于多个小块,因此程序员使用 tar 将磁带上的数据打包在一起,物理上存储在连续的、固定大小的块上以提高性能。 tar 打包出来的文件称为为 tarball。一般会使用某种压缩算法压缩 tarball,压缩后的

Lua 语言简明教程

Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode with a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping. 类型 Lua 使用动态类型,未初始化的全局变量值默认为 nil(通过元表实现)。 nil nil 是一个类型,同时也是一个值,即 nil 类型的值就是 nil,表示空或无(空类型)。 全局变量未初始化时(空),值就是 nil。当把变量赋值为 nil 时,表示该变量无

网络层:控制面板

路由器中和路由(决定数据包从源主机到目的主机的路径)相关的功能成为控制面板。 传统上,每个路由器都有自己的控制面板,即每个路由器都独立实现了路由算法。 per-router-control-plane 现在,软件定义网络迅速发展,使用远程控制器连接路由器,实现逻辑上集中式的控制,路由器给控制器提供必要链路信息,控制器计算路由表并安装到路由器中。 SND-contral-plane 路由算法 路由算法决定数据报从主机发送到目的主机的路径,路由算法探

搭建家庭私有云

最近阅读了韦易笑(Github/知乎)专栏我爱命令行中的三篇文章: KVM 虚拟化环境搭建 - WebVirtMgr KVM 虚拟化环境搭建 - ProxmoxVE OpenMediaVault:你的开源 NAS 系统 这三篇文章介绍了 KVM 虚拟化的搭建和家庭 NAS 方案,看得我心痒痒的。恰好自己在学校有动态公网 IP,就从咸鱼买了两条 16G 内存,加上一块 2T 监控硬盘,把台式机虚拟化作服务器。 我在 Debian10 上搭建 KVM 虚拟化环境,在虚拟机中创建 OpenMe

UNIX 进程关系

UNIX是分时系统,同时运行着多个进程,进程之间相互联系,形成了进程组、会话等进程关系,这些进程关系会影响某些函数/系统调用和信号的行为。 进程的起源 所有的进程都有一共同的起源,加电开机启动操作系统并登录(获取login shell)就是用户进程的起始1。这里介绍传统的UNIX登录机制。 UNIX登录的过程一般分为两种: 终端登录(terminal login) 网络登

用 Vim 搭建开发环境

刚接触 Vim 的同学往往因为无法搭建开发环境而“从入门到放弃”,本文旨在帮助这些同学搭建开发环境,聚焦于最核心的开发需求,忽略换配色调字体之类的细枝末节。如果需要开箱即用的 vim 配置(发行版),可以使用 Spacevim。 本文使用 neovim-nightly,但也适用于 Vim 8.2+,不需要读者有任何 VimL 基础,以 C/C++ 为例,但应该适用于任何语言。 插件管理 在 Vim 中,插件只是一些脚本,
0%