site-icon Hong Cheung
    1. 我最終的技術棧選擇。

      終於定案了…… Expo——同時涵蓋網頁與行動端 雖然我原本想要享受開發純網頁應用程式的便利,再用 Capacitor 之類的工具(包括 Tarui)包裝起來,但我一直很難讓它在 Android 上順利運作,因為 webview 的運作方式與現代技術差異太大。 Tarui 可以專注於桌面端,這是個優點。然而,它充其量只是各平台的包裝層。它會受制於網頁技術的限制,包括手機上的拖曳手勢需要額外變通處理,以及離線儲存容量等問題。 總之,如果之後想要桌面應用程式,我也可以把 Expo React Native 專案包進 Electron 裡。 LegendState 號稱比 ...

      閱讀全文 →

    1. 這個部落格的未來?登入與留言系統?

      為這個網站加上後端? 我希望網站上能有自己的留言系統和通知功能,讓讀者可以訂閱他們感興趣的主題。 而且,這個帳號會使用我 Intenca 專案的帳號。因為我大部分文章的讀者應該都是學習者(我猜?),我想建立一個學習或研讀套件的品牌。他們可以自由留言、訂閱標籤,或者,也許還能在這個網站上使用一些應用程式。 不過,無論如何,我應該先把这个套件建好。

    1. 新增了會讀取 JSON 檔案的 Projects 頁面。

      從舊的個人網站搬遷到這個網站 我還沒把「Website」的 JSON 搬到這個網站。不過目前為止,「Apps」的部分成果還不錯。在處理行內 Javascript 時,Astro 不像 NextJS 那麼方便,但對於一些基本的用戶端渲染來說已經夠用了。 訪客似乎也變多了 從 WordPress 網站換成這個 Astro 網站後,我觀察到訪客變多了,如果我沒記錯的話。 還是比較喜歡網頁開發框架,勝過 WordPress 有趣的是,我原本以為只要用 WordPress 就能專心寫文章,不必太在意技術細節。但我發現自己還是更喜歡鑽研到極致,而 WordPress 實在太以寫作者為...

      閱讀全文 →

    1. 花了 2 天時間把這個網站調整好。

      就快完成了! 我一直在嘗試用 Obsidian 當作 CMS,來供應這個網站的內容,包括部落格文章和訂閱來源。 我之所以從「個人網站和部落格分開」改成「全部整合在一起」,是因為這樣比較好管理。另外,我也想看看流向部落格的流量,能不能對我的副業應用程式和未來的生意有幫助。 所以,我比較像是在建立個人品牌,同時練習寫作能力。 我大可以去做社群媒體和影片,但我就是不是那種人。我寧願閉上嘴,把思緒整理清楚,然後用文字好好表達出來。 我想我可能會完全放棄社群媒體,專心學習和寫作……

    1. 打造這個網站,同時作為動態牆與部落格

      想法 我的個人部落格和個人網站原本是分開的。因此,我想把它們整合到同一個網站,方便統一管理。 這樣一來,網站就能同時展示我的個人專案、動態牆,以及文章。 範本 我以 Astro-Yi 作為基礎,並依自己的喜好加以修改。我很感謝作者的心血。這個網站範本非常出色,完全符合我的需求。 幕後 不過有一點我做法不同。我使用 Obsidian 作為 CMS。這是因為我很喜歡 Obsidian,本來就一直用它寫筆記,所以我想在 Obsidian 裡寫文章也很合理。

    1. 已為本站新增雷達圖

      新增了雷達圖與簡介。 我是有點想寫長一點,但還是簡短帶過吧。 我正在改版我的網站,讓它更符合我近來在做的事。因為我一直在認真學日文和西班牙文,所以想在網站上分享我的心得和學習方法。不過,我還在摸索該怎麼放、放在哪裡。

    1. 重新考慮下一個大技術堆疊……

      Android 上的 Capacitor 實在太惱人了…… 舊版的 webview。沒辦法讓 tailwind 在上面運作。 就算我能套用樣式,Android 上的狀態不知為何就是不會反應式更新。 不然就是會出現導覽問題。 重新考慮搭配 Expo 的 React Native 依賴地獄是真的,但我下一個專案必須是離線優先、可本地安裝的應用程式。所以,行動端用 RN,再用 Electron 包裝起來,比用本地 React 包裝的應用程式更合理。 不過,我還是得看看 Appwrite + RxDB 跟 RN 搭配起來運作得好不好。如果不行的話,我就得自己打造同步機制,雖然不理想,...

      閱讀全文 →

    1. ZenTube 4.1 已提交,以及 Capacitor + Next.js 遇到的問題

      ZenTube 4.1 - 等待審查中…… 今天為 4.1 修正了一些錯誤,並已提交至 App Store 審查。 一如往常,等待中…… 我需要在下次更新中實作深層連結。 在 React Native Web 與 Next.js Web App + Capacitor 之間掙扎 我試著將 Capacitor 與我的 Next.js Web App 搭配使用。不過,我發現了幾件事: 1. Android 上的 Capacitor <Link> 問題 iOS 運作良好,但 Android App 搭配 <Link> 時卻遇到重大障礙。我確定專案使用了靜態匯出,但 L...

      閱讀全文 →

    1. ZenTube 4.1(即將推出的功能)與在此日誌新增 Gicus 留言功能

      新功能 - 可切換的選項(針對探索頁面): - 搜尋結果中的 Shorts - 搜尋紀錄文字 - 留言 - 直接從探索分頁加入稍後觀看 - 點擊搜尋列時隱藏搜尋建議 ## 日誌與心得 花了一整天在 ZenTube 上。雖然已經隔了一段時間,但我很高興自己這麼做了。 我也看到 ZenTube 又多了 2 則 1 星評論。我的直覺告訴我,這是因為我沒有像先前所說的那樣更新應用程式、開發那些功能?還是單純有些憤怒的使用者。我毫無頭緒,因為他們根本沒有留下任何評論內容。 總之,學到一課了。使用者不會在乎你的私人生活有多忙,因為他們也正忙著過自己的生活。留負評對他們...

      閱讀全文 →

    1. 終於讓 Appwrite 和 RxDB 的離線同步功能正常運作了

      前言 這並不難,但我不會說它是隨插即用。我花了幾週時間才讓基礎架構正確運作,主要困難在於缺乏範例和教學。相較於 Powersync + Supabase 或直接使用 Firebase,這確實需要一些設定。 實作 有一篇官方部落格文章附帶 git 範例,說明如何實現 Appwrite + RxDB。然而,當我嘗試時,它有點問題,而且它不做即時同步。所以,我最後透過閱讀 Appwrite 和 RxDB 的文件,從頭開始建立自己的版本。 主要障礙 使用 RxDB 處理狀態管理 我使用 LegendState,有時候我會嘗試 .set() 我的 rxdb collecti...

      閱讀全文 →

    1. 為 ZenTube 後端新增功能

      下班後我花了半天時間,只為了替我的 ZenTube 應用程式新增一個 API 端點。從 JSON 回傳的內容在瀏覽器裡顯示成亂碼,但用 curl 測試卻完全正常。所以我知道問題不是出在來源,而是 API 處理或回傳回應的方式。 我花了幾個小時後確實找到了修正方法,你可以閱讀相關說明。 我會繼續開發 ZenTube,兌現我對使用者的承諾。不過我其實很想玩玩看 Svelte!

    1. 將開發日誌時間軸更新為產生靜態獨立頁面

      將我的時間軸開發日誌擴充為獨立頁面 在做完這個網站之後花了幾個小時。 我知道你是個極客。我的網站建構在自架的本地 Directus 之上,靜態輸出則使用 NextJS。 為什麼 Directus 很棒 我用 Directus 作為 CMS 打造了這個時間軸。我之前就有把玩過它的經驗,所以這次做起來很自然。 優點 - 非常靈活多變 - 當然是自架的 - 可以當作我為自己打造的一切的後端 缺點 - 沒有 :) 接下來 1. 我想我會把 GitHub 留言加到我的開發日誌裡。 2. 首頁日誌的分頁功能。 3. 為這個網站加上 PageFind?還是 Agolia...

      閱讀全文 →

    1. 我下一個重大專案的最終技術棧決定 - Appwrite + Capacitor + RxDB

      我一直試著弄清楚該怎麼全部自行架設,好讓我能夠逃離資本主義,而這一直都很難。 規模經濟與資本主義是相伴而生的。公司越大,他們能提供的服務就越便宜、越好。為了向這些壟斷企業說不,我必須做出一些犧牲。 我把時間花在學習和東拼西湊上,真的很希望這一切值得。 過去幾週,我試過許多技術棧,想達成跨平台、本地優先的同步。這包括原生平台、RN Expo、LegendState、Flutter、RxDB、Powersync、Appwrite、MongoDB、Realm 和 Supabase。也研究過 Brick、WatermelonDB、IndexDB 等等。同時也去理解這些解決方案之間的差異,以及我該...

      閱讀全文 →

    1. 學會了自架 Supabase + LegendState 來實現離線同步

      又花了一天想找出終極技術組合。我還在試 Appwrite,但從來沒能讓它 100% 正常運作。看來 Supabase + LegendState 這個組合開箱即用就夠好了。下一個專案我就用它。 下一步會是微調實例,加上郵件支援等等。這樣我就準備好打造下一個大作啦,哈哈。 明天會著手處理 ZenTube。

    1. ZenTube 4.0 發布;正在學習並在 LegendState、Appwrite 與 Supabase 之間做選擇。

      ZenTube 自從新版本發布以來,我沒收到任何客訴信件,所以我想它運作得還不錯! 既然最重大的工程(資料庫遷移)已經完成,接下來我會繼續修 bug 並新增功能。我心裡想到的有: 1. 新增觀看時間戳記 2. 分類計時器——讓你可以用圖表回顧自己在各個分類上花了多少時間,甚至可以為它設定時間上限。 學習 Appwrite 與 LegendState 基本上就是在 Appwrite 和 Supabase 之間做選擇,因為我可以使用支援離線優先同步的 LegendState。我前不久才認識 LegendState,它很有意思,也符合我的需求。但它的文件寫得不是很好,尤其是 App...

      閱讀全文 →

    1. 已提交 ZenTube 4.0.3 更新送審;繼續處理我弟弟的網站。

      - 已將 ZenTube 4.0.3 提交給 Apple 審核。希望一切順利!(祈禱) - 繼續處理我弟弟的網站,也就是其他頁面。不過這比我想像中花更久,因為我想要像原版那樣有令人驚豔的動畫,讓投影片進出。但那些要花很長時間才能完成。我只好先跳過一些令人驚嘆的元素,先把第一版完成,讓他能先用。

    1. 提交至 App Store 前對 ZenTube 的進一步測試

      終於完成 的同步功能。我把應用程式邏輯從使用 GRDB 改寫為 CoreData,花了我不少時間。它能協助使用者更有效率地同步,不必再為所有裝置手動上傳與下載。

    1. 以《Final Fantasy 7》選單風格打造的個人檔案網站

      我一直在幫我弟弟做網站。他很喜歡《Final Fantasy VII》,所以我決定替他做這個:

    1. 建立這個時間軸來記錄我的進度

      在這天之前,我已經完成了很多事。 其中包括我自學程式設計兩到三年的歷程。一路上,我打造了一些應用程式和網站。 我決定開始在自己的網站上記錄我的進度,主要是因為我不想依賴大型科技公司或任何第三方來保存我的成果。 我想,這算是我以某種形式對資本主義說不的方式吧。

    1. Hello World

      Hello World!

Copyright 2026
網站地圖
隱私政策
服務條款

主題由 Astro-Yi