Verne in GitHub

XML 数字签名及 Java 实现

数字签名是一种基于摘要算法和非对称加密技术的防止数据在传输过程中被篡改的安全技术。 数字签名的原理是对传输的内容做摘要(SHA245 等),然后把摘要和用到的摘要算法使用非对称加密技术的公钥或私钥(大部分情况下是私钥)生成签名。接收方接受到数据后,把签名信息用私钥或公钥验证来确保内容的完整性。 XML 数字签名 XML 数字签名是数字签名的基础上定义出来的一种 XML 数字签名规范,和普通的数字签名相比较有不少优点,比较灵活。XML 数字签名即可以对传输的所有内容签名,也可以只对传输的一小部分内容进行部分签名。不同的签名还可以使用不同的算法和密钥。 Read more ...


macOS 上的清理工具整理合集

最近 macOS 系统磁盘空间告急,之前就出现过因为磁盘空间不足导致系统卡顿还出现突然黑屏的状态,所以这次就看到还剩余几十个 GB 的时候就开始清理工作了。清理的同时顺便就整理一下常用的几个清理工具。 如何发现大文件 在清理之前首先要对本地磁盘文件做一个整体的了解,虽然 macOS 自带一个存储管理的查看面板,但是实在是太简陋,也只能提供非常简单地查找大文件的工具。 比如说从系统提供的 Storage 预览中能看到 Documents 占用的空间最多,可以点开后面的圆形 i 图标,可以看到其中占用空间很大的几个文件。 比如说对于我,就是我 Read more ...

2023-06-10 macos , cleanup , mac , gdu , linux , disk-space

使用 Listmonk 搭建自己的 Newsletter

listmonk 是一个开源的,使用 Go 语言编写的,自托管的邮件列表订阅应用。目前已经在 GitHub 收获了超过 10000 颗星星,listmon 速度非常快,功能丰富,并且可以直接打包成一个二进制文件,和 PostgreSQL 数据库一起使用。 借助 listmonk 可以非常快速的搭建属于自己的 Newsletter,Newsletter 是一种基于邮件的时事通讯,企业或组织可以通过邮箱给其成员,客户,员工或其他订阅者发送活动的新闻及广告营销的方式,但最近也逐渐成为个人出版、自媒体的流行订阅形式,相比 RSS,它更加自主,有更好的阅读体验, Read more ...


.box 区块链上的 TLD

今天在 Twiter 上看到 .box 这个顶级域名开始开放 Early Access,然后就突然想起来之前突然某一天 Twitter 大家都换上了 .eth 的昵称。突然很多陌生的名词出现了,比如什么是 ENS,什么是 DID。 什么是 eth .eth 是 ENS(Ethereum Name Service)域名服务提供的一种以太坊地址命名方式。它是一种去中心化的域名系统,将难以记忆的以太坊地址转换为更容易记忆的名称。.eth 域名可以被认为是一种以太坊上的虚拟资产,可以购买、出售、转让和租赁。与传统的域名系统不同,.eth 域名是在以太坊区块链 Read more ...

2023-06-07 eth , ens , box , tld , dns

使用 Atuin 同步 Shell 历史

Atuin 是一个可以同步,备份 Shell 命令历史的服务。借助 Atuin 可以在多台设备之前同步 Shell 命令历史,所有的命令都在数据库(SQLite)中加密存储。 它不仅可以同步历史记录,还提供了一个更好的 Ctrl-R 交互界面,支持模糊搜索、按目录过滤、按退出码过滤等功能。 同步机制 Atuin 默认会将本地所有历史同步上传到服务器。在执行 atuin sync 或每隔一段时间(默认 1h)自动触发同步时,会将本地 SQLite 数据库中的所有 shell 历史上传到服务器。这包括通过 atuin import auto 导入的旧历 Read more ...

2023-06-06 shell , atuin , bash , bash-history , zsh

我买了一个 Ledger Nano S Plus

今天我购买了一个 Ledger Nano S Plus,是一个入门款的[[硬件钱包]](冷钱包),借此契机也正好从头开始学习和整理一下[[加密货币]]相关知识。 什么是助记词 之前已经写过一篇文章系统的讲述了什么是助记词,以及为什么可以通过助记词来回复加密货币钱包。简单来说就是助记词就是一连串特定单词组成的字符串,一般是 12 个,或 24 个单词,可以用来备份或恢复钱包的私钥。 什么是硬件钱包(冷钱包) [[硬件钱包]] (也被称为冷钱包)是一种物理的电子设备,使用随机数生成器(RNG)生成公钥以及私钥。生成的密钥随后存入设备内,设备不会接入互 Read more ...


macOS 上好用的 ChatGPT 客户端整理

介绍几款在 macOS 上能使用的 ChatGPT 客户端。 [[ChatX]] [[MacGPT]] [[AMA]] [[Chatbox]] [[OpenCat]] ChatX ChatX 是我目前个人在使用的客户端,界面简洁,提供了内置的 [[prompt]]。 MacGPT MacGPT 是一个 macOS 下的 ChatGPT 客户端,提供了 Native 和 Web 两种方式可以访问 ChatGPT。 MacGPT 提供的特色功能就是可以使用关键字来在任何应用中触发 ChatGPT。比如说在设置中设定了 Read more ...

