优秀项目 🚀

📖 基础英语词汇 —— 基于 Ogden’s Basic English 体系的 850 核心词汇学习工具。支持分类浏览、背诵模式、学习进度追踪。
🎮 拼音乐园 —— 一年级拼音课堂演示游戏,点读、拼读、声调、听音四大玩法,大屏一体机也能玩。
🎮 拼音闯关 H5 —— 幼小衔接拼音单机闯关游戏,关卡晋级制,手机、电脑都能玩。
🖥️ AI 资讯聚合 —— 零成本自动资讯站。每天抓取中英文科技资讯,英文自动翻译成中文摘要,打开网页就能看。Cloudflare Workers 全栈实战项目。

💡 更多项目持续添加中…

极域弹「该网页已被阻止」,问题在一个空黑名单

A 机房的学生机上不了网。 准确说,是浏览器上不了网。教师端一开课堂控制,学生机的浏览器就打不开任何网页,页面上跳一句「该网页已被阻止」;但同一台机器上,其他程序照常联网,ping 通、下载正常、聊天工具在线。关掉课堂控制,浏览器立刻恢复。 B 机房同样的操作,一点事没有。(两个机房,下面用 A、B 代称。) 两边的软件是同一份安装包,学生机也是同一批镜像,接在同一台核心交换机上。看上去该出问题的地方都对得上,可问题只在一边。 现象有点分裂 「上不了网」这个说法太粗,得先把它拆开。 浏览器不行、其他程序正常,这个组合本身就说明问题不在链路上。为了把网络层彻底排除,我写了个脚本按层测一遍。下面的结果是脚本测出来的,不等于浏览器的实际表现——脚本走系统默认网络栈,不经过浏览器的代理和插件,它通不通只说明网络层的情况。 采集脚本测试项 结果 ping 网关 通 ping 8.8.8.8 通,47ms TCP 53(114 / 223.5.5.5) 通 nslookup www.baidu.com 解析成功 GET http://www.qq.com 200 GET https://www.baidu.com 连接被重置 这张表有两个地方容易读错。 两次请求访问的是不同网站——一个是 qq,一个是百度。所以只能得出「本次 HTTP 请求成功、本次 HTTPS 请求失败」,不能概括成「HTTP 放行、HTTPS 全断」。不同目标之间比较不出协议差异。 再就是,脚本取到 200 不代表浏览器能打开网页。浏览器里的实际体验是「什么都打不开」,连这个返回 200 的域名,在浏览器里也开不出来。 两条放在一起,指向的其实是同一件事:问题不在网络层,在浏览器这一层。 先确认不是软件本身的问题 怀疑软件之前,得先把「两套软件是否一致」这件事排除掉,否则后面所有分析都建在沙子上。 把两个机房的教师端安装目录和一份学生端程序全拷下来,569 个文件逐个算 MD5。两份教师端共有 120 个文件,逐字节相同,一个不差。核心程序的版本号、编译时间戳也对得上,都是 2.7.13488 这个构建。 随包分发的 8 个配置文件,wkssettings2.dat、ProcCheck.ini、Predefine.xml、Feature.dat、TDUninst.dat、RemoteCmd.ini、Resource.xml、Skin.xml,哈希全部相同。 软件本体这一层,干净。 顺带说一句,这里有个坑:拷过来的文件修改时间全是拷贝那一刻,说明不了任何事。判断软件版本要看 PE 头里的编译时间戳,不是文件时间。 把变量压到一台机器上 两台机器对比能比出差异,但比不出因果。A 断、B 不断,原因可能是软件、可能是配置、可能是网络、也可能是某个人动过某台机器。变量太多。 所以我把对比压到了同一台机器上。 同一台学生机、同一个采集脚本、同一个下午,只让「课堂控制开着还是关着」这一个变量变化,采两次: ...

2026年10月18日 · Wanzf

BOPPPS 教学模式:六环节让课堂从"讲完"变成"学会"

