跳转到主要内容
Chang Wei's Blog昌维的博客

从零开始用 SystemVerilog 手写一个 SDRAM 控制器

本文面向已经会写一点 SystemVerilog,但几乎完全不了解内存芯片工作原理的读者。我们会从“为什么内存不能像寄存器一样直接读写”开始,一步步讲到 SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)的内部结构、命令编码、初始化流程、刷新机制、读写时序,最后通过我写的开源项目 SDRAM...

  • 从零开始用 SystemVerilog 手写一个 SDRAM 控制器 正文图片 1
  • 从零开始用 SystemVerilog 手写一个 SDRAM 控制器 正文图片 2
  • 从零开始用 SystemVerilog 手写一个 SDRAM 控制器 正文图片 3
  • 从零开始用 SystemVerilog 手写一个 SDRAM 控制器 正文图片 4
2026年6月15日zh-Hans-CN

理解 React 工作原理并复刻一个 ez-react

我写 ez-react 的出发点很简单:如果只看官方 React 的文档和源码,React 往往会显得过于庞大。它有 Fiber、Lane、Scheduler、Concurrent Rendering、Hooks、Server Components、Suspense、Hydration 等等机制,每一个机制背后都有复杂的历史包袱和工程约束。可是如果一个人刚刚...

  • 理解 React 工作原理并复刻一个 ez-react 正文图片 1
2026年6月15日zh-Hans-CN

机器学习与 MNIST 手写数字识别入门

本文是《从智慧到人工智能:AI 基本概念与发展史入门》的续篇。如果你还不了解 AI 的基本概念、函数视角,以及从图灵测试到 Transformer 的发展脉络,建议先阅读上一篇。 这篇文章会从「机器学习到底是什么」讲起,再用大白话解释图像像素、向量矩阵、卷积神经网络和训练机制,最后配合完整的 PyTorch 手写数字识别代码,带你走一遍"训练一个能认数字的神...

  • 机器学习与 MNIST 手写数字识别入门 正文图片 1
  • 机器学习与 MNIST 手写数字识别入门 正文图片 2
  • 机器学习与 MNIST 手写数字识别入门 正文图片 3
  • 机器学习与 MNIST 手写数字识别入门 正文图片 4
  • +25
2026年6月15日zh-Hans-CN

用 Go 写一个 TCP 反向隧道与端口转发工具

本文面向只学过基础 C 语言、还没有系统接触过网络通信的读者。我们会从 IP、端口、TCP、NAT、防火墙入站与出站这些最基本的概念讲起,再通过我写的 NATBypass 项目源码,完整拆解一个 TCP 端口转发与反向隧道工具是如何工作的。

  • 用 Go 写一个 TCP 反向隧道与端口转发工具 正文图片 1
  • 用 Go 写一个 TCP 反向隧道与端口转发工具 正文图片 2
  • 用 Go 写一个 TCP 反向隧道与端口转发工具 正文图片 3
2026年6月15日zh-Hans-CN

WiFi加密与破解完全指南:从PSK到WPA3的密码学与攻击技术详解

本文将从最基础的密码学概念讲起,逐步深入WiFi加密协议的演进历史,最终详细介绍使用aircrack-ng和hashcat等工具进行WiFi密码破解的完整技术路线。无论你是刚入门的安全爱好者,还是希望系统了解WiFi安全的技术人员,本文都能为你提供一个清晰完整的知识图谱。

2026年6月14日zh-Hans-CN

OpenClaw(小龙虾)与 Gemini Operator:AI Agent 的前沿探索

2026 年被很多人称为"AI Agent 元年"。从 AutoGPT 到 Claude Code,从 OpenAI Operator 到 OpenClaw,AI 正在从"聊天的机器人"进化成"能动手的智能体"。这篇文章会从 AI Agent 的概念讲起,带你认识 2026 年最火的 AI Agent 网关 OpenClaw(小龙虾),再深入分析一个基于 G...

  • OpenClaw(小龙虾)与 Gemini Operator:AI Agent 的前沿探索 正文图片 1
  • OpenClaw(小龙虾)与 Gemini Operator:AI Agent 的前沿探索 正文图片 2
2026年6月13日zh-Hans-CN

从智慧到人工智能:AI 基本概念与发展史入门

这篇文章面向对 AI 完全零基础、想先建立整体认知的读者。我会先从「什么是智慧」「人工智能是什么」讲起,再系统梳理 AI 从图灵测试、感知机、反向传播到 AlexNet、ResNet、Transformer 的发展脉络。 如果你还想继续学习机器学习、CNN 和 PyTorch 手写数字识别实战,请阅读续篇《机器学习与 MNIST 手写数字识别入门》。 如果你...

  • 从智慧到人工智能:AI 基本概念与发展史入门 正文图片 1
  • 从智慧到人工智能:AI 基本概念与发展史入门 正文图片 2
  • 从智慧到人工智能:AI 基本概念与发展史入门 正文图片 3
  • 从智慧到人工智能:AI 基本概念与发展史入门 正文图片 4
  • +17
2026年6月8日zh-Hans-CN

關於台灣師範大學校史的那些事

我在師大就讀期間,對校史一直有著濃厚的興趣。這篇文章整理了一些關於臺師大校史的冷知識和有趣的故事,算是為自己的大學生活留下一些記錄。

  • 關於台灣師範大學校史的那些事 正文图片 1
  • 關於台灣師範大學校史的那些事 正文图片 2
  • 關於台灣師範大學校史的那些事 正文图片 3
  • 關於台灣師範大學校史的那些事 正文图片 4
  • +6
2026年6月7日zh-Hant-TW

2026年使用AI辅助Coding的一些小技巧

