跳转至

技术笔记

写在前面

  • 整了一个学习笔记网站,因为我觉得如果不总结下,很容易忘
  • 本来是自己的的笔记,平时在obsidian编写,顺便公布出来
  • 没太想好表现形式,一度想以单网页的形式,整个网站就一个网页,什么分类、标签都不要了
  • 务必精炼,严禁长篇大论,要加自己的感悟和思考

比特币钱包、助记词

  • 助记词的发明,就是助记私钥,不然私钥纯二进制,也容易记错或输错。
  • 助记词可以推导出私钥,但反过来不行,因为是算法是单向的,是生成钱包私钥时生成的;
    • 其中有一步是哈希2048次,这里耗费一些算力,也增加了些破解难度
  • BIP39规范,一共有2048个助记词,编号1-2048,换成二进制就是11位,助记词本质上就是一个 11 bit 编码表;128位种子,要用12个单词表示,12*11=132,多出来4位是校验码
  • 128位种子,经过哈希生成256位的私钥。所以遍历2^128位就可以遍历所有私钥,但相对目前科技,仍是安全的
    • RSA有2048位,为什么那么长?这个椭圆曲线算法仅仅256位就可以?其实破解不是遍历2^2048,而是直接利用高效分解算法,后者虽然256位但比前者更难破解
    • md5算法为什说已经不安全,被破解了。并不是128位很容易遍历,而是算法有漏洞,可以很容易撞库,无法达到哈希算法的目的,这个网上有工具很容易。
      • 有些网盘有秒传功能,即如果文件哈希相同,认为文件相同,再大的文件,如果别人上传过,就可以秒传。但肯定不是用的md5,不然我知道一个文件的md5,我就可以获取该文件了。
    • 陈志案钱包被攻破,就是随机算法不安全,例如java/python/c中的rand函数,都容易攻破或位数很低,那个钱包随机数为32位。即使64位,超算几个小时即可。
  • 钱包地址即公钥哈希,另外非对称加密算法公钥都是私钥生成的
随机位数 安全性
256 bit 不可破解
128 bit 很安全
64 bit 可攻击
32 bit 几分钟
16 bit 秒破

DeepWiki

  1. DeepWiki 会自动把开源项目的代码分析成结构清晰的“维基式文档”。【1209】
  2. 它能生成模块图、流程图等可视化结构,帮助你快速理解项目架构。
  3. 你可以直接对项目提问,系统会根据代码和文档回答问题。
  4. 只需把 GitHub 链接改成 deepwiki.com 就能查看对应项目的自动文档。
  5. 适合快速上手陌生开源项目、阅读源码和技术学习,无需登录,了解小雅Alist时用到

AList

  • 目录/网盘聚合:核心价值在于统一多云存储管理,适用于企业文件共享、个人云盘聚合,影音库等场景【1209】
    • 存储抽象:它可以挂载几乎所有网盘,包括百度网盘,阿里网盘。原理就是通过各种存储协议(webdav、S3、ftp等),没有标准协议的,通过官方API的方式,例如各大网盘。
    • 统一访问:百度网盘某目录挂载为/A目录,阿里网盘挂载为/B目录。AList汇总多个网盘之后,在平台展示。
    • webDAV协议:汇总之后,暴露成一个webDav协议的网盘,可以通过AList汇总多个网盘,为一个网盘,供别的地方使用。
      • 有很多软件可以直接使用,例如PC: potplayer、RaiDrive虚拟成一个U盘;电视TV(tvbox)、安卓都有很多软件
    • 套娃挂载:例如比较有名的A、B、C三个资源网站,我这里自己启动一个,挂载他们三个,我提供出去,然后D又可以挂载我。公开得有很多这种资源站
  • 功能实现:存储协议抽象,web界面查看管理,文件预览,webdav支持,权限控制(读写密码等),下载/缓存优化
  • 特点
    • 下载资源不走服务器(可选),会直接使用云盘地址,所以不需要大带宽。
    • 对阿里云盘、115等支持较好,可以直接挂载分享链接,汇总多个分享,百度盘就不行。官网有文档说明,挂载时通过分享ID,访问密码等即可。
    • 所以挂载目录,可以通过页面手动添加,也可以通过配置文件
    • 已卖给商业公司,前段时间闹得沸沸扬扬

小雅 AList

小雅ALIST在原生ALIST基础上主要增加了资源整合能力元数据自动刮削系统媒体墙展示界面播放优化功能,将简单的文件挂载工具升级为智能化媒体资源管理平台:【1209】

  • 资源整合:整合391个共享盘,覆盖约 28 万 个影视、综艺、教程等文件资源。用户直接在小雅Alist 的界面中浏览、检索、在线播放或下载所需内容。

可以看到一些配置文件如下,挂载的他人分享链接

电影/原盘合集/原盘精选5 swh94w63wfa 3045342569775342059 rc82
电影/原盘合集/原盘精选6 swh1x7k3wfa 3045342569775342059 o598

  • 完整的元数据展示和管理系统:自动刮削、搜索功能、内置Emby/Jellyfin媒体服务器支持,提供TVBox接口等;自动转存等播放增强功能
  • 解释下自动刮削:信息提取(识别电影/电视剧名称、年份)->元数据获取(豆瓣,IMDB等)-> 智能匹配 -> 存储和索引(智能分类)-> 展示(海报评分等)

