Supabase 和 Appwrite 区别

在 Twitter 的时间线以及经常去的论坛上,[[Supabase]],[[Appwrite]],等等 Backend as a Service 的服务出现的频率越来越多, Supabase 和 Appwrite 都是将自己称为 [[BaaS]] 来作为 Firebase 的代替。 Appwrite 在 2019 年 9 月首次发布,使用 PHP,TypeScript 编写。Supabase 首次发布于 2022 年 6 月,使用 TypeScript 编写。 Supabase 优点: 可以自托管 构建在关系型数据库 [[Postgr Read more ...


GitLab CI 提交代码 not allowe to upload code 问题解决

记录一下在 GitLab CI 中提交代码出现的错误。 在 CI 中 git push 提交代码,遇到如下的错误: remote: You are not allowed to upload code. fatal: unable to access 'https://gitlab-ci-token:[MASKED]@git.xxx.com/group/repo.git/': The requested URL returned error: 403 看起来是 403 权限不足,但是可以看到的是提交代码的时候,使用的 remote 地址是 htt Read more ...

2022-10-13 gitlab , git , git-push , gitlab-ci

BaaS 应用 Appwrite 体验和使用

在 Twitter 的时间线上能看到越来越多的 Backend-as-a-Service 的产品发布,包括 [[Firebase]], [[Supabase]], [[Railway]], [[Fly.io]], [[Okteto]], [[Nhost]] 等等,这两天又发现一款叫做 [[Appwrite]]。Appwrite 宣称自己的是 Firebase 的开源辅助,可以代替大部分的 Firebase 功能。 看来创始人起名字的时候也非常直截了当,Appwrite 就是一款为前端和移动开发人员提供的可以自行搭建的后端服务,使用 PHP 编写,提供了 Read more ...

2022-10-12 appwrite , baas , self-hosted , php , flutter

Git 对文件权限的控制

因为一直使用 assh 来管理我的 ssh config,整个 SSH config 都是用 Git 仓库来管理的,但是每次一更新了 config 文件,git pull 之后 config 的文件权限都会出错: Bad owner or permissions on /path/to/.ssh/config 发现 git 拉取的文件丢失了权限,必须通过 sudo chmod 600 ~/.ssh/config 来修改才能使用。 于是就想要了解一下 Git 仓库中怎么来管理文件权限的。 Git 只有一 bit 位来用存储文件权限 Git Read more ...

2022-10-10 git , file-mode , file-permission , linux

.info 域名涨价应对策略

之前收到 Google Domains 邮件,info 域名将在 10 月 26 号之后从 12 美元一年涨价到 22 美元一年,现在剩下的时间不多了,晚上回家处理一下。 刚收到 Google domain 的续费通知邮件,竟然发现 info 域名需要从 $12 涨价到 $22 ,域名注册局的生意一本万利啊!— Ein Verne (@einverne) September 27,2022 涨价原因 通常不同的域名注册商都会提供动态的注册费用,比如我一直使用的 Google Domains 自我开始使用起 info 域名就是 12 美 Read more ...

2022-10-09 domain , dns , google-domains

MP3 ID3 结构

ID3 是一个元数据(metadata) 的容器,通常和 MP3 文件一起。 ID3 有两个版本: ID3v1 ID3v2 ID3v1 ID3v1 比较简单,存放在 MP3 文件末尾,占用 128 个字节,使用任意一个 16 进制编辑器打开 MP3,就可以看到。 V1 版本以 TAG 字符开始,记录了 MP3 文件的歌手名,标题,专辑名称,年代,风格等信息。 字节 长度 说明 1-3 3 TAG 字符,说明 ID Read more ...

2022-10-08 mp3 , mp3tag , id3 , id3v2 , metadata

将字幕压制到视频中

本文总结一下将字幕文件压制到视频中的方式,(当然我个人是非常不喜欢直接将字幕压制到视频流中作为硬字幕压制的,但有些时候可能就是需要分享这样硬字幕的视频,比如视频网站,所以也会在下文总结一下)。 按照压制方式可以分成,将字幕嵌入视频流(也就是俗称的硬字幕)适合在视频网站分享,将字幕作为单独的字幕流和视频作为封装格式,需要用播放器播放。 压制方式(推荐程度从上到下): [[FFmpeg]] 适合熟悉命令行工具的人 [[HandBrake]] 开源的全平台的视频编码工具(推荐) [[MKVToolNix]] 将字幕文件添加到视频中,但是作为 Read more ...

2022-10-02 subtitle , video , mp4 , fansub

解决 Clash for Windows 节点测速 timeout 问题

[[Clash for Windows]] 使用过程中一直没有什么问题,但是昨天心血来潮把 Clash for Windows 从 0.18.8 升级到了最新版本(0.20.5) ,然后发现节点全部 timeout。但可以排除的是这些节点肯定是可以用的,因为在手机上是完全没有问题的。 先是看 Logs 日志里面,timeout 的节点有大量的错误: 22:06:18 WRN [UDP] dial failed error=new vmess client error: dial xxxx:7830 error: 404 Not Found proxy Read more ...

2022-09-30 clash , vpn , mac , linux , cfw

Arc 浏览器初印象

很早之前就在 Twitter 上看到有人分享了 Arc 浏览器的使用体验,说是非常惊艳,我就稍微的浏览了一下官网,抱持怀疑的态度先注册了一下体验,一直好奇到了 2022 年能够在浏览器上做出什么样的创新,自 Chrome 横空出世以来,快,安全迅速抢占了浏览器市场。剩下的一点点份额被 Firefox,Safari,Edge,[[Vivaldi]] 等等占据,早两年的时候我也写过一篇标题略微耸动的文章 —- 我可能要抛弃用了很多年的 Chrome 改用 Vivaldi ,但事实是 3 年多过去了,我日常用的还是 Chrome,虽然 Google 在浏览器插 Read more ...

2022-09-30 arc , browser , chrome , vivaldi

Javalin:一个轻量的 Web Framework

说起 Java 语言下的 Web 框架那就非 [[Spring Framework]] 不可了,但是今天在和别人在聊天的过程中发现了一个新奇的项目 Javalin。 Javalin 是一个轻量的 Web 框架。支持 [[WebSocket]], HTTP2 和异步请求。简单的看了一下官方的说明文档,确实非常轻量,几行代码就可以启动一个 HTTP 服务。 [[Javalin]] 最初是 [[SparkJava]] 的一个分支,后来受到 JavaScript 框架 koa.js 的影响,逐渐独立成一个新的项目发展。 首先来看看一个比 Hello Worl Read more ...

2022-09-26 javalin , java , jetty , kotlin , web-framework , restful

最近文章

  • Google Agent2Agent 协议 现如今,AI Agent 已经能够自主处理非常多重复和复杂的任务,并且越来越多的企业也正在构建和部署 AI Agent。就在刚刚过去的 Google Cloud Next 2025 大会上 Google 宣布了全新的 Agent2Agent (A2A)协议。这是一个开放的 AI Agent 协议,目的是为了建立 AI Agent 框架之间的联系,实现安全高效的协作。
  • Cursor Rules 为 AI 设限 我自己使用 Cursor 已经有一段时间了,Cursor 提供了非常好用的代码补全,以及代码生成功能,但是在使用的过程中难免也发现了一些问题,最近看到 Cursor 推出了这个 Cursor Rules,看到了官方尝试来解决一些问题,也正好以此契机来完整地介绍一下 Cursor Rule,给 AI 设定一些界限,规则,不让其过分地自由发挥以至于发生意想之外的错误。
  • Flutter 教程系列一: freezed 使用 不管在什么样的应用中,如果要处理大量的数据,不可避免的就是要定义大量的数据类用来装载和解析数据,在 Flutter 中也不例外,今天要介绍的这个 Freezed 库就是 Flutter 中用来作为数据类(data classes)代码生成的这样一款工具。
  • RAG 简介 什么是 RAG
  • Homerow 配置 macOS 全键盘操作 今天想要和大家分享一下一款非常有趣的应用,叫做 Homerow,他之前的名字叫做 vimac,是一款可以在 macOS 上实现全键盘操作的工具。