2026 年的 AI Coding早已成为日常开发流程的一部分。本文记录我在实际使用中的选型思路、省钱技巧,以及 OpenCode、提示词和 AGENTS.md 的一些实操经验——前半部分偏概念对比,后半部分是可以直接照着做的清单。 文内价格与配额信息参考 2026 年 6 月各厂商公开定价,具体价格请以官方页面为准。

  • 2026年使用AI辅助Coding的一些小技巧 正文图片 1
2026年6月7日zh-Hans-CN

參訪臺師大林口校區雲端節能機房

這個分類用來記錄大學生活裡比較值得留下來的片段——不一定是課業或研究,也可能是校園裡才會遇到的制度與文化。 這篇寫的是透過 GDG on NTNU 活動,參訪國立臺灣師範大學林口校區的雲端節能機房。

  • 參訪臺師大林口校區雲端節能機房 正文图片 1
  • 參訪臺師大林口校區雲端節能機房 正文图片 2
  • 參訪臺師大林口校區雲端節能機房 正文图片 3
  • 參訪臺師大林口校區雲端節能機房 正文图片 4
  • +16
2026年5月11日zh-Hant-TW

我第一次參加臺師大學生代表政見發表會

這個分類用來記錄大學生活裡比較值得留下來的片段——不一定是課業或研究,也可能是校園裡才會遇到的制度與文化。 這篇寫的是我第一次親自到場,參加國立臺灣師範大學學生會選舉委員會所辦的「候選人政見發表會」。

  • 我第一次參加臺師大學生代表政見發表會 正文图片 1
  • 我第一次參加臺師大學生代表政見發表會 正文图片 2
2026年3月20日zh-Hant-TW

AI 如何帮助啃下依赖大版本升级这块硬骨头

本文整理自 X 推文。原帖讨论的是:AI 对软件工程里长期存在的「屎山」问题,究竟能帮上多少忙——尤其是依赖库 major version 升级时那一堆 breaking changes。

  • AI 如何帮助啃下依赖大版本升级这块硬骨头 正文图片 1
2026年3月11日zh-Hans-CN

关于我的第一份实习工作

离职之后准备写一些随笔文章,放在 Gossip 这个分类下面,记录一些不太希望直接在 Twitter 等公开社交平台上发表的内容。 如果你会深挖到这里,可能你是一位对我比较感兴趣的朋友。谢谢你的关注,如果有什么话题想要聊聊也欢迎寄 Email 或者 Twitter 等私信联系我。

  • 关于我的第一份实习工作 正文图片 1
  • 关于我的第一份实习工作 正文图片 2
  • 关于我的第一份实习工作 正文图片 3
  • 关于我的第一份实习工作 正文图片 4
  • +4
2024年4月3日zh-Hans-CN

Intel 开发者文档中一些修订细节

LAHF 指令在最新版 Intel® 64 and IA-32 Architectures Software Developer Manuals 的解释为: 将 FLAGS 标志位寄存器载入 AH 累加寄存器的高 8-bit 位, 但是在 Intel 80386 Datasheet 中的解释为将 AH 累加寄存器的高 8-bit 位载入 FLAGS 标志位寄...

  • Intel 开发者文档中一些修订细节 正文图片 1
  • Intel 开发者文档中一些修订细节 正文图片 2
  • Intel 开发者文档中一些修订细节 正文图片 3
  • Intel 开发者文档中一些修订细节 正文图片 4
2022年3月2日zh-Hans-CN

从零开始写一个操作系统(三) —— 任务切换器

在最开始的章节中我们编译了ez-rtos的项目工程源代码,只不过我们是在模拟器中跑的仿真,所以我们没办法在物理世界中看到真实的 LED 灯闪烁。如果有条件拥有 STM32 开发板的同学,可以将代码下载到开发板上看到如下的效果,你将会观察到两个 LED 灯以 DELAYUS 这个宏定义所定义的时间间隔进行交替闪烁。

  • 从零开始写一个操作系统(三) —— 任务切换器 正文图片 1
  • 从零开始写一个操作系统(三) —— 任务切换器 正文图片 2
  • 从零开始写一个操作系统(三) —— 任务切换器 正文图片 3
  • 从零开始写一个操作系统(三) —— 任务切换器 正文图片 4
  • +10
2021年2月14日zh-Hans-CN

从零开始写一个操作系统(一) —— 基本概念

随着科技发展,我们每天都离不开各种智能化电子产品,在这些产品上跑着各种操作系统(OS,Operating System),例如手机上有 Android 、 iOS,电脑上有 Windows ,macOS ,还有各种 Linux 发行版。除了手机和电脑以外,其实我们身边还有很多白色家电,他们也都跑着一些嵌入式操作系统,例如中国大陆的 RT-Thread,国外的...

  • 从零开始写一个操作系统(一) —— 基本概念 正文图片 1
  • 从零开始写一个操作系统(一) —— 基本概念 正文图片 2
  • 从零开始写一个操作系统(一) —— 基本概念 正文图片 3
  • 从零开始写一个操作系统(一) —— 基本概念 正文图片 4
  • +17
2021年2月13日zh-Hans-CN

前端开发中的placeholder与focus细节

这是input和textarea标签的一个属性,用于在文本框内无任何文字时显示一个灰色的提示文字。他能够提示用户在文本框中正确输入内容。

  • 前端开发中的placeholder与focus细节 正文图片 1
  • 前端开发中的placeholder与focus细节 正文图片 2
  • 前端开发中的placeholder与focus细节 正文图片 3
  • 前端开发中的placeholder与focus细节 正文图片 4
  • +7
2020年7月7日zh-Hans-CN