原创 GitHub Actions 自動部署前端 Vue 項目

一. 概述 作爲前端技術人員,如果要部署一個項目大體要經過:代碼開發、代碼推送、打包dist文件、scp到服務器、服務器nginx配置、完成部署這幾個流程,現實中我們希望項目部署儘可能自動且簡單,因此誕生了各種CI/CD工具,比如:Jenk

原创 Swift 調用 OC 實用技巧 Swift App Swift Framework

Swift App 混入OC/C/C++代碼 方法一 使用橋接文件。 方法二 使用.modulemap Swift App項目,引入OC/C/C++文件。 創建文件名必須爲module 後綴爲.modulemap的文件。 配置工程

原创 vue-router 使用與原理分析 簡介 使用 原理 參考

簡介 Vue Router 是Vue.js的官方路由。與Vue.js核心深度集成,讓用Vue.js構建單頁應用(SPA)變得更加簡單。 對於開發和維護管理後臺類的前端項目,頁面結構和組合可能非常複雜,所以正確的理解和使用Vue Rout

原创 聊聊Cookie的SameSite屬性

背景 前幾天在業務開發中,在iframe中嵌入打開一個xxx的url鏈接,在鏈接的主頁中,會跳轉到另一個登錄的頁面,然而登錄一直失敗,失敗原因是xxx的服務端沒有收到對應的cookie。但是在瀏覽器中的頂層搜索打開xxx的url鏈接,在跳轉

原创 使用useReducer + useContext 代替 react-redux

一. 概述 在 React16.8推出之前,我們使用react-redux並配合一些中間件,來對一些大型項目進行狀態管理,React16.8推出後,我們普遍使用函數組件來構建我們的項目,React提供了兩種Hook來爲函數組件提供狀態支持,

原创 Vue3.2語法糖使用總結

Vue3.2語法糖使用總結 一. 概述 在Vue2時期,組件裏定義的各類變量、方法、計算屬性等是分別存放到data、methods、computed等選項裏,這樣編寫的代碼不便於後期的查閱,查找一個業務邏輯需要在各個選項來回切換。vue3.

原创 WebDriver+Selenium實現瀏覽器自動化 環境準備 開發 總結 參考

前言 Selenium是一款可以自動化操作瀏覽器的開源項目,最初的目的是瀏覽器功能的自動化測試,但是隨着項目的發展,人們根據它的特性也用來做一些更多的有意思的功能而不僅僅是UI的自動化測試工具。就像Selenium官方網站上描述的那樣,Se

原创 GCD的dispatch_get_specific與dispatch_queue_set_specific

概述 GCD是一個多核編程的解決方案。它主要用於優化應用程序以支持多核處理器。 GCD介紹 要理解GCD的使用就必須先知道GCD中的任務和隊列的概念: 任務 任務即執行操作的意思,換句話說就是你在線程中執行的那段代碼。在 GCD 中是放在

原创 【譯】Vite vs Webpack

Vite 或 Vue CLI:選擇哪一個 隨着 Vue 生態系統的成熟,已經引入了許多新技術。雖然一些開發人員可能從一個普通的 JavaScript 文件開始,並在頁面中包含 Vue。但隨着時間的推移,在開發 Vue 應用程序時,使用打包工

原创 SVG 學習筆記

SVG 簡介 SVG(Scalable Vector Graphics):可縮放矢量圖形,是一種基於 XML 的用於描述二維矢量圖形的圖形格式。SVG 由 W3C 制定,是一個開放標準。SVG 嚴格遵從 XML 語法,並用文本格式的描述性語

原创 聊聊哈希表

概述 哈希表名字源於 Hash,也可以叫作散列表。哈希表是一種可以根據鍵(Key)直接訪問數據在內存儲存位置的數據結構。它通過計算出一個鍵值的函數,將所需查詢的數據映射到表中一個位置來讓人訪問,這加快了查找速度。這個映射函數稱哈希函數也叫散

原创 密碼學之DH祕鑰交換協議 Diffie-Hellman 密鑰交換 (DHKE) 協議

密碼學之DH祕鑰交換協議 DH祕鑰交換協議簡介 普遍大家都認爲公鑰密碼體制是迪菲(W.Diffie)和赫爾曼(E.Hellman)發明的! Diffie-Hellman:一種確保共享KEY安全穿越不安全網絡的方法,它是OAKLEY的一個

原创 Vue 3 組合式API

簡介 組合式API,是Vue 3的新功能,主要是將組件的邏輯關注點,收集在一起,提高邏輯代碼的複用率,方便複雜組件邏輯功能的理解與維護。 實現上,通過setup組件選項,整合邏輯功能,並返回,在組件模板直接使用。setup與methods、

原创 React中classnames庫使用

最近在寫React的項目中,看到之前的大佬引入的classnames組件庫,特別的實用,在此跟大家分享一下。 從名字上可以看出,這個庫是和類名有關的。官方的介紹就是一個簡單的支持動態多類名的工具庫。 classnames的引入 支持使用 n

原创 JS中0.1 + 0.2 不等於0.3 ?

例子: 你有沒有發現一個場景,在JS中對十進制數進行了一些算術計算,但它返回了一個奇怪的結果? 比如以下例子: 0.1 + 0.2 期望是等於 0.3 但顯示結果是 0.30000000000000004 6 * 0.1期望是 0.6 但