• 开始上手OhMyZsh

    本文是作者在 Ubuntu 系统上配置 zsh 和 Oh My Zsh 的记录。

    为什么需要

    zsh 是一个功能强大的 Shell,提供了比 bash 更丰富的功能和更好的交互体验。

    Oh My Zsh 是一个开源的 zsh 配置框架,允许用户便捷地安装插件和主题,从而更加高效地使用 zsh。

    安装步骤

    安装 zsh

    在 Ubuntu 中,使用以下命令安装:

    1
    2
    sudo apt update
    sudo apt install zsh -y
  • LZ4压缩算法的块数据格式解析

    本文是针对 LZ4 Block Format Description 的部分内容的翻译和综述,解释了 LZ4 压缩算法的块数据的格式规定。

    前言

    LZ4 是使用了“固定的面向字节的编码格式”的一种 LZ77 类型的压缩算法。本文介绍的是块数据(Block)的格式规定,不涉及熵编码器(Entropy Encoder)和成帧层(Framing Layer),也不涉及压缩或解压算法的具体实现。

    术语

    • 序列(Sequence)是组成块的基本单位。
    • 字面量(Literal)是未经过压缩的原始数据。
    • 匹配复制(Match Copy)是将“先前出现过的字面量”的值复制到新位置的操作。
    • 标志符(Token)是序列最开头的 1 Byte。
    • 偏移量(Offset)是匹配复制操作中定位“先前出现过的字面量”的依据。
    • 匹配长度(Match Length)是匹配复制操作中需要复制的字面量的长度。
  • 开始上手Nginx服务器

    本文是作者在 Ubuntu 系统上部署 Nginx 服务器的记录。

    Nginx 基础

    简介

    Nginx 是一个高性能的服务器应用程序,由俄罗斯工程师 Igor Sysoev 于 2004 年开发。它主要被用于搭建HTTP 服务器反向代理服务器负载均衡服务器等各类 Web 服务器。

    Nginx 的主要优势在于高并发和高能效。它采用异步、非阻塞的事件驱动架构,能处理大量并发请求(10K 量级)。同时,在相同的硬件条件下,Nginx 的 CPU 和内存消耗要低于同类产品 Apache。

    安装方法

    安装 Nginx:

    1
    2
    sudo apt update
    sudo apt install nginx -y

    确保 Nginx 已启动且已设置开机自启动:

    1
    2
    3
    sudo systemctl start nginx
    sudo systemctl enable nginx
    sudo systemctl status nginx

    访问 http://<服务器地址>,若能显示出默认的 Nginx 欢迎页面(Welcome to Nginx),则表示安装成功。若无法访问,请检查服务器端的防火墙配置。

    Hello World

    以下内容演示了如何利用 Nginx 在本地的 80 端口部署一个简易的静态网站

  • 开始上手PostgreSQL

    本文是作者在 Ubuntu 系统上部署 PostgreSQL 数据库的记录。

    数据库简介

    数据库(Database,DB)是用于存储、管理和检索数据的信息系统,旨在保证数据的一致性、完整性和安全性。

    主流分类

    数据库主要分为关系型数据(SQL)和非关系型数据库(NoSQL)。主流的数据库列表格如下:

    数据库 类型 适用场景 主要特点
    MySQL SQL 传统网站 最流行的 SQL 数据库
    SQLite SQL 轻量级应用 文件数据库
    PostgreSQL SQL 企业级应用 支持复杂查询和高扩展性
    MongoDB NoSQL 实时应用,API 驱动 灵活的 JSON-like 文档存储
    Redis NoSQL 实时应用,缓存 内存数据库

    SQL 指的是结构化查询语言(Structured Query Language),即数据库操作所使用的语言。

    核心术语

    • 数据表(Table)简称表,是数据库中用于存储数据的基本结构,由若干行和列组成。
    • 行(Row)又称记录(Record)。
    • 列(Column)又称字段(Field)。
    • 主键(Primary Key)缩写为 PK,是用于唯一标识一条记录的字段。
    • 外键(Foreign Key)缩写为 FK,是用于与其他数据表的主键建立关系的字段。
    • 索引(Index)是一类用于加快查询速度的数据结构。
    • 事务(Transaction)是一组数据库操作的集合,遵循原子性、一致性、隔离性和持久性原则(ACID 原则)。

    PostgreSQL 基础

    简介

    PostgreSQL(简称 Postgres)是一个开源的、功能强大的、企业级的关系型数据库管理系统,以稳定性、扩展性和标准兼容性著称。

    安装方法

    下面详细讲解 PostgreSQL 的部署步骤。

  • 高等数学(下)知识框架

    空间解析几何

    向量

    概念

    定义: 既有大小又有方向的量。可以用有向线段 、带箭头字母 、粗体字母 来表示。

    向量的模: 向量的大小,记作

    向径(矢径): 起点为原点的向量。

    自由向量: 与起点无关的向量(即只考虑大小和方向的向量)。

  • Ubuntu系统开荒记录

    本文是作者自用的 Ubuntu 操作系统(版本 24.04)服务器的一次开荒记录。

    初始化

    使用 SSH 接入系统

    在本地计算机上使用安全终端(Secure Shell,SSH)连接到远程服务器。命令行运行:

    1
    ssh <用户名>@<服务器地址>

    上述命令是使用用户名和普通密码进行身份认证的,运行命令后需要输入密码。

    事实上,采用此身份验证方式具有一定的暴力破解风险,因此推荐采用密钥对进行身份验证(后文会提到)。

  • 军事理论知识整理

    以下是《军事理论》课程的知识要点,整理自 2023 年印次的教科书、 WYJ 的手写提纲和其他网络资料。由于时代发展,军事理论的具体课程内容可能存在时效性。

    国防

    国防概述

    定义: 国防是国家为了防备和抵抗侵略、制止武装颠覆、保卫国家主权、统一、领土完整、安全和发展利益所进行的军事及与军事有关的政治、经济、外交、科技、文化、教育等方面的活动。它是一种历史现象,旨在防备和抵御各种外来侵略,以保障国家安全、维护国家利益、促进国家发展。

    对上面的定义进行分解,可以得到如下内容:

    • 主体: 国防的主体是国家
    • 对象: 国防的对象是 “侵略” “武装颠覆和分裂” 行为。
    • 目的: 国防的目的是保卫国家主权、统一、领土完整、安全和发展利益
    • 手段: 国防的手段是军事及与军事有关的政治、经济、外交、科技、文化、教育等方面的活动。
  • 高等数学(上)知识框架

    极限

    极限是无限趋近但是取不到的过程,它是一个“去心”的过程。

    函数极限

    函数极限的六种形式: 。注意,当我们说趋近于 或趋近于 时,是包括了正负两个趋近方向的。

  • 函数项级数

    前置知识

    收敛域

    给定一个定义于 上的函数项级数 ,将 代入其中,得到一个常数项级数

    如果 收敛,则称 为对应的函数项级数的收敛点,否则称为发散点。函数项级数的所有收敛点的全体称为收敛域,所有发散点的全体称为发散域

  • 常数项级数

    前置知识

    无穷级数

    给定一个无限数列 并将各项依次相加,得到的和式 被称为无穷级数(简称级数)。

    其中 被称为级数的通项(又称一般项)。通俗地讲,无穷级数就是无限个数字相加所得的和式。

1234