我的梦想
不是每个人都应该像我这样去建造一座水晶大教堂,但是每个人都应该拥有自己的梦想,设计自己的梦想,追求自己的梦想,实现自己的梦想。梦想是生命的灵魂,是心灵的灯塔,是引导人走向成功的信仰。有了崇高的梦想,只要矢志不渝地追求,梦想就会成为现实,奋斗就会变成壮举,生命就会创造奇迹。——罗伯·舒乐
在 Android 上跑端侧人脸识别:StellarEyes 的技术拆解 在 Android 上跑端侧人脸识别:StellarEyes 的技术拆解
StellarEyes 的目标是在 Android 设备上完成人脸识别,不把生物特征或图片上传到服务器。应用使用 Kotlin 和 Jetpack Compose 编写界面,CameraX 获取预览帧,ML Kit 做人脸检测,Tensor
2026-07-03
Go 实战:用 WebAuthn + PASETO 给后台做一套无密码登录 Go 实战:用 WebAuthn + PASETO 给后台做一套无密码登录
管理后台使用密码登录时,需要处理密码复用、哈希存储、拖库和钓鱼等问题。Passkey 出现之后,我决定把密码从系统中移除,于是写了 fifu-gateway:前面接管理后台,后面代理业务服务,认证统一在网关完成。 架构与信任边界架构比较
2026-06-18
feach:用 Rust 写一个“在多个目录里执行同一条命令”的小工具 feach:用 Rust 写一个“在多个目录里执行同一条命令”的小工具
我的机器上有几十个仓库,分散在几个目录里。每次更新都需要逐个执行 cd 和 git pull,为此写过 shell 循环,但在 Windows 上经常被路径和引号的问题打断。后来用 Rust 写了 feach,遍历指定目录的子目录,并在每个
2026-05-02
Tauri + Rust 实战:把 Windows 回收站改成啵啵猫 Tauri + Rust 实战:把 Windows 回收站改成啵啵猫
这个项目的目标是把 Windows 回收站的图标换成啵啵猫。选择它主要是想找一个具体场景练习 Tauri,同时了解一下 Windows Shell 图标的配置方式。项目使用 Tauri 1.4、Vue 3 和 TypeScript,Rust
2024-11-05
用 TypeScript 在 GitHub 贡献图上“作画”:Time Assassin 用 TypeScript 在 GitHub 贡献图上“作画”:Time Assassin
GitHub 贡献图是一张按周排列的日期网格,每列 7 天,一年大约 53 列。我写 time_assassin 的出发点很简单:既然每个格子对应一天,能不能先选好日期,再让 Git 在这些日期产生提交。 两个时间戳Git 的每个提交有
2023-04-09
用 Rust 从零实现一个 Brainfuck 解释器 用 Rust 从零实现一个 Brainfuck 解释器
写一个 Brainfuck 解释器,是我用来理解虚拟机的一次练习。它只有八条指令、一条数据带和一个指针,代码量不大,适合把取指、译码、执行的循环完整地写一遍。 八条指令与括号匹配八条指令里,前六条都是简单的指针和数值操作,[ 和 ] 需
2023-03-31
密码破解与心理学 密码破解与心理学
仅供学习与交流,切勿对真实目标操作,否则后果自负! 十大基本规律 绝大多数人都高估了破译密码的难度和低估了自己密码存在的风险,因而,往往把能够破解密码的人当成神秘人物,同时基本很少有修改自己密码的习惯。 绝大多数人一生常用的密码通常不会
2021-11-25 NekokeCore
hexo博客框架+matery主题搭建以及云服务器部署 hexo博客框架+matery主题搭建以及云服务器部署
阅读须知: 系统环境: 本机:win10系统虚拟机:CentOS7-64位(新装的)云服务器:CentOS7-64位注意:以下代码中#代表root权限,$代表普通用户 如果你也跟我一样新装了个虚拟机centos7系统,建议先看看我的另一篇
2021-11-24
命令:Screen 命令:Screen
一、背景系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须
2020-02-15
一个开源、轻量且类似于Servo/Ngrok的内网穿透工具 一个开源、轻量且类似于Servo/Ngrok的内网穿透工具
说明:sish是一个SSH服务器,仅用于远程端口转发,可以快速将本地端口暴露在外网,作者声称其为Servo/Ngrok替代方案,仅使用SSH的HTTP(S)、WS(S)、TCP隧道连接到他们的localhost服务器,该工具和Se
2020-02-15
1 / 2