张芷铭的个人博客

01 电子信息与计算机专业s

共 241 篇文章

SQL 完整语法手册,覆盖 95% 日常开发场景,从基础操作到高级查询、索引优化一应俱全。

数据库操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
-- 创建数据库
CREATE DATABASE …

#SQL #数据库 #查询语言

SQL 是管理关系型数据库的标准化语言,核心是面向集合的声明式设计——只需描述"要什么数据",无需关心"如何获取"。

语法体系概览

分类 …

Vim 是高效的文本编辑器,核心特点是模式化操作,通过不同模式实现导航、编辑、命令执行。

基本模式

模式用途进入方式 …

#programming #computer-science

日记导航页面,使用 Dataview 自动聚合 Diary 文件夹中的日记条目。

日记列表

TABLE WITHOUT ID
    file.link AS "📅 日期",
    ☁️天气☁️ AS "☁️ …

#GEMM #矩阵乘法 #深度学习

GEMM(General Matrix Multiplication)是深度学习和 HPC 的核心运算,现代 AI 芯片均针对其优化。

定义

GEMM 执行通用矩阵乘法:

$$C = \alpha \cdot A \times B + …

#数值精度 #深度学习 #量化

数值精度选择是平衡计算效率、内存占用和模型精度的关键技术决策。BF16 统治训练,INT8 主导部署。

浮点精度对比

格式结构数值范围 …

#DuckDB #OLAP #数据库

DuckDB 是嵌入式 OLAP 数据库,专为本地大数据分析设计,兼具轻量性、高性能与易用性,可直接读取 JSON、CSV、Parquet 等文件。

核心特性

特性说明 …

#programming #computer-science

编程

cuBLAS 和 cuDNN 是 NVIDIA GPU 计算生态的两大核心库,分别专注于通用线性代数和深度学习加速。

核心对比

特性cuBLAS …

#moc #programming-languages #coding

编程语言 MOC

编程语言是人与计算机交流的桥梁,掌握多种语言及其特性能帮助选择最适合的工具。

Python

