博客 / 列表

微芒不朽 - 別再用mixin了!Vue3自定義Hooks讓邏輯複用爽到飛起

前言 隨着 Vue 3 的普及,Composition API 成為了構建複雜應用的主流方式。相比 Options API,Composition API 提供了更好的邏輯組織和複用能力。而自定義 Hooks 正是這一能力的核心體現,它讓我們能夠將業務邏輯抽象成可複用的函數,極大地提升了代碼的可維護性和開發效率。 什麼是自定義 Hooks? 自定義 Hooks 是基於 Composition AP

vue.js , 前端 , Javascript

微芒不朽 - Vue 3 動畫效果實現:Transition和TransitionGroup詳解

前言 在現代Web應用中,流暢的動畫效果不僅能提升用户體驗,還能有效傳達界面狀態變化的信息。Vue 3 提供了強大的過渡和動畫系統,通過 transition 和 transition-group 組件,開發者可以輕鬆地為元素的進入、離開和列表變化添加動畫效果。本文將深入探討這兩個組件的使用方法和高級技巧。 Transition 組件基礎 基本用法 transition 組件用於包裝單個元素或組件

vue.js , 前端 , Javascript

微芒不朽 - Vue 3 組件開發最佳實踐:可複用組件設計模式

前言 組件化是現代前端開發的核心思想之一,而在 Vue 3 中,藉助 Composition API 和更完善的響應式系統,我們能夠設計出更加靈活、可複用的組件。本文將深入探討 Vue 3 組件開發的最佳實踐,介紹多種可複用組件的設計模式,幫助開發者構建高質量的組件庫。 組件設計基本原則 1. 單一職責原則 每個組件應該只負責一個明確的功能,避免功能過於複雜。 2. 開放封閉原則 組件對擴展開放,

vue.js , 前端 , Javascript

微芒不朽 - vue3插槽的本質

引言 插槽(Slots)是 Vue 組件系統中一個強大而靈活的特性,它允許我們在組件之間傳遞模板內容。在 Vue3 中,插槽機制得到了進一步的優化和完善。本文將深入探討 Vue3 插槽的本質,幫助開發者更好地理解和使用這一重要特性。 什麼是插槽? 插槽本質上是一種內容分發機制。它允許父組件向子組件傳遞任意的模板片段,這些片段可以在子組件內部被渲染到指定的位置。 !-- 父組件 -- templat

vue.js , 前端 , Javascript

微芒不朽 - 如何實現流式輸出?一篇文章手把手教你

在現代Web應用中,流式輸出(Streaming Output)是一種非常重要的技術,它能夠實現實時數據傳輸和漸進式渲染,為用户提供更好的交互體驗。本文將詳細介紹流式輸出的原理和多種實現方式。 什麼是流式輸出? 流式輸出是指數據不是一次性返回給客户端,而是分批次、連續地發送給客户端。這種方式特別適用於: 實時聊天應用 大文件下載 AI生成內容展示 日誌實時監控 數據報表逐步加載 流

前端 , Javascript

微芒不朽 - Vue 3 動態組件詳解

在 Vue 3 中,動態組件是一個非常強大的特性,允許我們在運行時根據條件切換不同的組件。 基本用法 使用 component 標籤 template div !-- 動態組件的核心 -- component :is="currentComponent"/component !-- 切換按鈕 -- button @click="switchComponen

vue.js , 前端 , Javascript

微芒不朽 - 為什麼永遠不要讓前端直接連接數據庫

在現代Web開發中,安全性是至關重要的考慮因素。一個常見的反模式就是讓前端應用直接連接數據庫。本文將深入探討為什麼這種做法存在嚴重安全隱患,以及正確的架構模式應該如何設計。 為什麼前端絕不應該直接連接數據庫? 1. 安全風險暴露 當你的前端代碼(如Vue.js、React或Angular應用)直接連接數據庫時,意味着數據庫憑證和連接信息必須存儲在客户端代碼中。這會帶來以下風險: // ❌ 錯誤示例

後端 , 前端 , Javascript

微芒不朽 - 基於 Three.js 的 3D 地圖可視化:核心原理與實現步驟

項目概述 這是一個基於Three.js的3D交互式地圖可視化系統,以廣東省地圖為展示對象,實現了豐富的3D視覺效果和交互功能。本文將對項目中的核心函數進行逐步驟、逐函數的詳細分析,幫助讀者深入理解系統的實現原理。 技術棧 前端框架:Vue 3 3D渲染引擎:Three.js 構建工具:Vite 動畫庫:Tween.js 輔助庫:Delaunator、geo-point-in-poly

three.js , 3d , 前端 , Javascript

