今天的故事 如果現在要我從 PawPal 裡挑一個最有印象的 Bug,我反而很難只選出一個。 不是因為當時沒有遇到問題。 而是到了專案後期,Bug 真的一個接著...
今天的故事 Day 24,PawPal 終於真的上線了。 網址可以打開。 網站也沒有直接跳出什麼嚴重錯誤。 那時候我的第一個想法其實很單純: 能開、沒有報錯,...
模組五|關卡、UI 與資料(Day 21–25) 前面二十天講的是一條線怎麼從手指變成剛體、蜜蜂怎麼追人、同一幀裡贏跟輸並存時算誰的。從今天開始換一層問題:...
今天的故事 如果是幾個月前的我,大概完全不會想到: 有一天,我真的會和團隊一起把一個網站做出來,甚至讓它正式上線。 以前寫網頁時,我看到的東西幾乎都只存在自己的...
前言 上乾貨前,要先上開胃菜,基本上要如何安裝 bun安裝的官網 安裝雖然要講,但這篇只講安裝,未免有點太 Low 了,隨著主題我們深入 bun 的世界 如何...
模組四|蜜蜂、碰撞與勝負(Day 16–20) Day 19 講過決定性:同一個 seed、同一條線,模擬會重播出同一個結果。但這句話有個前提沒被檢查:「結...
前言 這個是屬於近期發生的事情,(當然如果讀者已經過了 2026 年,那應該就撐不上近期發生的事情了)自從 bun 加入了 Anthropic 就有 AI 賦...
第一天就聊一些簡單且符合知識背景的的話題,在我們開始進入技術的世界前,我們需要了解 Bun 的故事與前世今生 故事背景 Bun 是一個新一代的 JavaScri...
模組四|蜜蜂、碰撞與勝負(Day 16–20) Day 10 結尾我留了一句話:模擬層我敢說穩,畫面層不敢,而「不同幀率會不會玩出不同勝負」是 Day 19...
今天的故事 在 PawPal 開發到後期時,前端部署到 Vercel 這一塊主要是由我負責。 一開始我對「部署」這件事的想像其實很簡單。 網站在自己的電腦可以正...
模組四|蜜蜂、碰撞與勝負(Day 16–20) Day 17 講完蜜蜂撞上防線之後會發生什麼:進 HIT 狀態 130 毫秒、轉向停手、讓 Matter 的...
今天的故事 在課程裡,我其實早就學過 Git 的 merge conflict,也練習過怎麼解。 但那時候的衝突,是為了練習而刻意製造出來的。 所以就算畫面跳出...
模組四|蜜蜂、碰撞與勝負(Day 16–20) Day 16 結尾留了一個洞:src/config/game.js:37-39 有一段註解,寫著「擁擠現在交...
模組四|蜜蜂、碰撞與勝負(Day 16–20) Day 15 講完玩家畫的那條防線為什麼停不下來、以及最直覺的修法會把遊戲弄壞。今天換到線的另一邊:往線上壓...
今天的故事 在 PawPal 的醫院搜尋裡,原本有一個「診療動物」篩選。 使用者可以依照狗、貓、兔、鳥類等不同動物種類來篩選醫院。 一開始看起來很合理。 既然是...
模組三|畫線:從手指到剛體(Day 10–15) 昨天的抽稀管線交出最多 64 個點。今天這些點要變成 Matter.js 世界裡「擋得住蜜蜂」的東西。 這...
重點摘要 現代網站必須同時服務兩類受眾:一是需要視覺化、快速且具互動體驗的人類訪客;另一類則是 AI 爬蟲,它們需要的是乾淨、結構化,而且不必執行用戶端 J...
模組三|畫線:從手指到剛體(Day 10–15) 昨天的狀態機裡有一個叫 simplifying 的階段,它的內容是四行函式呼叫。今天把那四行拆開。 poi...
今天的故事 PawPal 的醫院卡片旁邊有一顆愛心。 使用者點一下可以收藏,再點一次可以取消收藏。 從畫面上看,好像只是: 空心愛心 ↓ 實心愛心 但真正開始...
今天的故事 在做 PawPal 的醫院功能時,我一直覺得,只有地圖和醫院基本資料還不太夠。 既然我們想做的是一站式的寵物照護網站,那我會希望使用者找醫院的時候,...
模組三|畫線:從手指到剛體(Day 10–15) 昨天把 clientX 換算成了遊戲座標。一個點有了,但一次畫線不是一個點——它是一段有開始、有結束、隨時...
模組三|畫線:從手指到剛體(Day 10–15) 昨天把五個 pointer 事件接上了。事件進來之後,第一件事是把 event.clientX 那個數字翻...
今天的故事 開發 PawPal 時,我遇過不少會直接跳出紅色錯誤訊息的問題。 但這次不一樣。 當時 Dashboard 上的寵物名稱和照片都正常,只有年齡顯示成...
模組三|畫線:從手指到剛體(Day 10–15) 昨天把時間講完了:一個迴圈、兩個時鐘、一個累加器。今天回到迴圈外面——玩家的手指怎麼進到這個系統裡。 這個...
模組三|畫線:從手指到剛體(Day 10–15) 模組二講完了素材那條線:合約、驗證器、人工閘門。從今天開始的六天,講的是玩家滑一下手指,到螢幕上出現一條擋...
今天的故事 前面幾天,我開始理解登入、Token,以及後端怎麼確認目前的使用者是誰。 但接著我想到另一個問題: 使用者登入後,就代表他可以操作系統裡的所有資料...
模組二|工程底座與可驗收的 AI(Day 5–9) 《一條線救一隻狗》是我用 PixiJS 和 Matter.js 做的網頁小遊戲,畫面上三十幾張 SVG...
今天的故事 在 PawPal 開發寵物功能時,我有參與 JWT 驗證相關功能的實作。 當時我知道 JWT 和登入有關,也知道 API 需要帶上 Token。 只...
今天的故事 上一篇做到註冊後自動登入,使用者已經可以直接進入會員頁面。 但接著我開始遇到另一個問題: 使用者雖然已經登入了,前端到底是怎麼知道現在登入的是誰?...
模組二|工程底座與可驗收的 AI(Day 5–9) 《一條線救一隻狗》是我用 PixiJS 和 Matter.js 做的網頁小遊戲,畫面上三十幾張 SVG...