一、痛点:课讲完了,学生学会了吗? 先看三个场景,看看有没有你的影子: 花了两小时备了一节课,PPT 做得漂漂亮亮,讲得口若悬河。下课铃响,学生没提问,你以为效果不错。等到期末考试,一半人连基本概念都答不上来。 课堂上学生昏昏欲睡,你只能靠点名提问撑场面,结果叫起来的人一问三不知,空气更低沉了。 实训课上,你示范了一遍操作,学生跟着做了一遍,当下好像都会了。下周再问,全忘了。 这三个场景指向同一个问题:教学关注的是"我有没有讲完",而不是"学生有没有学会"。 BOPPPS 就是解决这个问题的工具。它不是一套花哨的理论,而是一个帮你把课堂从"教师的独白"变成"学生的学习"的操作框架。 二、BOPPPS 是什么 BOPPPS 源自加拿大教学技能工作坊(ISW, Instructional Skills Workshop),最初用于高校新教师培训,后来被全球 30 多个国家的教育机构采用。 它的核心思想很简单:把一节课拆成六个环节,每个环节都有明确目的。 六个环节的首字母连起来就是 BOPPPS: 环节 英文 中文 核心问题 B Bridge-in 导入 学生为什么要在乎这节课? O Objective 目标 这节课结束时学生能做什么? P Pre-assessment 前测 学生现在会多少? P Participatory Learning 参与式学习 学生怎么真正参与进来? P Post-assessment 后测 学生真的掌握了吗? S Summary 总结 学生带走的最重要的东西是什么? 与"先讲概念、再举例、最后小结"的传统模式不同,BOPPPS 在每个环节都强迫你站在学生的角度想一个问题。下面逐个拆解。 三、六环节拆解 B — Bridge-in(导入):让学生在乎这节课 导入不是走过场的"今天我们讲第三章"。它的目标是激活学生的注意力和好奇心,让他们产生"我想知道这个"的冲动。 有效的导入手段: 抛一个反常识的数据或事实。比如讲数据库索引时:“一张百万行的表,不加索引查一条数据要扫全表,加索引只要 3 次磁盘读取。3 次和 100 万次,你想知道怎么做到的吗?” 讲一个相关的小故事或场景。比如讲网络安全时:“上周隔壁学校教务系统被勒索病毒攻击,成绩数据全锁了。如果是你负责运维,你会怎么防?” 提一个学生回答不了但想知道答案的问题。比如讲经济学机会成本:“你现在坐在这里听课,最大的成本是什么?不是学费,是你用这两个小时能赚到的最多的钱。” 演示一个效果。比如讲 CSS:“花 30 秒看我从白底黑字变出一个页面。想知道怎么做到的吗?” 常见错误:导入太长(超过 5-8 分钟)、导入和内容脱节、用"今天我们讲 XX 章"代替导入。 ...

2026年9月19日 · Wanzf

Windows 应急响应工具手册

文章转载于:灰帽大于 文档版本:v1.1 适用场景:Windows 系统应急响应、恶意软件分析、安全事件调查 前言:应急响应工具的重要性 在安全事件发生后,快速、准确地获取现场信息是应急响应的关键。Windows 系统作为企业最常见的操作系统,掌握其应急响应工具体系至关重要。 应急响应核心目标: 🔍 发现异常 - 识别入侵痕迹和异常行为 📊 保留证据 - 收集日志、内存、文件等关键证据 🛡️ 控制影响 - 阻止威胁扩散,保护关键资产 🔎 追溯溯源 - 分析攻击路径,定位攻击来源 第一章:工具分类总览 1.1 工具分类体系 Windows 应急响应工具按功能可分为以下几大类: Windows 应急响应工具体系 │ ├─ 📊 进程与行为分析 │ ├─ Process Monitor │ ├─ Process Explorer │ ├─ Autoruns │ └─ ProcDump ├─ 🌐 网络分析 │ ├─ Wireshark │ ├─ TCPView │ └─ 内置命令(netstat) ├─ 📁 文件分析 │ ├─ VirusTotal │ ├─ Strings │ └─ Sigcheck ├─ 💾 内存取证 │ ├─ Volatility │ ├─ DumpIt │ └─ WinPMEM ├─ 📝 日志分析 │ ├─ Sysmon │ ├─ Event Log Explorer │ ├─ LogParser │ └─ WELA ├─ 🔗 持久化检测 │ ├─ Autoruns │ ├─ RegRipper │ └─ Persistence Ripper ├─ 🔬 恶意代码分析 │ ├─ IDA Pro / Ghidra │ ├─ x64dbg │ └─ YARA ├─ 🧠 威胁情报 │ ├─ 微步在线 │ ├─ VirusTotal │ └─ MalwareBazaar └─ 🎯 综合响应平台 ├─ Velociraptor ├─ KAPE ├─ Eric Zimmerman工具集 └─ CyLR 1.2 工具获取渠道 官方与可信来源: ...

