https://stevehanov.ca/blog/how-i-run-multiple-10k-mrr-companies-on-a-20month-tech-stack
採用VPS, Go and SQLite.
https://jon.chrt.dev/2026/04/15/things-you-didnt-know-about-indexes.html
要點:
用 issue 在 github pages 發 blog 有一個問題。對於免費用家,必須用 public repository。這樣,豈非任何人都可以上來寫花我的blog?
研究了一下,原來可以設置只允許 collaborator 寫 issue / discussion。但最長只能設6個月。之後又要來設。唉,公開倉庫就是煩。鬼叫我無錢!
早前 GitHub 推出 pages,開靜態網頁之路。廣大喜歡靜態網頁的人,對,大多是程序員,或者講求效率節能人士,一擁而上,為社群貢獻了各種生成器。作者平時寫作 markdown 文件,再結合設計樣版,運行工具,生成整個網站。再將其上載至GitHub 發佈 。
這十分繁瑣。連我都不想每寫一篇文章,就在本地跑一轉工具,再push到GitHub。
後來GitHub 自己包攬了這工作。只需作者將 markdown 文件推到repository,即自動觸發生成。
我們要的是直接 online寫。而且能不能更自然一點,不用手動建立一個個的 MD 檔?
Issue 是很好的方式。
坊間也有人做了。有一個服務,你上去登記,連結你的repo,他就出版在他的網站上。這不夠好,沒有 host 在 GitHub。
還有人做了一個工具,它讀出你的issues,視作MD,再調動原來的生成工具。但這仍然要在本機或找服務器跑程序 。
能不能直接在GitHub 上做全套?
應該可以的。
我就叫 Google Gemini 幫手寫 GitHub action, 在有 issue 建立或更改後運行,把它內容轉換成 MD ,即 Jekyll 生成器要求的文件,包括tags. 按既有的設定,這個文件更動會啟動 Jekyll 生成動作。
成功了。現在只要寫 issue,就可以發佈 blog 在 GitHub pages 上。
之後我再公佈這個 action。happy coding!
居然係最近才知道公司有提供 google gemini 使用,雖然在香港這是被 GOOGLE 禁止的。
不管如何,有個機會要做一個 web app prototype。老闆說你可用 gemini。當然我手頭有其他的 AI 可以幫手,但何不用一下呢。
結果叫我驚艷。我不清楚其他AI是否可以做到類似效果,因為我一般用他們寫 web app 和 iOS app;沒用來做單頁的原型。然後這很成功。範例數據,介面操作,都可以體驗,然後用戶即時接受了這個設計。而這只是我們兩人在三小時內的工作。
雖然這只是原型,但感覺可以稍加改動,用在最後成品之上。
I practiced this and I could easily release builds to TestFilght for internal testing, and few clicks on Github to have new build for App Store submission.
At Xcloud Cloud, we will define two workflows. We will trigger them with different conditions for different purposes.
So, whenever you push to dev branch, will have a new build delivered to TestFlight for your internal testing. Very convenient.
Usually you don't trigger this. If you want to release it to App Store after some nice build, you:
When dev branch is merged into main, it will trigger Workflow 2. Result is that a new build is created for app store.
You go to App Store Connect page, at release page, pick up this build and assign it to release.
Happy coding!
Discover how CKSyncEngine can help you sync people's CloudKit data to iCloud. Learn how you can reduce the amount of code in your app when you let the system handle scheduling for your sync operations. We'll share how you can automatically benefit from enhanced performance as CloudKit evolves, explore testing for your sync implementation, and more.
Apple dev: wwdc video
https://developer.apple.com/videos/play/wwdc2023/10188/
A blog
折騰了那麼多, 又 vercel 又 supabase; 還是覺得很麻煩. 忽然想起以前聽說過 django, 一試之下深覺這才是終級好東西. 配合 amazon lightsail 環境, 簡單又便宜.
雖然有 AI 幫寫程式, 但還是越少code越好啦.
再探了一下 supabase.
之前我想好了新app的 data tables. 當然只是草稿了 table name 和相關欄位名. 面對 supabase 介面, 我當然不想再用 GUI 慢慢建立數據表. 我看到了它內置的 AI 命令介面: 右上角綠色菱形.
那我就說
follow tables please create them in effortapp schema: i will list the table name, followed by a colon, then fields. you try to define the type for them. and also you can see the FK between them.
user: id, email, name
team: id, name
project: id, name, team id, start date, end date, ....
然後它就生成了相關的 create table SQL, 一鍵完成. 看了一下, 連 foreign key 也是正確的. 當然我用的約定俗成的命名慣例應該有幫助.
我再來:
also create two many-to-many tables to link up relevant tables.user_in_team: link up user and team
task_by_user: link up task and user.
當然也完美運行, 2 個多對多的關係表也完成了. 甚至連 on delete cascade 也寫好.
我還打開 entity diagram 看了一下, 應該沒問題.
然後我看到 supabase function. 也許是相當於 oracle 的 stored procedures. 問了AI確認, 我就叫它為幾個表都寫上 CRUD:
create CRUD functions for user, team.... tables. execute the code directly.
似乎它不會立即運行, 我還是要手動按一下運行鍵. 一下子20個 function 就出現了.
我想到, 這麼好的東西, 也許可以經 HTTP 使用吧, 那豈不美妙?
當然是可以的:
POST https://<your-supabase-url>/rest/v1/rpc/create_user
Authorization: Bearer <your-jwt-token>
Content-Type: application/json{
"p_email": "user@example.com",
"p_name": "User Name"
}
好吧, 似乎連 Vercel 都可以省去了...
- create a github repo with gitignore of node.
- clone repo to local.
- at the directory, npm init to setup node app
- local run vercel to setup a new project and deploy. use default settings.
- confirm at vercel site the new project should be created.
- access root will be 404.
實戰了幾輪, 付出真金白銀體驗, 有些體會:
DO:
原來這就是為何夢境中多是影像,沒聲音和其他感受。影片說,是因為我們夜晚入睡時,視覺系統沒有眼睛輸入的信號,反而將神經內電流解釋成以前的,或想像出來的畫面。夢境所見,是感情深處的事件重放。我想到,其它感官並沒有視覺關閉得那麼徹底,所以在夢中很少出現。