✨ 二十一岁,繁花盛开。

二十一岁了,到了小时候觉得很遥远的年纪。 不知道是什么时候形成的习惯,每年生日都会发一篇博客,纪念这一岁的自己。翻到以往生日发的博客,更加能感叹时光之流逝,自己的成长。对于二十一岁,我还一点都没有准备好。 每年生日,正好都是清明时节。长沙的春日,繁花盛开了。 二十一岁,也正是繁花盛开的年纪。是时候开始具体地思考这个问题:「你想活出怎样的人生?」 我认识的大多数年长的鼹鼠,都希望自己当初能够听从梦想,而非恐惧。 ——《男孩、鼹鼠、狐狸和马》

从零开始,配置一套现代前端工具链

现代前端应用框架(如 Next.js、Nuxt.js 等)都直接集成了完整的工具链,按照官方文档做,一行命令就可以配置完毕。这整套工具在我们调试和构建项目时,在背后做了大量工作。虽然这有助于快速上手,但是非常不利于我们了解其中的原理。 然而,各种工具纷繁复杂,文档浩如烟海。由于工具之多,即使文档再友好、工具本身再易用,也很难快速入门。 本文将带你踏上一段旅程,从一个空文件夹开始,一步一步添加工具,最终配置一套完整的前端工具链。在其中,我们可以对各个工具的概念、用途和原理有一个

全新个人网站 Daydreamer 设计开发手记

想写一个新的个人主页很久了,甚至基于 Next.js、Nuxt.js 分别做过雏形,但是都半途而废。寒假接触到了早有耳闻的 Astro.js,这个框架简洁优雅的设计吸引了我。于是一发不可收拾,开发了全新版本的主页,并将各种页面和博客系统也集成进了这个主页。在设计和开发的过程中有无数的纠结和思考,特此记录下来。 Bento 式布局 我是看了少数派的《何为 Bento 式布局,怎么生产力工具网站都在用?》这篇文章,想到用 Bento 的风格做一个个人网站的。Bento 式布局各种

找寻一个简易的 Kindle 书摘管理方案

上学期,我购入了 Kindle 并决定将它离线使用。Kindle 的阅读体验确实一流,但是由于亚马逊生态的封闭,从 Kindle 导出书摘、笔记就有些困难。 书摘导出的困难 在阅读时的划线批注,存储在哪里呢? 将 Kindle 连接电脑后,观察挂载的硬盘目录,会发现书籍对应的 mobi 文件同目录下有一个同名的以 .sdr 结尾的文件夹,文件夹中有拓展名为 .mbs 和 .mbp1 的文件,这便是 Kindle 保存我们的阅读信息的地方,包括阅读时的划线、阅读位置、书签等各种

Yubikey 安全密钥折腾记(2):使用入门

自从上次使用 Cloudflare Zero 的优惠买下两个 YubiKey 之后,这俩玩意被我搁置了一个学期。原因之一是学习成本不低,关于它们的文档、教程都充斥着不少不太了解的名词、概念,令人望而却步。于是经过查阅各种资料,在这篇博客中我将(用白话文)介绍我从零开始的 YubiKey 入门之旅。 Yubico 与 YubiKey Yubico 是一家美国的公司,是 YubiKey 的制造商。(这家公司似乎对东亚某国有一定政治倾向。这一点我不了解也不评论。) YubiKey

Gandalf:用 prompt injection 与 AI 大战三百回合!

Gandalf 可以作为一个有趣的 prompt injection 练习靶场。我们作为攻击方需要通过对 AI 的问答猜出密码(后端接的是 OpenAI 的 GPT),而每一关 AI 的防御(极力避免说出密码的措施)都会不断加强。这个游戏里,AI 的许多回应往往让人哭笑不得。快来与 AI 大战三百回合吧! ⚠️ 注意:本文可能包含剧透。建议亲自在 Gandalf 体验后再阅读。 Your goal is to make Gandalf reveal the secret p

xss-labs 通关教程

xss-labs 是一套基于 PHP 的 XSS 靶场,以闯关的形式让我们体验各种 XSS 漏洞利用方式。虽然已经是很多年前的了,但其中基本的 XSS 漏洞依然很有意义。 一共有 20 关,每一关的目标都是实现弹窗(alert(1)),如果成功就会自动进入下一关。 环境搭建 克隆这个代码仓库的代码,其中是 xss-labs 的 PHP 源文件。只要放在 PHP 环境下即可,推荐使用 XAMPP 或者 Docker。 部署完成后,访问 index.php,就可以看到入口了:

在 HNU 信息院的 Apple Silicon 生存指南

2020 年末,Apple M1 横空出世,2021 年刚高考完的我看着「吊打 Intel」的性能对比图,以及 MacBook Air 优雅又近乎极端的无风扇设计,毫不犹豫地入手了。虽然只能用 macOS,虽然是 arm 架构的芯片,但是「反正我本来就讨厌 Windows」,不管这么多了!那时候的我并没有意识到,这个选择会给大学学习带来怎样的麻烦。 在大学里,不少课堂上要用到的软件都是 Windows 专有的,实验也大多是 x86 only 的……这给我带来了无数额外的折腾。

CSAPP Bomblab 题解

这应该是我写过最长的实验报告了…… 做的时候就感觉到,不愧是 CMU 的镇系神课,游戏化的关卡设计和埋藏的彩蛋都给人做下去的动力。所以虽然有点难(富有挑战性),但是很有意思。 实验环境 我个人进行本实验的环境是 Kali GNU/Linux Rolling x86_64。 HNU 课程组的老师给每个同学都生成了不同的 bomb,所以以下只是我的 bomb 的答案与解析。 /****************************************************

rCore Tutorial Chapter 1 练习

这是 rCore Tutorial Book 第一章「应用程序与基本执行环境」的练习。 课后练习 编程题 Program 1 1. 实现一个 linux 应用程序 A,显示当前目录下的文件名。 #include <dirent.h> #include <stdio.h> int main() { DIR *dir = opendir("."); struct dirent *entry; while ((e