2026年8月1日 · Wanzf

Windows 11 跳过微软账户登录:2026 年最新方法合集

安装完 Windows 11 新系统后,微软会强制要求登录微软账户才能继续。想用本地账户、不想绑云服务、或者装机环境根本没网——跳过这一步的理由很多。 微软和用户之间这场"猫抓老鼠"打了三年:24H2(2024 年下半年)封了虚假邮箱法,2025 年 3 月直接把最经典的 oobe\bypassnro 脚本从系统镜像里删了,25H2 又陆续堵上了好几个口子。但截至目前(2026 年 8 月),仍然有多条路可以走。 本文测试环境:Windows 11 Insider Preview Build 29617(中文版),部分方法兼容 24H2 / 25H2。 快速选择指南 你的情况 推荐方法 耗时 新装机,用 U 盘装系统 方法一:Rufus 5 分钟 系统已开始安装,卡在登录页 方法二:WinJS 控制台 30 秒 提前准备了 .reg、Shift+F10 能用 方法三:注册表文件(双击导入) 2 分钟 忘了准备 .reg、Shift+F10 还能用 方法四:reg add 命令补救 3 分钟 想一劳永逸、不怕折腾 方法五:无人值守文件 15 分钟 专业版/企业版/教育版用户 方法六:域加入 10 秒 以上全部失效 方法七:先登录再切 3 分钟 方法一:Rufus 制作定制安装盘(最彻底,推荐) 如果你是从 U 盘全新安装系统,直接从源头解决问题——让安装盘本身就不要求微软账户。 ...

2026年8月1日 · Wanzf

AI 术语大白话词典:从 Token 到 RAG,学生也能听懂

我教的班上,大一新生第一次用 AI 工具时,屏幕上弹出的词十个有八个不认识。LLM(Large Language Model)、Prompt、RAG(Retrieval-Augmented Generation)、Fine-tuning——不是说这些词有多难,而是没人用他们听得懂的方式解释过。 前几天整理了一份教学用的术语对照表,顺手改成了一篇能直接发给学生看的文章。不要求先修课程,不需要会写代码。 整个解释框架就一个比喻:把 AI 当成你新招的员工。 第一阶段:认识你的新员工 LLM / Large Language Model(大语言模型) — AI 的脑子。 你用的豆包、Kimi、ChatGPT,不管叫什么名字,底层的"大脑"都叫 LLM。它读过巨量的文字,所以什么都能聊两句。类比:一个读过全世界所有书的学霸。 AIGC / AI Generated Content(生成式 AI) — AI 这个工种的岗位名称。 能自动写文章、画图、剪视频的工具,都属于 AIGC。类比:AI 的岗位说明书,专门搞创作的那类工种。 AGI / Artificial General Intelligence(通用人工智能) — 终极形态,目前还在科幻阶段。 现在的 AI 只能干特定的事(写字、画画、写代码),AGI 指的是未来某天 AI 变得跟人类一样全能,什么活都能接。类比:钢铁侠的贾维斯。 第二阶段:怎么给 AI 派活 Prompt(提示词) — 你下的工作指令。 你对 AI 说的每句话都是 Prompt。“写个文案"和"写一篇 800 字的头条风格文案,带悬念开头,目标读者是大学生”,结果天差地别。类比:点外卖时的备注栏——写得越清楚,做出来的越对味。 System Prompt(系统提示词) — 给 AI 设的人设。 在聊天开始之前,先告诉它"你是一个有十年经验的高职计算机老师"。接下来的对话,它都会用老师的方式回答。类比:给员工发工牌——你是什么岗位,就按什么规矩办事。 Context(上下文) — AI 的工作记忆。 决定了 AI 能一次性记住多长的对话、读完多长的文件。窗口越大,它能同时处理的复杂信息就越多。类比:办公桌大小——桌子越大,一次摊开的资料越多。 ...