微芒不朽 - 【nodejs進階之旅(2)】:使用koa2+mysql 實現列表數據分頁

1.展示效果(分頁) 2.分頁主要字段 分頁主要字段包括 pageSize 每頁條數、pageNum 第幾頁、startRow 當前開始頁編號、endRow 當前結束頁編號、total 總數量。主要是根據前端分頁的參數,進行處理後,返回前端正確的數據,其實是一個很常見且簡單的功能。但是是非常也是非常重要的。 pageSize 每頁條數 pageNum 第幾頁 startRow 當前開始頁編號

vue.js , koa2 , node.js , 前端 , Javascript

微芒不朽 - Koa2實現多併發文件上傳

koa2批量上傳文件 目前的是為了實現批量導入md文件,發佈文章。這樣就不用自己一篇一篇同步文章了。一次可以同步幾千篇文章。 實現界面 內容 主要包含上傳的文件標題,文件大小,上傳狀態。 el-upload ref="uploader" v-model:file-list="fileList" drag multiple :accept="accept" :maxSize="maxS

koa2 , vue3 , 前端 , Javascript

微芒不朽 - Koa2進階:CMS系統實戰開發秘籍:1.為什麼選擇Koa2?

目錄 為什麼選擇Koa2? Koa2環境搭建 Koa2核心概念/中間件基礎/異步控制流 Koa2路由管理 Koa2請求響應處理 Koa2中間件使用 Koa2錯誤/異常捕獲與處理 Koa2模板引擎集成 Koa2靜態文件服務 Koa2集成數據庫 模型設計/ORM工具使用 接口身份驗證與授權 API接口設計 Koa2日誌記錄 CMS架構設計 CMS內容管理 CMS用户

koa2 , koa , vue3 , 前端 , Javascript

微芒不朽 - Koa2+mysql 搭建用户信息註冊和登錄接口服務

koa2 官網 https://koa.bootcss.com/ 什麼是koa? Koa 是一個新的 web 框架,由 Express 幕後的原班人馬打造, 致力於成為 web 應用和 API 開發領域中的一個更小、更富有表現力、更健壯的基石。 通過利用 async 函數,Koa 幫你丟棄回調函數,並有力地增強錯誤處理。 Koa 並沒有捆綁任何中間件, 而是提供了一套優雅的方法,幫助您快速而愉快地

express , koa2 , node.js , koa.js

微芒不朽 - Vue3開發技巧:使用jsx快速開發組件

創建項目 pnpm create vite 直接使用模板創建 pnpm create vite my-vue-app --template vue 安裝 JSX 支持依賴 cd my-vue-app npm install @vitejs/plugin-vue-jsx -D 配置 vite.config.js import { defineConfig } from 'vite' import v

vite , jsx , vue3 , 前端 , Javascript

微芒不朽 - Linux 服務器磁盤滿了?教你快速找到大文件,安全刪掉不踩坑!

1. 磁盤空間檢查基礎命令 1.1 查看磁盤使用情況 # 查看所有掛載點的磁盤使用情況 df -h # 查看指定目錄的磁盤使用情況 df -h /home 1.2 查找大文件和目錄 # 查找當前目錄下大於100MB的文件 find . -type f -size +100M -exec ls -lh {} \; # 查找根目錄下大於1GB的文件 find / -type f -size +

Linux

微芒不朽 - 3 分鐘搞定 Linux 磁盤清理:實用命令 + 自動腳本,新手也會

在Linux系統中,隨着時間推移,磁盤空間會被各種日誌文件、緩存文件、臨時文件等佔滿。本文將詳細介紹哪些類型的文件和目錄可以安全刪除以釋放磁盤空間。 1. 系統日誌文件 1.1 日誌文件清理 # 查看日誌文件大小 du -sh /var/log/* # 清理舊的日誌文件(保留最近7天) find /var/log -name "*.log" -mtime +7 -delete # 清理系統

Linux

微芒不朽 - 用 n8n 實現工作自動化後,我每天多睡 2 小時!

n8n 是一個開源的工作流自動化平台,允許用户通過拖放節點來創建複雜的自動化流程。n8n 提供了豐富的內置節點和社區貢獻的節點,支持與各種 API、數據庫和其他服務集成。本文將詳細介紹 n8n 中節點的使用方法,包括如何添加節點、配置節點、連接節點以及調試和優化工作流。 1. n8n 基本概念 1.1 工作流(Workflow) 工作流是由多個節點組成的自動化流程,每個節點代表一個操作,如發送電

機器學習 , 人工智能 , 深度學習

微芒不朽 - Node.js REST 升級 MCP 服務器,讓 AI 代理成為你的開發助手

