Node.js版本管理工具 n
Node.js版本管理工具 n toc 概述 n 是一个 Node.js 版本管理工具,用来安装、切换和管理本地的 Node.js 版本。 安装 使用 npm 安装 使用 yarn 安装 使用 Homebrew 安装 用 Homebrew 装之前先确认已经装好 Homebrew …
阅读全文 →ARCHIVE / ALL NOTES
141 篇记录 · 5 个栏目
Node.js版本管理工具 n toc 概述 n 是一个 Node.js 版本管理工具,用来安装、切换和管理本地的 Node.js 版本。 安装 使用 npm 安装 使用 yarn 安装 使用 Homebrew 安装 用 Homebrew 装之前先确认已经装好 Homebrew …
阅读全文 →CSS 快速入门教程 toc 概述 CSS(层叠样式表)用来描述 HTML 文档的表现,控制网页的样式和布局。它不是编程语言,一份样式表可以应用到多个页面。 核心概念 | 概念 | 说明 | | | | | 语法 | 选择器和声明块的结构 | | 选择器 | 指定要样式化的元素 …
阅读全文 →CSS 属性 toc 文本相关属性 字体属性(Font) 1. font family(字体系列) 2. font size(字体大小) 3. font weight(字体粗细) 4. font style(字体样式) 5. font 复合写法 文本属性(Text) 1. col…
阅读全文 →CSS 选择器 toc 基础选择器 1. 元素选择器 2. 类选择器 3. ID选择器 4. 通配符选择器 组合选择器 1. 后代选择器 2. 子元素选择器 3. 相邻兄弟选择器 多类名使用 一个元素可以同时带多个类名,用空格分隔: 属性选择器 伪类选择器 伪元素选择器 选择器优…
阅读全文 →对象 toc 对象基础 对象是 JavaScript 的核心数据结构,把相关数据和方法打包到一起。成员之间用逗号分隔,可以包含任意类型的属性和方法。 对象的组成 | 成员类型 | 说明 | 示例 | | | | | | 属性 | 存储数据的变量 | name: "value" |…
阅读全文 →对象原型 toc 原型链 原型的概念 JavaScript 中的每个对象都有一个内置属性 Prototype ,指向另一个对象(即原型对象)。原型链是 JavaScript 实现继承的方式。 示例 在浏览器控制台输入对象名加一个点(比如 myObject. ),就能看到这个对象可…
阅读全文 →函数 toc 概述 函数是一段带圆括号 的可重用代码块,用来执行特定任务。它可以接收参数、返回结果,并拥有独立的作用域。 浏览器内置函数 字符串操作 数组操作 数学运算 函数与方法 | 类型 | 说明 | 示例 | | | | | | 函数 | 独立的功能块 | function…
阅读全文 →条件语句 toc 概述 条件语句根据不同的条件执行不同的代码。JavaScript 提供了几种条件语句: if...else 语句 switch 语句 三元运算符 if...else语句 if else 基本格式 最基本的条件语句形式: 示例 else if语句 处理多个条件的情…
阅读全文 →循环语句 toc 概述 循环语句用于重复执行某段代码。JavaScript 提供了几种循环结构: for 循环 while 循环 do...while 循环 for...of 循环 循环的基本概念 | 组成部分 | 说明 | | | | | 初始化 | 设置循环的初始值 | | …
阅读全文 →JavaScript 猜数字游戏实战 toc 概述 通过开发一个猜数字游戏,学习 JavaScript 基础语法和程序组织方式。 前置知识 HTML 基础 CSS 基础 JavaScript 基本概念 案例:构建猜数字游戏 游戏需求 开发一个猜数字游戏,具有以下功能: 1. 随机…
阅读全文 →JavaScript 中的类 toc 类和构造函数 类的定义 使用 class 关键字声明一个类: 构造函数 构造函数用 constructor 关键字声明,执行流程: 1. 创建新对象 2. 绑定 this 3. 执行构造函数代码 4. 返回新对象 创建实例 省略构造函数 如果…
阅读全文 →JavaScript是什么 toc 简介 JavaScript 是 Web 技术的第三层,是一种脚本编程语言,用来: 为网页添加交互功能 处理动态内容更新 实现用户界面效果 Web 技术三层架构 | 层级 | 技术 | 作用 | | | | | | 结构层 | <i class=…
阅读全文 →JSON 使用 toc 概述 JSON JavaScript Object Notation 是一种轻量级的数据交换格式。人读起来不费劲,机器解析也方便。它基于 JavaScript 对象语法,但本身和语言无关。 JSON 语法 基本规则 | 规则 | 说明 | 示例 | | |…
阅读全文 →Midjourney好用的关键词 toc Midjourney V5 之前,人像生成质量一般,细节和逻辑经常出问题。V5 之后人像作品明显提升,已经能媲美真实摄影师的作品。 pic2 https://pic2.zhimg.com/v2 de49a5e034b567334f9cd7…
阅读全文 →Ollama 本地部署与 GUI 界面 toc 本地跑大模型这件事,门槛已经降得很低了。下面是用 Ollama 在自己电脑上跑大模型,再配个 Web 界面的完整流程。 Ollama 是一个本地运行开源大语言模型的工具,把模型设置和配置都简化了,对 GPU 调用做了优化,跑模型相对…
阅读全文 →Stable Diffusion WebUI 插件推荐 toc Cut off/ 精准控制物体颜色 插件地址: https://github.com/hnmr293/sd webui cutoff https://github.com/hnmr293/sd webui cutof…
阅读全文 →ChatGPT 对话方法与Prompt toc 提问能力 尽可能详细的提出问题,一次问多个问题 不要超出 4 个 批判性思考 案例,了解批判性思考 观点,论题,证据事实,结论,推理解释的过程,假设,概念,立场 任何观点,都是针对某个论题,基于特定的概念,证据事实和假设,站在特定的…
阅读全文 →ChatGPT 提示工程框架 toc ChatGPT 可以扮演很多角色,比如招聘、采购这类工作的助手。但对于不太熟悉技术的人来说,要用好它并不容易。 一、简介 CRISPE 框架就是为此设计的,给出一套写提示词的套路。无论是写职位 JD,还是和候选人沟通,都能套用。下面拆解框架的…
阅读全文 →ChatGPT 颜色图片生成器 toc Title:颜色生成器 Color: Ruby RubyColor https://dummyimage.com/128/D32030/ffffff.png\&text=+ Ruby is a deep shade of red, simi…
阅读全文 →DeepSeek使用技巧 toc Deepseek 是推理型模型,不是指令型模型,适合解决问题、模仿。 一、正确使用方法 (一)通用公式 ==我要 xx,要给 xx 用,希望达到 xx 效果,但担心 xx 问题...== + 例子: + 我要写周报,老板周一要看,希望重点放在项目…
阅读全文 →Go 操作数据 toc Go 操作数据无非这么几块:内置数据结构(数组、切片、map、struct)、数据库、文件、网络、并发。下面挑几个常用的写法贴出来。 数据库 database/sql 是标准库的统一接口,配驱动用。MySQL 配 github.com/go sql dri…
阅读全文 →Go 环境配置指南 toc 三个平台装 Go 思路都一样:下载、解压、设环境变量。国内用户第一步先把 GOPROXY 换掉,不然拉依赖会卡到怀疑人生。下面分系统说。 一、Windows (一)安装 Go 去 https://go.dev/dl/ https://go.dev/dl…
阅读全文 →Anaconda 命令 Conda 仍能做环境隔离,但 2026 年起新项目建议直接用 uv 或 pyenv + venv ,更快、更轻、配置少。Anaconda 的价值只剩数据科学那一亩三分地——多 Python 版本 + 大量预编译科学包。 环境管理 包管理 Jupyter …
阅读全文 →Ansible Ansible 用 SSH 把"任务"推到远端执行,控制节点上不需要装任何 agent——这是它和 Salt、Chef、Puppet 的最大区别。 2026 年视角:社区版已经走到 10.x / Core 2.18+;Python 2 早就不支持了;PIP 装才是…
阅读全文 →Ansible 实战:部署 LAMP + Keepalived 2026 年视角:Keepalived 仍是双机热备的省心方案;MariaDB 已基本替代 MySQL 默认;LAMP 渐渐被 LNMP 替代,但作为教学项目够用。 目标架构 | 主机 | IP | 角色 | | |…
阅读全文 →Playbook Playbook = 用 YAML 描述"远端该做什么"。比 ad hoc 命令更适合长期维护、版本控制、复用。本篇把 Playbook 的写法 + 流程控制 + 变量体系一次讲清。 1. 核心元素 | 元素 | 作用 | | | | | hosts | 目标主…
阅读全文 →YAML: 文件格式 YAML 设计目标:人类一眼能读、机器一秒能解析。Ansible、Kubernetes、GitHub Actions、Helm、Docker Compose 都用它做配置。 基本规则 用空格缩进, 禁止 Tab 缩进对齐即可识别层级,没有固定空格数 区分大小…
阅读全文 →Yum 模块常用参数 2026 年状态:CentOS 8 起官方仓库改用 dnf ,Ansible 里 yum 模块自动映射到 dnf 行为;CentOS 7 仍在用 yum ,但 CentOS 7 已停止官方更新,新项目首选 Rocky / Alma / RHEL 系。 核心参…
阅读全文 →系统服务配置 systemctl 是和 systemd 打交道的统一入口,2026 年它已经是所有主流发行版的事实标准。 service / chkconfig 这种 SysV 老命令基本只剩兼容层。 服务单元 以 .service 结尾的 unit 文件。 enable 时会在…
阅读全文 →Linux 进程管理 2026 年进程管理工具: ps / top / htop 仍是看进程的入口,systemd 接管服务进程的生命周期, crictl / kubectl 负责容器。生产基本是"进程 → systemd unit → 容器"三层。 概念 | 概念 | 含义 |…
阅读全文 →Linux 日志管理 2026 年现状:systemd journald 已经是绝大多数发行版的默认日志后端,rsyslog 更多作为中转/转发角色。 journalctl 是日常排错的主入口。 核心路径 | 文件 / 服务 | 内容 | | | | | /var/log/mes…
阅读全文 →Linux 文件系统 目录结构(FHS) 文件类型 基本操作 权限 特殊位: 链接 查找 磁盘与挂载 文件系统维护 2026 年事实标准:ext4 / xfs,新部署基本只剩这两个。btrfs 在桌面和容器场景增长明显,zfs 仍是 NAS 主场。 压缩与归档 一些经验 不要在 …
阅读全文 →Linux 系统监控 2026 年生产环境监控的事实标准: Prometheus 抓指标 + Grafana 看图 + Alertmanager 报警 。主机内部仍然离不开 top/iotop/nmon 这些老朋友。 主机工具 装机标配 长期监控(Prometheus + Gra…
阅读全文 →Linux 系统问题诊断 系统出问题,先问三个问题: 症状是什么?影响多大?最近改过什么? 故障分级 | 级别 | 例子 | 响应 | | | | | | P0 | 系统宕机 / 数据丢失 | 立刻 | | P1 | 核心服务不可用 | 30 分钟内 | | P2 | 性能下降 …
阅读全文 →Linux 系统性能优化 性能优化的第一原则:先量后调。盲调 sysctl 是大忌。 评估指标 CPU 桌面 / 交互用 scsi mq / none ,服务器用 mq deadline ,NVMe 用 none 。 内存 磁盘 网络 一些原则 先测量再优化 : perf / b…
阅读全文 →Linux 用户管理 日常操作: useradd / usermod / userdel / groupadd / chage 。 vipw / vigr 仍是直接编辑 /etc/passwd 的"老派"方式,配合 pwck / grpck 校验。 用户类型 | 类型 | UID…
阅读全文 →systemd 服务文件 现代 Linux 服务的"身份证"。三个 section: Unit Service Install 。改完一定要 daemon reload 。 文件位置 | 路径 | 用途 | | | | | /etc/systemd/system/<name .s…
阅读全文 →常用 Command 一些碎片命令速查,按主题分组。 网络 IP / 子网 网卡与驱动 网络诊断 进程 计划任务 crontab 2026 年小任务用 systemd timer 更靠谱:能依赖、重启、日志全。 systemd timer 示例 文本三剑客(仍不过时) 处理 JS…
阅读全文 →命令别名:alias alias 是个能偷懒的小工具——把一长串命令缩成两三个字符。简单,但别滥用。 配置位置 | Shell | 配置文件 | | | | | bash | ~/.bashrc (非登录交互) | | bash | ~/.bash profile 或 ~/.pr…
阅读全文 →用户有效期与随机密码 2026 年常规:临时账号用 chage 强制到期;密码生成交给 pwgen 或硬件 key;xencdpass 这种小工具基本被 pass / gpg 取代了。 用户到期 随机密码生成 openssl(系统自带) urandom pwgen gpg pas…
阅读全文 →dstat:全能资源统计 dstat 把 vmstat 、 iostat 、 ifstat 的功能糅在一起,输出整齐的彩色表格。 top / sar 也能做类似的事,但 dstat 胜在一行看到所有维度。 2026 视角: dstat 维护已停更(最后一次大版本 2016 年),…
阅读全文 →history 配置 2026 年视角:生产机器的 shell history 既是便利也是审计源。建议所有用户用同样的格式(时间戳 + 用户),否则事后回溯就是瞎子摸象。 配置文件层级 | 范围 | 文件 | | | | | 用户级 | ~/.bashrc 、 ~/.bash …
阅读全文 →SSH 2026 年默认:OpenSSH 9.x,禁密码、禁 root、Ed25519 密钥、 /etc/ssh/sshd config.d/ 下放配置、IPv6 优先。 服务端配置 /etc/ssh/sshd config : 主流发行版已经把 sshd config.d/ 目…
阅读全文 →ssh keygen 2026 年默认密钥类型: Ed25519 。比 RSA 短、比 ECDSA 安全、签名快。新项目别再用 RSA 4096。 生成密钥 私钥设密码是默认建议,配合 ssh agent / 硬件 key(YubiKey)更省心。 文件位置 权限 权限不对,Op…
阅读全文 →unzip 2026 年状态: unzip 仍是最常用的 zip 解压工具,但 macOS 默认不装了, brew install unzip 即可。 常用参数 | 参数 | 含义 | | | | | l | 列出包内文件 | | v | 详细信息(与 l 类似但更详细) | |…
阅读全文 →01. 什么是 Docker 2026 年视角:Docker 不再是新生事物,而是云原生时代的"水电气"。新项目几乎默认容器化,但运行时选型已经多元化——Docker、Podman、containerd、Kubernetes 都在场景里。 Docker 基于 Linux 内核的 …
阅读全文 →02. 安装 Docker 2026 年默认:Linux 装 docker ce 或直接 Podman;macOS/Windows 用 Docker Desktop 或 OrbStack。 准备工作 | 资源 | 建议 | | | | | 内核 | 4.x+,建议 5.10+ |…
阅读全文 →03. 使用 Docker 镜像 拉取 不写 tag 默认 latest 。生产环境永远写明版本。 启动容器 | 参数 | 含义 | | | | | i | 保持 stdin | | t | 分配 tty | | rm | 退出后自动删容器 | | d | 后台运行 | | na…
阅读全文 →04. 用 commit 理解镜像构成 提醒: docker commit 只在调试时偶尔用,生产永远走 Dockerfile。 分层回顾 镜像层:只读 容器层:可写,容器删了它就没了 docker diff 输出: | 标记 | 含义 | | | | | A | 新增 | | …
阅读全文 →05. 操作 Docker 容器 容器是镜像的运行实例。比虚拟机轻量,共享宿主机内核,只打包必要的运行环境。 启动 docker run 实际做的事: 1. 检查本地有没有该镜像,没有就拉 2. 用镜像创建并启动容器 3. 挂载可写层 4. 配置网络(从 bridge 网桥获得虚…
阅读全文 →06. Dockerfile 定制镜像 Dockerfile = 把镜像构建过程脚本化。commit 留下的黑盒、臃肿、不可复现,这里一次性解决。 最小示例 FROM scratch 不含任何东西,适合放静态二进制。 FROM 必须是 Dockerfile 的第一条指令。 RUN…
阅读全文 →07. Dockerfile 指令详解 COPY 把上下文里的文件复制进镜像。 支持多源、通配符 目标路径是绝对或相对 WORKDIR 保留文件元数据(权限、时间戳) chown 指定属主 ADD COPY 的超集:额外支持远端 URL 下载、自动解压 tar/gzip/bzip…
阅读全文 →08. Dockerfile 多阶段构建 Docker 17.05+ 引入。一个 Dockerfile 多 FROM ,编译环境和运行环境各占一个阶段,最终镜像只复制产物。 为什么要多阶段 编译工具链不进最终镜像 体积大幅缩小 源码不会进最终镜像 一次 build 完成,不需要脚…
阅读全文 →09. 访问仓库 镜像仓库分两层: Registry :服务(Docker Hub、Harbor、Quay) Repository :仓库里的某个镜像集合 仓库名 = registry :port / namespace/ name : | 例子 | 含义 | | | | | n…
阅读全文 →10. 修改 Docker 守护进程配置 所有配置都建议放进 /etc/docker/daemon.json ,别动 docker.service ——daemon.json 会被覆盖重启保留,systemd 改的 flag 在升级时容易丢。 配置文件位置 | 文件 | 作用 |…
阅读全文 →11. Nexus 3.x 私有仓库 2026 年视角:Nexus 仍是"一站式仓库"的事实标准——Docker、Maven、npm、PyPI、Yum/APT 同一个 UI 管。但纯 Docker 场景下 Harbor 越来越主流,Nexus 的优势在多语言制品仓库。 启动 80…
阅读全文 →12. Docker Hub 加速器 国内访问 Docker Hub 慢是常态。镜像加速器只是过渡方案,长期应该走阿里云 ACR、Harbor 或自建 mirror。 常见加速器 | 服务 | 地址 | 备注 | | | | | | 阿里云 | https://<your id …
阅读全文 →13. 数据管理 容器本身是临时的,可写层随容器销毁。 数据要持久化请挂载卷 ,别写进容器。 三种方式 | 方式 | 谁管 | 跨主机 | 性能 | 适合 | | | | | | | | Volume | Docker | 需 driver | 高 | 数据库、长期数据 | | …
阅读全文 →14. 使用网络 网络驱动 | 驱动 | 用途 | | | | | bridge | 默认,单机容器互联 | | host | 容器共享主机网络栈 | | none | 无网络 | | overlay | 跨主机(Swarm 模式) | | macvlan | 容器有独立 MAC…
阅读全文 →iptables 基础 2026 年现状:nftables 已成 Linux 主线默认, iptables 仍能用(多数发行版做了兼容 shim),新规则推荐直接写 nft。Kubernetes / 容器场景下基本被 Cilium / Calico 替代。 防火墙分类 | 类别 …
阅读全文 →iptables 命令格式与常用规则 命令格式 | 段 | 说明 | | | | | t | 表(默认 filter ) | | command | 管理动作(增删改查) | | chain | 链(INPUT / FORWARD / OUTPUT / 自定义) | | matc…
阅读全文 →8 种常见网络协议 应用层 HTTP 拉 HTML / API 响应的基础协议。客户端 服务端模型,无状态。 默认端口:80 2026 年仍占互联网大半江山 HTTP/3 基于 QUIC(UDP),解决了 HTTP/2 队头阻塞,移动网络下表现尤其好。 浏览器对 HTTP/3 的…
阅读全文 →反子网掩码(Wildcard Mask) 反子网掩码(wildcard mask)用在 OSPF、ACL、前缀列表里。规则是"0 必须匹配,1 不关心"——和子网掩码正好相反。 怎么算 反掩码 = 255.255.255.255 子网掩码 速查表 | CIDR | 子网掩码 | …
阅读全文 →华为交换机常用命令 2026 年视角:华为 CloudEngine 系列已占国内政企市场大头。命令行沿袭 VRP,旧命令在 99% 的新设备上仍兼容,但建议新配置走 NETCONF/YANG 自动化。 视图切换 配置文件 VLAN Access 端口 Trunk 端口 三层 VL…
阅读全文 →交换机端口模式 交换机端口按处理 VLAN 标签的方式分三类:Access、Trunk、Hybrid。 Access 终端设备(PC、打印机)不能识别 VLAN tag,所以用 Access 端口收发都剥掉。 特点: 收无 tag 帧时打上端口 PVID 发帧时剥掉 tag 默认…
阅读全文 →测 Shell 脚本耗时 现代做法是 time 命令 + SECONDS 变量,或用 hyperfine 做基准测试。 基础版 bash 内置:SECONDS 毫秒精度 %N 是纳秒,部分系统(macOS BSD date)不支持,GNU coreutils 才有。 time 命…
阅读全文 →Shell 编程基础 2026 年视角:bash 仍是服务器端的事实标准;zsh 在 macOS 默认;fish 在开发者圈流行。生产脚本建议严格 bash(POSIX 兼容子集),个人 .bashrc / .zshrc 爱用啥用啥。 Shell 类型 脚本结构 变量 | 类型 …
阅读全文 →Shell 脚本自动生成头注释 2026 年更主流的做法:用 cookiecutter / copier 起项目模板,Vim 自动头部只是"个人 hack"。但对"打开 .sh 就想看到作者、日期"这件事,Vim 配置仍然好使。 Vim 配置 $AUTHOR 是环境变量,提前 e…
阅读全文 →Shell 字符串截取 ${var pattern} 不是"删除文件前缀"——它是 Shell 参数展开 (parameter expansion)里的一类:去掉字符串开头/结尾匹配的内容。这条语法在处理文件路径、日志轮转、批量重命名时高频出现,看懂一次就省无数次 cut / s…
阅读全文 →表单系统:Form 与 ModelForm Django 表单系统把"渲染 HTML + 校验数据 + 清理数据"三件事封装成可复用的类。 Form 对象 特性: 字段类型 → 默认控件 + 默认校验规则 is valid 一键校验 cleaned data 拿到清洗后的数据 模…
阅读全文 →初始化项目环境 完成迁移、超级用户、App 创建,让项目具备可运行的基础。 1. 数据库迁移 迁移机制的两个角色: makemigrations — 比较 Model 与上次状态,生成增量迁移文件 migrate — 把迁移文件应用到数据库 已执行过的迁移会记录在 django …
阅读全文 →创建项目骨架 用 django admin 一行命令起手,再用 startapp 拆分业务。 创建项目 生成结构: 核心文件 | 文件 | 作用 | | | | | manage.py | 命令行入口(迁移、启动、shell) | | settings.py | 全局配置 | |…
阅读全文 →构建 post 应用的数据模型 以 BBS 场景为例:Topic(话题)、Comment(评论),再用一个抽象基类承载公共字段。 业务需求 用户发布 话题 (Topic) 对话题发表 评论 (Comment) 评论可被点赞 / 反对 抽象基类 post/models.py : |…
阅读全文 →路由系统基础 URLconf = URL 与视图之间的映射表。 ROOT URLCONF 是入口。 核心概念 urlpatterns — 路由列表,元素是 path / re path 的结果 ROOT URLCONF — 入口 URLconf 模块路径 匹配规则:URL 视作普…
阅读全文 →模板系统基础 Django 模板系统(DTL)负责把数据塞进 HTML 字符串,并提供标签、过滤器、继承等能力。 渲染三步 实际开发中,99% 的场景使用 render 快捷方式。 settings.TEMPLATES | 选项 | 含义 | | | | | BACKEND | …
阅读全文 →模板语言 DTL 由 变量 {{ }} 、 标签 {% %} 、 过滤器 | 、 注释 { } 组成。 变量与方法调用 为了安全,DTL 默认禁止调用带"副作用"的方法。需要主动开放: for 循环 forloop 常用属性: | 属性 | 含义 | | | | | counte…
阅读全文 →权限管理 Django 权限是 基于 Model 的表级权限 ,每个 Model 默认拥有 add / change / delete 三个权限。 涉及的数据表 | 表 | 作用 | | | | | auth permission | 权限主表 | | auth user use…
阅读全文 →认证系统的应用 实战三件套:自定义认证后端、模板鉴权、内置登录视图。 1. 自定义认证后端 适用场景:接入 LDAP、SSO、统一密码策略等。 后端顺序敏感, 短路求值 :命中即返回。 2. 模板中的身份与权限 perms 提供了三层能力: perms.post — 是否拥有该 …
阅读全文 →视图高级特性与快捷方法 掌握反向解析、重定向、render 三大件,效率翻倍。 1. URL 反向解析 不要在代码里硬编码 URL,而是给 path 命名后用 reverse 解析。 命名空间 模板里: 2. 重定向 | 方式 | 状态码 | 适用 | | | | | | Htt…
阅读全文 →视图基础 视图 = 处理 HttpRequest 、返回 HttpResponse 的可调用对象。 最简单的视图 URLconf 模板 startproject 时生成的注释就是最佳实践示例: 多 App 项目推荐每个 App 自带 urls.py ,通过 include 挂载到…
阅读全文 →通用类视图 Django 为常见场景预制了高度可复用的视图基类:少写代码,多做对的事。 TemplateView 只渲染模板的场景: RedirectView ListView 模板里: DetailView 模板默认名: <app /<model detail.html 。 C…
阅读全文 →修改默认配置 把项目从"能跑"调整到"能在中文环境与生产数据库下稳定运行"。 语言与时区 USE TZ = True 时,数据库以 UTC 存储时间,由 Django 在读写时按 TIME ZONE 转换。这是生产环境的最佳实践。 数据库配置 驱动安装 macOS 上若编译失败:…
阅读全文 →虚拟环境 让每个项目拥有独立的 Python 依赖,互不干扰。 工具选型(2026) | 工具 | 说明 | 适合 | | | | | | venv | 标准库内置 | 轻量场景 | | virtualenv | 经典第三方工具 | 老项目 | | conda | 跨语言 + 二…
阅读全文 →用户与身份认证 Django 内置 django.contrib.auth ,提供 User、Group、Permission、Session 一整套能力。 核心 Model | Model | 用途 | | | | | User | 默认用户模型 | | AnonymousUs…
阅读全文 →中间件基础 中间件是"请求/响应"链路上的钩子函数,按 settings.MIDDLEWARE 顺序串成一条链。 5 个钩子 | 钩子 | 触发时机 | 用途 | | | | | | process request | 路由前 | 拦截、限流、注入 | | process vie…
阅读全文 →注册 Model 到 Admin Django Admin 让你零代码得到一个完整的后台管理界面。 默认依赖 startproject 时已自动配置: INSTALLED APPS : admin 、 auth 、 contenttypes 、 sessions 、 messag…
阅读全文 →Admin 实现原理 Admin 看似神奇,本质是装饰器 + ContentType + ModelAdmin 的组合。 注册的本质 register 会把 Model 与 ModelAdmin 存入 AdminSite ,再由 URLConf 自动生成对应路由。 两个核心 Py…
阅读全文 →Django 安装与配置 当前推荐:Django 5.1 LTS(支持到 2028 年 12 月)。 版本选择 | Django | Python | 状态 | | | | | | 4.2 LTS | 3.8–3.12 | 维护中 | | 5.0 | 3.10–3.13 | 已停…
阅读全文 →Django 的诞生 一个 Python Web 框架,让构建数据驱动的网站变得简单而高效。 为什么需要 Web 框架 构建一个完整的 Web 应用通常涉及这些通用需求: 用户系统:注册、登录、会话管理 数据持久化:数据建模、增删改查 后台管理:运营人员对数据的日常维护 路由分发…
阅读全文 →Django 主要功能模块 一张图速览 Django 提供的核心能力。 总览 | 模块 | 作用 | 关键字 | | | | | | ORM | 对象 ↔ 数据库表映射 | Model、QuerySet | | 认证授权 | 用户、组、权限、登录态 | auth、Permissi…
阅读全文 →Model 查询 API Manager 是入口,QuerySet 是结果,惰性求值是关键。 创建实例 返回单实例 返回 QuerySet 切片 不支持负索引;切片结果是新的 QuerySet,可继续 .filter 。 链式查询 字段查找 | 关键字 | SQL 等价 | | …
阅读全文 →Model 概念与字段 Model = 表结构 + 元数据 + 行为方法。理解它就理解了 Django ORM 的一半。 Model 的组成 继承 Model 后自动获得: id — 自增主键(未显式声明时) objects — Manager 实例,查询入口 常用 Meta 选…
阅读全文 →MTV 设计模式 Django 借鉴 MVC 思想,演化出自己的 MTV 架构。 MVC 回顾 经典 MVC 将应用拆为三层,让职责清晰、模块解耦: | 角色 | 职责 | | | | | Model | 数据存取,定义实体并提供增删改查 | | View | 表现层,决定如何展…
阅读全文 →MySQL 安装与配置 2026 年推荐:MySQL 8.0 LTS(生产环境),MariaDB 11.x(开源替代)。 版本选择 | 数据库 | 状态 | 说明 | | | | | | MySQL 5.7 | 已停止 | 不推荐 | | MySQL 8.0 | 长期支持 | 生…
阅读全文 →ORM 实现原理 想真正吃透 ORM,建议先理解 Python 的两个底层机制:元类(metaclass)与描述符(descriptor)。 Model 自动获得 id 与 objects Django 在你写 class Topic models.Model 时通过元类做了两件…
阅读全文 →Python 安装与配置 2026 年的推荐:直接使用 Python 3.12+,配合 uv 或 pyenv 管理版本。 版本选择 | Python 版本 | 状态 | 建议 | | | | | | 3.9 | 已停止维护 | 不推荐 | | 3.10 | 维护中 | 旧项目可保…
阅读全文 →02:两数相加 toc 题目 给你两个 非空 的链表,表示两个非负整数。它们每位数字都按照 逆序 的方式存储, 每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。 可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 约束 每个链表中的节…
阅读全文 →09:回文数 toc 题目 给你一个整数 x ,如果 x 是回文整数,返回 True ;否则返回 False 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 约束 2³¹ <= x <= 2³¹ 1 思路概览 | 方法 | 思路 | 时间 | 空间 | …
阅读全文 →13:罗马数字转整数 toc 题目 罗马数字包含以下七种字符: I 、 V 、 X 、 L 、 C 、 D 和 M 。给定一个罗马数字, 将其转换成整数。 字符值 | 字符 | 数值 | | | | | I | 1 | | V | 5 | | X | 10 | | L | 50 …
阅读全文 →14:最长公共前缀 toc 题目 编写一个函数来查找字符串数组中的 最长公共前缀 。如果不存在公共前缀,返回空串 "" 。 示例 约束 1 <= strs.length <= 200 0 <= strs i .length <= 200 strs i 仅由小写英文字母组成 方法概…
阅读全文 →案例研究:文本统计工具 toc 本章以一个 文本统计 CLI 为例,串联前面学到的: 文件 IO( 逐行读取 ./sd676oy0 ) 字符串处理 集合 / 计数器 CLI 解析 大文件分块 最终产出一个能跑的命令行工具 textstat ,统计: 总字符数 / 行数 / 单词数…
阅读全文 →数据解析工具:XPath \ \ toc 原文搬运自知乎 \ @皮大大 ,由 Richie 重新整理与现代化。 XPath(XML Path)是在 XML / HTML 文档中按“路径”定位节点的语言。除了 手写正则,XPath 几乎是爬虫解析数据最高效的入门方式。 | 工具 |…
阅读全文 →Python:包管理(pip / uv / poetry) toc Python 的包管理生态近两年变化很大: uv https://docs.astral.sh/uv/ 速度极快、 并能替代 pip / venv / pip tools; poetry https://pyth…
阅读全文 →Python:从文件逐行读取数据 toc 读取文本文件是 Python 最常见的 IO 操作。 open + with 语句是标准模式; 按需选择“逐行迭代”、“一次性读出”或“分块读取”。 1. 三种基础写法 1.1 readline :完全手动 适用:需要精确控制读取节奏(如…
阅读全文 →Python:调用 Linux Shell 命令 toc Python 提供了多种方式来执行 Shell 命令。选择哪种方式取决于你是否需要拿到输出、 是否需要实时流式输出、是否要并发。 | 方式 | 适用场景 | 推荐度 | | | | | | os.system | 只关心退…
阅读全文 →Python:读取目录下的所有内容 toc 现代 Python 强烈推荐 pathlib.Path 来处理目录和文件。它跨平台、面向对象、并且 对 with open ... 也很友好。本章以 pathlib 为主线,附带 os.walk 与 os.scandir 的对照写法。 …
阅读全文 →Python:检查 URL 是否可访问 toc 检查 URL 可用性有几种典型场景:单次探活、批量巡检、高并发压测。Python 有 urllib (标准库)、 requests (同步事实标准)、 httpx / aiohttp (异步)三档 可选。 ⚠️ HTTP 200 不…
阅读全文 →Python:将链表转换为字符串 toc 把单链表 val val val ... 序列化为字符串是常见操作,比如把一道 LeetCode 链表题的结果 打印 或 比较 。本章讨论不同方向、不同需求下的写法。 链表约定: 头节点 = 数字的最低位 (与 02.两数相加 题目一致)…
阅读全文 →Python:业务服务监控(文件差异 + 告警) toc 业务监控的常见需求: 配置漂移检测 :Nginx / 业务配置被改后, 对比新旧版本 并告警。 文件变更监控 :日志/配置/数据文件被改时, 立即感知 。 接口 / 服务可用性 :定时检查健康端点(参见 检查 URL ./…
阅读全文 →Python:用 Selenium 爬取网易云音乐 toc ⚠️ 重要声明 1. 网易云音乐的页面结构、接口参数经常变化, 不保证示例长期可用 。 2. 抓取网易云音乐的歌曲/歌单/音频等受其 服务条款 https://music.163.com/tos 约束, 请勿用于商业用途…
阅读全文 →Python:自动格式化代码(PEP 8) toc PEP 8 是 Python 官方代码风格指南。手动对照 PEP 8 既费时又容易漏。 用一个 格式化工具 + 一个 Lint 工具 是现代 Python 项目的标配: | 工具 | 作用 | 速度 | 备注 | | | | |…
阅读全文 →1. Flask 简介 toc 什么是 Flask Flask 是一个用 Python 编写的 轻量级 Web 框架 。它由 Armin Ronacher 创建,遵循 Werkzeug (WSGI 工具库)和 Jinja2 (模板引擎)两个核心依赖,以“微框架”的 姿态提供 We…
阅读全文 →2. Flask 程序基本结构 toc 一个 Flask 应用从代码组织上看非常简单,但为了便于维护和测试,社区形成了 应用工厂(Application Factory)+ 蓝图(Blueprint) 的标准范式。本章从最简版 开始,逐步演进到这个现代结构。 最小可运行示例 打开…
阅读全文 →3. Flask 请求 响应循环 toc 视图函数的核心职责是 生成响应 。但当响应是一段复杂的 HTML 时,把 HTML 写在 Python 字符串里会非常痛苦。Flask 使用 Jinja2 https://jinja.palletsprojects.com/ 作为模板引擎…
阅读全文 →4. Flask 案例:网页查询 IP 归属地 toc 本章用一个 最小但完整 的小项目把前面三章串起来: 启动 Flask 应用 渲染 Jinja2 模板 处理 GET / POST 表单 调用外部 API(IP 归属地查询) 区分 HTML 页面与 JSON 接口 最终效果:…
阅读全文 →Flask 中的 GitHub OAuth 登录 toc 本章实现一个 最小可用 的 GitHub OAuth2 登录示例: 用户点击“用 GitHub 登录”被重定向到 GitHub 用户授权后回到 /callback 后端用授权码换取 access token,拉取用户信息并…
阅读全文 →any 函数 toc any 接收一个 可迭代对象 ,只要其中有 至少一个 元素为 truthy,就返回 True ;全部都是 falsy 时返回 False 。它常常和 all 、生成器表达式一起用, 让代码既紧凑又高效。 1. 语法 空可迭代对象 返回 False 。 一旦遇…
阅读全文 →argparse :解析命令行参数 toc argparse 是 Python 标准库 的命令行参数解析器:自动生成 help 、 自动转换类型、丰富的子命令支持。写 CLI 工具时它就是首选。 1. 最小示例 2. 常用参数 2.1 位置参数与可选参数 2.2 类型与默认值 2…
阅读全文 →difflib :比较序列并生成差异 toc difflib 是 Python 标准库的 文本/序列对比 工具集。常用于: 生成 unified / context diff(与 git diff 风格类似) 计算两段文本的 相似度 生成可读的 HTML 差异报告 在一组候选里找…
阅读全文 →dnspython :DNS 处理库 toc dnspython 是 Python 的 DNS 工具包,几乎支持所有记录类型,可用于查询、 zone 传输、动态更新、TSIG 签名、EDNS、结果校验等。它能在脚本里 替代 nslookup / dig ,并和现有平台集成。 详细…
阅读全文 →import 语句 toc import 是 Python 用来 引入模块 / 包 的语句:让其它文件里定义的函数、 类、变量在当前命名空间可用。本章覆盖 import 的所有写法、模块搜索机制、 init .py 、包、相对导入、循环引用处理,以及工程实践。 1. 基本用法 1…
阅读全文 →input 函数 toc input 是 Python 内置的 阻塞式 命令行输入:暂停程序,等待用户在 终端输入一行,按下回车后把这一行 作为字符串 返回。 1. 语法 始终返回 str ——要其它类型必须手动 int / float 。 用户在终端按 Ctrl D (Unix…
阅读全文 →lambda 和 map toc lambda 是 匿名函数 , map 把一个函数应用到可迭代对象的每个元素。两者 配合能让代码短小精悍;不过现代 Python 倾向用 推导式 替代它们。 1. lambda 表达式 要点: 语法: lambda 参数: 表达式 只能有一个表达…
阅读全文 →logging :记录和管理日志 toc logging 是 Python 标准库的 日志模块 。它提供多级别( DEBUG / INFO / WARNING / ERROR / CRITICAL )、多 Handler(控制台、文件、网络…)、 结构化输出与线程安全,是写生产代…
阅读全文 →os :访问和操作操作系统 toc os 是 Python 与操作系统交互的 老牌 标准库:环境变量、路径、文件/目录、 权限、进程信息。 但日常文件/目录操作强烈建议用 pathlib ——更面向对象、 跨平台更稳。 os 主要在“操作进程/环境变量/系统信息”时仍是首选。 完…
阅读全文 →psutil :系统性能信息库 toc psutil (process and system utilities)是 跨平台 的系统监控库: CPU / 内存 / 磁盘 / 网络 / 进程 / 传感器。能替代 ps / top / lsof / netstat / ifconfi…
阅读全文 →re :正则表达式 toc 正则表达式(Regular Expression)是 字符串模式匹配 的强大工具。Python 的 re 模块把它完整带到了标准库,并提供匹配、搜索、替换、分割等核心能力。 能用 str 方法就别用正则 (如 s.startswith / s.ends…
阅读全文 →reversed 函数 toc reversed 返回一个 反向迭代器 ,适用于任何实现了序列协议( len + getitem )或 reversed 方法的对象,包括 list / tuple / str / range 。 1. 关键点 返回迭代器 ,不是列表/元组;用 l…
阅读全文 →smtplib & email :发送邮件 toc Python 发送邮件靠两个标准库: smtplib :连接 SMTP 服务器、发 SMTP 命令。 email :构造规范的邮件内容(文本 / HTML / 附件 / 标题 / 编码)。 ⚠️ 永远不要把账号密码写死在源码里 …
阅读全文 →zip 函数 toc zip 把 多个 可迭代对象 按位置 配对,产出“每一列”的元组。配合 解包运算符,还能把配对好的结果再“拆回”原始形状。 1. 基本用法 要点: 返回迭代器 ,需要 list / tuple 才能看到全部。 按最短截断 :长度不一时,短的到头就停。 支持 …
阅读全文 →列表、字典与元组 list / dict / tuple 是 Python 最常用的三种数据结构,它们分别对应 可变序列 、 哈希映射 、 不可变序列 。理解三者的差异,能让你选型时不再凭感觉。 1. 一览 | 特性 | list | dict | tuple | | | | |…
阅读全文 →逻辑判断与条件语句 条件语句控制程序的“分支”。Python 用 if / elif / else + 三个短路运算符 and / or / not 来表达判断逻辑。本章把“真假规则 / 组合条件 / 分支结构 / 常用模式”系统梳理一遍。 1. 真值(Truthy / Fals…
阅读全文 →深拷贝与浅拷贝 在 Python 中, 赋值 并不复制对象——它只是把同一个对象的另一个 名字 贴到一个对象上。真正的复制有两种: 浅拷贝 和 深拷贝 。理解它们的区别 能避免掉进“改了 A,结果 B 也跟着变”的坑。 1. 赋值 ≠ 拷贝 = 不会调用 copy.copy ,它…
阅读全文 →文件命名规范: library 目录 toc docs/Python/library/ 目录里的文章是 知识速查手册 ,每篇对应一个具体 主题(函数、库、概念、语句)。为方便检索与维护,目录采用了一套统一的 三类命名约定 。 1. 命名结构 文件名由 类型 + 主题 两部分组成,…
阅读全文 →I/O:输入与输出 程序要能运行,必须能 与外界沟通 :从控制台 / 文件 / 网络 / 数据库读入数据,再把结果输出到这些地方。本章用一份"可运行示例清单"覆盖日常 I/O 编程的主要场景。 推荐使用现代 API: 文件: pathlib + open (参见下文 §2「文件读…
阅读全文 →IPy:IP 地址处理库 toc 处理 IP 地址、子网、掩码、广播、范围等需求时,Python 3 有 两个选择 : | 选项 | 优缺点 | | | | | IPy | 老牌第三方库、API 友好; 已停更多年 (最后一次更新 2020) | | ipaddress | 标准…
阅读全文 →OOP 面向对象编程 OOP 把「数据」和「操作数据的函数」封装到 对象 里,强调「仔细设计」「代码复用」「大型程序组织」。本文用一组 逐步演化 的例子把 Python OOP 核心概念串起来:类与对象、 init 、 self 、继承与 super 、 @property 、魔…
阅读全文 →try / except 异常处理 Python 用 异常(Exception) 表示程序运行中的错误:除以零、找不到文件、网络超时、字典取不到 key…… 捕获异常 能避免程序崩溃; 抛出异常 能让错误一路传到能被处理的地方。 本页是完整版。要看速查卡,看最后一节「 速查表 速…
阅读全文 →Pandas 基础操作 2026 年视角:Pandas 仍是数据分析师日常的主力(数据清洗、Excel/CSV 交互、ETL)。 pyarrow 后端默认开启、Polars 在性能敏感场景是强力替代、2.x 引入的可空 dtype( Int64 、 string )已稳定。本篇用…
阅读全文 →Pandas 数据处理与转换 2026 年视角:Pandas 2.2+ 配合 pyarrow 后端、链式 API( assign / pipe / query )、方法链做端到端数据清洗,是数据分析的"瑞士军刀"。Polars 在内存 / 性能上更胜一筹,但 Pandas 的生态…
阅读全文 →Pandas 写入 Excel 2026 年现状: openpyxl 仍是 .xlsx 主力;读 .xls 用 xlrd (2.0 之后只读 .xls 格式)。大文件多 sheet 落盘有三种思路:一次性写完、用 ExcelWriter 增量写、用 pyarrow + Excel…
阅读全文 →