2025(計19篇)
- 以 minmax() 來實作伸縮自如的容器
- 《程式設計守則》——簡單就是最好
- 如何複製帶格式的文字(rich content, rich text copy)
- 用 CSS anchor function 實現 Tab 元件滑動效果
- 如何指南:在 React Router v7 Framework 模式下,設定 Google Analytics (gtag)
- 以 grid-template-columns 來限制最大容器寬
- 變形的秩序(CSS transform order matters)
- 你現在在做什麼?不要找藉口——《晉身怪傑》書摘
- 我該怎麼寫?——"Writing for Developers" 閱讀筆記,寫那些讀者想看的東西
- 我該寫什麼?——"Writing for Developers" 閱讀筆記,日常的又恨又愛
- 我該不該寫?——"Writing for Developers" 閱讀筆記,你現在需要的是理由
- 我覺得自己快要窒息了——《設計的心理學》閱讀筆記,出包篇
- 你覺得舒服多了——《設計的心理學》閱讀筆記,好設計篇
- 說真的,如何避免拷問使用者——《資訊架構學》(第四版)閱讀筆記
- 惑眾妖言如何傷害民主——《修辭的陷阱》閱讀筆記
- 用 git worktree 新增資料夾 (X) 獨立工作區 (O)
- 如何設定 view transition 動畫效果
- 2024 年度好讀目錄
- 如何在 Remix 讀取、下載 json 檔
2024(計53篇)
- 如何製作「帶圓角漸層邊框並且透明背景」的按鈕
- 工作筆記:在 remix 中根據系統外觀(system appearance)更新 shadcn/ui 的主題(theme)
- 快速筆記:用 grid 搞定佈局變化較大的 RWD
- 工作筆記:GitLab monorepo package registry/install
- 如何評估是否導入嶄新的 CSS 樣式
- 我們不要那個 overflow hidden 了——如何無痛隱藏單軸內容?
- 課程筆記:重構(refactor)的上位互換——重寫(rewrite)
- 課程筆記:如何挑選框架(工具)
- 課程筆記:如何打造對的軟體
- 如何指南:透過 git hook pre-commit 處理程式碼自動格式化(format),再見了 npm run format
- 如何讓人認真看待你的 PR?或是你其實可以拒看過胖的 PR 嗎?
- 如何讓你的網站對使用者友善,或是如何不要讓使用者感覺像是被你的網站拷問
- 如何指南:在 remix 專案使用 @mui/material
- 下載附件時,檔案名稱從何而來?
- 何謂危險操作(dangerous action)?如何避免?
- 快速筆記:如何對 remix 的 cookie 功能加上一點 TypeScript
- 筆記:Usability Review Live
- 分享:寫作後的SOP
- 分享:寫作前的SOP
- 快速筆記:bloom filter
- 快速筆記:Remix 的 createCookieSessionStorage 與 window.sessionStorage 毫無關係
- 前端路由設計心得
- 給習慣寫 CSR 服務的 remix 入門注意事項
- 打造第二大腦——讓大腦只負責思考,剩下的交給筆記軟體
- 如何在 TypeScript remix 專案中把 .svg 引用成 React 元件
- 閱讀筆記:核取方塊的設計準則
- 透過 CSS position absolute 來實現巢狀連結
- CSS 筆記:給 flex 的 justify-* 與 align-* 系列使用的 `safe` 關鍵字
- tailwind 快速上手筆記
- CSS 筆記:如何實現 display none 的漸變效果
- CSS :has / :is 選取器筆記
- 閱讀筆記:UI Density -- What UI density means and how to design for it
- CSS 筆記:subgrid
- React 19 筆記:新 api 與 pros 功能篇
- React 19 筆記:hooks 篇
- 關於在 JavaScript 中執行「複製」這件事
- 透過 useAutocomplete 來處理 Material UI 5 Autocomplete 的樣式客製化需求
- CSS 筆記:處理 safari display grid 破版問題
- 在 React app 實作拖曳上傳區塊(drag and drop file uploader)
- CSS 筆記:邊線動畫效果
- 葫蘆裡的 React:關於渲染(render)與確認(commit)
- 葫蘆裡的 React:關於調適(reconciliation)與組件的 props.key
- 影片筆記:Managing React State -- 10 Years of Lessons Learned
- TypeScript 工程師的基礎 SOLID 筆記
- 閱讀筆記:The Art of Unit Testing Chapter 12 Working with legacy code
- 閱讀筆記:The Art of Unit Testing Chapter 11 Integrating unit testing into the organization
- 閱讀筆記:The Art of Unit Testing Chapter 10 Developing a testing strategy
- 閱讀筆記:The Art of Unit Testing Chapter 9 Readability
- 閱讀筆記:The Art of Unit Testing Chapter 8 Maintainability
- 閱讀筆記:The Art of Unit Testing Chapter 7 Trustworthy tests
- 閱讀筆記:The Art of Unit Testing Chapter 6 Unit testing asynchronous code
- 葫蘆裡的 React:關於組件(components)與元素(elements)
- 閱讀筆記:The Art of Unit Testing Chapter 5 Isolation frameworks
2023(計88篇)
- 閱讀筆記:The Art of Unit Testing Chapter 4 Interaction testing using mock objects
- 閱讀筆記:The Art of Unit Testing Chapter 3 Breaking dependencies with stubs
- 閱讀筆記:The Art of Unit Testing Chapter 2 A first unit test
- 以地圖來比喻 DDD 的領域(domain)與模型(model)
- 領域敘事(Domain Storytelling):最基礎的筆記
- 閱讀筆記:The Art of Unit Testing Chapter 1 The basics of unit testing
- 領域模型(domain model)與領域驅動設計(DDD):最基礎的部分
- 工作筆記:在前端顯示不同 origin 後端提供的圖片
- 閱讀筆記:The Programmer's Brain Chapter 13 How to onboard new developers
- 工程師的易用性測試(Usability Testing)筆記
- 閱讀筆記:The Programmer's Brain Chapter 12 Designing and improving larger system
- 閱讀筆記:The Programmer's Brain Chapter 11 The act of writing code
- 閱讀筆記:The Programmer's Brain Chapter 10 Getting better at solving complex problems
- 快速筆記:透過 GitLab 執行 ci/cd 時,取得測試覆蓋率的方法
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:學習資源
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:設定 GA4
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:設定 sitemap 與 rss
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:部署
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:腳本
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:動態路由與 /tag
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:靜態路由與 /archive
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:通用元件 Html.astro
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:處理首頁樣式
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:樣式管理與文章 toc
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:集中處理 .md
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:讀取 .md
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:astro 簡介
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:沿用內容
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:寫文件
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:程式碼分塊
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:打包與預覽
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:正式環境用的 webpack 設定
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:e2e 測試
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:單元測試
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:webpack 5 與圖片資源
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:webpack 5 與 css
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:webpack 5 與 TypeScript
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:webpack 5 與環境變數
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:專案腳本
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:元件分類原則
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:專案結構
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:安裝套件
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:設定 package.json
- 捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:關於今年主題
- 閱讀筆記:The Programmer's Brain Chapter 9 Avoiding bad code and cognitive load -- Two frameworks
- 快速筆記:使用 URL 與 URLSearchParams 建構子處理網址
- 閱讀筆記:The Programmer's Brain Chapter 8 How to get better at naming things
- 閱讀筆記:The Programmer's Brain Chapter 7 Misconceptions -- Bugs in thinking
- 閱讀筆記:The Programmer's Brain Chapter 6 Getting better at solving programming problems
- 閱讀筆記:The Programmer's Brain Chapter 5 Reaching a deeper understanding of code
- 工作筆記:使用 JavaScript 控制輸入內容僅限於數字
- 閱讀筆記:The Programmer's Brain Chapter 4 How to read complex code
- 閱讀筆記:The Programmer's Brain Chapter 3 How to learn programming syntax quickly
- 閱讀筆記:The Programmer's Brain Chapter 2 Speed reading for code
- 閱讀筆記:The Programmer's Brain Chapter 1 Decoding your confusion while coding
- 快速筆記:在 react-router-dom 5 實作條件路由
- 快速筆記:在 React app 取得最新的 git commit sha
- 快速筆記:使用 axios 下載後端回傳的 pdf binary
- 使用 CSS `content` 與 `counter` 設定序列的數字樣式
- JavaScript 原生深拷貝功能:structuredClone
- 開發筆記:設定 dayjs timezone
- 正規表達式筆記:群與反向參考(groups and backreferences)
- 正規表達式筆記:量詞(quantifiers)
- 正規表達式筆記:字元類(character classes)
- 正規表達式筆記:斷言(assertions)
- 在不使用 create-react-app 的情況下為 TypeScript React 專案設定 jest
- 閱讀筆記:Good Code, Bad Code Chapter 10 Unit testing principles
- 閱讀筆記:Good Code, Bad Code Chapter 9 Make code reusable and generalizable
- 閱讀筆記:Good Code, Bad Code Chapter 8 Make code modular
- 閱讀筆記:Good Code, Bad Code Chapter 7 Make code hard to misuse
- 閱讀筆記:Good Code, Bad Code Chapter 6 Avoid surprises
- 閱讀筆記:Good Code, Bad Code Chapter 5 Make code readable
- 閱讀筆記:Good Code, Bad Code Chapter 4 Errors
- 閱讀筆記:Good Code, Bad Code Chapter 3 Other engineers and code contracts
- 閱讀筆記:Good Code, Bad Code Chapter 2 Layers of abstraction
- 閱讀筆記:Good Code, Bad Code Chapter 1 Code quality
- 透過 npx 在呼叫套件時省略 node_modules/.bin 前綴
- yarn install --production=false 與 package.json 中的 resolutions
- 2023 情人節禮包:CSS @container
- 使用 JavaScript RegExp() 過濾 HTML entity NBSP
- 透過 Node.js API 執行 webpack
- 使用 CssVarsProvider 來取得 MaterialUI 樣式的 CSS 變數
- 對 CSS text-decoration underline 加上動畫效果
- 2023 第4週 實作筆記:使用 Makefile 搭配 vite 處理 GitHub Pages 部署
- 在 MUI 5 中讓自定義的 CSS 樣式擁有較高的權重
- 2023 第3週 學習筆記:Frontend Masters TypeScript Fundamentals
- 2023 第2週 學習筆記:Frontend Masters Intermediate TypeScript
- 2023 第1週 學習筆記:TypeScript 中的 interface merging
2022(計68篇)
- 2022 第52週 實作筆記:於 MaterialUI theme 新增 custom breakpoints
- 2022 第51週 實作筆記:視覺效果一致的 TextField 與 FormControl 拼裝版 Input
- 2022 第50週 實作筆記:透過 compositionstart/compositionend 來暫停驗證輸入內容
- 2022 第49週 學習筆記:React.SyntheticEvent
- 2022 第48週 學習筆記:CSS 中的顏色格式與人眼視覺
- 2022 第47週 閱讀筆記:Don’t use JPEG-XR on the Web
- 2022 第46週 閱讀筆記:Dialogs, modality and popovers seem similar. How are they different?
- 2022 第45週 試用筆記:HTMLImageElement.srcset
- 2022 第44週 cypress 綜合筆記:對應元件可能不存在的情境、搭配 typescript 使用 dayjs
- 2022 第43週 學習筆記:.gitlab-ci.yml
- 2022 第42週 實作筆記:TypeScript type predicates
- 2022 第41週 實作筆記:react monorepo
- 2022 第40週:鐵人賽 Modern Web 組「我們可以不要 component library 了嗎?」第 22 - 30 天
- 2022 第39週:鐵人賽 Modern Web 組「我們可以不要 component library 了嗎?」第 15 - 21 天
- 2022 第38週:鐵人賽 Modern Web 組「我們可以不要 component library 了嗎?」第 8 - 14 天
- 2022 第37週:鐵人賽 Modern Web 組「我們可以不要 component library 了嗎?」第 1 - 7 天
- 2022 第36週 實作筆記:ref merging
- TypeScript 觀摩筆記:React.PropsWithChildren 與 React.FC
- 2022 第35週 實作筆記:為 typescript react 專案設定 @emotion/react 的 css props
- 2022 第34週 實作筆記:單色螢光筆功能
- 2022 第33週 學習筆記:手刻對話框元件
- JavaScript 快速筆記:Event.currentTarget
- 2022 第32週 學習筆記:在 react app 中實作 event driven pattern
- 2022 第31週 學習筆記:在 react 專案透過 @svgr/webpack 引用 .svg 檔案
- 2022 第30週 工作筆記:透過 custom hook 回傳動態內容
- 2022 第29週 實作筆記:發佈 npm 套件 usePreventLeave
- 2022 第28週 學習筆記:不只是型別
- CSS 筆記:Logical properties 中的 margin-inline-end
- 2022 第27週 實作筆記:手風琴 (accordion) 分組元件
- 2022 第26週 工作筆記:在 React App 中的 mediator pattern
- 2022 第25週 學習筆記:在 React App 中對應 race condition
- 奇妙的 JavaScript 程式碼: for (var of of of) {...}
- 「Jeremy Keith | In And Out Of Style | CSS Day 2022」影片筆記
- 2022 第24週 學習筆記:在 React App 中處理錯誤情境
- 2022 第23週 實作筆記:使用 transform rotate() 實作過場動畫
- 2022 第22週 實作筆記:為 react-syntax-highlighter 加上複製功能
- gh-pages 部屬選項
- 2022 第21週 實作筆記: MaterialUI theme 一鍵換皮
- tailwindcss 與 typescript 快速試用筆記
- 2022 第20週 實作筆記:在 React APP 中實作滾動視差
- 「Glass effect header」實作筆記
- 2022 第19週 實作筆記:在 React APP 中搭配 Mui 處理基礎動畫
- 2022 第18週 學習筆記
- VSCode Tab Decorations
- 2022 第17週 實作筆記:RWD 側欄
- 2022 第16週 實作筆記:Mui 滑動式清單
- 瀏覽器上的 JavaScript snippet:bookmarklet
- 2022 第15週 學習筆記:從零開始透過 webpack.config 讀取環境變數
- 「CSS 字體底線樣式」相關筆記
- 2022 第14週 學習筆記:使用 superstruct 驗證 process.env 資料
- 2022 第13週 學習筆記:前端專案中的環境變數
- 在前端 React APP 專案中混用 ESM 與 CommonJS
- 2022 第12週 實作筆記:使用 Mui Drawer 處理 RWD 小版面
- 2022 第11週 實作筆記:Element.getBoundingClientRect()
- 2022 第10週 實作筆記:webpack scoped styles (index.module.(s)css)
- 2022 第9週 實作筆記:create-react-app 與單元測試
- MUI Box Style override
- 2022 第8週 學習筆記:redux 基礎與 Immer producer
- SSH Keys for GitHub
- 2022 第7週 實作筆記:在離開路由前顯示確認視窗
- 2022 第6週 實作筆記:日期選取器
- 「create-react-app template」實作筆記
- 「React Error Boundaries」實作筆記
- 2022 第4週 實作筆記:React App 與 webpack
- 2022 第3週 學習記錄:Creational Design Patterns
- MUI Drawer 樣式客製
- 2022 第2週 學習記錄:React Forwarding Refs
- 2022 第1週 學習記錄: React 表單元件與動態內容
2021(計105篇)
- 2021 第52週 學習記錄:前端測試
- 2021 第51週 學習記錄:實作複數條件搜尋
- 2021 第50週 學習記錄:MuiTabs、React.useEffect
- 2021 第49週 學習記錄:MUI 客製元件外觀
- 2021 第48週 學習記錄:JavaScript Class
- 「Bringing bounce and elastic easing to CSS | HTTP 203」相關筆記
- 2021 第47週 學習記錄:TypeScript
- 2021 第46週 學習記錄:CSS modules、React HOC、React router、debounce 與 throttle
- 「從零開始React Todo List with TypeScript」相關筆記
- 「用TS改寫幼兒難度的React App」相關筆記
- Chrome Dev Summit 2021 keynote 筆記
- JSDC 2021 議程筆記
- 「CORP、COEB與CORP以及spectre attack」相關筆記
- 「Vue:在子代元件實作雙向資料綁定」相關筆記
- MOPCON 2021 第二天之前端開發相關內容之議程筆記
- MOPCON 2021 第一天之JS、前端相關內容之議程筆記
- 「JavaScript初級面試題目」相關筆記
- 「Vue component生命週期」相關筆記
- Alpha Camp結業專案「Simple Twitter」開發記錄
- 「Express response default statusCode」相關筆記
- 「JavaScript與parser blocking」相關筆記
- 「CSS pseudo class與pseudo element」相關筆記
- 30天挑戰:「為什麼這個input沒有觸發@blur="event"」問題解析
- 「CSS Sprites」相關筆記
- 30天挑戰:「將Vue project部屬至GitHub Pages」相關筆記
- 「JavaScript Understanding the Weird Parts」第二、三章筆記
- 30天挑戰:「Vue與viewport size」技術記錄
- 「CSS Cascading and Inheritance Level 4」相關筆記
- 30天挑戰:「Vue project與SCSS」相關筆記
- 「CSS Visual Formatting Model」相關筆記
- 30天挑戰:「信用卡資料的inputmode設定」 相關筆記
- 30天挑戰:「CSS雙面卡片與動畫」 相關筆記
- 「捲軸樣式、影片背景與box-decoration-break」相關筆記
- 30天挑戰:「CSS簡易動畫」 相關筆記
- 30天挑戰:「SCSS built-in color module」相關筆記
- 30天挑戰:「漢堡按鈕動畫與cubic-bezier()」 相關筆記
- 「z-index與stacking context」相關筆記
- 30天挑戰:「設定input autofill樣式」技術記錄
- 「webpack引用assets靜態檔案」相關筆記
- 30天挑戰:「clip-path搭配mix-blend-mode製作疊圖文字」技術記錄
- 30天挑戰:「CSS 多行文字溢出後改為顯示刪節號」技術記錄
- 30天挑戰:「純CSS製作:hover後顯示搜尋欄位」技術記錄
- 30天挑戰:「使用SCSS搭配Vue實作dark mode」技術記錄
- 30天挑戰:「CSS progress bar (stepper) 」技術記錄
- 「Vue computed與methods之差異,以及getter/setter」相關筆記
- 「從Callback到Promise」相關筆記
- Alpha Camp「3前 廣告排期系統」相關筆記
- Alpha Camp「3前 毛小孩星球」相關筆記
- 作業功能擴充:為老爸的私房錢新增開支圖表、將開支紀錄下載為Excel檔案
- 作業功能擴充:讓老爸的私房錢「可以記住使用者的登入狀態」
- 作業功能擴充:為老爸的私房錢新增「重設密碼」之功能
- 從零開始重寫:餐廳清單(Express版)複數條件篩選
- 「Base64」相關筆記
- 「使用passport處理FB、Google第三方登入」相關筆記
- 「部屬Express.js App至Google App Engine」相關筆記
- 「使用passport middleware實作登入系統」相關筆記
- TODO:「部屬Express.js App至Heroku」
- 從零開始重寫:餐廳清單(Express版)路由、METHODS重構
- 從零開始重寫:餐廳清單(Express版)基礎功能與架構
- 「電影清單(Vue版本)」技術記錄
- 「產生順序數陣列」相關筆記
- 「webpack環境設置步驟」相關筆記
- Alpha Camp「2-2 電影清單」技術記錄
- 為什麼使用innerHTML對元素新增內容後,該元素「子代」的事件監聽器失效?
- Alpha Camp「2-3 老爸的私房錢(簡易記帳APP)」技術記錄
- Alpha Camp「2-3 middleware實作練習」技術記錄
- 「git stop tracking files」相關筆記
- 「Express Handlebars 取得父層變數內容」相關筆記
- 「重設表單(form reset)」相關筆記
- Alpha Camp「2-1 電影清單之按讚與刪除」技術記錄
- Alpha Camp「2-2 社群名單」技術記錄
- 「Inside look at modern web browser」相關筆記
- 為什麼iOS上的Chrome沒有呈現設定好的list-style-type
- ALPHA Camp 2-1 S1作業:技術筆記
- 「pass by value、pass by reference、深拷貝」相關筆記
- 自主練習「純手工pagination」技術記錄
- 再訪 event loop
- 「X-Frame-Options、Same-origin policy、Cross-Origin Resource Sharing」相關筆記
- 「setTimeout() difference between parameters as string or function」相關筆記
- 為什麼可以修改使用const宣告的陣列(或物件)的內容?
- 為什麼在瀏覽器環境中使用while loop執行ajax request會讓頁面陷入凍結狀態?
- 專案「RGB to HEX converter」技術記錄
- 「How JPEG Works」相關筆記
- 「JavaScript陣列遍歷」相關筆記
- 自主練習專案「grid-template-areas generator」技術記錄
- 自主練習專案「日本文學經典50」技術記錄與反省
- ALPHA Camp 履歷網頁作業:內容解析
- 「CSS Specificity」相關筆記
- 「Edit Files With Workspaces」相關筆記
- 「Writing Good Alt Text - HTTP 203」相關筆記
- 使用GitHub Actions自動產生sitemap.xml
- 「10 modern layouts in 1 line of CSS」相關筆記
- VSCode擴充套件(Extensions)與自訂snippets
- DevTools與CSS有關的新功能(Chrome 89)
- Display draft post
- Git workflow
- Add local search
- Add 404 page
- Plugin -- hexo-tag-figure
- Category hierarchy
- Contribution workflow note: document update
- Theme "NexT" font modification
- Submit to Google Search Console, SEO settings
- Deploy to GitHub Page
- bundle exec