隨着大型語言模型(LLM)和代理 AI 的快速發展,應用程序展示其功能的方式亟待從根本上變革。傳統的 REST API 專為軟件與軟件之間的通信設計,開發人員需閲讀大量文檔並編寫自定義集成代碼才能使用。而模型上下文協議(MCP) 作為一種開放標準,通過創建統一的、機器可讀的界面,讓 AI 代理能夠動態發現並與之交互,成功解決了這一痛點。 本文將提供一份全面指南,介紹如何使用官方 TypeScrip

前端

微芒不朽 - CSS Flex 佈局比 float 更值得學

在現代 Web 開發中,佈局是構建用户界面的核心環節。長期以來,CSS 的 float 屬性曾是實現多列布局的主要手段,但隨着 CSS 技術的發展,Flexbox(彈性盒子佈局)已成為更強大、更直觀、更可靠的佈局方案。本文將從多個維度對比 float 與 Flex 佈局,並闡明為何 Flex 佈局更值得投入時間學習和使用。 1. 歷史背景:從 float 到 Flexbox float 最初設計用

前端

微芒不朽 - Vue 3 ref 與 reactive 選哪個?

在 Vue 3 中,ref 和 reactive 都是用於創建響應式數據的方式,但它們在使用場景和特性上有所不同。選擇哪一個取決於你的具體需求。 ref 特點: 基本類型支持:ref 可以用於任何類型的數據,包括基本類型(如 number, string, boolean)和複雜類型(如 object, array)。 包裝對象:當你將一個對象傳遞給 ref 時,它會被包裹在一個對象中,通過

前端

微芒不朽 - 被前端存儲坑到崩潰?IndexedDB 高效用法幫你少走 90% 彎路

IndexedDB 是一種在瀏覽器中提供事務性的鍵值對存儲的低級 API。它允許你在用户的瀏覽器中存儲大量結構化數據,並且可以對其進行高效的搜索、更新和刪除操作。IndexedDB 適用於需要離線存儲和快速訪問大量數據的應用程序,如 Progressive Web Apps (PWAs) 和單頁應用程序 (SPAs)。本文將詳細介紹如何在前端項目中高效使用 IndexedDB。 1. Indexe

前端 , Javascript

微芒不朽 - 【CSS進階】使用CSS gradient製作絢麗漸變紋理背景效果

前言 一直對漸變背景這塊比較感興趣,但是因為每天加班實在太忙了,任務也比較多。所以就只能下班的時間研究漸變背景這方面的知識,一來滿足了自己的好奇心,二來可以更加了解這方面的知識。跟更多不斷學習的小夥伴們一起進步,一起汲取新的知識。不斷成長,不斷精進自己的知識。有想一起討論技術,一起成長的夥伴們,也可以加微信一起交流。各微信羣裏面,有很多前端領域的大佬,在他們身上學到了很多,今後也努力向他們看齊。不

css3 , css技巧 , Css , css3動畫 , 前端

微芒不朽 - 【CSS進階】巧用偽元素before和after製作絢麗效果

原創:叫我詹躲躲 來源:思否 鏈接:巧用偽元素before和after製作絢麗效果 所謂‘偽元素’,就是本身不存在的頁面元素,HTML代碼裏並沒有這樣的元素,但在頁面顯示時,你卻能看到這些本來不存在的元素髮揮着作用。本文主要探究偽元素beforce和after的常用使用場景。 CSS :before 選擇器 定義和説明 :before 選擇器向選定的元素前插入內容。

css3 , css技巧 , css選擇器 , Css , css3動畫

微芒不朽 - python面型對象編程進階(繼承、多態、私有化、異常捕獲、類屬性和類方法)

原創:叫我詹躲躲 來源:思否 鏈接:python面型對象編程進階(繼承、多態、私有化、異常捕獲、類屬性和類方法) 致謝:感謝求知教育提供的視頻教程 1.單繼承 ## 封裝,繼承和多態 ## 1.封裝 1、滿足把內容封裝到某個地方,另一個地方去調用封裝的內容 2、使用初始化構造方法,或者使用self獲取封裝的內容 ## 2.繼承 子類繼承父類的屬性和內容 1.1單繼承示例 cla

python3.x , python3.5 , python爬蟲 , pythonic , Python

微芒不朽 - python 格式化、set類型和class類基礎知識練習

原創:叫我詹躲躲 來源:思否 鏈接:https://segmentfault.com/a/11... 1.輸出 %佔位符 lastname = 'hello' firstname = 'world' print('我的名字是%s %s' %(lastname,firstname)) 2.常用的格式化字符 %c 字符 %s 通過str來格式化 %i 有符號十進制整數 %d 有符號十進制整

python3.x , python3.5 , pythonic , Python