博客 / 列表

尼羲 - 前端項目Typescript中的d.ts和.ts

TypeScript項目中,.d.ts(類型聲明文件)和普通.ts文件兩種文件都可以定義ts類型。 不過,在功能和使用場景上有顯著區別,全局類型的聲明則需要遵循特定規範。以下是詳細解析: 一、.d.ts與普通.ts文件的區別 特性

第三方庫 , 作用域 , yyds乾貨盤點 , Vue , 前端開發 , typescript

尼羲 - webpack配置publicPath無效問題

背景 項目使用vue-cli-service@4打包一個bundle.js; 希望bundle引用的文件使用cdn,但是發現publicPath設置無效: 我們打印了最終生成的webpack config // 打印 config api.configureWebpack(config = { console.log('hyh

yyds乾貨盤點 , 搜索 , 自定義 , bundle , webpack , 前端開發

尼羲 - 如何在Linux中修改密碼過期時間

Linux 下的 chage 命令用於修改用户密碼的過期時間信息。它允許管理員設置密碼過期策略,確保用户定期更改密碼以提高安全性。 基本語法 Change 命令基本語法如下: chage [options] [user] 下面是一些使用 chage 命令時最常用的選項: -d,--lastday: 設置最後一次修改密碼的日

密碼修改 , 服務器 , yyds乾貨盤點 , Lync , 密碼過期 , 修改密碼

尼羲 - 什麼是Promise,js的同步與異步

Promise 的出現主要是為了解決 JavaScript 中異步操作的處理問題。在傳統的 JavaScript 中,異步操作通常使用回調函數來處理,但這種方式會導致代碼嵌套層級過深,可讀性差,而且容易產生回調地獄(callback hell)的情況,降低了代碼的可維護性和可理解性。 簡單的説法:它就像是一種特殊的承諾,用來解決 JavaScript 中的異步問題, 想象一

yyds乾貨盤點 , 回調函數 , 異步操作 , 前端開發 , 錯誤處理 , Javascript

尼羲 - 前端處理大量連續請求

前端在發送請求之後,在等待請求返回的時候處於空閒狀態,僅對這個請求來講,不需要處理任何事情。將處理請求結果的函數放到微任務隊列裏面,等請求返回之後再進行處理,就可以將這段時間釋放,去做其他事情。使用這種方式發送多個請求,就可以實現併發的效果。 如果一個頁面內的請求數量過多,請求的規模變大,就需要建立一個管理請求的隊列,統一管理請求的發送和處理。目前主流的處理方案類似下面的代

github , yyds乾貨盤點 , 調用函數 , i++ , 前端開發 , Javascript

尼羲 - Webpack自定義Loader

我們知道 webpack 只能處理 JavaScript 和 Json 文件,面對 CSS、圖片等資源是無能為力的,它需要通過 loader 將這些資源轉換為可處理的模塊。 loader 的本質是一個解析資源的函數模塊,該函數對接受到的內容進行轉換,然後返回 webpack 可處理的資源。 loader的執行順序 loader 可根據執行順序區分為:

執行順序 , yyds乾貨盤點 , webpack , Css , 前端開發 , babel

尼羲 - vue3使用mitt做事件管理

註冊mitt main.ts註冊 import { createApp } from 'vue'; import App from './App.vue'; // 導入mitt import mitt from 'mitt'; const app = createApp(App); app.config.globalProperties.$mitt =

vue.js , 匿名函數 , yyds乾貨盤點 , app , 監聽器 , 前端開發

尼羲 - canvas畫餅狀圖

用HTML5的canvas畫一個餅狀圖,開始吧! 第一步:設置畫布的寬高 const canvas = document.getElementById("canvas"); const context = canvas.getContext("2d"); //設置畫布的寬高 canvas.width = 831; canvas.height =

搜索引擎 , yyds乾貨盤點 , 寬高 , Math , 前端開發 , Javascript

尼羲 - canvas畫板之畫筆的多種效果

