Seven's blog

你不会找到路,除非你敢于迷路

  • 购买了 GLM Coding Plan,可以随意玩 ClaudeCode 了。虽然模型智能不如国外,好在量大管饱,入门 ClaudeCode 是不错的。
  • 新买的丐版 MacMini 内存和硬盘都不多,ClaudeCode 开发过程中会用到一些开发环境(Go 语言, Podman, PostGreSQL),不想浪费 MacMini 的空间。索性就把之前淘汰下来的 Manjaro Linux 24h 开机,当作服务器用。Tmux 会话保持 + ClaudeCode 终端沟通 + VSCode 远程开发,整个流程非常顺滑。
  • 有一个叫 happy 的工具,可以让你远程控制 ClaudeCode 工作,感兴趣的话可以试一下。
  • 测试了几个 AI 编程工具(GeminiCLI,GithubCopilot),最终还是觉得 ClaudeCode 更好用。其实真没必要折腾各种免费或者白嫖的工具,免费的往往也是最贵的,时间、精力、机会这些方面的成本不是金钱能够衡量的
  • 之前帮同事写过一个号码认证自动拨测脚本,这次又有需求,借助 AI 编程工具把脚本升级到了 GUI。纯 VibeCoding,调测时间远大于开发时间,且 AI 经常会在实现一个新需求的时候搞出来一个旧功能的 bug。后面可能会多尝试一下 LeanSpec 或者 SpecKit 这样的 SDD 框架。

前言

你好,我是小柒。
Java 程序员,热衷自动化。

前段时间花了 5 天左右,借助 Notion + CloudFlare Workers + Github Actions 零成本搭建了一个支持一键分销的小报童排行榜https://xiaobot.osguider.com。在这里复盘一下过程,希望能够对你有所启发。

善用 MVP 思维,用最小的成本最快地实现最核心的功能,尽早触达用户,尽早获取反馈,不断迭代,不断升级。

什么是小报童排行榜?

小报童排行榜是一个罗列了(几乎)所有小报童专栏的导航网页。可以帮助你一键分销所有小报童专栏

小报童排行榜-最近更新专栏

阅读全文 »

配置过程

  1. 添加数据文件 _data/site.json,写入以下内容,定义站点信息和 sitemap 中的一些默认值:
1
2
3
4
5
6
7
8
9
{
"baseUrl": "https://xiaobot.osguider.com",
"robots": "/robots.txt",
"sitemap": {
"path": "sitemap.xml",
"changefreq": "daily",
"priority": 0.5
}
}
  1. 添加 sitemap 模板文件,写入以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
---
permalink: "{{ site.sitemap.path }}"
eleventyExcludeFromCollections: true
---
<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for page in collections.all %}
{% unless page.data.sitemap.ignore %}
<url>
<loc>{{ site.baseUrl }}{{ page.url | url }}</loc>
<lastmod>{{ page.date | date: '%Y-%m-%dT%H:%M:%S.%LZ' }}</lastmod>
<changefreq>{{ site.sitemap.changefreq }}</changefreq>
<priority>{{ page.data.sitemap.priority | default: site.sitemap.priority | default: 0.5 }}</priority>
</url>
{% endunless %}
{% endfor %}
</urlset>
  1. 【可选】配置不同页面的 sitemap 表现:

    • 如果不希望某些页面在被包含在 sitemap 文件中,在页面元数据中添加 sitemap.ignore: true 即可;
    • 可以对不同的页面设置不同的 sitemap 优先级,在页面元数据中添加 sitemap.priority: 0.5,取值范围 0-1;
    • 对于分页数据,要设置 pagination.addAllPagesToCollections: true 才会在 sitemap.xml 文件中包含每一个分页页面。
  2. 添加模板文件 src/robots.txt,写入以下内容:

1
2
3
4
5
6
7
8
9
---
eleventyComputed:
permalink: "{{ site.robots }}"
eleventyExcludeFromCollections: true
---
Sitemap: {{ site.baseUrl }} {{ site.sitemap.path }}

User-agent: *
Disallow:

重新编译,over!

参考文档

  • How to create sitemap.xml
  • Sitemap xml
  • liquid
  • sitemap format

  1. GitHub Actions 可以添加运行参数。我只需要设置 filepath 和 content 两个参数,然后配合 shell 脚本就可以自动生成和提交博文到 GitHub 仓库,进而触发自动构建和发布。

  2. GitHub Actions 提供了 REST API 来触发前面的工作流,这样我就可以通过 HTTP 请求来自动生成和发布博文。

  3. 开源服务指南数据库现在是建立在 Notion 上的,Notion 也提供了 REST API 的交互方式。所以我只需要定时扫描 Notion 数据库,获取状态刚变更为 “已发布” 的博文,提取文章内容,通过第 2 步中提到的 REST API 来触发第 1 步中提到的 GitHub Actions 即可自动生成和发布博文。这里我使用了 Cloudflare Workers 实现。

  4. 怎么监测 Notion 数据库文章状态变动呢?想要监测状态“变动”,我们需要知道变动前的状态和变动后的状态,进而需要有数据库缓存变动前的状态,能做,但麻烦。所幸,pipedream 帮我们做好了这个事情。它能够监测 Notion 数据库变动,并且触发工作流执行。

阅读全文 »

RFID 卡

是指非接触式类电子卡片/标签,包括有ID卡、IC卡和NFC卡以及其它等电子卡/标签。他们主要的区别在于工作频段。

NFC

NFC,全称是Near Field Communication,“近距离无线通信”,NFC本质信息双向交换。

NFC和RFID都是基于位置相近的两个物体之间的信号传输,NFC技术增加了点对点(P2P)通信功能,NFC设备彼此寻找对方并建立通信连接。P2P通信的双方设备是对等的,而RFID通信的双方设备是主从关系。

NFC 的工作频率是 13.56Mhz,所以只能读取和模拟 13.56Mhz 的 IC 卡。

阅读全文 »
0%