核心概念

  • [[Python知识地图]]
  • [[特殊方法]]
  • [[Python中的魔法方法]]
  • [[Python 关键字 …

#programming #computer-science

#programming #computer-science

计算机组成原理知识导航,涵盖冯·诺依曼架构、CPU、存储系统、指令系统等核心内容。

冯·诺依曼架构

  • 五大部件:运算器、控制器、存储器、输入设备、输出设备
  • 存储程序原理:指令和数据存储在内存中

CPU

  • 运算器:ALU、寄存器
  • 控制器 …

Transformer3DModel 采用 RoPE 三维位置编码、FiLM 条件调制和跳过层机制,专为视频生成设计。

核心结构

参数作用 …

#Obsidian #表格 #Markdown

[[Advanced Table 中使用公式]]

Obsidian 支持 HTML 表格实现跨行跨列等高级格式,标准 Markdown 表格更简洁。

HTML 表格(支持跨行跨列)

 1
 2
 3
 4
 5
 6
 7
 8 …

#AMD #CPU #硬件架构

AMD Ryzen 处理器采用 Chiplet 设计,CCD 负责计算,IOD 负责输入输出,实现模块化扩展。

CCD:Core Complex Die

CCD 是 AMD Ryzen 处理器的核心计算单元,包含多个 CPU 核心与共享 …

Auto.js 是基于 JavaScript 的安卓自动化工具,无需 root,通过无障碍服务模拟点击、滑动、输入等操作。

环境搭建

下载安装

Vision Transformer(ViT)首次证明纯 Transformer 在大规模预训练下可超越 CNN,训练成本降低 2-4 倍。

研究问题

纯 Transformer 能否直接应用于图像分类,摆脱对 CNN 的依赖?

主要贡 …

DeepSpeed XPU 模块缺失导致 ModuleNotFoundError,需安装 XPU 兼容版本或源码编译启用 XPU 支持。

问题根源

层面表现 …

#Linux #SSH #运维

SSH 连接时若远程主机密钥变更,需清除旧密钥后重新连接。

清除已知主机密钥

当出现「远程主机密钥已更改」警告时,使用 ssh-keygen -R 清除旧密钥:

1
2
ssh-keygen -R <主机IP或域名> …

sshd 是 SSH 服务端守护进程,监听端口、验证身份、建立加密连接。ssh 是客户端,sshd 是服务端。

常用指令

指令作用 …

systemctl 是 systemd 的核心管理工具,用于服务启停、开机自启、状态查看。

服务状态查看

命令作用 …

systemd 是现代 Linux 系统和服务管理器,作为内核启动后第一个进程(PID=1),负责启动流程、服务管理、挂载、定时任务等。

systemctl 是操作 systemd 的命令工具。

核心功能

  • 管理系统开机启动流程
  • 统一管 …

#Mac #快捷键 #VSCode

Mac 常用快捷键速查,包括显示器切换和 VSCode 代码折叠。

系统快捷键

功能快捷键
切换主屏幕(外接显示 …

待办事项

MAC

  • 访达用法
  • 备忘录用法

Obsidian

  • 如何更加自动化
  • dataview 用法
  • 如何构建 homepage
  • 如何发布

技术

  • regex 正则
  • JavaScript
  • Python 高级
  • 数据库 …

#POSIX #操作系统 #标准

POSIX(Portable Operating System Interface)是 IEEE 制定的类 Unix 操作系统标准,实现软件源码级可移植。

三层含义

系统标准层

规定操作系统必须提供的统一接口: …

#Obsidian #Quartz #静态网站

Quartz 是专为 Obsidian 设计的静态网站生成器,将 Markdown 笔记转化为可访问的网页,原生支持双链、图谱、标签。

官方文档:https://quartz.jzhao.xyz/ …

SIFT(Scale-Invariant Feature Transform)是图像特征检测算法,在尺度、旋转、光照变化下保持稳定,适用于目标检测、图像拼接、物体识别。

算法步骤

SIFT 包含关键点检测、定位、方向分配、描述符生成四个 …

#Shell #Bash #Linux

Shell 脚本用于自动化任务、管理系统和处理文件,Bash 是最常见的 Shell 解释器。

创建脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 创建脚本文件
touch …

#Python #sklearn #机器学习

scikit-learn 是 Python 机器学习库,提供分类、回归、聚类、降维等算法,以及数据预处理和模型评估工具。

官方文档:https://scikit-learn.org/stable/

主要功能 …

#tmux #终端 #Linux

Tmux 是终端复用器,支持多会话管理、断开后保持会话运行,显著提升终端工作效率。

安装

1
2
3
4
5
# Debian/Ubuntu
sudo apt install tmux

# Fedora
sudo dnf …

tmux 终端复用器:单窗口多会话,断开后保持运行,支持窗口/窗格分割。

安装与启动

1
2
3
4
5
6
7
# 安装
sudo apt install tmux  # Debian/Ubuntu
sudo dnf …

#配置文件 #TOML #JSON

配置文件格式选型:从语法特性、可读性、解析效率、功能完备性四个维度对比 TOML、JSON、YAML、INI。

核心维度对比

特性TOMLJSON …

#Python #tqdm #进度条

tqdm(阿拉伯语"进步")是 Python 进度条库,为循环提供实时反馈,性能开销接近 O(1)。

核心原理

基于迭代器装饰模式,通过 __iter____next__ 跟踪进度,使用指数平滑算法估算剩余时间 …

VPData 与 VPBench 填补了生成式视频修复领域大规模多标注数据集的空白。构建流水线:收集 → 标注 → 分割 → 筛选 → 字幕生成。

现有数据集局限

问题说明 …

#深度学习 #WebDataset #数据加载

WebDataset 通过流式处理和顺序读取替代随机访问,解决大规模深度学习训练中的数据 I/O 瓶颈。

什么是 WebDataset

WebDataset 是基于 TAR 归档格式的深度学习数据加载库,核心思想是将大量小文件打包成 …

#位置编码 #Transformer #深度学习

位置编码解决 Transformer 自注意力机制的「顺序失忆症」,为模型注入序列位置信息。从绝对编码到 RoPE,相对位置建模成为主流。

为什么需要位置编码

自注意力机制具有置换不变性:$Attention(Q,K,V) = …

#光流 #计算机视觉 #运动估计

光流(Optical Flow)是像素在图像平面上的瞬时运动速度,用于运动估计、目标跟踪、视频稳像等任务。

基本概念

光流假设像素亮度在短时间内恒定:

$$I(x, y, t) = I(x + dx, y + dy, t + dt)$$ …

#数据结构 #栈 #算法

单调栈保持栈内元素单调递增或递减,高效解决「下一个更大/小元素」类问题。

单调栈类型

类型特性适用场景 …

tmux 是终端复用器,在一个窗口运行多个会话,断开连接后会话保持运行。

安装

1
2
3
4
5
# Debian/Ubuntu
sudo apt install tmux

# RHEL/Fedora
sudo dnf …

#Python #multiprocessing #并行计算

multiprocessing 是 Python 标准库的多进程模块,绕过 GIL 限制实现真正的并行计算。

官方文档:https://docs.python.org/3/library/multiprocessing.html

核心概 …

#微信机器人 #自动化 #Python

微信未开放自动化接口,实现定时发送消息需通过第三方框架或模拟操作,存在封号风险。

需求场景

  • 定时发送消息到微信群
  • 接入大语言模型辅助聊天筛选

方案对比

方案适用场景 …

#Python #PyPI #打包

Python 包发布到 PyPI 后,用户可通过 pip install 直接安装。

项目结构

1
2
3
4
5
6
7
my_package/
├── my_package/
│   ├── __init__.py
│ …

#小波变换 #视频取证 #信号处理

小波多尺度分析可检测视频速度操作痕迹,通过不同频带系数的周期性特征和能量分布异常识别篡改视频。

小波分解层级含义

层级频率特征视频对应 …

#Auto.js #安卓自动化 #JavaScript

Auto.js 是基于 JavaScript 的安卓自动化工具,无需 root,通过无障碍服务模拟点击、滑动、输入等操作。

适用场景

  • 微信/QQ 自动化(自动回复、定时消息)
  • 游戏脚本(自动刷任务)
  • 手机自动化(定时打卡、批量操作) …

#CICD #DevOps #自动化

CICD 是持续集成(CI)与持续交付/部署(CD)的合称,自动化构建、测试、发布流程。

CI:持续集成

开发人员频繁将代码集成到主干,每次集成自动触发:

  • 构建、单元测试、静态分析

目标:尽早发现错误,保证主干随时可工作

CD:持续 …

#Docker #容器 #DevOps

Docker 通过容器化技术实现"一次构建,到处运行",解决了环境不一致、依赖冲突等传统部署痛点。相比虚拟机,容器共享宿主机内核,启动更快、资源占用更低。

Docker 是什么

Docker 是开源容器化平台,将应用 …

#GitHub Actions #CI/CD #自动化

GitHub Actions 是 GitHub 官方 CI/CD 工具,无需自建服务器,直接在仓库内完成自动化构建、测试、部署。

核心概念

概念说明 …

#Git #merge #rebase

Merge 创建合并提交记录历史;Rebase 重写历史形成线性记录。理解三路合并算法与重演机制是掌握 Git 协作的关键。

Merge:三路合并算法

流程

  1. 找到两个分支的最近共同祖先
  2. 计算两个分支各自的差异
  3. 合并差异,处理冲突
  4. 创 …

#programming #git

Git 是分布式版本控制系统,现代软件开发的基石。本地图涵盖从基础原理到高级协作的完整知识体系。

核心概念与原理

[[Git:分布式版本控制系统的核心解析与实践指南]]

  • Git 发展历史与核心思想
  • 四区模型(工作目录、暂存区、本地仓库 …

#Git #Worktree #版本控制

Git Worktree 允许在同一仓库的不同目录同时检出不同分支,共享版本库,解决多分支并行开发的痛点。

为什么需要 Worktree

传统方案要么多次克隆(浪费空间),要么频繁切换分支(未提交修改会丢失)。Worktree 共享 …

Conventional Commits 通过标准化提交信息结构,让历史兼具可读性与机器可解析性,完美适配 SemVer。

官网:Conventional Commits

核心结构

1
2
3
4
5 …

SSH 基于密钥对免密鉴权,HTTPS 基于令牌灵活鉴权,长期开发选 SSH,受限环境选 HTTPS。

核心差异

维度SSHHTTPS …

#Git #工作流 #团队协作

Merge 保留完整历史,适合公共分支;Rebase 重写历史,适合本地分支整理。黄金法则:不要对已推送的公共分支执行 rebase。

Merge vs Rebase

特性 …

VSCode Git 面板沿用 Git 文件状态标识,大写表示已暂存,小写表示未暂存。

状态分类

状态含义 …

#Git #版本控制 #分布式

Git 是分布式版本控制系统,每个本地仓库都是完整的代码库,无需依赖中央服务器即可完成大多数操作。

核心架构:四区模型

区域作用 …

#Git #GPG #GitHub

在 GitHub 上配置 GPG Keys,核心流程:本地生成密钥对 → 导出公钥上传 → 配置 Git 签名。

前置检查

1
gpg --version

未安装则:

#版本控制 #SemVer

语义化版本(SemVer)是软件行业最主流的版本号约定,通过版本号快速判断变更风险。

格式

1
X.Y.Z-先行版本号+编译信息
组成含义 …

#HuggingFace #CLI #模型下载

huggingface-cli 是 Hugging Face 官方 CLI 工具,用于下载/上传模型与数据集、登录验证、缓存管理。

安装

1
pip install huggingface-hub

登录管理

1
2 …

#Nginx #Web服务器 #反向代理

Nginx 是高性能轻量级 Web 服务器,采用事件驱动异步非阻塞模型,单进程可处理数万并发连接,广泛用于静态资源服务、反向代理、负载均衡。

核心特性

特性说明 …

ossutil 是阿里云 OSS 官方命令行工具,跨平台支持,批量和大文件操作首选。

安装配置

下载安装

Powerlevel10k 是高性能 Zsh 主题,支持高度定制化的提示符、Git 状态显示和命令执行时间。

安装

方法一:Homebrew(推荐)

1
brew install powerlevel10k

方法二:Git …

#S3 #同步 #Obsidian

S3 云存储同步方案,实现 Obsidian 笔记跨设备同步。

相关资源

简介

RemotelySave 是 Obsidian 插件,支持通过 S3 协议同步笔记到云存储( …

#Slurm #HPC #集群管理

Slurm(Simple Linux Utility for Resource Management)是开源集群管理和作业调度系统,广泛用于 HPC 环境的资源分配与作业调度。

核心功能

功能 …

#WanDB #实验管理 #超参数调优

Weights & Biases (wandb) 是机器学习实验管理平台,支持自动记录实验配置、可视化训练过程、超参数搜索。

快速开始

1
2
pip install wandb
wandb login
1
2 …

#Zotero #文献管理 #同步

Zotero 通过 WebDAV 协议实现跨设备文献库同步,坚果云提供稳定的国内同步服务。

同步配置

配置项值 …

#programming #tools

实用工具和中间件,涵盖开发、部署、运维等场景。

版本控制

[[git MOC]] - Git 知识体系地图

CI/CD 与部署

[[CICD]] - 持续集成与持续部署

模型与数据

[[huggingface-cli 用法]] - HF …

torchaudio 需与 torch 版本匹配。当 torch 版本不能改动时,只能手动编译安装 torchaudio。

编译前准备

系统要求

Docker 镜像打包传输流程:docker save 打包 → 传输 → docker load 加载 → docker run 启动,NPU 容器需挂载驱动目录并启用特权模式。

前提确认

1
2
3
4
5
# 确认镜像存在 …

#正则表达式 #Regex #文本处理

正则表达式通过普通字符与元字符组合,定义字符串匹配规则,用于文本搜索、替换、验证。

元字符速查

元字符含义示例 …

TOML、JSON、YAML 是三种主流配置与数据交换格式,各有优劣:JSON 性能最高,YAML 功能最丰富,TOML 语法最清晰。

格式对比

基本语法示例

JSON:

1
2
3
4
5
{
  "name" …

#阿里云盘 #CLI #工具

阿里云盘命令行工具,支持文件上传下载、同步等功能。

相关资源

常用命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 登录 …

待办事项

MAC

Obsidian

技术

Python open() 函数支持多种文件打开模式,r 只读、w 覆盖写入、a 追加、b 二进制、+ 读写组合。

基础模式

模式说明文件不存在 …

#OLAP #数据仓库 #数据分析

OLAP(联机分析处理)面向海量历史数据的多维度分析,支撑决策支持,与 OLTP 形成明确分工。

核心特征

特征说明 …

#SQL #数据库

HAVING 与 WHERE 的核心区别:WHERE 在分组前过滤原始数据,HAVING 在分组后过滤聚合结果。

核心区别

关键字过滤时机过滤对象 …

#moc #data-structures #algorithms

数据结构是计算机存储、组织数据的方式,选择合适的数据结构是高效算法的基础。

线性结构

结构特点复杂度 …

#excalidraw

==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==

Excalidraw Data

Text Elements

线性表 …

最小代价生成树(MCST)连接图中所有顶点,使边权总和最小,Prim 算法适合稠密图,Kruskal 适合稀疏图。

定义与用途

最小代价生成树(Minimum Cost Spanning Tree, MCST)是加权无向图中连接所有顶点 …

#数据结构 #栈 #LIFO

栈是后进先出(LIFO)的线性数据结构,支持 push、pop 操作,广泛应用于函数调用、表达式求值等场景。

定义

栈遵循后进先出(LIFO, Last In First Out)原则,核心操作包括:

#LeetCode #排列 #状态压缩DP

LeetCode 2741:求满足相邻元素可整除关系的排列总数,使用状态压缩 DP 求解。

题目

2741. 特别的排列

给定 n 个互不相同的正整数,求满足以下条件的排列数目:相邻元素满足 nums[i] % nums[i+1] == …

模拟栈操作判断出栈序列合法性:按序入栈,栈顶匹配则出栈,最终栈空则合法。

问题

自然数 1, 2, …, N 依次入栈,判断序列 C₁, C₂, …, Cₙ 是否为合法出栈序列。

人工判断法则

出栈序列中每个 …

递归模拟栈操作,每个状态可选择「入栈」或「出栈」,生成所有合法序列。

问题

自然数 1, 2, …, N(1 ≤ N ≤ 100)依次入栈,找出所有合法出栈序列。

解决思路

递归模拟两种操作: …

阿姆斯特朗数(水仙花数):n 位数等于其各位数字的 n 次幂之和,如 153 = 1³ + 5³ + 3³。

定义

n 位数若等于各位数字的 n 次幂之和,称为阿姆斯特朗数。

示例

位数 …

#算法 #字符串匹配 #KMP

KMP 算法利用已匹配信息避免从头搜索,时间复杂度 O(n+m),远优于暴力搜索的 O(n×m)。

核心思想

当发生不匹配时,利用部分匹配表(next 数组) 决定模式串移动距离,而非重新开始比较。

next 数组构建

next[i] …

#数据结构 #并查集 #Union-Find

并查集(Union-Find)是处理动态连通性问题的高效数据结构,通过路径压缩和按秩合并,Find 和 Union 操作可达近乎 O(1) 时间复杂度。

核心概念

并查集管理若干不相交集合,支持两个核心操作:

#算法 #单调栈 #数据结构

单调栈是特殊栈结构,栈中元素保持单调递增或递减,用于快速查找下一个更大/更小元素。

核心特点

典型应用

应用 …

VACE 数据构建核心:实例级视频分析,支持多任务统一框架(T2V/R2V/V2V/MV2V)。

预处理与筛选流程

1. 初步筛选

2. 目标区域筛选

#GPU #显卡 #硬件

显卡选购指南:公版与非公版差异、品牌梯队分析及选购建议。

性能参考

显卡性能天梯图

公版 vs 非公版

用户较少选择公版显卡,主要原因:

对比项公版非 …

#HTML #前端 #标记语言

HTML(HyperText Markup Language)是构建网页的标准标记语言,定义网页的结构与内容。

基础结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<!DOCTYPE …

#INI #配置文件

INI 是简单的配置文件格式,用于存储键值对配置信息,结构清晰易于编辑。

核心结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
; 注释(分号开头)
[Database]      ; 节(方括号包裹) …

#LaTeX #排版 #学术写作

LaTeX 是专业排版系统,广泛用于学术论文、技术文档、数学公式排版。

快速入门

工具资源

工具链接 …

LaTeX 文档结构:\documentclass 定义类型,\usepackage 加载宏包,$...$ 行内公式,$$...$$ 独立公式。

文档结构

1
2
3
4
5
\documentclass{article} …

LaTeX 空格与间距控制:\quad/\qquad 水平间距,\vspace 垂直间距,em/ex 相对单位。

水平间距

命令宽度用途 …

LaTeX 字体承载数学含义:意大利体表变量,粗体表向量/矩阵,黑板粗体表数集,花体表集族/变换。

基础字体

字体命令示例用途 …

希腊字母 ε 有两种写法:$\varepsilon$(原型)和 $\epsilon$(变体),LaTeX 分别用 \varepsilon\epsilon 输入。

两种写法

写法 …

#LaTeX #希腊字母 #数学符号

LaTeX 希腊字母命令汇总,包含大小写形式、中文读法及常见数学物理意义。

字母LaTeX 写法中文读法常用意义 …

#Markdown #标记语言 #Obsidian

Markdown 语法速查指南,涵盖基础语法、多引擎扩展及 Obsidian 独有语法。

基础通用语法

语法写法说明 …

#Mermaid #流程图 #图表

Mermaid 是文本描述语言,通过简单语法定义图表,支持流程图、时序图、甘特图等。

渲染方式

#流程图 #笔记法

Mermaid 用文本语法生成图表,支持流程图、时序图、类图、状态图、甘特图等,实现「文本即图形」。

流程图

flowchart TD
    A[开始] --> B{条件}
    B -->|是| C[执行]
    B …

#Wiki #Obsidian #双链

Wiki 语法是简化标记语言,用于快速排版、插入链接。[[]] 双中括号创建内部链接,是知识管理的核心。

核心语法

内部链接

[[页面名称]]           # 链接到页面
[[页面名称|显示文本]]  # 自定义显示文本

外部链 …

#moc #markup-language

标记语言用于定义文档结构和呈现方式,掌握不同标记语言是技术写作的必备技能。

核心语言

Markdown

LaTeX

#Python #调试 #pdb

pdb 是 Python 内置调试器,支持断点、单步执行、变量查看;remote-pdb 支持远程调试生产环境。

pdb 核心命令

命令功能说明 …

spawn 是跨平台的「干净启动」,fork 是 Unix 的「快速复制」。嵌套进程、跨平台开发首选 spawn。

核心差异

维度fork(Unix 专属) …

位置编码解决 Transformer 的「顺序失忆症」,从绝对编码演进到相对编码,RoPE 已成主流。

为什么需要位置编码?

自注意力机制具有置换不变性:序列元素位置交换不影响注意力权重。位置编码为模型注入位置信息: …

uv + pyproject.toml 实现多环境管理:optional-dependencies 定义环境依赖,--venv-path 隔离环境,锁文件保证一致性。

核心优势

特性 …

#programming #computer-science

电子信息与计算机专业基础知识地图,涵盖硬件、软件、编程、网络、数据管理等核心领域。

计算机硬件与组成

电路基础

[[计算机组成原理 MOC]]

多 Python 项目导入问题解决方案:修改 sys.path、设置 PYTHONPATH、优化项目结构、使用 importlib

方案对比

方案优点 …

系统时间存储:C/内核用 time_t(32 或 64 位整数,秒),其他语言多用 64 位或浮点(毫秒)。32 位秒数会在 2038 年溢出。

各语言存储类型

环境类型 …

#Git #gitignore #版本控制

.gitignore 定义 Git 不跟踪的文件或路径,支持精确控制忽略范围。

忽略特定目录

# 仅忽略根目录下的 config/
/config/

# 忽略特定路径 …

#Python #元编程 #装饰器

元编程将代码视为数据操作,实现代码生成、修改与分析,提升灵活性与复用性。

核心概念

技术说明示例 …

#Python #多继承 #MRO

多继承允许类同时继承多个父类,实现功能组合,但需解决菱形继承带来的方法解析问题。

Python 多继承语法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
class Parent1: …

#Python #ACM #输入输出

ACM 模式需自行处理输入输出,掌握 input()split()map() 的组合用法是基础。

基本输入

1
2
3
4
# 输入: 1 2 3 4 5
a = input()           # '1 2 3 …

#代码注释 #TODO #IDE

注释标识(TODO/FIXME 等)标记代码待办事项与问题,便于团队协作与代码维护。

常用标识

标识用途场景 …

#编程规范 #PEP8 #算法

代码风格统一提升可读性,刷题需区分 ACM 模式与核心代码模式的输入输出处理。

代码风格规范

刷题模式对比

模式 …

#Python #Mixin #设计模式

Mixin 模式支持灵活组合模型算子,通过多继承动态注入功能,保持接口统一与资源可控。

基础架构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22 …

#Python #Mixin #设计模式

Mixin 模式通过多继承动态注入独立功能模块,实现功能的灵活组合,同时避免继承层次过深。

核心思想

Mixin 类不独立使用,而是作为"插件"为其他类提供特定功能:

1
2
class …

C++ 是细粒度高性能语言,适用于系统编程、游戏开发、高性能计算。学习路径:基础语法 → OOP → STL → 并发 → 实践。

学习路线

基础阶段

内容要点 …

C++ 由 ISO C++ 标准委员会(WG21)维护,从 1983 年"C with Classes"发展为现代多范式语言,最新稳定版 C++20。

发展历程

年份 …

#C #C++ #编程语言

C++ 设计时保留了对 C 的广泛兼容性,但并非 100% 兼容,存在若干关键差异。

C 代码通常可在 C++ 编译器中编译,但需注意以下不兼容点:

差异说明 …

GCC(GNU Compiler Collection)是开源编译器套件,支持 C/C++/Fortran/Go 等多语言,跨平台(x86/ARM/PowerPC),提供多级优化。

特点

STL(标准模板库)是 C++ 标准库核心,提供容器、算法、迭代器等高效通用组件。

STL 组成

容器

类型容器 …

JavaScript 是浏览器唯一原生支持的语言,具有跨平台、生态丰富、异步编程等优势。

核心优势

优势说明
跨 …

JavaScript 成为浏览器唯一原生语言是历史机遇、商业竞争和标准演化的结果。

历史进程

年份事件
1994 …

Java 和 JavaScript 是两种完全不同的语言,名称相似仅因历史营销策略。

命名由来

JavaScript 原名 LiveScript,1995 年为蹭 Java 热度而改名,两者无技术关联。

核心区别 …

array 模块提供紧凑的类型化数组,比 list 更节省内存,适合存储大量同类型数值数据。

数据类型码

类型码类型大小 …

Conda 是跨平台 Python 环境与包管理工具,支持环境隔离、依赖管理、环境迁移。

初始化

1
2
3
4
5
# 永久生效
/自定义路径/miniconda3/bin/conda init

# 临时生效
source …

Conda

Conda 是跨平台 Python 环境与包管理工具,支持创建隔离环境、管理依赖。

环境管理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 创建环境
conda create -n myenv …

debugpy 是 Python 调试器,支持本地调试(VS Code 直接运行)和远程调试(附加到远程进程/容器)。

本地调试

配置 launch.json

.vscode/launch.json

 1
 2
 3
 4
 5 …

forkserver

forkserver 是 Unix 下 fork 的优化版,先启动独立服务器进程,子进程从中 fork 而来,兼顾多线程安全与启动速度。

与 fork、spawn 对比

方 …

#HuggingFace #模型下载 #Transformers

Hugging Face 模型下载支持三种方式:Transformers API、huggingface-cli、手动下载。

方法对比

方法适用场景优 …

#Python #argparse #命令行

argparse 是 Python 标准库命令行参数解析模块,支持位置参数、可选参数、类型转换、自动生成帮助文档。

核心概念

概念说明 …

#Python #bisect #二分查找

bisect 模块提供二分查找算法,用于在有序序列中快速查找插入位置,时间复杂度 O(log n)。

核心函数

函数说明 …

#C++ #语法糖 #编程语言

C++ 语法糖在编译期完成转换,运行期无开销。所有语法糖都能还原为 C++98 原生代码。

核心高频语法糖(C++11 起)

语法糖示例等价代码 …

#Python #collections #Counter

collections.Counter 是计数器容器,用于统计可哈希对象的频率,支持字典操作、集合运算和排序。

创建 Counter

1
2
3
4
5
6
7
from collections import Counter …

#Python #ctypes #C语言

ctypes 是 Python 标准库的外部函数接口,允许直接调用 C 动态链接库中的函数。

核心价值

#einops #Python #张量操作

einops 通过维度名称标注实现张量操作,代码即文档,替代 reshape、transpose、squeeze 等组合调用。

核心优势

优势说明 …

#Python #Hydra #配置管理

Hydra 是 Python 配置管理框架,支持分层配置、命令行覆盖,简化复杂项目的参数管理。

相关资源

#Python #Hydra #配置管理

Hydra 是 Facebook 开发的配置管理框架,支持层次化配置、动态参数修改,适合机器学习实验管理。

核心特性

特性说明 …

#Python #itertools #迭代器

itertools 是 Python 标准库的迭代器工具集,提供高效处理迭代对象的函数。

无限迭代器

函数说明 …

#Python #JAX #自动微分

JAX 是 Google 开发的数值计算库,基于 NumPy API,提供自动微分、JIT 编译和 GPU/TPU 加速。

核心特性

特性说明 …

#Python #logging #日志

Python logging 模块提供灵活的日志管理,支持多级别、多处理器、格式化和日志轮换,替代 print 实现生产级日志记录。

核心组件

组件说明 …

NLTK

NLTK(Natural Language Toolkit)是 Python 自然语言处理库,提供分词、词性标注、句法分析等工具。

官网:https://www.nltk.org/

核心功能 …

NLTK

NLTK(Natural Language Toolkit)是 Python 自然语言处理库,提供分词、词性标注、句法分析等工具。

官网:https://www.nltk.org/

核心功能 …

#Python #Paramiko #SSH

Paramiko 是 Python 的 SSH 客户端库,支持远程命令执行和 SFTP 文件传输。

安装

1
pip install paramiko

SSH 连接

1
2
3
4
5
6
7
8
import …

#Python #pathlib #文件路径

pathlib.Path 提供面向对象的文件路径操作,替代 os.path,支持链式调用和路径拼接。

路径属性

属性说明示例 …

#Python #语法糖 #编程语言

Python 语法糖由解释器动态转换,零性能损耗,不增加新功能,仅简化代码。

核心高频语法糖

语法糖示例等价代码 …

#TOML #配置文件 #Python

[[TOML vs JSON vs YAML vs INI 全方位对比]]

TOML(Tom’s Obvious, Minimal Language)由 GitHub 联合创始人 Tom Preston-Werner 创建,设 …

#Python #webdataset #深度学习

webdataset 用于高效处理大规模数据集,通过 .tar 文件流式加载,适配分布式训练场景。

核心优势

特性说明 …

#编程语言 #语法糖

语法糖(Syntactic Sugar)由 Peter J. Landin 提出,指对原有语法的简化扩展,不增加新功能,仅让代码更简洁易读。

核心定义

语法糖 = 编译器/解释器自动做等价转换

PIL/OpenCV 使用 HWC 格式,PyTorch 使用 CHW 格式。PIL 是 RGB,OpenCV 是 BGR。转换时需注意通道顺序和取值范围。

格式对比

颜 …

#Pydantic #Python #数据验证

Pydantic 基于类型注解实现数据验证,支持自动类型转换、序列化和结构化错误处理。

核心能力

能力说明
数据 …

Python set 运算符优先级:差集最高,并集最低,使用括号确保计算顺序。

运算符优先级(从高到低)

运算符名称优先级 …

object 是 Python 所有类的根类,提供默认方法并构成类型系统基础。

基本概念

Python 读取图片主要有 4 种方式:Pillow(通用)、OpenCV(CV 任务)、matplotlib(可视化)、torchvision(深度学习)。

Pillow(推荐)

1
2
3
4
5
6
from PIL …

使用黄金角(137.5°)分割色相环,实现整数 ID 与 RGB 颜色的双向映射,相邻 ID 颜色差异最大化。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import …

特殊方法(魔法方法)以 __xxx__ 命名,由解释器自动调用,实现运算符重载、容器操作、迭代等行为。

对象生命周期

方法说明 …

Python 基础语法精简概览。

历史

Python 由 Guido van Rossum 于 1991 年发布,强调代码可读性和简洁性。

基础语法

待补充…

Python multiprocessing 支持嵌套启动多进程,但需在主进程设置启动方式并保护程序入口。

核心要点

  1. 主进程设置 multiprocessing.set_start_method()
  2. 使用 if __name__ == …

#Python #序列化 #pickle

Python 序列化将对象转换为可存储/传输格式,反序列化还原为原始对象。

序列化工具对比

工具特点适用场景 …

Python open() 函数通过模式参数控制文件读写方式:r 只读、w 覆盖写入、a 追加、b 二进制、+ 读写组合。

基本模式

模式说明文件不存 …

#excalidraw

==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==

Text Elements

基础数据结构 ^LrhHlRVS

函数 …

#Python #装饰器

装饰器是 Python 的语法糖,本质是函数包装:@decorator 等价于 func = decorator(func)

装饰器基础

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14 …

Python 可视化主要使用 Matplotlib、Seaborn、Plotly 提供的颜色库和调色板。

Matplotlib 基本颜色

1
2
3
4
5
6
7
import matplotlib.colors as …

#PyTorch #Dataset #数据加载

Dataset 支持索引访问,IterableDataset 支持流式迭代,适用场景不同。

核心对比

特性DatasetIterableDataset …

#Python #Redis #缓存

Redis 是高性能内存数据库,Python 通过 redis-py 库操作,支持 String、Hash、List、Set、Sorted Set 五种数据结构。

安装与连接

1
pip install redis
 1 …

#PyTorch #Tensor #维度操作

PyTorch 提供丰富的张量维度操作函数,涵盖形状调整、维度变换、拼接分割等场景。

维度调整

函数功能示例 …

uv install 是增量安装(不清理冗余),uv sync 是严格对齐锁定文件(清理冗余)。

核心对比

维度uv installuv sync …

#Python #uv #包管理

uv 是 Astral 开发的极速 Python 包管理工具,替代 pip/venv/poetry,速度快 10-100 倍。

安装

1
2
3
4
5
6
7
8
# Linux/macOS
curl -LsSf …

vars() 返回对象的属性字典(__dict__),无参数时等价于 locals()

语法

1
vars([object])

使用场景 …

余弦相似度衡量向量方向一致性,取值 [-1,1],是深度学习中特征匹配、语义关联的核心算法。

计算公式

$$\cos\theta = \frac{A \cdot B}{|A| \times |B|}$$

#Python #全局变量 #特殊变量

Python 提供多个特殊全局变量,用于获取模块和执行上下文信息。

核心特殊变量

变量说明典型值 …

Python 字符串 API 提供丰富的处理方法,包括大小写转换、查找替换、拆分连接等。

大小写转换

1
2
3
4
s.lower()      # 小写
s.upper()      # 大写
s.capitalize() …

#Python #多线程 #同步

Python 多线程同步机制包括 Lock、Condition、Event、Queue,用于控制线程执行顺序。

同步机制对比

机制特点适用场景 …

#Python #模块 #sys.path

python -m <模块名> 按模块名搜索并运行,自动处理 sys.path 和相对导入。

核心原理

python -m <模块名> 将指定模块以脚本方式运行:

  1. sys.path 搜索模块
  2. 将模块所在目录 …

#Python #注册器 #设计模式

注册器模式通过维护名称到类/函数的映射,实现动态对象创建,适用于插件系统、多算法实现等场景。

核心优势

注册器实现

 1
 2
 3
 4 …

debugpy

debugpy 是遵循 Debug Adapter Protocol (DAP) 标准的 Python 调试器,支持跨 IDE、远程调试、多进程等场景。

核心特性

特殊方法(魔法方法)是 Python 以 __xxx__ 格式命名的内置方法,由解释器自动调用,支持运算符重载、容器操作、迭代等功能。

核心特征

  1. 命名:双下划线包裹(__init____add__
  2. 调用:由解释器自动触发,不手动调 …

InputPadder 将图像填充到 8 的倍数,支持对称填充(sintel)或底部填充模式。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class …

模型流式处理返回的 result 是否是生成器?

模型流式返回(如大模型逐字输出、数据分批处理)的核心需求是"边生成边返回",生成器的"惰性计算、逐次产出"特性完美匹配此场景。

大概率是生成器或类 …

#Python #教程 #随笔

记录编写中文 Python 教程的初衷与计划:精炼风格、循序渐进,于己巩固技术,于人提供参考。

缘起

研二四月,正值忙碌。实验室项目、实习求职、秋招准备,为何还要花时间写一份 Python 教程?

搭建个人网站的念头由来已久,却总因 …

Poetry 是一站式 Python 项目管理工具,整合依赖管理、虚拟环境、打包和发布功能。

核心功能

功能说明 …

pyproject.toml 是 Python 项目的统一配置文件,定义构建系统、项目元数据和工具配置。

背景与演进

阶段说明 …

python -m build 为 Python 项目生成源码包(.tar.gz)和 Wheel 包(.whl),用于发布到 PyPI 或分发安装。

前置要求

1
2
3
4
# 安装 build 工具
pip install …

setuptools

setuptools 是 Python 最主流的打包和分发工具,用于构建、安装和发布 Python 包。

核心功能

Bash 脚本是 Linux/Unix 自动化任务的核心工具,语法围绕变量、流程控制、文件操作展开。

脚本结构

1
2
3
4
5
6
#!/bin/bash
# 注释

# 执行方式
chmod +x script.sh …

bashzsh 都是 Unix/Linux Shell,基于 sh 发展而来。bash 是服务器标配,zsh 是桌面优选。

关系图谱

1
2
3
sh(鼻祖,基础语法)
  ├─ bash(正统继承者,Linux 默认) …

Shell

Shell 编程是通过脚本在命令行解释器中执行自动化任务的技术,是用户与操作系统内核之间的桥梁。

核心价值

执行流程

读取命令 → 解析词元 → 判断 …

unzip 是 Linux/Unix 解压 ZIP 格式压缩包的工具。

基本语法

1
unzip [选项] 压缩包.zip

常用选项

选项说明 …

zip 是 Linux/Unix 文件压缩工具,创建跨平台兼容的 ZIP 格式压缩包。

基本语法

1
zip [选项] 压缩包.zip 源文件...

常用选项

选项 …

自举(Bootstrapping)指用语言自身实现其解释器或编译器。成熟语言不一定能自举。

能自举的原因

不能自举的情况 …

单例模式确保一个类只有一个实例,并提供全局访问点。

适用场景

优缺点

优点缺点 …

设计模式是解决常见软件设计问题的可重用解决方案,提高代码可读性、可维护性和可扩展性。

三大类别

创建型模式

模式说明 …

#HTTP #网络协议 #RESTful

GET 用于获取资源,数据在 URL,幂等可缓存;POST 用于提交数据,数据在请求体,非幂等不缓存。

核心区别

维度GETPOST …

#HTTP #RESTful #API

HTTP 方法定义了对资源的操作类型,幂等性和缓存特性是选择方法的关键。

方法总览

方法作用场景幂等缓存 …

$PATH 是 Linux 核心环境变量,定义 Shell 查找可执行文件的目录路径。

查看 PATH

1
2
echo $PATH
# 输出 …

ack 是专为程序员设计的代码搜索工具,自动忽略版本控制目录,支持按语言过滤文件。

安装

1
2
3
4
5
# Ubuntu/Debian
sudo apt install ack-grep

# macOS
brew …

Bash 特殊变量用于获取脚本执行信息、参数处理、进程管理等。

参数相关

变量含义
$0脚 …

Bash 脚本教程

Bash 脚本参数传递分三种方式:位置参数(简单固定)、带选项参数(灵活推荐)、getopts 短选项(简洁)。

位置参数

适合参数固定、顺序明确的场景,通过 $1$2 直接获取。

变量 …

comm 逐行比较两个已排序文件,输出三列:仅文件1有的、仅文件2有的、两者共有的行。

输出格式

含义
第1列 …

curl 是跨平台命令行工具,用于客户端与服务器之间传输数据,支持 HTTP/HTTPS/FTP 等多种协议,是接口调试和网络传输的必备工具。

核心参数

请求方法

参数说明 …

find 是 Linux 最强大的文件查找工具,支持按名称、类型、大小、时间等条件搜索。

基本语法

1
find [路径] [查找条件] [执行动作]

常用示例

按名称查找

1
2
3
find . -name …

HTTP 状态码是服务器对客户端请求的响应状态标识,由 3 位数字组成,首位数字决定核心类别。

状态码分类

类别首位含义 …

Hugo 是基于 Go 的静态站点生成器,适合将 Obsidian 笔记发布为博客。核心路径:环境安装 → 建站 → 适配 Obsidian → 部署。

安装 Hugo

推荐安装 Extended 版本(支持 SCSS): …

iTerm2 是 macOS 上的高级终端,支持分屏、热键窗口、即时回放等功能,是终端工作的效率利器。

安装

基础快捷键 …

less 是文本查看工具,专为查看大文件设计,无需加载整个文件到内存,支持翻页、搜索、跳转。

基本语法

1
2
less [选项] 文件名
cat 大文件 | less  # 管道输入

q 退出。

命令行选项 …

/dev/null 是 Unix/Linux 的特殊设备文件,写入的数据被立即丢弃,读取返回空,用于屏蔽输出。

核心特性

常用场景

丢弃输出

1
2 …

Linux 常用指令速查:SSH 密钥管理、远程连接问题解决。

清除远程主机密钥

当远程主机密钥更改时:

1
2
ssh-keygen -R <远程主机IP>
ssh-keygen -R 172.19.128.119 …

Linux 发行版的核心差异在于包管理器,Debian 系用 apt,RedHat 系用 dnf/yum

两大包管理体系

体系发行版包管理器 …

Linux 服务器可通过命令行查看 CPU、内存、磁盘等硬件信息。

CPU 信息

1
2
3
cat /proc/cpuinfo | grep "model name" | head -1  # 型号
cat …

pdsh 是并行远程命令执行工具,可同时向多台主机发送命令,适合集群运维。

安装

1
2
3
4
5
# CentOS/RHEL
yum install -y pdsh

# Ubuntu/Debian
apt install …

pkill 根据进程属性批量查找并终止进程,无需手动输入 PID,比 kill 更高效。

基本语法

1
pkill [选项] [匹配条件]

常用选项

选项作用 …

ps 命令提供系统进程快照,是 Linux 进程管理和故障排查的核心工具。

两种参数风格

特性UNIX 风格BSD 风格 …

rclone 是命令行工具,用于本地与云存储(Google Drive、S3、OneDrive 等)之间的数据同步和迁移,支持 40+ 存储服务。

基础概念

Redis 是高性能键值存储系统,支持多种数据结构,广泛应用于缓存、队列、排行榜等场景。

核心数据结构

数据结构特性应用场景 …

Redis 是高性能键值存储系统,支持多种数据结构,广泛应用于缓存、队列、排行榜等场景。

核心数据结构

数据结构特性应用场景关键 …

sed 是流编辑器,逐行处理文本,支持查找、替换、删除、新增等操作,默认不修改原文件。

工作流程

读取 → 执行命令 → 输出 → 循环

基本语法

1
2
sed [选项] '编辑命令' 文件名
命令 | sed …

source 在当前 Shell 进程中执行脚本,环境配置全局生效;./script.sh 在子进程中执行,退出后失效。

核心语法

1
2
source /path/to/script.sh
. …

tar 是文件打包和压缩工具,支持创建、查看、提取归档文件。

核心选项

选项作用
-c创建 …

tee 从标准输入读取数据,同时输出到标准输出和文件,实现"一分为二"的数据流。

基本语法

1
tee [选项] [文件]...

选项

选项 …

tmux 是终端复用器,支持在一个窗口运行多个会话,断开后会话仍持续运行。

常用命令

1
2
3
4
5
tmux                      # 启动新会话
tmux new -s name          # …

Bash 脚本参数传递分三种方式:位置参数(简单固定)、带选项参数(灵活推荐)、getopts 短选项(简洁)。

位置参数

适合参数固定、顺序明确的场景,通过 $1$2 直接获取。

变量 …

Tmux 是终端复用器,支持在一个终端窗口运行多个会话,断开连接后会话仍持续运行。

安装

1
2
3
4
5
# Debian/Ubuntu
sudo apt update && sudo apt install …

LD_LIBRARY_PATH 指定运行时动态库搜索路径,适合临时解决库路径问题,但不推荐生产环境使用。

核心定义

动态链接器查找共享库(.so 文件)的目录列表,优先级高于系统缓存和默认目录。

使用方法

临时设置

1
2 …

Linux 文件系统采用单一根目录树状结构,所有文件挂载在 / 下,遵循 FHS 标准,分类存放、职责明确。

核心特点

目录分类

系统配置 …

阿里云服务器初始化的核心流程:SSH 服务配置 + 安全组放行 + VS Code 远程连接。

服务器端配置

登录服务器

  1. 阿里云控制台 → 云服务器 ECS → 实例列表
  2. 点击「远程连接」→ 选择「Workbench 远程连接」
  3. 输入 …

ALU(算术逻辑单元)是 CPU/GPU/TPU 的核心运算器件,执行所有算术和逻辑运算,是计算机的"数学与逻辑大脑"。

核心定位

ALU 与控制器、寄存器并称 CPU 三大核心模块。GPU 的流处理器、TPU 的 …

bfloat16(全称 Brain Floating Point 16-bit)是一种专为 深度学习/AI 计算 设计的 半精度浮点数据格式,核心特点是“保留 FP32 的数值范围,牺牲部分精度换取更高性能和更低显存占用”。其中的“b”来自 …

CPU 市场由 Intel 和 AMD 主导 x86 架构,国产厂商多路线突围。选择 CPU 需明确需求、预算和兼容性。

市场现状

睿频是 CPU 在温度、功耗允许时自动超频的技术,Intel 称 Turbo Boost,AMD 称 Precision Boost。

核心原理

  1. 触发条件:高负载(游戏、渲染)+ 温度/功耗未超限
  2. 持续时间:临时加速,温度/功耗接近阈 …

内存核心参数:类型(DDR4/DDR5)、容量、频率、时序。双通道可提升带宽约 1 倍。

核心参数

类型

类型特点适用平台 …

存储介质分为易失性(SRAM/DRAM,断电丢失)和非易失性(SSD/HDD/磁带,断电保留),形成从"极致性能"到"超大容量"的存储金字塔。

易失性存储介质

SRAM(静态随机存取存储器)

py-spy 是非侵入式 Python 性能分析工具,通过读取进程内存采样函数调用栈,生成火焰图直观展示耗时分布。

安装

1
pip install py-spy

使用方式

分析运行中的进程

1
2
3
4
5
# …

清空 GPU 显存优先级:释放缓存 > 终止进程 > 重启驱动。先定位占用进程,再精准处理。

查看显存占用

1
2
3
4
5
# 实时监控
watch -n 1 nvidia-smi

# 查看一次 …

电脑组装核心:CPU 和显卡占预算 50%,主板决定扩展性,电源决定稳定性,散热决定性能上限。

核心组件

组件作用关键参数价格区 …

#Ethernet #以太网 #局域网

以太网是当今局域网最广泛使用的网络技术,从 1973 年的 2.94Mbps 发展到今天的 400Gbps。

发展历程

阶段时间里程碑 …

#HTTP #状态码 #网络协议

HTTP 状态码由 3 位数字组成,首位数字决定核心类别,用于告知客户端请求处理结果。

核心分类

类别首位含义 …

#VPN #网络安全 #加密

VPN 通过公共网络建立加密通道,实现远程安全访问私有网络资源,保障机密性、完整性与身份认证。

核心价值

#光猫 #FTTH #GPON

光猫(ONT)是光纤到户的核心终端设备,负责光信号与电信号的转换,实现用户端与运营商网络的连接。

定义与核心功能

光猫将光纤中的光脉冲信号转换为以太网电信号,同时支持反向转换。技术标准遵循 ITU-T G.984(GPON)或 IEEE …

#路由器 #交换机 #网络设备

路由器工作在网络层,基于 IP 地址跨网转发;交换机工作在数据链路层,基于 MAC 地址网内交换。两者互补构建完整网络。

核心区别

特性路由器交换机 …

#设计模式 #架构 #OOP

设计模式是经过验证的通用解决方案,用于解决常见软件设计问题,提高代码可读性、可维护性和可扩展性。

设计模式分类

创建型模式

专注于对象创建,将创建过程与系统分离。

模式说明 …