Coding 垂直文字的處理:writing-mode 文字排版 想像一下,你正在逛台北的誠品書店,突然被一本日式設計的書籍封面吸引住了。書名不是我們習慣的橫排文字,而是優雅地垂直排列,彷彿每個字都在向下流淌,形成一道獨特的視覺瀑布。這種垂直文字的美感,不僅在傳統的東方文化中常見,在現代網頁設計中也越來越受歡迎。 無論是製作一個復古風格的網站標題,還是設計一個創意十足的側邊導航欄,都少不了垂直文字的貢獻。但是,以下面這行文字為例,該如何在 CSS 中實現這個效果呢? 最簡單的方法:使用 rotate 旋轉 最直觀的想法就是使用 CSS By Anthea / 芫荽 9月 8, 2025
Coding 用 Vercel 打造自己的前後端服務吧(1):Vercel Functions 寫最簡單的後端 最近在做 side project 的時後在煩惱應該怎麼選前後端的框架比較好,希望後端是可以簡單就好,能夠不要自己維護 server 更好。剛好看到滿多人使用的 Vercel 除了有提供部署的平台之外,也可以透過他們提供的 Vercel Functions 來寫超級簡單的 api,於時決定來研究一下要怎麼使用。 註冊 Vercel 帳號 在開始之前首先你要有一個 Vercel 的帳號。這邊就不贅述要如何建立, By Anthea / 芫荽 9月 2, 2025
Coding Discord OAuth 串接 最近在做 side project 的時後在煩惱登入應該怎麼處理比較方便,剛好 side project 是和遊戲相關的,於是決定來研究一下 Discord OAuth 的 API 要怎麼用。 創立 Discord Application 首先進入到 Discord Developer Portal 的畫面,點擊 New By Anthea / 芫荽 8月 29, 2025
Coding · React 初心者大補帖 React 初心者大補帖(6):跨元件共用的 Provider & Context 不管在使用 Vue 或是 React 開發時,常常遇到一個小困擾是:為了讓最底層的小組件拿到資料,需要一層一層傳遞 props,在 trace code 的時候就要一層一層爬回去,還有可能會在中間被篡改值,最後爬到迷路。 以購物網站為例,假設我們需要把使用者資訊、主題設定、購物車狀態傳到各種組件裡: function App() { const [user, setUser] By Anthea / 芫荽 8月 25, 2025
Coding 好用的 JavaScript Library 使用筆記(1):Lodash — flow _.flow() 是 Lodash 提供的一個函數組合方法,類似 chain 的概念,可以將多個函數串聯起來,形成一個新的函數。這個新函數會按照從左到右的順序執行傳入的函數,前一個函數的輸出會成為下一個函數的輸入。 實際應用場景:購物車結算 讓我們以購物車結算為例,比較傳統寫法與使用 flow 的差異。假設我們已經有以下幾個購物車結算時需要用到的函式了: // 步驟 1: 計算商品總價 function calculateSubtotal(cart) By Anthea / 芫荽 8月 16, 2025
Coding 在同一台電腦上管理多個 GitHub 帳號:GitHub with SSH 我自己有兩個 GitHub 的帳號,一個是工作用的,一個是自己的。有時候自己做了一些小工具,想在工作用的電腦上調整的時候,都會因為個人的 repo 設定 private 而導致權限的關係被卡住,但又不想要每次修改時都去更新 global 的帳號,所以決定選擇使用 SSH 來做到同時使用兩個帳號這件事情。 What is SSH Git SSH 金鑰是一組由公開金鑰( By Anthea / 芫荽 7月 27, 2025
Coding Debug 日記:setPointerCapture is not a function:React Testing Library 中 userEvent 與 vaul 庫的相容性問題 最近在為一個使用 shadcnDrawer 的 React component 寫測試時,遇到了一個令人困惑的問題:當我使用 fireEvent.click() 撰寫測試時會正常通過,但改成使用 userEvent.click() 卻出現錯誤: 問題一:setPointerCapture is not a function 當使用 userEvent 進行測試時, By Anthea / 芫荽 7月 18, 2025
Coding 在 Claude Code 中使用 JetBrains MCP:我與 AI Programming(3) 今天要分享的主題是要怎麼在 Claude Code 中加入 MCP,並且我是怎麼透過 MCP 讓我在使用 rider 上更加方便的。就讓我們開始今天的分享吧。 加入 MCP 首先找到一個你想使用的 MCP 的加入範例,以這次要介紹的 JetBrains MCP 為例: 確定好要使用的指令 command 和參數 args By Anthea / 芫荽 7月 7, 2025
Coding · React 初心者大補帖 React 初心者大補帖(5):使用 useReducer 的正確姿勢 useReducer 是什麼? 想像你有一個玩具盒 * useState :直接把玩具丟進盒子裡,想要什麼就直接拿什麼 * useReducer :你有一個聰明的機器人管家,你跟機器人說「我要做什麼」,機器人就幫你整理玩具盒 舉個例子:管理零用錢 基本語法和概念 什麼時候需要機器人管家? 1. 事情很複雜時:要記錄很多東西(零用錢、存款、借錢記錄)並做很多計算,如果散開來寫很容易造成閱讀上的困難 2. By Anthea / 芫荽 6月 30, 2025
Coding 從 Cursor 轉換到 Claude Code:我與 AI Programming(2) 雖然在前一篇文章有提到 Claude Code 速度快,又可以不用另外開視窗進行,但我在使用 Cursor 時的一些功能如果 Claude Code 都沒有的話,其實未必會順手多少。接下來這篇文章 Claude Code 裡有哪些功能可以一點一滴的取代掉 Cursor ,讓我們開始吧。 指定檔案讓 Claude Code 閱讀 在 Cursor By Anthea / 芫荽 6月 23, 2025
Coding Vibe Coding 的新選擇——Claude Code:我與 AI Pari Programming(1) 最近除了 Cursor 之外,有一個新的 AI coding 好夥伴突然火了起來—— Claude Code。 Claude Code 是 Anthropic 推出的 AI coding companion,專為程式開發設計,能理解複雜的程式邏輯、協助除錯、生成程式碼,甚至與 VS Code、 By Anthea / 芫荽 6月 18, 2025
Coding · React 初心者大補帖 React 初心者大補帖(4):正確使用 useEffect 的姿勢 在學習 React 的過程中,useEffect 是許多初學者常常感到困惑的一個 Hook。今天的筆記會記錄一下: * useEffect 的基本概念 * 使用時機 * 潛藏陷阱 🔍 Effect 是什麼? Effect(副作用)是指 除了 return 值之外還會與外部互動或產生更大影響的行為。這些通常包含: * 向伺服器發送資料(如 API 請求) By Anthea / 芫荽 6月 10, 2025