基礎單色 畫筆的基礎實現,除了點與點之間的連接,還需要注意兩點 首先是在鼠標移動時計算當前移動的速度,然後根據速度計算線寬,這個是為了實現鼠標移動快,線寬就變窄,移動慢,線寬就恢復正常這個效果 為了避免直線連接點效果不好,我會採用貝塞爾曲線進行連接 /** * 鼠標移動時添加新的座標 * @param positi

yyds乾貨盤點 , 鼠標移動 , 二維 , i++ , 前端開發 , Javascript

尼羲 - Docker 的打包及基本使用

Docker 的打包及基本使用 Docker的打包是將應用程序及其依賴項封裝到一個容器中,以便在任何支持Docker的環境中運行。 本教程將詳細介紹如何通過Dockerfile打包應用程序,並基本使用Docker容器。 Docker 打包 創建 Dockerfile Dockerfile是一個文本文件,包含了一系列指令,用於自動化構建Dock

yyds乾貨盤點 , 雲計算 , dockerfile , Docker

尼羲 - electron-builder打包配置説明

我們一般使用electron-builder對electron項目進行打包,在package.json中配置打包的詳細操作 pnpm install electron-builder -D package.json中的詳細字段解釋: "build": { "appId": "your.id", // 應用的唯一ID

ico , 快捷方式 , yyds乾貨盤點 , 安裝程序 , 前端開發 , Javascript

尼羲 - typescript - 裝飾器與註解

概念 裝飾器本身就是u一種特殊的函數,被用於類的各個屬性(類本身、類屬性、類方法、類訪問器、類方法的參數)/u,裝飾器就像高階函數一樣,對目標做了一層中間操作,可以很簡潔的無痛修改一些功能和做一些有趣的功能 一個小例子: // 日誌打印(只做代碼演示,運行時機有出入) function logger(key: string): any { retu

yyds乾貨盤點 , 加載 , 元數據 , JAVA , 前端開發 , typescript

尼羲 - 從 Redux 源碼談談函數式編程

Redux 屬於典型的“百行代碼,千行文檔”,其中核心代碼非常少,但是思想不簡單,可以總結為下面兩點: 全局狀態唯一且不可變(Immutable) ,不可變的意思是當需要修改狀態的時候,用一個新的來替換,而不是直接在原數據上做更改: let store = { foo: 1, bar: 2 }; // 當需要更新某個狀態的時候 // 創建

初始狀態 , 封裝 , yyds乾貨盤點 , 高階函數 , 前端開發 , React.js

尼羲 - html2canvas:將dom轉換為畫布

以下是依賴於html2canvas生成的海報效果,親測有效 以一張背景圖+二維碼的佈局為例 html部分: div class="container" div class="share-img" img style="width: 300px; height: 300px" :src="imgUrl" alt="分享圖" /

yyds乾貨盤點 , 二維碼 , ios , 前端開發 , HTML , Javascript

尼羲 - 如何使用 Linux ping 命令

什麼是 Ping 命令? Ping (Packet Internet Groper) 是一個命令行實用程序,用於測試 IP 網絡中兩台主機之間的連通性。它通過發送 Internet Control Message Protocol (ICMP) 來運行。Echo 向目標主機發送請求消息並等待 Echo 回覆。從發送到接收回復所花費的時間是可以測量的,並提供

命令行 , 服務器 , yyds乾貨盤點 , ip , Lync , Internet

尼羲 - 什麼是動態數據脱敏?

動態數據脱敏(DDM)動態更改返回給應用程序或用户的數據庫記錄,以此來實時保護敏感數據,且不會更改靜態數據。 DDM 與靜態數據脱敏(SDM)不同。SDM 創建原始數據永久更改、不可逆轉的副本,而 DDM 則是在訪問時對數據進行即時修改。這種動態方法可確保敏感數據在查詢執行過程中受到保護,而不會改變靜態的基礎數據。 (一)應用場景 SDM 的主要應用場景

yyds乾貨盤點 , 數據 , MySQL , 數據庫 , 敏感數據