Drizzle ORM 結合 TypeScript 類型安全與 SQL 靈活性,是現代開發者在 Cloudflare D1 上構建 Serverless 數據庫的理想選擇。本文提供從安裝、建模到查詢的完整實戰教學。
Pyodide 作為一種強大的技術解決方案,讓開發者能夠直接在瀏覽器中運行 Python 代碼,為 Web 開發帶來了新的可能性。本文將深入探討 Pyodide 的核心概念、優勢、使用方法以及安裝配置指南,幫助開發者充分利用這一創新技術。
在複雜的全棧開發環境中,管理前端、後端和數據庫之間的配置和依賴關係可能會非常耗時且易於出錯。Docker Compose 提供了一個優雅的解決方案,使開發人員能夠輕鬆地定義、配置和運行多容器應用程序。本文將詳細介紹如何使用 Docker Compose 創建一個整合了 React.js 前端、Express.js 後端和 MySQL 數據庫的全棧應用,並提供一個使用 Vite、Express 和 MySQL 的實用示例。
在現代應用程序開發中,安全存儲用戶密碼至關重要。本報告將詳細介紹如何在 Node.js 中使用 bcrypt 進行密碼加密,探討為何 bcrypt 優於其他哈希方法,並提供密碼加密的最佳實踐。
Neo4j 是一個強大的圖形資料庫,透過 Docker 和 Docker Compose 部署可大幅簡化安裝和管理流程。本報告將詳細介紹如何使用容器技術快速建立 Neo4j 環境,涵蓋從基本設置到進階配置的完整過程,適合開發者快速實現圖形資料庫的部署與管理。
本文將詳細介紹如何使用 Cloudflare Worker、Hono 框架和 Telegram Bot API 構建一個自動化系統,該系統能夠監控 RSS 訂閱源並將最新更新推送到 Telegram 頻道。這個解決方案完全基於 Serverless 架構,無需管理伺服器,且大部分情況下可以在 Cloudflare 的免費方案內運行,非常適合個人開發者和小型團隊使用。
MyGO!!!!! Telegram 機器人是一個結合了現代邊緣計算技術與動漫文化的創新項目。這個基於 Grammy 和 Hono 框架構建的 Telegram 機器人,能讓用戶通過關鍵詞搜索 MyGO!!!!! 的圖片。本文將深入探討該機器人的背景、技術實現和功能特點,展示如何利用 Cloudflare Workers 部署高效能的 Telegram 機器人。
Web3 的機會已經來臨,接下來的三個月,我必須全力以赴。以下是我 2024 年的學習計畫:
Storybook 最大的優點是它可以提供不同的頁面來顯示組件的不同狀態,讓我們在各種不同的情況下測試和評估組件。通過為不同狀態創建不同的頁面,我們可以輕鬆地測試組件。另外,Storybook 也可以輸出一個 Static Website,可以輕鬆分享給設計師和其他團隊成員,讓他們容易理解組件的外觀和行為。
ZEIT 平台提供了免費的網站空間平台給開發者,我們可以透過 ZEIT 平台來部署 Node.js, Express.js, Koa.js 等應用。如果你有寫過 Node.js 應用,又想找個免費空間部署這些應用的話,那麼 ZEIT 會是一個不錯的選擇。
如果你想要部署自己的前端項目的話,那麼 Netlify 提供了一個一站式的解決方法,讓你可以持續部署,以及自動開啟 HTTPS。如果你想要部署 Node.js 應用的話,那麼 ZEIT 會是另外一個解決方案。
時光飛逝,我已從大學畢業成為前端工程師。回想這一年,我完成了三件事情:改版博客系統,讓不同用戶可以快速啟動項目,它是我第一個過百 Star 數的項目;翻譯並校對技術文章,學習了不少前端實用的技術;對博客系統框架的 GatsbyJS,ReactJS 技術研究。
上次我們提到 GatsbyJS,它是一個可以獲取任意數據,並生成靜態化網站的系統。這一次,就讓我們以 Calpa 的技術博客作為例子來開始架構網站吧
世界上不同的程序員,因開源活動而連接一起。這次 Hacktoberfest 活動除了可以拿到活動的限量衣服和貼紙之外,更可以認識到世界上不同的程序員。我看著不斷而來的討論和 PR,我找回了自己在編程上的熱情。如果你有興趣參與開源活動,但不知道如何入手的話,它會是一個不錯的起點。
這次 Google 開發者大會請來了 Lighthouse 的工程師 - Eric Bidelman,分享如何簡單地使用 Lighthouse, Puppeteer 來自動化我們日常的流程。它是一個開源的自動化工具,用於改進網絡應用質量。您只需要提供網址,它就測試該頁面,並生成頁面性能報告。你可以看看採取哪些措施來改進您的應用
當我查看 CPU 和系統狀態時,我希望可以更加快捷,直觀地找出問題所在。vtop 則可以幫助我們節省分析過多數據,還提供 hjkl 一樣的 vim 鍵位,非常方便易用。如同 top 一樣,它可以顯示系統中各個進程中資源佔用狀況,並終止特定進程。
一直收聽知乎無限 live 的時候,我都會想:如何才能更有效率地收聽這些計畫內的 live 呢?於是我心血來潮,把無限 live 的資料拿了下來,然後做一個數據流的網站。這個網站展示和源碼已經放在 Github。這個項目可能適合那些喜歡看到很多數據的同學
當我在更新 gatsbyjs 本體和 `gatsbyjs-*` 插件後,就發現構建 JavaScript 代碼的時候失敗。解決問題的過程,需要多聯想關鍵字。但簡單來說,只要安裝正確的 babel 轉換插件,就可以解決這個問題。
從最初的失望與後悔,到最後的興奮與感動,2017 年可以算是充滿挑戰與機遇的一年。雖然我依然是一個非科班學生,但是這沒有阻止我轉行成為前端工程師,反而成為向前邁進的動力之一。如果沒有這些經歷,我也不會發現自己對於編程的那份熱愛。在此,就讓我回顧一下這一年在自學編程轉行的經歷吧。在開始這篇文章之前,我先戴上頭盔,以防意外。
node_modules 常常塞滿無用檔案,導致打包部署效率低落。本文介紹由 TJ 大神開發的 node-prune 工具,教你如何一鍵移除專案中的多餘檔案與目錄,讓 Node.js 專案體積大幅縮減,部署更快速穩定!
良好的代碼規範,能夠提高代碼的可閱性,使得項目維護更友好。除了自己設定一個規範外,我們也可以借鑒一下現在流行的代碼規範,讓我們成長之後,再去看細節。
首先,我要感謝網易。作為一個香港人,能夠拿到杭州的面試機會,實屬機會難得。這次的兩輪技術面試,考察點廣泛而深入。雖然問題比較深入,但這讓我感覺對於技術要求比較高,這是一件好事,因為可以反映公司對於技術的重視。在大四的這一年裡,我會繼續努力,爭取時間學習一個。本文將會記錄我面試時遇過的問題,以及作為一個香港人在杭州遇到的困難。
異步操作是非常常見的操作,也是其中一題常見的前端工程師面試題目。在日常開發中,我們會和伺服器交互,或者是和用戶的行動作出反應,比如說監聽某些點擊事件。這個時候,其實我們是執行了異步操作,我們需要等待對方若干時間才能收到返回值,甚至是一個錯誤的值。因此,異步操作很容易產生一些誤會。這裡,我會說一下異步操作,及其返回的處理方法。
上天對於每個地球人都是公平的,每個人都一天只有 24 小時。為什麼有的人會停留不前,有的人卻會不斷有所成長?其中一個原因是當遇到問題時,他們解決問題的方法是非常不同的。同樣是遇到問題,與其伸手,等其他程序員幫助去解決問題,倒不如自己先嘗試各種方法,然後才問人家。我會在這篇文章簡單說一下在你提問之前,你可以做的六個步驟。
初探 React 組件生命週期
二十一世紀的鍊金術士,以 AI 為觸媒,將想法具現化,以邏輯築陣、用創作構築可能。
自 2017 年開始寫作,目前已累積 296 篇煉金筆記,專注於全端開發、AI 應用與開發者工具。
我目前開放全端工程師與 AI 相關產品的合作與工作機會(TypeScript、React、Next.js、Node.js 等技術棧)。
如果你有 AI 專案、網站開發或技術整合需求,或正在為團隊尋找工程師,歡迎來信交流: partner@calpa.me
離職後我沒投履歷,改用 AI 工具建立每日寫作與實作節奏,打造可擴展的創作系統。這篇文章記錄這段失業期間的節奏、過程與轉機,也是一場關於「如何被看見」的真實實驗。
2025年6月12日
5708 分享
想用 AI 寫程式又怕爛 code?這篇文章分享我如何結合 ChatGPT、TypeScript、JSDoc、Zod 與 Vitest,打造可維護、可驗證的 Vibe Coding 流程,讓靈感不只是 prototype,而是真正能安全上線的產品級程式碼。
2025年5月23日
3445 分享
我不是命理師,也不是行銷高手,但我用 ChatGPT 結合 GUI,打造出一款無需寫 prompt、卻能完整解盤的紫微分析工具。在沒宣傳、沒推廣的情況下,它卻意外地自然爆紅。
2025年5月30日
3335 分享
這篇文章記錄了我與 AI 寫程式的真實經歷,從最初的興奮與疑惑,到逐漸學會反思與調整。每一次 prompt、每一場 debug,都讓我更清楚自己對技術的渴望與局限。Vibe Coding 不只是提升生產力的工具,更是一場關於信任、對話與釋放焦慮的自我修煉。
2025年6月07日
3210 分享
React 開發團隊於 2025 年 2 月 14 日正式宣布淘汰 Create React App (CRA),並鼓勵開發者轉向使用現代框架或構建工具如 Vite、Parcel 或 RSBuild。這一決定標誌著前端開發工具生態系統的重大轉變,開啟了以框架為中心的新時代。
2025年3月21日
3107 分享
2023 年,我回到香港,從全棧工程師,行過死蔭幽谷,現在成爲系統架構師。能夠在 Web3 的世界自由自在地行走,十分感激當初的百般試煉。現在,就讓我回顧這一年我採用的前端後端雲端 Web3 方案,希望可以拋磚引玉
2023年10月13日
2164 分享
Google Forms 是現代工作中不可或缺的資料收集工具。本文將教你如何結合 Google Apps Script 和生成式 AI(如 ChatGPT),快速自動化建構表單、串接 Google Sheets,並大幅提升開發效率與資料管理品質。讓即使沒有程式背景的人,也能輕鬆打造專業級的智能表單!
2025年4月15日
1888 分享
2022 年 3 月,我曾整理了「一個 Full Stack Developer 的日常」,分享了自己的工作流程和方法論。如今已是 2025 年,前端開發領域已經歷了翻天覆地的變化。讓我們重新審視這個領域,看看三年來發生了什麼變化,以及現在學習前端開發應該採取什麼策略。
2025年3月17日
1558 分享
曾經我一個月只能寫一篇技術文,直到我用工程師思維打造 ChatGPT 協作的自動化寫作系統,現在每天一篇、穩定日更。這篇文章完整公開我的內容生產流程,從靈感整理、架構設計到 ChatGPT 審稿與多平台發佈,幫助你也建立屬於自己的高效創作引擎。
2025年5月25日
1501 分享
Umami v3 不只是介面更新,而是一場從架構、資料模型到分析能力的全面升級。本文以敘事方式,帶你走過從 v2 到 v3 的轉型歷程,理解這次改版如何為現代網站帶來更高品質的數據洞察。
2025年11月19日
1 分享
我沒有靠廣告,也不追求爆文,只靠一套 ChatGPT 寫作流程,讓內容在 Threads 上穩定輸出、自然擴散。短短一個月內,累積 92 萬曝光與 2400 名追蹤者,這篇文章完整揭露我的內容重組流程與流量策略。
2025年6月26日
1217 分享
總覺得 ChatGPT 回答不夠準、不像你想的?這篇文章教你如何用工程思維設計 prompt,讓 AI 回應貼合語氣、格式與目標,真正成為創作上的專屬協作者。
2025年6月22日
650 分享
工程師不擅長說故事?這篇文章將帶你透過努力人公式 × ChatGPT,打造屬於自己的敘事模組。即使你是工程師,也能用文字駕馭語言模型,達到言出法隨,將個人經歷轉化為有感染力的故事。
2025年6月21日
1001 分享
我不只是使用 ChatGPT,而是與它雙修、共鍛語言系統,打造出一套可重複優化的知識煉金術流程。這篇文章揭示我如何結合數據觀察、語氣調整與阿德勒目的論,把寫作轉化為現實部署的煉金工程。
2025年6月17日
254 分享
在 AI 工具產能爆炸的時代,我選擇以匠人精神回應技術浪潮,透過 ChatGPT 實踐每週打造一款 MVP 的 Vibe Coding 節奏。這篇文章分享我如何從用戶視角出發,打磨出真正好用、有溫度的 AI 工具。
2025年6月16日
652 分享
ChatGPT 回答得快,卻總少了我的語氣與節奏。我開始反過來思考:如果它是一個人,我希望它是誰?這篇文章分享我如何透過哲學三大終極問題,鍛造出一個真正懂我語言與思維的 AI 共修者。
2025年6月10日
761 分享