| 2023-06-26 自由接案有什麼不好? 自由接案有什麼不好? 注意:本篇為個人意見分享。我並不是認為自由接案一般來說不好。只是從我個人的觀點出發,認為自由接案在追求獨立生活方式上是很好的選擇,但不適合長遠規劃。 我已經擔任自由接案/合約工作十年,2008年至2018年。 在我的理解中,這兩個詞的區別在於自由接案者同時承接多份較小靈活的工作,而合約工則只有一個大客戶,每月計費。 不陷入上述問題的細節,我直接說自由接案/合約工的壞處就是你在出售你的時間。 時間是最稀缺的資源,金錢只是能量,可以賺取 ...
| 2023-06-26 專屬市場 專屬市場確定你的專屬市場,你的部落。那些屬於這個部落的人將努力購買你的產品,或者至少會被強烈吸引,因為它是特別為他們而製作的。 你無法提供適合每個人的服務。開始時,其中一個主要問題是將太廣泛的人群視為潛在客戶。 這使得業務過於通用,這使得它太難脫穎而出。由於你必須迎合最普遍的需求,你的產品或服務必然會過於集中。 為一個特定的專屬市場創造完美的產品。根據維基百科的定義,專屬市場是“特定產品專注的市場子集”。 這可能看起來違反直覺,因為你希望更多的人購買你製作的產品。為什麼要專注 ...
| 2023-06-26 Express Sessions Express Sessions如何使用sessions在請求之間識別用戶 預設情況下,Express請求是依序處理的,並且無法將請求相互關聯起來。除非使用某種機制來實現,否則無法知道該請求是否來自先前已執行請求的客戶端。 這就是sessions的作用。 一旦實施,您的API或網站的每個用戶將被分配一個唯一的session,這使您可以存儲用戶狀態。 我們將使用由Express團隊維護的express-session模塊。 您可以使用以下命令進行安裝 1npm install ...
| 2023-06-26 React,在元素新增至 DOM 時將焦點設定至項目 React,在元素新增至 DOM 時將焦點設定至項目如何在 React 中在元素新增至 DOM 時設定焦點? 我有一個包含簡單表單的模態對話框,其中只有一個 input 欄位,我希望當模態對話框由 React 添加到 DOM 時,該元素能夠自動獲得焦點。 我開始思考許多不同的方式來實現這樣的效果,或許使用 useEffect() 來在組件添加到 DOM 時觸發事件,或者使用 ref 屬性來創建對 DOM 元素的引用並調用其 focus() 方法。不過後來我意識到我想得太複雜了 ...
| 2023-06-26 CSS 選擇器 CSS 選擇器了解 CSS 選擇器的所有重要事項 選擇器允許我們將一個或多個聲明與頁面上的一個或多個元素關聯起來。 基本選擇器 假設在頁面上有一個 p 元素,我們想要使用黃色顯示其中的文字。 我們可以使用選擇器 p 來定位該元素,該選擇器定位頁面上所有使用 p 標籤的元素。實現我們想要的效果的一個簡單 CSS 規則如下: 123p { color: yellow;} 每個 HTML 標籤都有對應的選擇器,例如:div、span、img。 如果一個選擇器匹 ...
| 2023-06-26 字串的 trimEnd() 方法 字串的 trimEnd() 方法了解 JavaScript 字串的 trimEnd() 方法的詳情 從原始字串的末尾移除空格,並返回一個新的字串 1234'Testing'.trimEnd() //'Testing'' Testing'.trimEnd() //' Testing'' Testing '.trimEnd() //' Testing'' ...
| 2023-06-26 如何使用Node.js將圖像上傳至S3 如何使用Node.js將圖像上傳至S3在本篇文章中,我將分享如何使用Amazon Web Services提供的優秀雲端檔案存儲解決方案AWS S3來上傳圖像。 首先,安裝aws-sdk庫: 1npm install aws-sdk 在你的程式碼頂部導入它,以便在要添加文件上傳至S3功能的文件中使用它: 1import AWS from 'aws-sdk' 接下來,使用SDK來創建S3物件實例,並將其指派給s3變數: 1234const s3 = ne ...
| 2023-06-26 使用Go構建網絡爬蟲來檢測重複標題 使用Go構建網絡爬蟲來檢測重複標題在本文中,我將編寫一個小型的網絡爬蟲。我不確定我的網站是否具有良好的頁面標題以及是否存在重複的標題,因此我寫了這個小型工具來查找。 我將從編寫一個接受命令行中的起始頁面的命令開始,並跟隨任何具有原始URL為基礎的鏈接。 隨後,我將添加一個可選的標誌,以檢測網站是否具有重複的標題,這對於SEO目的可能很有用。 介紹golang.org/x/net/htmlgolang.org/x套件是由Go團隊維護的套件,但由於各種原因,它們不是標準庫的一部分 ...
| 2023-06-26 點子就像魚,三天之後都會發臭 點子就像魚,三天之後都會發臭有一句古老的義大利諺語: L’ospite è come il pesce: dopo tre giorni puzza 它可以追溯到公元前250年至公元前184年的提托·馬佐·普勞托時期。 這句話的英文翻譯為「魚和訪客三天後都發臭」,雖然不知道為什麼,這句話被歸於本傑明·富蘭克林,而富蘭克林出生於這句諺語在「舊世界」已經流行的20世紀以後。 不管怎樣! 當我說「點子就像魚」時,我指的是一旦你得到一個點子,它看起來就像是史上最偉大的東西。 我將 ...
| 2023-06-26 使用 Express 擷取 GET 查詢字串參數 使用 Express 擷取 GET 查詢字串參數查詢字串是指位於 URL 路徑之後並以問號(’?’)開頭的部分。讓我們看看如何獲取這些屬性及其值。 例如: 1?name=flavio 可以使用 & 添加多個查詢參數: 1?name=flavio&age=35 要如何在 Express 中獲取這些查詢字串值? Express 讓我們輕鬆完成,它會為我們填充 Request.query 物件: 12345678const express = require(& ...
| 2023-06-26 HTML表格 HTML表格了解HTML表格的基本工作原理。 在Web早期,表格是构建布局的重要组成部分。 后来,表格被CSS及其布局功能取代,如今我们有强大的工具,如CSS Flexbox和CSS Grid来构建布局。现在,表格只用于构建表格! table标签使用table标签定义表格: 123<table></table> 在表格内定义数据。我们按行来思考,这意味着我们将行添加到表格中(而不是列)。我们在行内定义列。 行使用tr标签添加行,这是我们可以将其添加到 ...
| 2023-06-26 Python 裝飾器 Python 裝飾器裝飾器是一種改變、增強或以任何方式修改函數運作方式的方法。 使用裝飾器可以在函數定義之前使用@符號以及裝飾器名稱來定義裝飾器。 例如: 123@logtimedef hello(): print('hello!') 這個 hello 函數有一個被指定為 logtime 的裝飾器。 每當我們呼叫 hello() 時,裝飾器會被呼叫。 裝飾器是一個接受函數作為參數的函數,它將函數包裝在一個執行特定任務的內部函數中,然後返回該內部函數 ...
| 2023-06-26 Streams API(流式API) Streams API(流式API)使用流式API,我們可以在第一個位元抵達時,立即從網路或其他來源接收資源並處理它。 不必等待資源完全下載後再使用它,可以立即開始處理。 什麼是流? 首先遇到的例子是載入YouTube視頻 - 在您開始觀看它之前,您不必完全載入它。 或者是直播,您甚至不知道內容何時結束。 內容甚至不必結束,它可以無限生成。 Streams API(流API) Streams API允許我們處理這種類型的內容。 我們有兩種不同的流模式:從流程讀取和寫入流程。 ...
| 2023-06-26 Linux 命令:diff Linux 命令:diff快速指南:使用 diff 命令比较文件和目录 diff 是一个方便的命令。假设你有两个文件,它们包含了几乎相同的信息,但你无法找出它们之间的差异。 diff 命令将处理这两个文件,并告诉你它们的不同之处。 假设你有两个文件:dogs.txt 和 moredogs.txt。它们的差异在于 moredogs.txt 包含了更多的狗名: diff dogs.txt moredogs.txt 将告诉你第二个文件多了一行,第三行的内容是 Vanille: 如果 ...
| 2023-06-26 JavaScript 中的 map() 函式 JavaScript 中的 map() 函式JavaScript 中的 map() 函式細節 在函數式編程中,map() 是陣列中的關鍵方法。 以下是一個例子,它遍歷陣列 a,並根據執行 f() 來建立一個新的陣列: 1const b = a.map(f); 我們可以使用 map() 函式來從初始陣列中建立一個新的陣列,並使用 filter() 函式對結果進行過濾。以下是一個簡單的例子,它建立一個新的陣列來獲取 list 陣列中每個項目的第一個字母,並過濾出與 A 匹配的項 ...
| 2023-06-26 如何使用Netlify Edge功能 如何使用Netlify Edge功能Netlify Edge功能是Netlify提供的一個非常有趣的功能,Netlify是一個流行的托管平台。 這個功能非常有趣,因為雖然Netlify以靜態托管聞名,但Edge功能允許您進行一些不太靜態的操作。 讓我們可以做到以下這些事情: 地理定位 本地化 A/B測試 重定向 …等等 它們與Netlify Serverless功能類似,只不過它們運行在Netlify邊緣(Edge)上,這意味著它們更接近用戶並在多個CDN位置運 ...
| 2023-06-26 新网站和重新设计 新网站和重新设计几天前,我醒来时想到将我的网站flaviocopes.com从Hugo迁移到Astro。 我只花了一天的时间,还设计了一个全新的主题。 在这封邮件中,我将详细介绍这个过程和决策,希望对你有所帮助。 如果你不知道Astro,它是一个非常酷的网站构建工具。我最近创建的许多新网站都在使用它。我想这么做已经有几个月了,但我一直在抗拒,并且还有很多其他更重要的事情要做。 在处理我的网站时,最重要的指标对我来说是DX,即开发人员体验,也就是说我不想使用糟糕的工具。 Ast ...
| 2023-06-26 如何在 Node.js 中清空文件夾 如何在 Node.js 中清空文件夾如何在 Node.js 腳本中刪除文件夾中的所有文件 我需要在 Node.js 腳本中刪除文件夾中的所有文件。 我尋找了最佳解決方案,結果發現可以使用 fs-extra 库。 先安裝它: 1npm install fs-extra 然后導入該庫: 1import fsExtra from 'fs-extra' 最後使用 emptyDirSync() 方法,如下所示: 123const folder = '. ...
| 2023-06-26 Linux指令:mv Linux指令:mv快速指南mv命令,用於移動文件和文件夾 一旦你有了一個文件,你可以使用“mv”命令將其移動。您需要指定文件的當前路徑和新路徑: 12touch testmv pear new_pear “pear”文件現已移動到“new_pear”。這是如何重命名文件和文件夾的方法。 如果最後一個參數是一個文件夾,則位於第一個參數路徑的文件將被移動到該文件夾中。在這種情況下,您可以指定一個文件列表,它們將全部移動到由最後一個參數識別的文件夾路徑中: 1234touc ...
| 2023-06-26 JavaScript,如何刪除多個換行符 JavaScript,如何刪除多個換行符我有一個字符串,發現它有連續的換行符,就像這樣: 12345一段話...另一段話...另一段話... 但我希望它只有一個換行符: 12345一段話...另一段話...另一段話... 以下是我使用的方法來獲得我想要的結果: 1text = text.replace(/[\r\n]{2,}/g, '\n\n') 如果正則表達式對你來說是個謎,請參考我的正則表達式指南。 tags: [“JavaS ...
| 2023-06-26 Linux 命令: ln Linux 命令: ln快速指南 ln 命令,用於在文件系統中創建連結 ln 命令是 Linux 文件系統命令的一部分。 它用於創建連結。什麼是連結?類似於指向另一個文件的指針。一個文件指向另一個文件。你可能對 Windows 快捷方式比較熟悉。它們很相似。 我們有兩種類型的連結:硬連結和軟連結。 硬連結硬連結很少使用。它們有一些限制:你不能連結到目錄, 也不能連結到外部文件系統(磁盤)。 使用以下命令來創建硬連結: 1ln <原始文件> <連結文件> ...
| 2023-06-26 Next.js,在開發模式下新增功能 Next.js,在開發模式下新增功能如何在開發模式下使功能可用,而在生產環境中隱藏它們 我工作的一些網站/應用程序有2種模式,一種是開發模式,另一種是生產模式,即上線版本。 使用Next.js,我發現通過檢查process.env.NODE_ENV的值來實現這一點非常容易,當使用npm run dev運行時,它的值設置為'development'。 因此,我可能有一個不應該對外公開的API路由,我在其頂部添加以下代碼: 1if (process.en ...
| 2023-06-26 Next.js vs Gatsby vs create-react-app Next.js vs Gatsby vs create-react-appNext.js或Gatsby?為什麼要選擇它們而不是create-react-app?而你又應該選擇哪一個呢? create-react-app無法輕鬆地幫助您生成伺服器端渲染的應用程式。它所提供的一切(包括SEO、速度等等),只能由像Next.js和Gatsby這樣的工具提供。 Next.js比Gatsby更適合的時機是什麼? 它們都可以幫助實現伺服器端渲染,但方式不同。 使用Gatsby的結果是一個 ...
| 2023-06-26 Python 簡介 Python 簡介Python 程式語言介紹系列 Python 正在吞噬著整個程式設計世界。它正以一種史無前例的方式在流行度和使用上不斷成長。 Python 在各種場景中都表現出色,既能用於「Shell 腳本」、「任務自動化」,也適用於「網頁開發」等基本應用。 Python 是「數據分析」和「機器學習」的首選程式語言,同時也能用於遊戲開發和嵌入式設備工作。 更重要的是,它是世界各地大學入門的「計算機科學課程」中的首選程式語言。 許多學生將 Python 作為他們的第一個程式語 ...
| 2023-06-26 如何使用Python的map() 如何使用Python的map()Python提供了三个非常有用的全局函数,我们可以用来处理集合:map()、filter()和reduce()。 提示:有时使用列表推导更加合适,而且通常被认为更加“Pythonic”。 map()用于对可迭代的项(如列表)中的每个项运行一个函数,并创建一个具有相同数量项的新列表,但每个项的值可以更改。 下面是一个使用map()将列表中的每个项加倍的示例: 123456numbers = [1, 2, 3]def double(a): ...
| 2023-06-26 Node事件模組 Node事件模組Node.js的events模組提供了EventEmitter類別 events模組為我們提供了EventEmitter類別,這是在Node中處理事件的關鍵。 我在這篇完整的文章中發布了更多詳細內容,所以在這裡我僅描述API而不提供進一步的用例。 12const EventEmitter = require('events')const door = new EventEmitter() 事件監聽器也使用這些事件: newListene ...
| 2023-06-26 前端測試入門 前端測試入門如何使用 Mocha 和 Chai 開始測試前端應用程式 警告:本篇文章已經過時,可能無法反映目前的最新技術狀態 Mocha 是一個強大且多功能的測試工具。市面上有很多測試框架,而我選擇 Mocha 是因為它的流行程度和易用性。 讓我們首先看看如何在瀏覽器中運行測試。下載以下文件: https://github.com/visionmedia/mocha https://github.com/chaijs/chai https://github.com/ch ...
| 2023-06-26 如何從 JavaScript 陣列中移除重複值 如何從 JavaScript 陣列中移除重複值給定一個陣列,你該如何將其中的重複值移除? 假設你有一個包含一系列基本值的陣列,例如數字或字串。 其中一些元素是重複的。 就像這個例子中: 1const list = [1, 2, 3, 4, 4, 3] 我們可以使用以下方式產生一個新的陣列,其中不包含重複的值: 1const uniqueList = [...new Set(list)] 現在,uniqueList 將成為一個新的陣列,其中包含值 [1, 2, 3, 4]。 ...
| 2023-06-26 如何在JavaScript中檢查對象是否為空 如何在JavaScript中檢查對象是否為空了解如何檢查變量是否等於空對象 假設你想要檢查一個變量是否等於空對象,可以使用對象字面語法創建空對象: 1const emptyObject = {} 你要如何做到呢? 使用Object.entries()函數。 它會返回一個包含對象可枚舉屬性的數組。 使用方式如下: 1Object.entries(objectToCheck) 如果返回一個空數組,則表示該對象沒有任何可枚舉屬性,從而意味著它是空的。 1Ob ...
| 2023-06-26 RGB 色碼 RGB 色碼一個整理了 RGB 色碼的表格,這些色碼很有用但很難記住。你可以透過色碼找到對應的顏色,或是相反地透過顏色找到對應的色碼。 快速找到 RGB 色碼的組合。 顏色 名稱 #RRGGBB (十六進位碼) R,G,B (十進位碼) maroon #800000 (128,0,0) darkred #8B0000 (139,0,0) brown #A52A2A (165,42,42) firebrick #B22222 (178,34,34 ...
| 2023-06-26 使用 Electron 和 React 創建應用程式 使用 Electron 和 React 創建應用程式使用 create-react-app 建立 Electron Node.js 桌面應用程式的方法 2021 更新: 我強烈建議使用 electron-react-boilerplate 取代本文所述的方法 如果尚未安裝 Node.js,請先安裝 轉到開發資料夾 建立 React 應用程式 加入 Electron 安裝 foreman 以允許從命令列執行應用程式 安裝 create-react-app 的相依性 配置 ...
| 2023-06-26 如何解決 macOS 中的 xcrun invalid active developer path 錯誤 如何解決 macOS 中的 xcrun invalid active developer path 錯誤使用命令行快速解決這個煩人的問題 最近在將我 macOS 版本更新為 Catalina 後遇到了這個問題。 當我試圖通過 Homebrew 更新 Hugo 時,觸發了這個錯誤: 1xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun a ...
| 2023-06-26 使用jQuery還是React? 使用jQuery還是React?總結一下,這要視情況而定! 首先,你可能根本不需要使用jQuery,只需要使用Web平台的API就可以了,但這是另一個話題。 現在讓我們來專注於這個問題。你應該使用jQuery還是React呢? 我的回答是這樣的。如果你正在構建單頁應用程序(SPA),React是明顯的選擇。React就是為此而建立的,它會負責生成視圖並在頁面上渲染元素,而不需要你考慮DOM(也就是如何在頁面上呈現內容的細節)。 React採用聲明式的方法,使用它你可以在更高的 ...
| 2023-06-26 如何在 CSS 中對多行文本應用填充 如何在 CSS 中對多行文本應用填充我將介紹如何使用 box-decoration-break CSS 屬性對多行文本進行填充。 在重新設計部分博客時,我需要對每個博客標題的每行添加一些填充。以下是我的 HTML 代碼: 123<h1 class="post-title"> <span>{{ .Title }}</span></h1> 然後,我添加了以下 CSS: 1 ...
| 2023-06-26 Redis 列表 Redis 列表列表是一組相互關聯的鍵-值對。 LPUSH 和 RPUSH 是用於操作列表的兩個命令。 你可以使用命令 LPUSH <listkey> <value> 創建第一個項目。 例如: 1LPUSH names "Flavio" 然後後續項目可以添加到列表的底部:RPUSH <listkey> <value>,或者使用 LPUSH <listkey> <value> 添加到列 ...
| 2023-06-26 JavaScript 中如何使用 async/await JavaScript 中如何使用 async/await了解在 JavaScript 中使用异步函数的现代方法。 JavaScript 在很短的时间内从回调函数演变为 Promises,而自从 ES2017 以来,使用 async/await 语法的异步 JavaScript 变得更加简单。 介绍 为什么引入 async/await? 它是如何工作的 一个简单的示例 Promises 全覆盖 代码更易读 串行多个异步函数 更容易调试 介绍Ja ...
| 2023-06-26 Linux 命令:find Linux 命令:find快速指南,介紹用於在文件系統上查找文件和文件夾的 find 命令。 find 命令用於查找與特定搜索模式匹配的文件或文件夾。它可以遞歸搜索。 讓我們通過例子來學習它。 查找當前目錄下具有 .js 擴展名的所有文件,並打印每個匹配文件的相對路徑: 1find . -name '*.js' 重要提示:使用引號引起來處理特殊字符,例如 *,以避免shell解釋它們。 查找當前目錄下名稱為 “src” 的目錄: 1find . -typ ...
| 2023-06-26 應對火焰 應對火焰火焰存在時真讓人興奮,否則我就無法在不燒壞的情況下進行創造性和有成果的工作。那麼,什麼是火焰呢? 我訂閱了Paul Jarvis的電子報,他是一本出色的 Company of One 書的作者。在最近的一封電子郵件中,他提到了火焰: […] 有些日子我覺得我可以很努力地推進[…] 我稱之為火焰。當我擁有火焰時,我可以通過艱難的運動或者完成我正在寫的內容找到動力。火焰給了我能量、動力和決心。 我非常能感受到這個概念。在擁有火焰的日子裡,我可以連續寫5篇博客文章,並且 ...
| 2023-06-26 在 Next.js 中使用路由器設置動態內容 在 Next.js 中使用路由器設置動態內容如何在 Next.js 網站中設置動態內容? 在使用 Link 在 Next.js 中連接兩個頁面文章中,我們看到了如何將主頁連接到博客頁面。 博客是 Next.js 的一個很好的用例,我們將在本章中繼續探索,並添加博客文章。 博客文章有動態的 URL,例如標題為“Hello World”的文章可能具有 URL /blog/hello-world,標題為“我的第二篇文章”的文章可能具有 URL /blog/my-second-pos ...
| 2023-06-26 C 結構體 C 結構體C 結構體介紹 使用 struct 關鍵字,我們可以使用基本 C 型別來創建複雜的數據結構。 結構體是一個不同型別值的集合。在 C 語言中,數組 的型別是固定的,所以在很多情況下結構體會變得非常有趣。 以下是結構體的語法: 123struct <structname> { //...variables}; 例子: 1234struct person { int age; char \*name;}; 你可以通過 ...
| 2023-06-26 Linux介紹 Linux介紹Linux是一個作業系統,就像macOS或Windows一樣。 它也是最受歡迎的開源和自由軟體作業系統。 它在構成互聯網的絕大多數服務器上運行。它是一切建立的基礎。但不僅如此,Android也是基於(修改過的)Linux。 Linux的「核心」(稱為核心)於1991年在芬蘭誕生,從其謙卑的開始開始發展。它成為GNU作業系統的核心,創建了GNU/Linux這個二元組。 Linux有一點是微軟和蘋果,或者谷歌這樣的公司永遠無法提供的:你可以隨心所欲地對電腦 ...
| 2023-06-26 C中的靜態變數 C中的靜態變數如何在C中使用靜態變數 在函數內部,您可以使用static關鍵字來初始化靜態變數。 “在函數內部”關鍵字是因為全局變數默認為靜態變數,所以不需要添加關鍵字。 那什麼是靜態變數呢?靜態變數如果沒有指定初始值,則初始化為0,並且在函數調用之間保留其值。 考慮以下函數: 12345int incrementAge() { int age = 0; age++; return age;} 如果我們只調用incrementAge()一次,則返回值 ...
| 2023-06-26 lifestyle-business 建立一個生活方式業務 這篇文章將幫助您找到實現自由的方法。 簡介 起步 自己的目標 所學都可重複使用 正確的觀點 多重身份 別害怕 願意改變 簡介您要創業嗎? 您是否想要: 獨立工作? 創建一個在線業務,而無需實體辦公室? 利用互聯網銷售產品? 您是否看重自由和靈活性而不是僅僅獲利? 通過一個有利潤的生活方式業務,您可以: 自己設定工作時間。 沒有老闆。 沒有需要負責的人。 不需要為任何事情徵求許可。 無需到特定地點工作。 每天都能決定該做什麼,以及要做多久。 在財 ...
| 2023-06-26 Linux命令:traceroute Linux命令:traceroute快速指南:traceroute命令,用於列出到達主機的所有節點。 當您嘗試在互聯網上訪問主機時,您通過家用路由器,然後通過您的ISP網絡,該網絡又通過自己的上游網絡路由器,依此類推,直到最終到達主機。 您曾經想過知道您的數據包穿越的步驟是什麼嗎? 這就是traceroute命令的用途。 您可以調用以下命令: 1traceroute <主機> 它將(緩慢地)收集所有信息,而數據包在旅行過程中。 在此示例中,我嘗試使用tracer ...
| 2023-06-26 JavaScript 函数参数 JavaScript 函数参数学习 JavaScript 函数参数的基础知识。 函数可以接受一个或多个参数。 1234567891011const dosomething = () => { //做些事情}const dosomethingElse = foo => { //做些事情}const dosomethingElseAgain = (foo, bar) => { //做些事情} 从 ES ...
| 2023-06-26 如何使用useMemo React hook 如何使用useMemo React hook了解useMemo React hook的用途,以及如何使用它! 如果你對React Hooks還不太熟悉,請先看看我的React Hooks介紹。 有時我會使用一個React Hook叫做useMemo。 1import React, { useMemo } from 'react' 這個hook用於創建一個儲存的值。 這個hook和useCallback非常相似,不同之處在於use ...
| 2023-06-26 如何從 JavaScript 陣列中移除項目 如何從 JavaScript 陣列中移除項目在 JavaScript 中,有很多方法可以從陣列中移除項目。學習使用官方推薦的方式,並瞭解其他可以選擇的選項。 以下是一些使用 JavaScript 移除陣列項目的方法。 所有下列方法都不會改變原始陣列,而是創建一個新的陣列。 如果你知道項目的索引假設你有一個陣列,想要移除位於索引 i 的項目。 一種方法是使用 slice(): 1234const items = ['a', 'b', &# ...
| 2023-06-26 Tailwind Cheat Sheet(尾巴風速查表) Tailwind Cheat Sheet(尾巴風速查表)記錄了在Tailwind中常用的CSS屬性及其對應的class,希望能夠幫助大家快速查找和使用。 我寫這份速查表是因為我經常需要參考Tailwind文檔來記住特定的class(我剛開始使用,還沒有肌肉記憶)。 以下是我最常使用的一些內容: Margin and Padding(外邊距和內邊距) margin: 0 auto(水平居中) Width(寬度) Max Width(最大寬度) Min width(最小寬度 ...
| 2023-06-26 什麼是 Node 模組中的對等依賴? 什麼是 Node 模組中的對等依賴?對 package.json 文件中的 peerDependencies 字段進行簡單解釋 在一些 package.json 文件中,你可能會看到以下幾行代碼: 123456{ //... "peerDependencies": { "libraryName": "1.x" }} 你可能已經看過 dependencies 和 devDepe ...
| 2023-06-26 選擇器 API:querySelector 和 querySelectorAll 選擇器 API:querySelector 和 querySelectorAll使用 querySelector 和 querySelectorAll 訪問 DOM 元素。它們接受任何 CSS 選擇器,所以現在您不再受限於僅通過 id 選取元素 介紹 選擇器 API 基本的從 jQuery 到 DOM API 的範例 通過 id 選取 通過 class 選取 通過標籤名選取 更高級的從 jQuery 到 DOM API 的範例 選取多個項目 通過 HTML 屬性值選取 ...