• Visit the English site here, or click ‘Switch to English’ at the left sidebar.

序言

『对话 LLM』是指在与 LLM 聊天工具(如 DeepSeek、ChatGPT)的对话中学习知识。通过 Q&A 的方式学习,效率更高。『对话 LLM』的博文内容主要源自于我与 LLM 聊天工具的对话。

本文讲述了 JWT 的原理、工作流程、优缺点。

阅读全文 »

题目

题目来源:30. 串联所有单词的子串

题目描述:

给定一个字符串 s 和一个字符串数组 words words 中所有字符串 长度相同

s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。

  • 例如,如果 words = ["ab","cd","ef"], 那么 "abcdef""abefcd""cdabef""cdefab""efabcd", 和 "efcdab" 都是串联子串。 "acdbef" 不是串联子串,因为他不是任何 words 排列的连接。

返回所有串联子串在 s 中的开始索引。你可以以 任意顺序 返回答案。

阅读全文 »

序言

上一篇文章中,我使用 QQ 邮箱作为 ChangeDetection 的通知服务。当时是为了快速上手 ChangeDetection,显然这是没有必要的,因为存在不少开源的通知系统,比如 ntfy。本文会介绍 ntfy 的安装和使用,这本身没什么难度。但是,在与 ChangeDetection 整合时,我却遇到了不少困难。本文也将包括这些问题的解决方案。

阅读全文 »

序言

最近在等待某个网站上的通知,于是时不时打开网站看一眼。后来觉得太麻烦了,准备写个爬虫自动监测。又发现网上有很多现成的平台(于是懒得写代码了),但是它们的免费方案都只包括监控静态网页,想要处理 JSON 要付费,因此开始寻找开源替代方案。于是,就有了本文的主题 —— ChangeDetection

ChangeDetection 有两个功能:监控 URL 内容变化;通知这些变化。这两个功能足以覆盖大部分日常场景。

阅读全文 »

序言

最近感到我使用 Hexo 写文章时的流程有些繁琐,因此想要将这一流程自动化。流程自动化的工作包括:更新 NPM 依赖、编写构建脚本弥补 Hexo 现有的不足、使用 GitHub Actions 自动部署网站。

最早开始用 Hexo 时,我还不擅长读文档,喜欢看别人的教程。有了一年多使用 Hexo 的经历,以及半年多部署各种开源软件的经历,让我开始着手这一改进。

阅读全文 »

序言

如果要用数据库保存文件目录的结构,应该使用哪种数据库? —— 要么 NoSQL,要么 RDBMS。选取 NoSQL,应该选择支持树形结构的;选取 RDBMS,重点在于表的设计和查询操作。

这个问题的关键在于:我们要对数据库中的目录结构做何种操作? 显然,这些操作本质上是对文件系统上文件的操作。

  • 操作1:单个文件/目录的增删改查,即拷贝、删除、剪切某个文件/目录;
  • 操作2:递归遍历某个目录;

只有考虑了这两点,才能设计出高效的方案。本文给出了 NoSQL 和 RDBMS 的方案,重点在于后者。另外,本文还探讨了使用 JSON 的方案。

阅读全文 »

序言

AutoBangumi 是一款“基于 RSS 的全自动追番整理下载工具”(以下简称 AB),很适合我这种同时使用 qBittorrent (以下简称 QB) 和 Jellyfin 的用户。在使用 AB 追了一个季度的番剧后,我对于 AB、Jellyfin等软件以及 RSS、刮削等概念有了更深的理解。尽管 AB 提供了自动化,但引入它也增加了追番流程的复杂度 —— 尤其表现在 AB 出问题时。

回顾以往使用 QB RSS 功能的经历,加上新的理解,我选择不再使用 AB,而是使用 QB RSS 来代替。尽管在每个季度追新番时的步骤增加了一些,但整个系统的复杂度和资源占用量降低了。总的来说,我对这个改变是满意的。

自动化追番流程

flowchart LR
subgraph g1[RSS订阅器]
a1[AB] ~~~ a2[QB ]
end
subgraph g2[RSS下载器]
b1[AB] ~~~ b2[QB]
end
subgraph g3[torrent下载器]
c1[QB] ~~~ c3[Transmission ]
end
subgraph g4[下载后任务(可选)]
d1[邮件通知下载完成] ~~~ d2[修改下载视频名] ~~~ d3[创建硬链接]
end

subgraph g5[Jellyfin(插件)刮削]
e1[Bangumi] ~~~  e2[AniDB] ~~~ e3[TMDB]
end
g1-->g2-->g3-->g4-->g5
阅读全文 »
0%