01 电子信息与计算机专业s
共 241 篇文章
SQL 完整语法手册,覆盖 95% 日常开发场景,从基础操作到高级查询、索引优化一应俱全。
数据库操作
| |
SQL 是管理关系型数据库的标准化语言,核心是面向集合的声明式设计——只需描述"要什么数据",无需关心"如何获取"。
语法体系概览
| 分类 … |
|---|
Vim 是高效的文本编辑器,核心特点是模式化操作,通过不同模式实现导航、编辑、命令执行。
基本模式
| 模式 | 用途 | 进入方式 … |
|---|
日记导航页面,使用 Dataview 自动聚合 Diary 文件夹中的日记条目。
日记列表
TABLE WITHOUT ID
file.link AS "📅 日期",
☁️天气☁️ AS "☁️ …GEMM(General Matrix Multiplication)是深度学习和 HPC 的核心运算,现代 AI 芯片均针对其优化。
定义
GEMM 执行通用矩阵乘法:
$$C = \alpha \cdot A \times B + …
数值精度选择是平衡计算效率、内存占用和模型精度的关键技术决策。BF16 统治训练,INT8 主导部署。
浮点精度对比
| 格式 | 结构 | 数值范围 … |
|---|
DuckDB 是嵌入式 OLAP 数据库,专为本地大数据分析设计,兼具轻量性、高性能与易用性,可直接读取 JSON、CSV、Parquet 等文件。
核心特性
| 特性 | 说明 … |
|---|
编程
cuBLAS 和 cuDNN 是 NVIDIA GPU 计算生态的两大核心库,分别专注于通用线性代数和深度学习加速。
核心对比
| 特性 | cuBLAS … |
|---|
编程语言 MOC
编程语言是人与计算机交流的桥梁,掌握多种语言及其特性能帮助选择最适合的工具。
Python
核心概念
- [[Python知识地图]]
- [[特殊方法]]
- [[Python中的魔法方法]]
- [[Python 关键字 …
计算机组成原理知识导航,涵盖冯·诺依曼架构、CPU、存储系统、指令系统等核心内容。
冯·诺依曼架构
- 五大部件:运算器、控制器、存储器、输入设备、输出设备
- 存储程序原理:指令和数据存储在内存中
CPU
- 运算器:ALU、寄存器
- 控制器 …
Transformer3DModel 采用 RoPE 三维位置编码、FiLM 条件调制和跳过层机制,专为视频生成设计。
核心结构
| 参数 | 作用 … |
|---|
[[Advanced Table 中使用公式]]
Obsidian 支持 HTML 表格实现跨行跨列等高级格式,标准 Markdown 表格更简洁。
HTML 表格(支持跨行跨列)
|
AMD Ryzen 处理器采用 Chiplet 设计,CCD 负责计算,IOD 负责输入输出,实现模块化扩展。
CCD:Core Complex Die
CCD 是 AMD Ryzen 处理器的核心计算单元,包含多个 CPU 核心与共享 …
Auto.js 是基于 JavaScript 的安卓自动化工具,无需 root,通过无障碍服务模拟点击、滑动、输入等操作。
环境搭建
下载安装
- Auto.js 4.1.1(官方稳定版)
- AutoX.js(开源免费,社区维护) …
Vision Transformer(ViT)首次证明纯 Transformer 在大规模预训练下可超越 CNN,训练成本降低 2-4 倍。
研究问题
纯 Transformer 能否直接应用于图像分类,摆脱对 CNN 的依赖?
主要贡 …
DeepSpeed XPU 模块缺失导致
ModuleNotFoundError,需安装 XPU 兼容版本或源码编译启用 XPU 支持。
问题根源
| 层面 | 表现 … |
|---|
SSH 连接时若远程主机密钥变更,需清除旧密钥后重新连接。
清除已知主机密钥
当出现「远程主机密钥已更改」警告时,使用 ssh-keygen -R 清除旧密钥:
| |
sshd是 SSH 服务端守护进程,监听端口、验证身份、建立加密连接。ssh是客户端,sshd是服务端。
常用指令
| 指令 | 作用 … |
|---|
systemctl是 systemd 的核心管理工具,用于服务启停、开机自启、状态查看。
服务状态查看
| 命令 | 作用 … |
|---|
systemd 是现代 Linux 系统和服务管理器,作为内核启动后第一个进程(PID=1),负责启动流程、服务管理、挂载、定时任务等。
systemctl 是操作 systemd 的命令工具。
核心功能
- 管理系统开机启动流程
- 统一管 …
Mac 常用快捷键速查,包括显示器切换和 VSCode 代码折叠。
系统快捷键
| 功能 | 快捷键 |
|---|---|
| 切换主屏幕(外接显示 … |
待办事项
MAC
- 访达用法
- 备忘录用法
Obsidian
- 如何更加自动化
- dataview 用法
- 如何构建 homepage
- 如何发布
技术
- regex 正则
- JavaScript
- Python 高级
- 数据库 …
POSIX(Portable Operating System Interface)是 IEEE 制定的类 Unix 操作系统标准,实现软件源码级可移植。
三层含义
系统标准层
规定操作系统必须提供的统一接口: …
Quartz 是专为 Obsidian 设计的静态网站生成器,将 Markdown 笔记转化为可访问的网页,原生支持双链、图谱、标签。
官方文档:https://quartz.jzhao.xyz/ …
SIFT(Scale-Invariant Feature Transform)是图像特征检测算法,在尺度、旋转、光照变化下保持稳定,适用于目标检测、图像拼接、物体识别。
算法步骤
SIFT 包含关键点检测、定位、方向分配、描述符生成四个 …
Shell 脚本用于自动化任务、管理系统和处理文件,Bash 是最常见的 Shell 解释器。
创建脚本
| |
scikit-learn 是 Python 机器学习库,提供分类、回归、聚类、降维等算法,以及数据预处理和模型评估工具。
官方文档:https://scikit-learn.org/stable/
主要功能 …
Tmux 是终端复用器,支持多会话管理、断开后保持会话运行,显著提升终端工作效率。
安装
| |
tmux 终端复用器:单窗口多会话,断开后保持运行,支持窗口/窗格分割。
安装与启动
| |
配置文件格式选型:从语法特性、可读性、解析效率、功能完备性四个维度对比 TOML、JSON、YAML、INI。
核心维度对比
| 特性 | TOML | JSON … |
|---|
tqdm(阿拉伯语"进步")是 Python 进度条库,为循环提供实时反馈,性能开销接近 O(1)。
核心原理
基于迭代器装饰模式,通过 __iter__ 和 __next__ 跟踪进度,使用指数平滑算法估算剩余时间 …
VPData 与 VPBench 填补了生成式视频修复领域大规模多标注数据集的空白。构建流水线:收集 → 标注 → 分割 → 筛选 → 字幕生成。
现有数据集局限
| 问题 | 说明 … |
|---|
WebDataset 通过流式处理和顺序读取替代随机访问,解决大规模深度学习训练中的数据 I/O 瓶颈。
什么是 WebDataset
WebDataset 是基于 TAR 归档格式的深度学习数据加载库,核心思想是将大量小文件打包成 …
位置编码解决 Transformer 自注意力机制的「顺序失忆症」,为模型注入序列位置信息。从绝对编码到 RoPE,相对位置建模成为主流。
为什么需要位置编码
自注意力机制具有置换不变性:$Attention(Q,K,V) = …
光流(Optical Flow)是像素在图像平面上的瞬时运动速度,用于运动估计、目标跟踪、视频稳像等任务。
基本概念
光流假设像素亮度在短时间内恒定:
$$I(x, y, t) = I(x + dx, y + dy, t + dt)$$ …
单调栈保持栈内元素单调递增或递减,高效解决「下一个更大/小元素」类问题。
单调栈类型
| 类型 | 特性 | 适用场景 … |
|---|
tmux 是终端复用器,在一个窗口运行多个会话,断开连接后会话保持运行。
安装
| |
multiprocessing 是 Python 标准库的多进程模块,绕过 GIL 限制实现真正的并行计算。
官方文档:https://docs.python.org/3/library/multiprocessing.html
核心概 …
微信未开放自动化接口,实现定时发送消息需通过第三方框架或模拟操作,存在封号风险。
需求场景
- 定时发送消息到微信群
- 接入大语言模型辅助聊天筛选
方案对比
| 方案 | 适用场景 … |
|---|
Python 包发布到 PyPI 后,用户可通过
pip install直接安装。
项目结构
| |
小波多尺度分析可检测视频速度操作痕迹,通过不同频带系数的周期性特征和能量分布异常识别篡改视频。
小波分解层级含义
| 层级 | 频率特征 | 视频对应 … |
|---|
Auto.js 是基于 JavaScript 的安卓自动化工具,无需 root,通过无障碍服务模拟点击、滑动、输入等操作。
适用场景
- 微信/QQ 自动化(自动回复、定时消息)
- 游戏脚本(自动刷任务)
- 手机自动化(定时打卡、批量操作) …
CICD 是持续集成(CI)与持续交付/部署(CD)的合称,自动化构建、测试、发布流程。
CI:持续集成
开发人员频繁将代码集成到主干,每次集成自动触发:
- 构建、单元测试、静态分析
目标:尽早发现错误,保证主干随时可工作
CD:持续 …
Docker 通过容器化技术实现"一次构建,到处运行",解决了环境不一致、依赖冲突等传统部署痛点。相比虚拟机,容器共享宿主机内核,启动更快、资源占用更低。
Docker 是什么
Docker 是开源容器化平台,将应用 …
GitHub Actions 是 GitHub 官方 CI/CD 工具,无需自建服务器,直接在仓库内完成自动化构建、测试、部署。
核心概念
| 概念 | 说明 … |
|---|
Merge 创建合并提交记录历史;Rebase 重写历史形成线性记录。理解三路合并算法与重演机制是掌握 Git 协作的关键。
Merge:三路合并算法
流程:
- 找到两个分支的最近共同祖先
- 计算两个分支各自的差异
- 合并差异,处理冲突
- 创 …
Git 是分布式版本控制系统,现代软件开发的基石。本地图涵盖从基础原理到高级协作的完整知识体系。
核心概念与原理
[[Git:分布式版本控制系统的核心解析与实践指南]]
- Git 发展历史与核心思想
- 四区模型(工作目录、暂存区、本地仓库 …
Git Worktree 允许在同一仓库的不同目录同时检出不同分支,共享版本库,解决多分支并行开发的痛点。
为什么需要 Worktree
传统方案要么多次克隆(浪费空间),要么频繁切换分支(未提交修改会丢失)。Worktree 共享 …
Conventional Commits 通过标准化提交信息结构,让历史兼具可读性与机器可解析性,完美适配 SemVer。
核心结构
|
SSH 基于密钥对免密鉴权,HTTPS 基于令牌灵活鉴权,长期开发选 SSH,受限环境选 HTTPS。
核心差异
| 维度 | SSH | HTTPS … |
|---|
Merge 保留完整历史,适合公共分支;Rebase 重写历史,适合本地分支整理。黄金法则:不要对已推送的公共分支执行 rebase。
Merge vs Rebase
| 特性 … |
|---|
VSCode Git 面板沿用 Git 文件状态标识,大写表示已暂存,小写表示未暂存。
状态分类
| 状态 | 含义 … |
|---|
Git 是分布式版本控制系统,每个本地仓库都是完整的代码库,无需依赖中央服务器即可完成大多数操作。
核心架构:四区模型
| 区域 | 作用 … |
|---|
在 GitHub 上配置 GPG Keys,核心流程:本地生成密钥对 → 导出公钥上传 → 配置 Git 签名。
前置检查
| |
未安装则:
- Windows:下载 Gpg4win
- macOS: …
语义化版本(SemVer)是软件行业最主流的版本号约定,通过版本号快速判断变更风险。
格式
| |
| 组成 | 含义 … |
|---|
huggingface-cli是 Hugging Face 官方 CLI 工具,用于下载/上传模型与数据集、登录验证、缓存管理。
安装
| |
登录管理
|
Nginx 是高性能轻量级 Web 服务器,采用事件驱动异步非阻塞模型,单进程可处理数万并发连接,广泛用于静态资源服务、反向代理、负载均衡。
核心特性
| 特性 | 说明 … |
|---|
ossutil 是阿里云 OSS 官方命令行工具,跨平台支持,批量和大文件操作首选。
安装配置
下载安装
- Windows:解压后得到
ossutil64.exe - Mac/Linux:解压后得到
ossutil64,执行chmod …
Powerlevel10k 是高性能 Zsh 主题,支持高度定制化的提示符、Git 状态显示和命令执行时间。
安装
方法一:Homebrew(推荐)
| |
方法二:Git …
S3 云存储同步方案,实现 Obsidian 笔记跨设备同步。
相关资源
简介
RemotelySave 是 Obsidian 插件,支持通过 S3 协议同步笔记到云存储( …
Slurm(Simple Linux Utility for Resource Management)是开源集群管理和作业调度系统,广泛用于 HPC 环境的资源分配与作业调度。
核心功能
| 功能 … |
|---|
Weights & Biases (wandb) 是机器学习实验管理平台,支持自动记录实验配置、可视化训练过程、超参数搜索。
快速开始
| |
|
Zotero 通过 WebDAV 协议实现跨设备文献库同步,坚果云提供稳定的国内同步服务。
同步配置
| 配置项 | 值 … |
|---|
实用工具和中间件,涵盖开发、部署、运维等场景。
版本控制
[[git MOC]] - Git 知识体系地图
CI/CD 与部署
[[CICD]] - 持续集成与持续部署
模型与数据
[[huggingface-cli 用法]] - HF …
torchaudio 需与 torch 版本匹配。当 torch 版本不能改动时,只能手动编译安装 torchaudio。
编译前准备
系统要求
- Python: 3.8-3.14
- PyTorch: 需与系统安装版本匹配
- 编译器: …
Docker 镜像打包传输流程:
docker save打包 → 传输 →docker load加载 →docker run启动,NPU 容器需挂载驱动目录并启用特权模式。
前提确认
| |
正则表达式通过普通字符与元字符组合,定义字符串匹配规则,用于文本搜索、替换、验证。
元字符速查
| 元字符 | 含义 | 示例 … |
|---|
TOML、JSON、YAML 是三种主流配置与数据交换格式,各有优劣:JSON 性能最高,YAML 功能最丰富,TOML 语法最清晰。
格式对比
基本语法示例
JSON:
| |
阿里云盘命令行工具,支持文件上传下载、同步等功能。
相关资源
常用命令
| |
待办事项
MAC
- 访达用法
- 备忘录用法
Obsidian
- 如何更加自动化
- dataview 用法
- 如何构建 homepage
- 如何发布
- 如何构建类似书籍的大型文档
技术
- regex 正则
- JavaScript …
Python
open()函数支持多种文件打开模式,r只读、w覆盖写入、a追加、b二进制、+读写组合。
基础模式
| 模式 | 说明 | 文件不存在 … |
|---|
OLAP(联机分析处理)面向海量历史数据的多维度分析,支撑决策支持,与 OLTP 形成明确分工。
核心特征
| 特征 | 说明 … |
|---|
HAVING 与 WHERE 的核心区别:WHERE 在分组前过滤原始数据,HAVING 在分组后过滤聚合结果。
核心区别
| 关键字 | 过滤时机 | 过滤对象 … |
|---|
数据结构是计算机存储、组织数据的方式,选择合适的数据结构是高效算法的基础。
线性结构
| 结构 | 特点 | 复杂度 … |
|---|
==⚠ 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)的线性数据结构,支持 push、pop 操作,广泛应用于函数调用、表达式求值等场景。
定义
栈遵循后进先出(LIFO, Last In First Out)原则,核心操作包括:
- push:栈顶添加元素
- pop: …
LeetCode 2741:求满足相邻元素可整除关系的排列总数,使用状态压缩 DP 求解。
题目
给定 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 算法利用已匹配信息避免从头搜索,时间复杂度 O(n+m),远优于暴力搜索的 O(n×m)。
核心思想
当发生不匹配时,利用部分匹配表(next 数组) 决定模式串移动距离,而非重新开始比较。
next 数组构建
next[i] …
并查集(Union-Find)是处理动态连通性问题的高效数据结构,通过路径压缩和按秩合并,Find 和 Union 操作可达近乎 O(1) 时间复杂度。
核心概念
并查集管理若干不相交集合,支持两个核心操作:
- Find:查找元素所属集 …
单调栈是特殊栈结构,栈中元素保持单调递增或递减,用于快速查找下一个更大/更小元素。
核心特点
- 单调递增栈:栈底到栈顶逐渐增大
- 单调递减栈:栈底到栈顶逐渐减小
典型应用
| 应用 … |
|---|
VACE 数据构建核心:实例级视频分析,支持多任务统一框架(T2V/R2V/V2V/MV2V)。
预处理与筛选流程
1. 初步筛选
- 镜头分割(避免冗余)
- 过滤指标:分辨率、美学分数、运动幅度
2. 目标区域筛选
- RAM 标注 + …
显卡选购指南:公版与非公版差异、品牌梯队分析及选购建议。
性能参考
公版 vs 非公版
用户较少选择公版显卡,主要原因:
| 对比项 | 公版 | 非 … |
|---|
HTML(HyperText Markup Language)是构建网页的标准标记语言,定义网页的结构与内容。
基础结构
| |
INI 是简单的配置文件格式,用于存储键值对配置信息,结构清晰易于编辑。
核心结构
| |
LaTeX 是专业排版系统,广泛用于学术论文、技术文档、数学公式排版。
快速入门
工具资源
| 工具 | 链接 … |
|---|
LaTeX 文档结构:
\documentclass定义类型,\usepackage加载宏包,$...$行内公式,$$...$$独立公式。
文档结构
| |
LaTeX 空格与间距控制:
\quad/\qquad水平间距,\vspace垂直间距,em/ex相对单位。
水平间距
| 命令 | 宽度 | 用途 … |
|---|
LaTeX 字体承载数学含义:意大利体表变量,粗体表向量/矩阵,黑板粗体表数集,花体表集族/变换。
基础字体
| 字体 | 命令 | 示例 | 用途 … |
|---|
希腊字母 ε 有两种写法:$\varepsilon$(原型)和 $\epsilon$(变体),LaTeX 分别用
\varepsilon和\epsilon输入。
两种写法
| 写法 … |
|---|
LaTeX 希腊字母命令汇总,包含大小写形式、中文读法及常见数学物理意义。
| 字母 | LaTeX 写法 | 中文读法 | 常用意义 … |
|---|
Markdown 语法速查指南,涵盖基础语法、多引擎扩展及 Obsidian 独有语法。
基础通用语法
| 语法 | 写法 | 说明 … |
|---|
Mermaid 是文本描述语言,通过简单语法定义图表,支持流程图、时序图、甘特图等。
渲染方式
- 在线编辑器:Mermaid Live Editor
- Markdown 文档:Typora、GitLab、Obsidian 等支持
- 网页集成 …
Mermaid 用文本语法生成图表,支持流程图、时序图、类图、状态图、甘特图等,实现「文本即图形」。
流程图
flowchart TD
A[开始] --> B{条件}
B -->|是| C[执行]
B …Wiki 语法是简化标记语言,用于快速排版、插入链接。
[[]]双中括号创建内部链接,是知识管理的核心。
核心语法
内部链接
[[页面名称]] # 链接到页面
[[页面名称|显示文本]] # 自定义显示文本
外部链 …
标记语言用于定义文档结构和呈现方式,掌握不同标记语言是技术写作的必备技能。
核心语言
Markdown
- [[Markdown]] - 轻量级标记语言
- [[Wiki语法]] - Obsidian 双链语法
LaTeX
- [[LaTex …
pdb 是 Python 内置调试器,支持断点、单步执行、变量查看;remote-pdb 支持远程调试生产环境。
pdb 核心命令
| 命令 | 功能 | 说明 … |
|---|
spawn 是跨平台的「干净启动」,fork 是 Unix 的「快速复制」。嵌套进程、跨平台开发首选 spawn。
核心差异
| 维度 | fork(Unix 专属) … |
|---|
位置编码解决 Transformer 的「顺序失忆症」,从绝对编码演进到相对编码,RoPE 已成主流。
为什么需要位置编码?
自注意力机制具有置换不变性:序列元素位置交换不影响注意力权重。位置编码为模型注入位置信息: …
uv + pyproject.toml 实现多环境管理:
optional-dependencies定义环境依赖,--venv-path隔离环境,锁文件保证一致性。
核心优势
| 特性 … |
|---|
电子信息与计算机专业基础知识地图,涵盖硬件、软件、编程、网络、数据管理等核心领域。
计算机硬件与组成
电路基础
- 电路设计、模拟电路、数字电路
- 数字逻辑:逻辑门、组合逻辑、时序逻辑
[[计算机组成原理 MOC]]
- CPU、内存、外存 …
多 Python 项目导入问题解决方案:修改
sys.path、设置PYTHONPATH、优化项目结构、使用importlib。
方案对比
| 方案 | 优点 … |
|---|
系统时间存储:C/内核用
time_t(32 或 64 位整数,秒),其他语言多用 64 位或浮点(毫秒)。32 位秒数会在 2038 年溢出。
各语言存储类型
| 环境 | 类型 … |
|---|
.gitignore定义 Git 不跟踪的文件或路径,支持精确控制忽略范围。
忽略特定目录
# 仅忽略根目录下的 config/
/config/
# 忽略特定路径 …元编程将代码视为数据操作,实现代码生成、修改与分析,提升灵活性与复用性。
核心概念
| 技术 | 说明 | 示例 … |
|---|
多继承允许类同时继承多个父类,实现功能组合,但需解决菱形继承带来的方法解析问题。
Python 多继承语法
| |
ACM 模式需自行处理输入输出,掌握
input()、split()、map()的组合用法是基础。
基本输入
| |
注释标识(TODO/FIXME 等)标记代码待办事项与问题,便于团队协作与代码维护。
常用标识
| 标识 | 用途 | 场景 … |
|---|
代码风格统一提升可读性,刷题需区分 ACM 模式与核心代码模式的输入输出处理。
代码风格规范
- 变量命名:驼峰命名法
- Python 规范:遵循 PEP8
刷题模式对比
| 模式 … |
|---|
Mixin 模式支持灵活组合模型算子,通过多继承动态注入功能,保持接口统一与资源可控。
基础架构
|
Mixin 模式通过多继承动态注入独立功能模块,实现功能的灵活组合,同时避免继承层次过深。
核心思想
Mixin 类不独立使用,而是作为"插件"为其他类提供特定功能:
| |
C++ 是细粒度高性能语言,适用于系统编程、游戏开发、高性能计算。学习路径:基础语法 → OOP → STL → 并发 → 实践。
学习路线
基础阶段
| 内容 | 要点 … |
|---|
C++ 由 ISO C++ 标准委员会(WG21)维护,从 1983 年"C with Classes"发展为现代多范式语言,最新稳定版 C++20。
发展历程
| 年份 … |
|---|
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 环境与包管理工具,支持环境隔离、依赖管理、环境迁移。
初始化
| |
Conda
Conda 是跨平台 Python 环境与包管理工具,支持创建隔离环境、管理依赖。
环境管理
| |
debugpy 是 Python 调试器,支持本地调试(VS Code 直接运行)和远程调试(附加到远程进程/容器)。
本地调试
配置 launch.json
.vscode/launch.json:
|
forkserver
forkserver是 Unix 下fork的优化版,先启动独立服务器进程,子进程从中 fork 而来,兼顾多线程安全与启动速度。
与 fork、spawn 对比
| 方 … |
|---|
Hugging Face 模型下载支持三种方式:Transformers API、huggingface-cli、手动下载。
方法对比
| 方法 | 适用场景 | 优 … |
|---|
argparse 是 Python 标准库命令行参数解析模块,支持位置参数、可选参数、类型转换、自动生成帮助文档。
核心概念
| 概念 | 说明 … |
|---|
bisect 模块提供二分查找算法,用于在有序序列中快速查找插入位置,时间复杂度 O(log n)。
核心函数
| 函数 | 说明 … |
|---|
C++ 语法糖在编译期完成转换,运行期无开销。所有语法糖都能还原为 C++98 原生代码。
核心高频语法糖(C++11 起)
| 语法糖 | 示例 | 等价代码 … |
|---|
collections.Counter 是计数器容器,用于统计可哈希对象的频率,支持字典操作、集合运算和排序。
创建 Counter
| |
ctypes 是 Python 标准库的外部函数接口,允许直接调用 C 动态链接库中的函数。
核心价值
- 调用系统 API:Windows Kernel32.dll、Linux libc.so
- 复用 C 库:高性能数学计算、图像处理、硬 …
einops 通过维度名称标注实现张量操作,代码即文档,替代 reshape、transpose、squeeze 等组合调用。
核心优势
| 优势 | 说明 … |
|---|
Hydra 是 Python 配置管理框架,支持分层配置、命令行覆盖,简化复杂项目的参数管理。
相关资源
Hydra 是 Facebook 开发的配置管理框架,支持层次化配置、动态参数修改,适合机器学习实验管理。
核心特性
| 特性 | 说明 … |
|---|
itertools 是 Python 标准库的迭代器工具集,提供高效处理迭代对象的函数。
无限迭代器
| 函数 | 说明 … |
|---|
JAX 是 Google 开发的数值计算库,基于 NumPy API,提供自动微分、JIT 编译和 GPU/TPU 加速。
核心特性
| 特性 | 说明 … |
|---|
Python logging 模块提供灵活的日志管理,支持多级别、多处理器、格式化和日志轮换,替代 print 实现生产级日志记录。
核心组件
| 组件 | 说明 … |
|---|
NLTK
NLTK(Natural Language Toolkit)是 Python 自然语言处理库,提供分词、词性标注、句法分析等工具。
官网:https://www.nltk.org/
核心功能 …
NLTK
NLTK(Natural Language Toolkit)是 Python 自然语言处理库,提供分词、词性标注、句法分析等工具。
官网:https://www.nltk.org/
核心功能 …
Paramiko 是 Python 的 SSH 客户端库,支持远程命令执行和 SFTP 文件传输。
安装
| |
SSH 连接
| |
pathlib.Path 提供面向对象的文件路径操作,替代 os.path,支持链式调用和路径拼接。
路径属性
| 属性 | 说明 | 示例 … |
|---|
Python 语法糖由解释器动态转换,零性能损耗,不增加新功能,仅简化代码。
核心高频语法糖
| 语法糖 | 示例 | 等价代码 … |
|---|
[[TOML vs JSON vs YAML vs INI 全方位对比]]
TOML(Tom’s Obvious, Minimal Language)由 GitHub 联合创始人 Tom Preston-Werner 创建,设 …
webdataset 用于高效处理大规模数据集,通过 .tar 文件流式加载,适配分布式训练场景。
核心优势
| 特性 | 说明 … |
|---|
语法糖(Syntactic Sugar)由 Peter J. Landin 提出,指对原有语法的简化扩展,不增加新功能,仅让代码更简洁易读。
核心定义
语法糖 = 编译器/解释器自动做等价转换
- 语法糖代码在执行前被自动翻译为原生等价代 …
PIL/OpenCV 使用 HWC 格式,PyTorch 使用 CHW 格式。PIL 是 RGB,OpenCV 是 BGR。转换时需注意通道顺序和取值范围。
格式对比
| 库 | 颜 … |
|---|
Pydantic 基于类型注解实现数据验证,支持自动类型转换、序列化和结构化错误处理。
核心能力
| 能力 | 说明 |
|---|---|
| 数据 … |
Python set 运算符优先级:差集最高,并集最低,使用括号确保计算顺序。
运算符优先级(从高到低)
| 运算符 | 名称 | 优先级 … |
|---|
object是 Python 所有类的根类,提供默认方法并构成类型系统基础。
基本概念
- 所有类的终极父类
- Python 3 中
class Foo:等价于class Foo(object): - Python 2 需显式继承才能使用 …
Python 读取图片主要有 4 种方式:Pillow(通用)、OpenCV(CV 任务)、matplotlib(可视化)、torchvision(深度学习)。
Pillow(推荐)
| |
使用黄金角(137.5°)分割色相环,实现整数 ID 与 RGB 颜色的双向映射,相邻 ID 颜色差异最大化。
| |
特殊方法(魔法方法)以
__xxx__命名,由解释器自动调用,实现运算符重载、容器操作、迭代等行为。
对象生命周期
| 方法 | 说明 … |
|---|
Python 基础语法精简概览。
历史
Python 由 Guido van Rossum 于 1991 年发布,强调代码可读性和简洁性。
基础语法
待补充…
Python multiprocessing 支持嵌套启动多进程,但需在主进程设置启动方式并保护程序入口。
核心要点
- 主进程设置
multiprocessing.set_start_method() - 使用
if __name__ == …
Python 序列化将对象转换为可存储/传输格式,反序列化还原为原始对象。
序列化工具对比
| 工具 | 特点 | 适用场景 … |
|---|
Python
open()函数通过模式参数控制文件读写方式:r只读、w覆盖写入、a追加、b二进制、+读写组合。
基本模式
| 模式 | 说明 | 文件不存 … |
|---|
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
Text Elements
基础数据结构 ^LrhHlRVS
函数 …
装饰器是 Python 的语法糖,本质是函数包装:
@decorator等价于func = decorator(func)。
装饰器基础
|
Python 可视化主要使用 Matplotlib、Seaborn、Plotly 提供的颜色库和调色板。
Matplotlib 基本颜色
| |
Dataset 支持索引访问,IterableDataset 支持流式迭代,适用场景不同。
核心对比
| 特性 | Dataset | IterableDataset … |
|---|
Redis 是高性能内存数据库,Python 通过 redis-py 库操作,支持 String、Hash、List、Set、Sorted Set 五种数据结构。
安装与连接
| |
|
PyTorch 提供丰富的张量维度操作函数,涵盖形状调整、维度变换、拼接分割等场景。
维度调整
| 函数 | 功能 | 示例 … |
|---|
uv install是增量安装(不清理冗余),uv sync是严格对齐锁定文件(清理冗余)。
核心对比
| 维度 | uv install | uv sync … |
|---|
uv 是 Astral 开发的极速 Python 包管理工具,替代 pip/venv/poetry,速度快 10-100 倍。
安装
| |
vars()返回对象的属性字典(__dict__),无参数时等价于locals()。
语法
| |
- 有参数:返回
object.__dict__ - 无参数:返回当前作用域局部变量字典
使用场景 …
余弦相似度衡量向量方向一致性,取值 [-1,1],是深度学习中特征匹配、语义关联的核心算法。
计算公式
$$\cos\theta = \frac{A \cdot B}{|A| \times |B|}$$
- 分子:向量点积
- 分母:L₂ 范 …
Python 提供多个特殊全局变量,用于获取模块和执行上下文信息。
核心特殊变量
| 变量 | 说明 | 典型值 … |
|---|
Python 字符串 API 提供丰富的处理方法,包括大小写转换、查找替换、拆分连接等。
大小写转换
| |
Python 多线程同步机制包括 Lock、Condition、Event、Queue,用于控制线程执行顺序。
同步机制对比
| 机制 | 特点 | 适用场景 … |
|---|
python -m <模块名>按模块名搜索并运行,自动处理sys.path和相对导入。
核心原理
python -m <模块名> 将指定模块以脚本方式运行:
- 按
sys.path搜索模块 - 将模块所在目录 …
注册器模式通过维护名称到类/函数的映射,实现动态对象创建,适用于插件系统、多算法实现等场景。
核心优势
- 解耦:模块定义与使用分离
- 动态:通过字符串名称创建实例
- 可扩展:新增模块无需修改核心代码
注册器实现
|
debugpy
debugpy 是遵循 Debug Adapter Protocol (DAP) 标准的 Python 调试器,支持跨 IDE、远程调试、多进程等场景。
核心特性
- DAP 协议:统一 IDE 与调试器通信规范,兼容 …
特殊方法(魔法方法)是 Python 以
__xxx__格式命名的内置方法,由解释器自动调用,支持运算符重载、容器操作、迭代等功能。
核心特征
- 命名:双下划线包裹(
__init__、__add__) - 调用:由解释器自动触发,不手动调 …
InputPadder 将图像填充到 8 的倍数,支持对称填充(sintel)或底部填充模式。
| |
模型流式处理返回的 result 是否是生成器?
模型流式返回(如大模型逐字输出、数据分批处理)的核心需求是"边生成边返回",生成器的"惰性计算、逐次产出"特性完美匹配此场景。
大概率是生成器或类 …
记录编写中文 Python 教程的初衷与计划:精炼风格、循序渐进,于己巩固技术,于人提供参考。
缘起
研二四月,正值忙碌。实验室项目、实习求职、秋招准备,为何还要花时间写一份 Python 教程?
搭建个人网站的念头由来已久,却总因 …
Poetry 是一站式 Python 项目管理工具,整合依赖管理、虚拟环境、打包和发布功能。
核心功能
| 功能 | 说明 … |
|---|
pyproject.toml 是 Python 项目的统一配置文件,定义构建系统、项目元数据和工具配置。
背景与演进
| 阶段 | 说明 … |
|---|
python -m build为 Python 项目生成源码包(.tar.gz)和 Wheel 包(.whl),用于发布到 PyPI 或分发安装。
前置要求
| |
setuptools
setuptools 是 Python 最主流的打包和分发工具,用于构建、安装和发布 Python 包。
核心功能
- 构建源码包(sdist)和二进制包(wheel)
- 依赖管理
- 入口点定义(命令行脚本)
- 与 …
Bash 脚本是 Linux/Unix 自动化任务的核心工具,语法围绕变量、流程控制、文件操作展开。
脚本结构
| |
bash和zsh都是 Unix/Linux Shell,基于sh发展而来。bash 是服务器标配,zsh 是桌面优选。
关系图谱
| |
Shell
Shell 编程是通过脚本在命令行解释器中执行自动化任务的技术,是用户与操作系统内核之间的桥梁。
核心价值
- 自动化:批量处理重复任务
- 系统管理:运维操作
- 胶水语言:串联不同程序
执行流程
读取命令 → 解析词元 → 判断 …
unzip是 Linux/Unix 解压 ZIP 格式压缩包的工具。
基本语法
| |
常用选项
| 选项 | 说明 … |
|---|
zip是 Linux/Unix 文件压缩工具,创建跨平台兼容的 ZIP 格式压缩包。
基本语法
| |
常用选项
| 选项 … |
|---|
自举(Bootstrapping)指用语言自身实现其解释器或编译器。成熟语言不一定能自举。
能自举的原因
- 设计闭环:验证语言完备性
- 生态便利:复用自身库
- 历史演进:成熟后用自身重写
不能自举的情况 …
单例模式确保一个类只有一个实例,并提供全局访问点。
适用场景
- 资源共享:配置类、日志类、线程池、数据库连接池
- 控制全局资源访问
优缺点
| 优点 | 缺点 … |
|---|
设计模式是解决常见软件设计问题的可重用解决方案,提高代码可读性、可维护性和可扩展性。
三大类别
创建型模式
| 模式 | 说明 … |
|---|
GET 用于获取资源,数据在 URL,幂等可缓存;POST 用于提交数据,数据在请求体,非幂等不缓存。
核心区别
| 维度 | GET | POST … |
|---|
HTTP 方法定义了对资源的操作类型,幂等性和缓存特性是选择方法的关键。
方法总览
| 方法 | 作用 | 场景 | 幂等 | 缓存 … |
|---|
$PATH是 Linux 核心环境变量,定义 Shell 查找可执行文件的目录路径。
查看 PATH
| |
ack是专为程序员设计的代码搜索工具,自动忽略版本控制目录,支持按语言过滤文件。
安装
| |
Bash 特殊变量用于获取脚本执行信息、参数处理、进程管理等。
参数相关
| 变量 | 含义 |
|---|---|
$0 | 脚 … |
Bash 脚本参数传递分三种方式:位置参数(简单固定)、带选项参数(灵活推荐)、getopts 短选项(简洁)。
位置参数
适合参数固定、顺序明确的场景,通过 $1、$2 直接获取。
| 变量 … |
|---|
comm逐行比较两个已排序文件,输出三列:仅文件1有的、仅文件2有的、两者共有的行。
输出格式
| 列 | 含义 |
|---|---|
| 第1列 … |
curl是跨平台命令行工具,用于客户端与服务器之间传输数据,支持 HTTP/HTTPS/FTP 等多种协议,是接口调试和网络传输的必备工具。
核心参数
请求方法
| 参数 | 说明 … |
|---|
find是 Linux 最强大的文件查找工具,支持按名称、类型、大小、时间等条件搜索。
基本语法
| |
常用示例
按名称查找:
| |
HTTP 状态码是服务器对客户端请求的响应状态标识,由 3 位数字组成,首位数字决定核心类别。
状态码分类
| 类别 | 首位 | 含义 … |
|---|
Hugo 是基于 Go 的静态站点生成器,适合将 Obsidian 笔记发布为博客。核心路径:环境安装 → 建站 → 适配 Obsidian → 部署。
安装 Hugo
推荐安装 Extended 版本(支持 SCSS): …
iTerm2 是 macOS 上的高级终端,支持分屏、热键窗口、即时回放等功能,是终端工作的效率利器。
安装
- 官网下载:iterm2.com
- Homebrew:
brew install --cask iterm2
基础快捷键 …
less是文本查看工具,专为查看大文件设计,无需加载整个文件到内存,支持翻页、搜索、跳转。
基本语法
| |
按 q 退出。
命令行选项 …
/dev/null是 Unix/Linux 的特殊设备文件,写入的数据被立即丢弃,读取返回空,用于屏蔽输出。
核心特性
- 写入数据立即丢弃,无法恢复
- 读取立即返回空(EOF)
- 纯内存设备,无磁盘 IO
常用场景
丢弃输出
|
Linux 常用指令速查:SSH 密钥管理、远程连接问题解决。
清除远程主机密钥
当远程主机密钥更改时:
| |
Linux 发行版的核心差异在于包管理器,Debian 系用
apt,RedHat 系用dnf/yum。
两大包管理体系
| 体系 | 发行版 | 包管理器 … |
|---|
Linux 服务器可通过命令行查看 CPU、内存、磁盘等硬件信息。
CPU 信息
| |
pdsh是并行远程命令执行工具,可同时向多台主机发送命令,适合集群运维。
安装
| |
pkill根据进程属性批量查找并终止进程,无需手动输入 PID,比kill更高效。
基本语法
| |
常用选项
| 选项 | 作用 … |
|---|
ps命令提供系统进程快照,是 Linux 进程管理和故障排查的核心工具。
两种参数风格
| 特性 | UNIX 风格 | BSD 风格 … |
|---|
rclone是命令行工具,用于本地与云存储(Google Drive、S3、OneDrive 等)之间的数据同步和迁移,支持 40+ 存储服务。
基础概念
- Remote(远程存储):配置好的云存储,如
gdrive:、s3: - 语法: …
Redis 是高性能键值存储系统,支持多种数据结构,广泛应用于缓存、队列、排行榜等场景。
核心数据结构
| 数据结构 | 特性 | 应用场景 … |
|---|
Redis 是高性能键值存储系统,支持多种数据结构,广泛应用于缓存、队列、排行榜等场景。
核心数据结构
| 数据结构 | 特性 | 应用场景 | 关键 … |
|---|
sed是流编辑器,逐行处理文本,支持查找、替换、删除、新增等操作,默认不修改原文件。
工作流程
读取 → 执行命令 → 输出 → 循环
基本语法
| |
source在当前 Shell 进程中执行脚本,环境配置全局生效;./script.sh在子进程中执行,退出后失效。
核心语法
| |
tar是文件打包和压缩工具,支持创建、查看、提取归档文件。
核心选项
| 选项 | 作用 |
|---|---|
-c | 创建 … |
tee从标准输入读取数据,同时输出到标准输出和文件,实现"一分为二"的数据流。
基本语法
| |
选项
| 选项 … |
|---|
tmux是终端复用器,支持在一个窗口运行多个会话,断开后会话仍持续运行。
常用命令
| |
Bash 脚本参数传递分三种方式:位置参数(简单固定)、带选项参数(灵活推荐)、getopts 短选项(简洁)。
位置参数
适合参数固定、顺序明确的场景,通过 $1、$2 直接获取。
| 变量 … |
|---|
Tmux 是终端复用器,支持在一个终端窗口运行多个会话,断开连接后会话仍持续运行。
安装
| |
LD_LIBRARY_PATH指定运行时动态库搜索路径,适合临时解决库路径问题,但不推荐生产环境使用。
核心定义
动态链接器查找共享库(.so 文件)的目录列表,优先级高于系统缓存和默认目录。
使用方法
临时设置:
|
Linux 文件系统采用单一根目录树状结构,所有文件挂载在
/下,遵循 FHS 标准,分类存放、职责明确。
核心特点
- 单一根目录
/ - 一切皆文件(设备、进程等)
- 区分大小写
目录分类
系统配置 …
阿里云服务器初始化的核心流程:SSH 服务配置 + 安全组放行 + VS Code 远程连接。
服务器端配置
登录服务器
- 阿里云控制台 → 云服务器 ECS → 实例列表
- 点击「远程连接」→ 选择「Workbench 远程连接」
- 输入 …
ALU(算术逻辑单元)是 CPU/GPU/TPU 的核心运算器件,执行所有算术和逻辑运算,是计算机的"数学与逻辑大脑"。
核心定位
ALU 与控制器、寄存器并称 CPU 三大核心模块。GPU 的流处理器、TPU 的 …
bfloat16(全称 Brain Floating Point 16-bit)是一种专为 深度学习/AI 计算 设计的 半精度浮点数据格式,核心特点是“保留 FP32 的数值范围,牺牲部分精度换取更高性能和更低显存占用”。其中的“b”来自 …
CPU 市场由 Intel 和 AMD 主导 x86 架构,国产厂商多路线突围。选择 CPU 需明确需求、预算和兼容性。
市场现状
- 桌面 PC:2024 年全球出货量 2.63 亿台
- 服务器:x86 架构占约 90% 市场份额
- 国产路 …
睿频是 CPU 在温度、功耗允许时自动超频的技术,Intel 称 Turbo Boost,AMD 称 Precision Boost。
核心原理
- 触发条件:高负载(游戏、渲染)+ 温度/功耗未超限
- 持续时间:临时加速,温度/功耗接近阈 …
内存核心参数:类型(DDR4/DDR5)、容量、频率、时序。双通道可提升带宽约 1 倍。
核心参数
类型
| 类型 | 特点 | 适用平台 … |
|---|
存储介质分为易失性(SRAM/DRAM,断电丢失)和非易失性(SSD/HDD/磁带,断电保留),形成从"极致性能"到"超大容量"的存储金字塔。
易失性存储介质
SRAM(静态随机存取存储器)
- 原 …
py-spy 是非侵入式 Python 性能分析工具,通过读取进程内存采样函数调用栈,生成火焰图直观展示耗时分布。
安装
| |
使用方式
分析运行中的进程
| |
清空 GPU 显存优先级:释放缓存 > 终止进程 > 重启驱动。先定位占用进程,再精准处理。
查看显存占用
| |
电脑组装核心:CPU 和显卡占预算 50%,主板决定扩展性,电源决定稳定性,散热决定性能上限。
核心组件
| 组件 | 作用 | 关键参数 | 价格区 … |
|---|
以太网是当今局域网最广泛使用的网络技术,从 1973 年的 2.94Mbps 发展到今天的 400Gbps。
发展历程
| 阶段 | 时间 | 里程碑 … |
|---|
HTTP 状态码由 3 位数字组成,首位数字决定核心类别,用于告知客户端请求处理结果。
核心分类
| 类别 | 首位 | 含义 … |
|---|
VPN 通过公共网络建立加密通道,实现远程安全访问私有网络资源,保障机密性、完整性与身份认证。
核心价值
- 机密性:AES-256 加密防止数据窃听
- 完整性:SHA-2 哈希校验确保数据未被篡改
- 身份认证:证书或双因素认证验证用户身份 …
光猫(ONT)是光纤到户的核心终端设备,负责光信号与电信号的转换,实现用户端与运营商网络的连接。
定义与核心功能
光猫将光纤中的光脉冲信号转换为以太网电信号,同时支持反向转换。技术标准遵循 ITU-T G.984(GPON)或 IEEE …
路由器工作在网络层,基于 IP 地址跨网转发;交换机工作在数据链路层,基于 MAC 地址网内交换。两者互补构建完整网络。
核心区别
| 特性 | 路由器 | 交换机 … |
|---|
设计模式是经过验证的通用解决方案,用于解决常见软件设计问题,提高代码可读性、可维护性和可扩展性。
设计模式分类
创建型模式
专注于对象创建,将创建过程与系统分离。
| 模式 | 说明 … |
|---|
张芷铭的个人博客