LZ4压缩算法的块数据格式解析

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

前言

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

术语

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

开始上手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 端口部署一个简易的静态网站

Read more

开始上手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 的部署步骤。

Read more

Ubuntu系统开荒记录

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

初始化

使用 SSH 接入系统

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

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

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

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

Read more

计算机中的数据表示

本文是《数据与计算思维》课程的一部分。

数据与计算思维

数据,是传达信息的集合。 例如数值、文字、图像、音频等都是数据,能给我们传递具体的信息。

In common usage, data is a collection of discrete or continuous values that convey information, describing the quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted formally.

Read more

计算机发展简史

本文简要介绍了计算机的发展历史,这些内容仅需了解即可。

计算工具发展史

  1. 手动式计算工具:

    • 古代中国具有代表性的手动式计算工具是算盘。算盘提供了计算过程中存储数值的手段和一套计算规则(口诀)。
Read more
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×