人员、任务、进度、工时、周期、依赖关系 一目了然。无论项目大小、简单复杂都能轻松管理
二十一岁了,到了小时候觉得很遥远的年纪。
不知道是什么时候形成的习惯,每年生日都会发一篇博客,纪念这一岁的自己。翻到以往生日发的博客,更加能感叹时光之流逝,自己的成长。对于二十一岁,我还一点都没有准备好。
每年生日,正好都是清明时节。长沙的春日,繁花盛开了。
二十一岁,也正是繁花盛开的年纪。是时候开始具体地思考这个问题:「你想活出怎样的人生?」
我认识的大多数年长的鼹鼠,都希望自己当初能够听从梦想,而非恐惧。
——《男孩、鼹鼠、狐狸和马》
现代前端应用框架(如 Next.js、Nuxt.js 等)都直接集成了完整的工具链,按照官方文档做,一行命令就可以配置完毕。这整套工具在我们调试和构建项目时,在背后做了大量工作。虽然这有助于快速上手,但是非常不利于我们了解其中的原理。
然而,各种工具纷繁复杂,文档浩如烟海。由于工具之多,即使文档再友好、工具本身再易用,也很难快速入门。
本文将带你踏上一段旅程,从一个空文件夹开始,一步一步添加工具,最终配置一套完整的前端工具链。在其中,我们可以对各个工具的概念、用途和原理有一个
想写一个新的个人主页很久了,甚至基于 Next.js、Nuxt.js 分别做过雏形,但是都半途而废。寒假接触到了早有耳闻的 Astro.js,这个框架简洁优雅的设计吸引了我。于是一发不可收拾,开发了全新版本的主页,并将各种页面和博客系统也集成进了这个主页。在设计和开发的过程中有无数的纠结和思考,特此记录下来。
Bento 式布局
我是看了少数派的《何为 Bento 式布局,怎么生产力工具网站都在用?》这篇文章,想到用 Bento 的风格做一个个人网站的。Bento 式布局各种
上学期,我购入了 Kindle 并决定将它离线使用。Kindle 的阅读体验确实一流,但是由于亚马逊生态的封闭,从 Kindle 导出书摘、笔记就有些困难。
书摘导出的困难
在阅读时的划线批注,存储在哪里呢?
将 Kindle 连接电脑后,观察挂载的硬盘目录,会发现书籍对应的 mobi 文件同目录下有一个同名的以 .sdr 结尾的文件夹,文件夹中有拓展名为 .mbs 和 .mbp1 的文件,这便是 Kindle 保存我们的阅读信息的地方,包括阅读时的划线、阅读位置、书签等各种
自从上次使用 Cloudflare Zero 的优惠买下两个 YubiKey 之后,这俩玩意被我搁置了一个学期。原因之一是学习成本不低,关于它们的文档、教程都充斥着不少不太了解的名词、概念,令人望而却步。于是经过查阅各种资料,在这篇博客中我将(用白话文)介绍我从零开始的 YubiKey 入门之旅。
Yubico 与 YubiKey
Yubico 是一家美国的公司,是 YubiKey 的制造商。(这家公司似乎对东亚某国有一定政治倾向。这一点我不了解也不评论。)
YubiKey
Gandalf 可以作为一个有趣的 prompt injection 练习靶场。我们作为攻击方需要通过对 AI 的问答猜出密码(后端接的是 OpenAI 的 GPT),而每一关 AI 的防御(极力避免说出密码的措施)都会不断加强。这个游戏里,AI 的许多回应往往让人哭笑不得。快来与 AI 大战三百回合吧!
⚠️ 注意:本文可能包含剧透。建议亲自在 Gandalf 体验后再阅读。
Your goal is to make Gandalf reveal the secret p
xss-labs 是一套基于 PHP 的 XSS 靶场,以闯关的形式让我们体验各种 XSS 漏洞利用方式。虽然已经是很多年前的了,但其中基本的 XSS 漏洞依然很有意义。
一共有 20 关,每一关的目标都是实现弹窗(alert(1)),如果成功就会自动进入下一关。
环境搭建
克隆这个代码仓库的代码,其中是 xss-labs 的 PHP 源文件。只要放在 PHP 环境下即可,推荐使用 XAMPP 或者 Docker。
部署完成后,访问 index.php,就可以看到入口了:
2020 年末,Apple M1 横空出世,2021 年刚高考完的我看着「吊打 Intel」的性能对比图,以及 MacBook Air 优雅又近乎极端的无风扇设计,毫不犹豫地入手了。虽然只能用 macOS,虽然是 arm 架构的芯片,但是「反正我本来就讨厌 Windows」,不管这么多了!那时候的我并没有意识到,这个选择会给大学学习带来怎样的麻烦。
在大学里,不少课堂上要用到的软件都是 Windows 专有的,实验也大多是 x86 only 的……这给我带来了无数额外的折腾。
这应该是我写过最长的实验报告了……
做的时候就感觉到,不愧是 CMU 的镇系神课,游戏化的关卡设计和埋藏的彩蛋都给人做下去的动力。所以虽然有点难(富有挑战性),但是很有意思。
实验环境
我个人进行本实验的环境是 Kali GNU/Linux Rolling x86_64。
HNU 课程组的老师给每个同学都生成了不同的 bomb,所以以下只是我的 bomb 的答案与解析。
/****************************************************
这是 rCore Tutorial Book 第一章「应用程序与基本执行环境」的练习。
课后练习
编程题
Program 1
1. 实现一个 linux 应用程序 A,显示当前目录下的文件名。
#include <dirent.h>
#include <stdio.h>
int main() {
DIR *dir = opendir(".");
struct dirent *entry;
while ((e