站長精心設計,帶你實作 63 個小專案,得到作品集!
# 深入理解 Redux:從手寫核心到現代實踐(附 RTK 銜接) Redux 作為前端經典狀態管理庫,核心解決 “組件間狀態共享” 與 “狀態變更可追溯” 問題,適配大型 React 專案。這篇文章我透過結合**手寫核心邏輯**與**現代工具 RTK**,拆解 Redux 原理,明晰 “底層...
# 90%前端忽略的3大內存黑洞,這樣根治性能飆升300%! 你是否遇到過:頁面越用越卡,瀏覽器內存佔用持續飆升? 動態列表頻繁增刪後,頁面直接卡死崩潰? 弱引用、閉包、定時器——這些看似無害的程式碼,竟是內存洩漏的元兇! 本文直擊**三大高頻內存洩漏場景**,用**Weak...
AI自動化作業就選 n8n 吧。在過去幾個月中,它逐漸得到普及。 那麼 n8n 一般是要付費的,但你知道有一種方法可以(合法地)免費使用它嗎? 我身邊看到許多人在不知道的情況下使用它,因此我決定將具體的步驟整理成文章發佈。 n8n 是一個可以輕鬆構建 AI 工作流程的方便工具,即使...
晚上好。這裡是坐禪犬。 Claude Code、Gemini CLI、Cursor,以及Kiro,真的讓我們開始覺得**沒有AI代理的生活難以想像**。起初我只是抱著好奇,想知道可以做些什麼,但隨著我漸漸有了自己的運作架構,這些工具變成了生活的必需品。正如那句名言所說,「我們創造了工具,而後工...
你是否曾夢想過在終端機視窗裡擁有一個 AI 助手?現在,你的夢想成真了,因為 Google 剛剛發布了[Gemini CLI](https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/...
# 為什麼你的 TypeScript 專案裡,總會有幾個 .d.ts 文件? 剛寫 TS 的時候,我看到專案裡莫名其妙冒出個 `types.d.ts` 或者 `global.d.ts`,心裡是有點懵的。啥?這個文件是幹啥的?我 `.ts` 文件不是已經寫類型了嗎?為什麼還要多此一舉? ...
介紹 -- 有一天,我在開發過程中查看雲端環境(在 Cloud Logging 上)的日誌時, 我覺得**日誌很混亂,很難閱讀**。 我以為我要做的就是將日誌輸出為文本,但我的經驗已經有了很大的提高,我希望我早點知道它,所以我想寫一篇關於它的文章。 前提 -- 使用...
作為一個獨立開發[UserJot 的](https://userjot.com?utm_source=devto&utm_medium=post&utm_campaign=mcp-automation-workflow)開發者,我花了太多時間在重複性任務上。除了分析使用者回饋、進行關鍵字研究、查看支...
應該是我對 shopify 不夠熟悉 他有些 cmd 功能我不會用的關係 所以變得有點 tricky 但以下是我找到的開發方式 --- ## 部署 shopify 設定與 app extension 我把 package.json 做了小修改 ``` "dep...
您是否曾希望您的 AI 助理能夠存取即時資料?模型上下文協定 (MCP) 伺服器讓這一切成為可能,而且它們的建置和使用極為簡單! 你可能已經看過我的影片和帖子,了解如何使用 Playwright MCP 存取網站並產生測試想法,然後在首次與網站互動後產生實際的 Playwright 測試。或我...
過去幾個月,我一直在建立[UserJot](https://userjot.com?utm_source=devto&utm_medium=blog&utm_campaign=devto-typescript-tricks) ,一個面向 SaaS 團隊的回饋和路線圖平台。這個專案讓我對 TypeSc...
如果您的測試可以自行編寫——只需像真實用戶一樣使用您的應用程式,那會怎麼樣? 在這篇文章中,我們探討了代理模式下的 Playwright MCP(模型上下文協議)如何自主導航您的應用程式、發現關鍵功能並產生可執行的測試——無需手動編寫腳本。 我們將透過現場演示來演示如何針對電影應用程式生...
不妨大膽一點:SQLite 或許是你下一個 SaaS 專案的最佳資料庫選擇。沒錯,真的。支援瀏覽器歷史記錄的資料庫,甚至比你正在考慮的那個過度設計的 Postgres 集群,更能處理你的生產工作負載。 在你厭惡地關閉這個標籤頁之前,先聽我說完。我見過無數開發者將 SQLite 視為“玩具資料庫...
使用 prisma 操作 db 會像這樣 ## Create ``` export async function action({ request }) { const formData = await request.formData(); const title = f...
上次撈到了商品資料 這次嘗試把加購的商品,連同主商品一起送出 先不實作動態撈加購 id 就先放一個實際商品 id 做測試 --- 這功能乍聽之下簡單,實際上做起來非常複雜 以預設的 theme Dawn 來說 購物車有三種模式 drawer, page, popu...
寫了 20 年 JavaScript 之後,我見證了許多變化——從回調地獄到 async/await。但即將推出的 JavaScript 特性將徹底改變我們寫程式的方式。 我們已經使用轉譯器和 polyfill 測試了這些提案,結果令人印象深刻:原來需要 30 行的程式碼現在只需 10 行,複...
成功有了基本檔案 現在試著開發我的推薦模組外掛 首先發現 在 theme editor 加入我的 app block 的話 沒辦法在右側選單 動態選取在 admin panel 建立好的 recommendation set 因為右側選單的內容 是寫死在 liquid 檔案內的 s...
本來套件有內建結帳功能 方便直接用 shopify 結帳 https://github.com/Kyon147/laravel-shopify/wiki/Creating-a-Billable-App 但因為 shopify 審核政策一直在變 我不確定 UI 方面是否還能通過 如果...
想像一下,如果您的 Python 腳本在執行後能夠掩藏自己的痕跡、靜默地捕獲重要的螢幕資訊,甚至修改自己的程式碼以保持比檢測快一步的話,那會是怎樣的場景。歡迎來到地下 Python 腳本的世界——創意與實用問題解決的結合。在這本綜合指南中,我們將帶您了解 10 個令人驚嘆的 Python 黑客技巧,...
JavaScript 總是不斷在改變。有些模式持續存在,有些模式會逐漸消失,有些模式會演變成我們從未見過的東西。 以下是 JavaScript 模式的**細分**。 ### 1.**模式匹配(早期提案階段,但很有前景)** 想想`switch`語句——但要更好。模式匹配受到 Has...
精選技術文章、免費程式設計資源、以及業界重要新聞!
也歡迎訂閱 YouTube 頻道,觀看每週二晚間的《CodeLove Talk》直播節目,一起討論軟體開發相關的話題!