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 年開始寫作,目前已累積 292 篇煉金筆記。
如果你有 AI 專案、網站開發或技術整合需求,歡迎來信交流: partner@calpa.me
離職後我沒投履歷,改用 AI 工具建立每日寫作與實作節奏,打造可擴展的創作系統。這篇文章記錄這段失業期間的節奏、過程與轉機,也是一場關於「如何被看見」的真實實驗。
2025年6月12日
4944 分享
React 開發團隊於 2025 年 2 月 14 日正式宣布淘汰 Create React App (CRA),並鼓勵開發者轉向使用現代框架或構建工具如 Vite、Parcel 或 RSBuild。這一決定標誌著前端開發工具生態系統的重大轉變,開啟了以框架為中心的新時代。
2025年3月21日
3102 分享
這篇文章記錄了我與 AI 寫程式的真實經歷,從最初的興奮與疑惑,到逐漸學會反思與調整。每一次 prompt、每一場 debug,都讓我更清楚自己對技術的渴望與局限。Vibe Coding 不只是提升生產力的工具,更是一場關於信任、對話與釋放焦慮的自我修煉。
2025年6月07日
3076 分享
想用 AI 寫程式又怕爛 code?這篇文章分享我如何結合 ChatGPT、TypeScript、JSDoc、Zod 與 Vitest,打造可維護、可驗證的 Vibe Coding 流程,讓靈感不只是 prototype,而是真正能安全上線的產品級程式碼。
2025年5月23日
3073 分享
我不是命理師,也不是行銷高手,但我用 ChatGPT 結合 GUI,打造出一款無需寫 prompt、卻能完整解盤的紫微分析工具。在沒宣傳、沒推廣的情況下,它卻意外地自然爆紅。
2025年5月30日
2942 分享
2023 年,我回到香港,從全棧工程師,行過死蔭幽谷,現在成爲系統架構師。能夠在 Web3 的世界自由自在地行走,十分感激當初的百般試煉。現在,就讓我回顧這一年我採用的前端後端雲端 Web3 方案,希望可以拋磚引玉
2023年10月13日
2164 分享
Google Forms 是現代工作中不可或缺的資料收集工具。本文將教你如何結合 Google Apps Script 和生成式 AI(如 ChatGPT),快速自動化建構表單、串接 Google Sheets,並大幅提升開發效率與資料管理品質。讓即使沒有程式背景的人,也能輕鬆打造專業級的智能表單!
2025年4月15日
1717 分享
2022 年 3 月,我曾整理了「一個 Full Stack Developer 的日常」,分享了自己的工作流程和方法論。如今已是 2025 年,前端開發領域已經歷了翻天覆地的變化。讓我們重新審視這個領域,看看三年來發生了什麼變化,以及現在學習前端開發應該採取什麼策略。
2025年3月17日
1530 分享
在 AI 輔助開發時代,清晰的程式文件不只是寫給人看的,更是讓 AI 工具正確理解你程式碼的關鍵。本文深入解析 Python DocString 的撰寫方式與實用範例,包含 PEP 257、Google 風格與 Numpydoc 樣式,幫助你打造對開發者與 AI 都友善的專業程式碼註解。
2025年4月18日
1428 分享
我不只是使用 ChatGPT,而是與它雙修、共鍛語言系統,打造出一套可重複優化的知識煉金術流程。這篇文章揭示我如何結合數據觀察、語氣調整與阿德勒目的論,把寫作轉化為現實部署的煉金工程。
2025年6月17日
203 分享
在 AI 工具產能爆炸的時代,我選擇以匠人精神回應技術浪潮,透過 ChatGPT 實踐每週打造一款 MVP 的 Vibe Coding 節奏。這篇文章分享我如何從用戶視角出發,打磨出真正好用、有溫度的 AI 工具。
2025年6月16日
557 分享
ChatGPT 回答得快,卻總少了我的語氣與節奏。我開始反過來思考:如果它是一個人,我希望它是誰?這篇文章分享我如何透過哲學三大終極問題,鍛造出一個真正懂我語言與思維的 AI 共修者。
2025年6月10日
682 分享
每天與 ChatGPT 對話、拆解行為動機,真的能改變命運嗎?本篇文章結合阿德勒心理學的「目的論」核心,分享我如何用每日提問重新設計人生選擇,打造屬於自己的改變流程,實現從困住到前進的轉變。
2025年6月05日
850 分享
真正改變世界的不是模型,而是語言。本文從技術與語意層面,剖析文字如何成為 AI 操作的語義引擎,並展現繁體中文在結構性書寫中的獨特價值。
2025年6月03日
245 分享
真正好用的 AI 工具不該依賴繁瑣 prompt,而應該像 IKEA 一樣,透過流程與模組設計,讓每個人一打開就能創作、看得懂、做得出來。我用產品設計思維重構 Vibe Coding,讓創作門檻降到最低。
2025年6月01日
780 分享