2026年7月27日 · Wanzf

在 Windows 上本地部署大模型:从一篇 Mac 教程说起

前两天刷到一篇公众号,讲怎么在 Mac 上把大模型跑在本地。看完觉得思路挺清楚,就想在自己 Windows 笔记本上复刻一遍——结果发现,步骤能对上,但"能跑多大模型"这件事,在两台机器上完全不是一回事。这篇把坑和原理都记下来,方便你也跟着做。 先搞清楚:本地大模型到底吃的是什么 模型不是凭空跑的。它得先加载进内存(或显存)才能推理,所以一台机器能跑多大的模型,取决于两件事:内存够不够,以及显卡能不能帮上忙。 这里 Mac 和 Windows 的差别最关键: Mac 的 M 系列芯片用的是统一内存——CPU 和 GPU 共用同一块内存。系统有多少 RAM,模型就能用多少。所以一台 16GB、32GB 的 Mac,跑起中等模型来很从容。 Windows 笔记本大多内存和显存是分开的。有独立显卡(N 卡 / AMD)的话,模型优先塞进显卡的显存(VRAM),速度最快;没有独显,或者显存不够,就退回到内存 + CPU 跑,能跑,但慢,系统还会拿硬盘当临时内存,更卡。 一句话:Mac 看总内存,Windows 先看显卡显存,再看内存。 动手前,先看自己的机器 不用装任何软件,两分钟就能查完: 内存多大:设置 → 系统 → 关于,看"已安装的内存 (RAM)"。 显卡显存多大:任务管理器 → 性能 → GPU,右上角看"专用 GPU 内存"(比如 4GB / 6GB / 8GB)。 处理器:同一页也能看到 CPU 型号。 粗略的参考(有独显时看显存,没独显看内存): 8GB 左右:只能玩 3B~7B 的小模型,图个能对话。 16GB+:7B 流畅,可以试 14B。 32GB+:20B 往上也行,但别指望太快。 如果手头机器本来就紧巴,像我这台,老实说带不动大模型——知道流程就行,别硬上。学校机房或者有独显的机器再试。 装运行底座:Ollama 不管 Mac 还是 Windows,真正干活的是同一个东西——Ollama。它负责下载、加载、在本地跑模型,还顺手开一个本地接口给别的软件调用。 ...

2026年7月26日 · Wanzf

零成本搭一个资讯聚合站:Cloudflare Workers 实战

一条自动抓取、AI 翻译、入库、展示的内容流水线。全程 Cloudflare 免费额度,零服务器。 🖥️ 案例展示:ai.wanzf.com —— 这是我搭建的实例,每天 08:00 自动更新。 背景 每天刷好几个网站看资讯,来回切换效率很低。中文的还好,英文的还得逐篇翻译,看了几篇就烦了。 能不能让机器自动干这件事——每天定时抓取几个中英文科技源,英文自动翻译成中文,统一展示在一个网页上,打开就能看? 答案是可以,而且零成本。Cloudflare 免费套餐里有四个组件,拼起来就是一条完整的自动内容流水线。 这篇就以"科技资讯聚合"当例子,但流水线本身不绑死任何主题——改几个 RSS 地址就能追别的东西:行业动态、AI 论文、设计趋势、竞品情报,都一样跑。 这个项目做了什么 每天北京时间 08:00 自动运行 从 5 个数据源各抓 2 篇热门文章(HN、V2EX、少数派、阮一峰周刊、36氪) 英文源(HN)走 Workers AI 翻译成中文摘要 中文源直接存原文 全部存进 D1 数据库,网页展示 自定义域名访问:ai.wanzf.com 架构很简单: Cron 定时触发(每天 08:00) │ ▼ Worker 主逻辑 │ ┌────┴────┐ ▼ ▼ 英文源 中文源 HN API V2EX API / RSS │ │ ▼ │ Workers AI │ 翻译成中文 │ │ │ └────┬────┘ ▼ D1 数据库 │ ▼ 网页展示 (ai.wanzf.com) 四个 Cloudflare 免费组件就够: ...

2026年7月26日 · Wanzf

我的博客定制记录:Hugo PaperMod 深度定制