2023-06-03 macos , chatgpt , ai-chat , chat , ai , mac , mac-app , mac-application

利用 Jakarta 来验证 Java Bean 数据合法性

Bean Validation 为 JavaBean 和方法验证定义了一组元数据模型和 API 规范,常用于后端数据的声明式校验。 2017 年 11 月,Oracle 将 Java EE 移交给 Eclipse 基金会。 2018 年 3 月 5 日,Eclipse 基金会宣布 Java EE (Enterprise Edition) 被更名为 Jakarta EE。因此 Bean Validation 规范经历了从 JavaEE Bean Validation 到 Jakarta Bean Validation 的两个阶段: JSR 303 Read more ...

2023-06-02 java , jakarta , java-bean , validation

《美国大萧条》读书笔记

怎么知道的这一本书 在微信上关注了先知书店店长荐书,某一天的公众号文章中推荐了 [[罗斯巴德]] 这位经济学家的几部著作,这一本《美国大萧条》一下子就抓住了我的眼球,他的另外一部作品 [[人,经济与国家]] 也在我的待看清单上。 关于作者 [[罗斯巴德]] (Murray Newton Rothbard) 是一位美国犹太裔经济学家,历史学家,自然法理论家,政治理论家,是[[奥地利学派]]著名的学者。他的著作大量的介绍了 [[米塞斯]] 的工作,对现代的自由意志主义,和无政府资本主义理论的发展和传播有着极大的贡献。 这一本《美国大萧条》是罗斯巴德对 Read more ...


给 macOS 编写的纯键盘操作流 Shortcat

Shortcat 是一个 macOS 上的效率工具,可以利用键盘了操作 UI 界面上的一切,而不需要使用到触摸板或鼠标。理念有一些类似于 Chrome 上的 [[vimium]] 插件,利用快捷键在界面上的每一个可以点击的区域加上快捷按键,通过按键来操作界面的内容。 安装 可以直接通过 brew 安装 brew install shortcat 使用 打开 然后可以使用默认的快捷键 Shift+Cmd+Space 来调用出来 Shortcat,然后界面每个可以点击的地方都可以直接看到一个黄色的标签,通过这个搜索框就可以直接进行检索然后,按 Read more ...


最近文章

  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 呆呆面板 MCP 配置教程:让 Claude、Cursor 用自然语言管理定时任务 前两天写了一篇 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程,在那篇文章里我提到呆呆面板和 [[qinglong 青龙面板]] 最明显的代差是内置了 [[MCP]] 服务,但只是简单带过。面板搭起来、脚本陆续迁移进来之后,我每天早上要做的第一件事就变成了打开面板,挨个看昨晚哪些任务失败了、报的什么错、是 Cookie 过期还是网站改版。这种重复又琐碎的巡检,恰好是 AI 最擅长替人做的事情。所以这一篇就专门聊聊呆呆面板的 MCP 怎么配置、怎么接入不同的客户端,以及在权限上应该怎么取舍。
  • 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程 Homelab 里跑久了,总会攒下一堆零散的小脚本:每天早上抓一次汇率发到 Telegram,定时检查几个网站的证书有没有快过期,隔一段时间把某个 API 的数据拉下来存一份,再加上各种网站的自动签到。最开始我都是直接写进服务器的 crontab,时间一长就发现问题很多,脚本散落在不同的机器上,日志不知道去哪看,失败了也没人通知,Python 依赖装在系统里还经常和别的东西打架。几年前我为此折腾过 [[qinglong 青龙面板]],最近在 GitHub 上又看到一个定位几乎一样、但更轻量的新项目,叫呆呆面板([[daidai-panel]])。
  • RAGFlow:以深度文档理解为核心的开源 RAG 引擎介绍与部署使用教程 这两年我陆陆续续接触过一些 RAG 小工具,从最早自己用 [[LangChain]] 拼一个 demo,到后来用 [[AnythingLLM]]、[[Dify]] 的知识库功能,有一个体验几乎每次都会重演:拿几篇 Markdown 测试的时候效果惊艳,一旦换成真实的业务材料,比如一份带合并单元格的财报 PDF、一份双栏排版的论文、几页扫描的合同,回答马上就开始胡说八道。追查下去会发现问题根本不在大模型,而在最前面的解析和切块环节,表格被拍平成一串没有表头的数字,左右两栏的文字被交错拼接在一起,模型拿到的上下文本身就是错的。也正是因为这个痛点,我在调查 ESP32 小智 AI 后端的时候发现了 [[RAGFlow]],一个可以「深度文档理解」的开源 RAG 引擎。
  • Git 本地忽略文件:.git/info/exclude 的作用与使用技巧 由于本地 IDE、插件、Agent 的差异,所以经常打开项目之后会出现一些只属于我自己的文件,AI Agent 和一些 MCP,Skill 也喜欢在项目根目录里面添加文件。每次 git status 都能看到这一串红色的 untracked 文件,看着很烦,又不太好意思为了自己的习惯去改项目的 .gitignore。这时候我想起了 .git 目录里一个存在感极低的文件 info/exclude,它刚好就是为这种场景设计的。