浏览器端大文件存储指南
1. 前言:常见误区与真实痛点在浏览器端处理大文件(尤其是视频录制、编辑、转码等场景)时,很多开发者会踩到一个非常典型的“前端直觉坑”: 直觉选择:localStorage 太小、sessionStorage 不持久、cookie 不可能,最后选择用 IndexedDB 存 Blob。 实际问题(长视频场景下暴露明显): 内存占用持续升高(尤其是 Blob 反复读写时)。 写入/读取性能不稳定,不同浏览器差异大。 浏览器崩溃后,录制中的中间数据难以恢复。 导出/转码时需要把整段视频重新加载到内存,速度慢、易卡顿甚至崩溃。 核心原因是:IndexedDB 更适合存储“结构化数据”,而非“文件系统式”的持续读写工作流。它不是为大文件流式处理设计的。 推荐方案是切换到 OPFS(Origin Private File System)。OPFS 更接近真实的文件系统,特别适合“大文件 + 高性能 + 高稳定性”的场景。 2. 浏览器内置存储方式对比(原理 + 内存与磁盘使用) 存储方式 存储原理 主要使用内存的时机 主要使用磁盘的时机 容量限制 适合大文件...
从 Prompt 到 Harness Engineering:AI 代码开发的演进之路(2022–2026)
过去四年,AI 在编程领域的变化可以用“天翻地覆”来形容。 2022 年我们还在纠结:提示词到底要怎么写才不跑偏?到了 2026 年,很多团队的日常已经变成:把需求扔给一个 Agent 团队,让它自己规划、写代码、跑测试、做 UI 检查、提交 PR——你更多是在做“验收”和“约束设计”,而不是逐行敲代码。 这条路的核心转折点,其实不是“模型突然变聪明了”,而是我们终于承认了一件事:长链路软件开发靠的不是灵光一现,而是可重复的工程体系。当我们把这套体系搬到模型外面,就有了一个新名词:Harness Engineering(约束工程 / 马具工程)。[1] 你可以先记住一句最重要的话: Agent = Model(模型) + Harness(马具) 模型负责“想”,Harness 负责“牵引、约束、纠错、复盘” 下面我们用最通俗的方式把这件事讲清楚:它是怎么从 Prompt 演进到 Harness 的;为什么 2026 年大家都在聊它;以及如果你想落地一个“靠谱能交付”的 AI 开发流程,应该先做哪几件事。 AI 工程化的三层境界:从“把话说清楚”到“让它稳定...
AI 爬虫:工具实战与能力边界(2026)
本文是 什么是爬虫:工程视角与 IO 基础全览 延续,聚焦AI时代,爬虫的后续方向,如何利用 AI,如 Crawl4AI、Firecrawl 等工具在 2026 年的常见用法; 以下是 AI 爬虫工具实战示例(2026 年工程实践向),聚焦主流开源工具 Crawl4AI(Python、本地优先,适合 RAG/AI 管道)与 Firecrawl(托管 API,快速上手)。它们能自动处理 JS 渲染、生成 LLM-friendly Markdown/JSON,并支持自然语言提取,显著降低传统选择器维护成本。 工具快速对比(工程选型) 工具 类型 最佳场景 优点 缺点 2026 推荐指数 Crawl4AI 开源 Python 库 本地 RAG、自建管道、自定义强 免费、灵活、支持本地 LLM、异步快 需自管浏览器/代理 ★★★★★ Firecrawl 托管 API + 开源 LLM 应用、快速原型、少运维 零配置、Markdown 质量高、结构化提取 有费用(免费额度有限) ★★★★★ Browse AI 无代码 + AI 非开发者、业务...
Kubernetes 学习笔记:架构、调度、资源与排错(2026 整理版)
线上查「Pod 为什么 Pending」「为什么 OOMKilled」时,往往要同时看:调度约束、镜像与事件、资源限制与节点真实用量。下文把虚拟化层次、K8s 核心概念、工作负载类型、调度与资源、内存/cgroup 要点,以及 Pod 排错流程串成一篇,便于自己复习与检索。 虚拟化层次:Hypervisor 与容器硬件级虚拟化(Hypervisor):在硬件之上运行 虚拟机监控器(VMM / Hypervisor),为每台客户机(guest)模拟一套硬件,客户机内核各自独立。典型场景是一台物理机同时跑 Linux、Windows 等不同内核的系统。 操作系统级虚拟化(容器):共享宿主机内核,在进程级做隔离(命名空间、cgroups 等),因此更轻、启动更快,但隔离语义与虚拟机不同,安全与多租户边界要按运行时与内核能力来设计。 Docker 与虚拟机对比:容器把应用及其依赖打成可移植单元;虚拟机则虚拟整台机器。容器常用来标准化交付;是否「更安全」取决于配置与威胁模型,不宜一句概括。 Docker 核心概念(镜像 / 容器 / 仓库) 镜像(...
文件格式知多少?——从日常开发到性能优化,全面解析文件格式的奥秘
在日常开发中,我们每天都在和各种文件格式打交道:图片用 JPG/PNG,前端代码用 JS/CSS,数据传输用 JSON/XML,音视频用 MP4/MP3……但很少有人停下来思考:为什么会有这么多格式?看似功能重叠的 PNG 与 WebP、JSON 与 YAML 到底有什么本质区别?那些「冷门」格式又在哪些特殊场景发挥关键作用? 本文基于对常用与不常用文件格式的系统梳理,详细分析它们的特征、优缺点,揭秘格式「重复创造」的深层原因,并结合网页开发实践,讲解如何正确选择和使用这些格式,帮助开发者突破「只会用常用格式」的认知边界,实现性能与兼容性的最佳平衡。 一、常用的文件格式:高频场景下的「通用之选」常用文件格式以通用性、兼容性、易用性为核心设计目标,覆盖文本、图片、音视频、文档和压缩等核心场景,是开发中的主力军。 1. 文本 / 代码类 TXT:纯文本,无任何格式标记,跨平台通用,是所有文本格式的基础。 JSON:轻量级数据交换格式,语法简洁、解析高效,是前后端交互的绝对主流,兼容几乎所有编程语言。 JS/CSS/...
SEO 名词与实操备忘(2026):新手查阅版
学 SEO 时最烦的一件事,是名词一堆、说法还互相矛盾。我把我笔记里零散的概念重新理了一遍:按类别放,每条尽量用大白话说明白「是什么」「为啥要在意」「2026 年现在一般怎么看」「平时可以怎么用」。它和站里那篇 《SEO入门指南(2026版)》 是互补的——那边偏建站与整体流程,这篇当词典 + 工具清单 + 排错备忘。 下面有一条得先说清楚:关键词密度早年被吹得很神,现在早不是重点了。Google 更在意内容是否真解决问题、是否可信;塞词反而容易显得假。另一条是域名权重、DA、PA、TF这类数:多半是第三方工具算的预测分,方便你和竞品比个大概,不是 Google 对外公布的「官方排名公式」。别为了涨分去搞歪门邪道,盯 Search Console 里的展示、点击和实际转化更靠谱。 一、常用名词(按类)基础概念SEO(Search Engine Optimization,搜索引擎优化)让网站在百度、Google 等自然结果里更容易被找到、排名更好,从而带来不花钱的搜索流量。核心是对用户有用、对机器可读,不是钻空子。2026 年主流声音很一致:原创、有依据、体验好,再加上下面说的 ...
深入理解 Git:对象模型、合并策略与仓库结构
日常用 git add / commit / merge 时,背后其实是对象库、索引和引用在协作。把这几块串起来之后,很多「为什么这样设计」「冲突从哪来」会好理解很多。下面按原理到实践的线索整理一份笔记,方便自己以后复习,也欢迎你对照本地仓库动手试几条底层命令验证。 基本原理Git 维护两个主要的数据结构:对象库(object store)和索引(index)。 对象库是 Git 版本库的核心。它包含原始数据、提交信息、作者与时间等元数据,以及用来重建任意版本或分支所需的信息。 索引是一个临时的、动态的二进制文件(.git/index),描述整个版本库在某个时刻的目录结构——可以来自历史中的某次提交,也可以是你正在准备的「下一次提交」的状态。 Git 对象库Git 在对象库里只放四种类型的对象:blob(块)、tree(目录树)、commit(提交)、tag(标签)。 Blob(文件内容) 文件的每个版本对应一个 blob。blob 即「二进制大对象」,内容当作黑盒保存;不包含文件名,文件名由 tree 记录。 Tree(目录树) 一层目录的信息:记录 b...
MySQL 事务锁与 MVCC:InnoDB 诊断表与巡检 SQL 备忘
线上出现「语句一直转圈」「连接数暴涨」时,往往需要同时看:谁在跑、等了什么锁、谁在挡路。InnoDB 把事务与锁的信息暴露在系统表(及 8.0 起的 Performance Schema)里,再结合 MVCC 能理解「为什么同一行在不同会话里看到不同版本」。下文与站内 MySQL 进阶:架构与存储 可对照阅读。 MySQL 主版本差异(与本文相关)自 MySQL 8.0.1 起,information_schema 中的 INNODB_LOCKS、INNODB_LOCK_WAITS 已移除,锁与等待改查 performance_schema.data_locks、data_lock_waits(见官方手册)。INNODB_TRX 在 8.0 仍位于 information_schema。 版本线 事务 锁与等待 锁等待诊断 5.5–5.7 information_schema.innodb_trx innodb_locks、innodb_lock_waits 下文「5.5–5.7」脚本可直接用(权限与 sql_mode 另说) 8.0+ information_s...
Python 工匠:工程实践与代码质量备忘(2026)
把零散笔记整理成一篇「能随手翻开」的备忘:它不替代官方文档,但能在你搭新项目、加 CI、写评审意见或排查异步问题时,少绕一圈弯路。依赖与锁文件我单独写过一篇更细的梳理,见文末内链;这里侧重工具链、结构、可读性与运行时习惯。 读完你可以带走:一条可复制的本地检查命令思路、导入与目录的朴素规则、评审 README 时的检查项,以及 asyncio 里 await 顺序与 gather 的真实语义。 包管理与「项目长什么样」 工具地图:Anna-Lena Popkes 的 An unbiased evaluation of environment management and packaging tools 用文氏图把「环境 / 包 / Python 版本 / 构建 / 发布」拆开,适合选型时对照。 高性能安装器:uv 在解析与安装上很快,适合新项目和 CI。 目录结构:Matt 的 python-project-structure-2024 讨论了「src 布局、测试与打包」等常见取舍。 若你希望从 pyproject、锁文件到 uv 工作流...
SEO入门指南(2026版):从零开始,简单实用
搜索引擎优化(Search Engine Optimization,SEO)简单说,就是让你的网站在百度、Google 等搜索引擎里更容易被找到、排名更高,从而带来免费流量。不是作弊,而是让网站对用户和搜索引擎都「友好」。 2026 年,SEO 已经不是「塞关键词」那么简单。Google 等搜索引擎更看重对用户的真正帮助(People-First Content)、真实经验(E-E-A-T)和良好体验(速度、移动友好)。AI 搜索(如 Google AI Overviews)越来越常见,很多人搜索后直接看到答案、不必点击网站——所以内容必须高质量、有独特性,才能被引用或吸引点击。 新手心态:SEO 是长期游戏(常见几个月到一年见效),别追求速成黑帽(作弊手法),会被惩罚。重点是白帽 SEO:对用户好,自然排名才稳。 一、多语言 SEO 的核心价值如果你想把网站推向全球,多语言支持很有用。 市场扩展:英文内容只覆盖约一部分互联网用户,多语言可扩大覆盖。非英语地区,本地语言内容排名往往更好。 用户体验:母语用户停留时间更长、跳出率更低、转化率更高(很多人只在母语网站购物)。 实际...