记录 wanzf.com 博客在 Hugo + PaperMod 基础上的深度定制过程:Giscus 评论暗色跟随、三屏目录侧边栏、国内分享按钮、代码块美化、随机 Emoji Favicon 等实用改造。 前言 PaperMod 默认配置已经很完善,但用久了总觉得少了点什么。评论系统要接、目录导航要改、分享按钮国内用不了、代码块太朴素……一个个小改动累积下来,博客终于变成了现在的样子。 本文记录的是亮点改动,不写 PaperMod 开箱即用的功能。基准是从 Hugo + PaperMod 默认配置出发,最终效果见 wanzf.com。 1. Giscus 评论系统 + 暗色主题跟随 为什么选 Giscus Giscus 是基于 GitHub Discussions 的评论方案,免费无广告,不需要自建数据库。只要在 GitHub 仓库开启 Discussions,在 giscus.app 配置好参数即可。 配置参数 在 hugo.toml 中添加 Giscus 相关配置: [params.giscus] repo = "wanzif/MyBlog" repoId = "R_kgD*****" category = "Announcements" categoryId = "DIC_kwDOSfb****" mapping = "pathname" theme = "preferred_color_scheme" lang = "zh-CN" theme 这里配的是初始默认值,实际运行时会被下面的 JS 动态覆盖。 覆盖主题默认模板 PaperMod 的评论模板在 layouts/partials/comments.html。创建同名文件即可覆盖。我选择用 JS 动态创建 Giscus script,而不是写死 HTML 标签——这样可以在初始化时就传入正确的主题,避免首次加载时评论区和页面主题不一致: ...

2026年5月30日 · Wanzf

从零搭建个人博客:Hugo + Cloudflare Pages 全流程实录

从注册账号到绑定域名、部署上线、配置图床,手把手带你用 Hugo + Cloudflare Pages + R2 搭建一个零成本、国内可访问的个人博客。每一步都附带预期输出和踩坑记录。 配套阅读:遇到 Git 相关报错,请参阅《Git 完全指南:Hugo 博客开发者的版本控制手册》 前言 为什么选这套方案 方案 费用 国内访问 备案 部署体验 WordPress 云服务器 ¥300+/年 ✅ 需要 手动上传 Hexo + Vercel 免费 ❌ 不需要 推送即发布 Hugo + CF Pages + R2 免费 ✅ 不需要 推送即发布 Hugo:Go 语言编写的静态网站生成器,编译速度毫秒级 GitHub:代码托管,免费 Cloudflare Pages:静态网站托管,免费,国内 CDN 加速 Cloudflare R2:对象存储,免费 10GB/月,兼容 S3 API 适合谁 有一定命令行基础、想从零搭建个人博客的读者。每一步都附带预期输出和我踩过的坑。 第1章:账号与域名准备 1.1 注册 GitHub 访问 https://github.com,点击 Sign up 注册。 1.2 注册 Cloudflare 访问 https://dash.cloudflare.com,注册并验证邮箱。 ...

2026年5月30日 · Wanzf

Git 完全指南:Hugo 博客开发者的版本控制手册

适用项目:GitHub 博客项目(https://github.com/wanzif/MyBlog.git) 适用系统:Windows 11 / Linux(CentOS 7、Ubuntu 等) 1. Windows 安装 Git 方法一:winget 安装(推荐) 第 1 步:确认 winget 可用 打开 PowerShell 或 CMD,输入: winget --version 正常输出示例: v1.9.25200 ⚠️ 报错:‘winget’ 不是内部或外部命令 C:\Users\Wan>winget install Git.Git 'winget' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 原因: winget 是 Windows 11 自带的包管理器,但某些精简版/Ghost 系统、或 PATH 环境变量被修改后,winget 可能不在 PATH 中。 解决方法(按优先级尝试): 方案 A:PowerShell 一行命令注册(最快,推荐首选) WinGet 是 Windows 自带的"应用安装程序"组件,可能只是没注册。打开 PowerShell,输入: Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe 执行完后重启终端,再试 winget --version。 这个命令的原理:WinGet 作为 App Installer 的一部分已预装在 Windows 11/10(1809+)中,首次登录时系统会异步注册,但有时没触发成功。这条命令就是手动触发注册。 ...

2026年5月29日 · 19 分钟 · Wanzf