其他:

  • 一开始小雅部署官方server,使用它的共享token,但慢慢阿里云盘限速了。于是现在演化成,需要自己部署一下alist server,使用自己的阿里云盘token,播放时,小雅的合集会被转存到自己的账号下面去,转存之后,直链播放。如果还是觉得卡,需要买会员,现在非会员好像2MB/s限速。
  • 官方建议我们配置定时docker restart,重启时会更新远端索引,更新媒体数据(搜索、TVBox集成使用),同时重新挂在共享盘,更新共享盘列表。
  • 详细docker配置

FeedBurner

FeedBurner 是一个 RSS Feed 管理与分发平台。【1201】

网站或博客通常会提供一个 RSS 地址(如 https://example.com/feed.xml,静态网站常自动生成),供订阅者通过 RSS 阅读器自动接收更新。FeedBurner 加了一层「中间层」,提供:

  • 统计功能
  • 格式兼容与优化
  • 加速与缓存
  • 营销和广告功能(可以直接插入广告)

CHANGELOG & commit message

只要按commit message规范,就可以自动生成,变更记录。【1128】

  • 工具git-cliff,示例:这个官方的 CHANGELOG
  • git cliff --output CHANGELOG.md ,git会自动寻找git-cliff,可以放到build脚本
  • commit message规范参考;该工具会根据tag分栏,会把需要的类型汇总在里面
  • 如下工具 commitizen,会有git cz 可以替代git commit辅助规范message
    npm install -g commitizen
    npm install -g cz-conventional-changelog
    echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
    

静态网站生成器

  • hugo,go写的,build速度快,适合博客
  • jekyll,hexo,十年前用过,适合博客
  • MkDocs / MkDocs Material,本站用的这个
  • 国内好多技术学习网站用的vuepress,如这个
  • docsify,浏览器实时渲染,只用维护md,index.html里面引入一个js库就搞定

静态网站 CI/CD

  • 有很多免费托管github pages,vercel,neitfy,cloudflare pages;
  • mkdocs如何CICD
    • 我把git仓库设为私有,所以用不了github pages,我用的cloudflare pages;
    • 如何build
      • 一种是github action在提交md后build并构建到gh-pages分支,可以参考很多文档网站弄一个action,如aws/copilot-cli
      • 另一种是托管商来build,mkdocs build即可,cf会自动发现requirement.txt并下载依赖。

python环境初始化

python3 -m venv venv
venv\Scripts\activate
# source venv/bin/activate # linux
pip install mkdocs mkdocs-material mkdocs-redirects
pip freeze > requirements.txt # 可以发现很多依赖,可以把其他删除只保留上面三个

手动部署

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
mkdocs build

OpenRouter

  • OpenRouter 不是模型提供商,而是一个统一聚合与转发平台。 对于闭源模型,它是“转发代理”; 对于开源模型,它可能托管自己的推理实例。
  • 统一 API 格式(OpenAI API 兼容);统一鉴权(只要一个 API Key); 统一计费;无需翻墙
  • 请求转发,统计与监控
  • 也是需要预先充值,然后调用会计费,价格和官网一致,无溢价;不过充值有手续费
  • 有组织管理,可以邀请子账号,可以共享计费额度;
  • 因为用的人很多,有rank 可以看模型热度

claude code

npm i -g @anthropic-ai/claude-code

Tips

  • /init 存量项目,初始化 CLAUDE.md,会生成说明文档;
  • /clear 清理上下文
  • Tips,使用中经常给Tips
    • 可以拖入识别图片(需要模型支持)
    • vs code 有插件可以打通
# 提供前端主流框架文档
claude mcp add context7 --scope user -- npx -y @upstash/context7-mcp

claude-code-router

  • 背景:比如openai或grok等模型,如果想接入,但他没有提供兼容的API格式
  • 转发功能:配置很多openai格式的模型,本地起一个服务,提供cc兼容的API接口
  • 路由功能:可以根据不同作用调用不同模型,例如think、longContext等,更好控制成本等
  • 一种用法,直接ccr code,相当于启动本地接口,并改了环境变量然后启动claude;
    • 另一种ccr start只启动一个路由服务,在http://localhost:3456,可以把配置放到cc switch里面去,方便使用;

wsl with node

  • 建议安装20 lts版本,不然win会有重复输出对话记录的问题
  • 因为wsl可以直接运行exe,并且会继承环境变量;直接执行node,会执行到win的,node.exe;建议下载linux的node,/usr/bin目录在PATH靠前位置,会执行linux的版本;
    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    sudo apt install -y nodejs
    
  • 不过npm i -g那些模块,其实可能共享的,which claude可以看到win的目录;
    zz@localhost:/mnt/c/project/tools-doc$ which claude
    /mnt/c/Users/zz_zi/AppData/Roaming/npm/claude
    
  • 不过配置文件,他肯定是使用~/.claude;如果想使用cc switch这种工具,需要修改配置路径

一些他人观点,记录备忘下

近期B站看视频

  • Kilo code继承了Roo code和Cline的优点
  • Claude Code Spec Workflow为Claude Code完美复现Kiro spec规范
  • gemini 3后端能力跟国产的模型持平,跟gpt5.1和claude4.5有差距,但审美和前端能力,独一档;
  • doubao-seed-code
    • 搭配CC没那么强,但+Trae在swe bench排名第一,可见模型本身并不差;
    • 速度较快,估计模型也较小;
    • 首个可以识别图片
  • 速度 m2 > doubao-seed-code > glm4.6;我个人直接curl测试api,发现glm4.6有时会卡顿几秒;集成cc,能力上可能差别不大