| 2023-06-26 GraphQL API vs REST API GraphQL API vs REST API主要介紹了REST與GraphQL之間的差異以及在什麼情況下使用其中之一。 由於REST是建立API的一種常用方法,比GraphQL更為廣泛使用,所以可以假設你對其相當熟悉,現在讓我們看看GraphQL和REST之間的差異。 REST是一種概念REST是一種事實上的架構標準,但沒有具體的規範,有許多非官方定義。而GraphQL有一個規範草案,它是一個查詢語言,而不是一種架構,其周圍建立了一套明確的工具集(和一個蓬勃發展的生態系統) ...
| 2023-06-26 電子元件:伺服馬達 電子元件:伺服馬達伺服馬達是一種可以設定旋轉到超過180度位置的馬達。 它可以在許多需要運動的實用應用中使用。有多種不同大小的伺服馬達。 我們常用的(Arduino、電池供電應用)被稱為微型伺服馬達或遙控伺服馬達,像是SG90: 和MG90S: 我提到的這兩款以相同的方式運作。 你可以在這裡看到一個裝有多個MG90S的機械臂: 伺服馬達通常會附帶多種不同的角錐,你可以將它們附著在上面,就像我拿到的這3個: 根據你需要用它做的事情,你可以選擇使用哪一個: 我們有3 ...
| 2023-06-26 JavaScript 循環與作用域 JavaScript 循環與作用域JavaScript 有一個特性可能會給開發者帶來一些困擾,那就是與循環和作用域相關的問題。 讓我們來看一個例子: 1234567891011const operations = []for (var i = 0; i < 5; i++) { operations.push(() => { console.log(i) })}for (const operation of operation ...
| 2023-06-26 如何安裝 Next.js 如何安裝 Next.js這是一個關於如何安裝 Next.js 的逐步指南。 要安裝 Next.js,您需要先安裝 Node.js。 請確保您已經安裝了最新版本的 Node.js。在終端機中輸入 node -v,並將其與 https://nodejs.org/ 上列出的最新 LTS 版本進行比較。 安裝完 Node.js 後,您將可以在命令行中使用 npm 命令。 如果在這個階段遇到任何問題,我建議您參考以下我為您撰寫的教程: 如何安裝 Node.js 如何更新 Node.j ...
| 2023-06-26 介紹 ES 模組 介紹 ES 模組ES 模組是 ECMAScript 的模組化標準。儘管 Node.js 已經使用 CommonJS 標準多年,但瀏覽器從未擁有模組系統,因為關鍵的決策,如模組系統,必須首先由 ECMAScript 標準化,然後由瀏覽器實現。 這個標準化過程於 ES6 完成,瀏覽器開始實現這個標準,盡力保持一切保持協調,以相同的方式工作,現在 ES 模組在 Chrome、Safari、Edge 和 Firefox(版本 60 以後)中得到支援。 模組非常強大,因為它可以將各種功 ...
| 2023-06-26 電子基礎知識:電流 電子基礎知識:電流電流是在兩個電壓不同的點之間的電子流動。 它以安培(A)為單位進行測量。 我們有2種類型的電流:交流電流(AC)和直流電流(DC)。 有人聽 AC/DC 嗎? 在直流電流(DC)中,電流只會在一個方向上流動,這是由電池產生的電流類型。 在交流電流(AC)中,電流會週期性地改變方向,這是我們連接到家中插座的電網所提供的電流。 這兩種不同類型的電流具有非常不同的特性,它們允許非常不同的用途和應用。 例如,直流電流不適合長距離傳輸電流,我們使用交流電 ...
| 2023-06-26 Python巢狀函式 Python巢狀函式在Python中,函式可以嵌套在其他函式內。 在函式內定義的函式僅在該函式內部可見。 這對於創建對於函式有用但對於其他地方無用的工具非常有用。 也許你會問:如果它對其他地方無害,為什麼我要“隱藏”此函式? 首先,因為最好隱藏僅限於函式內部且其他地方無用的功能。 此外,我們還可以利用閉包(稍後會介紹)。 這是一個示例: 123456789def talk(phrase): def say(word): print(word) wor ...
| 2023-06-26 JavaScript new 運算子 JavaScript new 運算子學習 JavaScript new 運算子的基本用法 JavaScript 的 new 運算子用於建立一個新的物件。 使用 new 關鍵字後接物件類別的名稱,便可建立該類別的新物件: 1const date = new Date(); 如果物件建構函式接受參數,我們可以將參數傳遞給它: 1const date = new Date('2019-04-22'); 假設有一個物件建構函式如下: 1234function ...
| 2023-06-26 Arduino專案:讀取數位輸入 Arduino專案:讀取數位輸入在這個專案中,您將學習使用digitalRead()函數從數位I/O腳位讀取數據。 Arduino Uno板上的數位I/O腳位通常位於USB連接埠一側並可能在腳位上有標示為數位的標籤,就像我的情況一樣: 這些腳位的編號從0到13,但除非沒有足夠的腳位,否則您幾乎不會使用腳位0和1,因為它們用於串列通信(請參閱印刷在腳位上的rx和tx標籤)。 首先,我們將建立電路,然後轉到電腦上的Arduino IDE。 這個電路非常簡單。 ...
| 2023-06-26 鏈接中的井號(#)有什麼作用? 鏈接中的井號(#)有什麼作用?在開發網頁時,您可能會見到類似以下的鏈接: 1<a href="#">功能</a> 這裡的 href="#" 是一個佔位符。該鏈接不會指向任何特定的地方。 有時這表示應用程序正在進行中,我們稍後會填寫該鏈接的 href 屬性。 其他情況下,您可能會見到以下類似的鏈接: 1<a href="#features">功能</a> 這種情況下, ...
| 2023-06-26 Express, 一個流行的 Node.js 框架 Express, 一個流行的 Node.js 框架Express 是一個用於 Node.js 的 Web 框架。Node.js 是一個用於構建網絡服務和應用程序的神奇工具。Express 基於其功能提供了易於使用的功能,以滿足 Web 服務器用例的需求。 Express 簡介 安裝 Hello World 通過理解 Hello World 代碼來學習 Express 的基本知識 請求參數 發送響應 發送 JSON 響應 使用 end() 發送空響應 更改任何 HTTP 標頭 ...
| 2023-06-26 JavaScript範圍 JavaScript範圍學習JavaScript範圍的基礎知識 範圍是一組定義在編程語言中以確定變量值的規則。 JavaScript使用詞法範圍,這意味著變量的值由其在被寫入時的位置所定義,而不是在其被調用時,這是與另一種替代方式動態範圍不同的事情。 範圍是對程序的部分可見的變量集合。 我們有全局範圍,區塊範圍和函數範圍。如果一個變量在函數或區塊外部定義,它將附加到全局對象並具有全局範圍,這意味著它在程序的每個部分都可用。 var,let和const聲明之間有一個非常重要的區 ...
| 2023-06-26 介紹 Electron 介紹 Electron了解 Electron,這是由 GitHub 開發的跨平台框架,用於建立創新且非常受歡迎的跨平台應用程式。 Electron 是一個使用 JS、HTML 和 CSS 來建立跨平台桌面應用程式的免費開源工具,由 GitHub 開發。 許多非常受歡迎且成功的應用程式都使用了 Electron,包括 VS Code、Slack、Discord 等等。 Electron 是一個宏大的專案,它革命性地改變了原生桌面應用程式的開發方式,使之成為可能以 JavaScr ...
| 2023-06-26 為什麼我應該建立電子郵件列表? 為什麼我應該建立電子郵件列表?100個人中有95個人永遠不會回到您的博客。他們只是偶然發現它。給他們一個原因留下來保持聯絡。 在之前的實驗室文章中,我談到了為開發人員博客進行SEO,以及有機流量是吸引人們閱讀您所言的好方法。 有這麼多從搜索引擎中來的訪問者,您打算怎麼做? 首先,忘記廣告。它不起作用,特別是當您的目標是開發人員時。我主要談PPC(付費每點擊廣告)。除非您是CSS Tricks或其他一些大型網站,否則您只會賺一些小錢。 對於開發人員有效的是: 產品 專業內容 ...
| 2023-06-26 如何使用JavaScript獲取路徑或URL的最後一個片段 如何使用JavaScript獲取路徑或URL的最後一個片段在項目開發中,我需要獲取一個路徑的最後一個片段。 這個路徑可以是檔案系統路徑,也可以是URL。 以下是我使用的JavaScript程式碼: 1const lastItem = thePath.substring(thePath.lastIndexOf('/') + 1) 這段程式碼的原理是什麼? thePath 字串包含一個路徑,例如 /Users/Flavio/Desktop。 我們使用 las ...
| 2023-06-26 如何使用Arduino連接到WiFi網絡 如何使用Arduino連接到WiFi網絡當你將Arduino連接到網絡時,與之一起建立的電子設備將變得非常酷。 讓我們來看看如何將Arduino連接到WiFi網絡。 Arduino必須具備WiFi連接功能,例如我使用的Arduino MKR WiFi 1010,或者其他Arduino Uno WiFi Rev2等。 我們將使用庫WiFiNINA。這個庫非常方便,可以讓我們連接到WiFi網絡,還可以創建WiFi網絡。 在你的Arduino sketch中加入以下代碼: 12#i ...
| 2023-06-26 如何吸引讀者到你的部落格 如何吸引讀者到你的部落格擁有一個部落格很棒,但讓人們真正閱讀你的部落格是非常滿足的事情。 然而,有個問題:你該如何讓人們閱讀你的部落格呢? 部落格流量的運作方式在當今的世界中,如果你不提供有價值且持續的內容,你將是看不見的。每天有太多東西被推送給我們。 我每天致力於網絡,大約花費30分鐘到1小時的時間。這意味著社交媒體,主要是Twitter、RSS和內容聚合器。 我總是看到同樣的人。那些非常成功的人總是持續不斷地推出優質內容。 這可能是一個鼓舞人心的推文,一篇被分享很多的優質 ...
| 2023-06-26 Web Workers Web Workers學習使用 Web Workers 在背景中運行 JavaScript 代碼的方法。 介紹 Web Workers 的瀏覽器支持 創建 Web Worker 與 Web Worker 通信 使用 Web Worker 物件中的 postMessage 傳回訊息 多個事件監聽器 使用 Channel Messaging API Web Worker 的生命週期 在 Web Worker 中加載庫 Web Worker 可用的 API Introd ...
| 2023-06-26 CSS繼承 CSS繼承了解CSS繼承的含義以及其重要性 當在CSS中的選擇器上設置一些屬性時,這些屬性會被該選擇器的所有子元素繼承。 我說的是一些,因為並不是所有的屬性都表現出這種行為。 這是因為有些屬性被繼承是有意義的。這幫助我們更簡潔地撰寫CSS,因為我們不需要在每個子元素上再次明確設置這些屬性。 而其他一些屬性則更有意義不被繼承。 想想字體:您不需要將 font-family 應用於您網頁的每個標籤。您只需設置 body 標籤的字體,每個子元素都會繼承它和其他屬性。 另一方面,ba ...
| 2023-06-26 FileReader物件 FileReader物件了解什麼是FileReader物件以及如何使用它 FileReader物件以非同步方式讀取檔案的內容。 它提供了四個讀取方法,可以用來開始讀取過程: readAsText():以文字字串形式讀取內容 readAsDataURL():將內容以數據URL形式讀取 readAsArrayBuffer():將內容讀取為ArrayBuffer readAsBinaryString():以二進制字串形式讀取內容 另外還有一個abort()方法,用來停止任何的讀 ...
| 2023-06-26 如何解决 ES 模块范围內的“__dirname 未定义”的錯誤 如何解决 ES 模块范围內的“__dirname 未定义”的錯誤下面是如何解决“__dirname 未定义在 ES 模块范围內”的錯誤的方法。 在使用 ES 模块時,无法使用 __dirname。 在 Node 脚本中,可以使用 __dirname 获取 当前 JavaScript 文件所在文件夹的路径,许多 Node.js 项目中都会使用它。 但是,如果在 ES 模块中使用它,你将遇到“__dirname 在 ES 模块范围內未定义”的錯誤。 在这种情况下,你可以做什么呢? ...
| 2023-06-26 javascript-difference-let-var #JavaScript 中使用 let 和 var 有什麼區別? 何時應該使用 let 而不是 var?為什麼?讓我們一起找出答案! 在現代 JavaScript 中,我們有三種方式來聲明變量並賦值: const let var 在使用 JavaScript 中的變量時,我總是默認使用 const。它確保變量的值無法重新賦值,因此更安全使用。 但在需要稍後重新聲明變量時,我總是使用 let。 多年來我一直沒有使用 var,對我來說它只是為了保持向後兼容性而存在,當我看到有 ...
| 2023-06-26 如何在 JavaScript 中生成兩個數字之間的隨機數 如何在 JavaScript 中生成兩個數字之間的隨機數在 JavaScript 中,最簡單的方法是使用 Math.floor() 和 Math.random() 結合來隨機選擇一個數字。 以下是一行簡單的代碼,可以返回一個介於 1 和 6(包括 1 和 6)之間的數字: 1Math.floor(Math.random() * 6 + 1) 這裡有 6 個可能的結果:1、2、3、4、5、6。 tags: [“JavaScript”, “random number”, “Ma ...
| 2023-06-26 介紹Arduino 介紹Arduino對Arduino電子平台的總覽 Arduino是業餘電子生態系統中的一項突破性技術。 所謂的突破性並不是指它引入了一個強大的微處理器或任何相關的技術。 它實際上創造了整個行業,一個運動,在此之前並不存在。 我所說的是創客運動。在Arduino之前,電子學並不像今天這樣有趣且容易學習,周圍也沒有太多資源。我在技術高中和米蘭理工學院學習了多年的電子學,但那是一些非常嚴肅、理論性的東西,幾乎沒有程式編碼和樂趣。 Arduino誕生於意大利,來自Ivrea,這個城市 ...
| 2023-06-26 如何處理在歐盟作為創作者的增值稅問題 如何處理在歐盟作為創作者的增值稅問題當你在網上獨立銷售數字產品時,你會遇到一個大問題。 我提到數字產品,因為實體產品另有一套問題。 噢,我的觀點是來自於作為一名歐洲公民,在歐盟支付稅款,尤其是在義大利(但我知道這些原則適用於所有歐盟國家)。 當你銷售數字商品(也就是遠程銷售),超過10,000歐元的門檻時,你就必須根據不同國家的稅法為每個買家收取正確的增值稅。 增值稅金額取決於國家和因素,比如“這是個消費者還是企業”。你無法知道正確的金額並隨時更新最新更改,所以你必須使用第三 ...
| 2023-06-26 Vue.js元件通訊 Vue.js元件通訊本篇介紹在Vue.js應用程式中如何讓元件彼此通訊。 Props 從子元件到父元件透過事件通訊 使用事件巴士在任意元件之間通訊 其他替代方案 Vue元件可以使用不同的方式進行通訊。 Props第一種方式是使用props。 父元件可以透過在元件宣告時加入參數,將資料傳遞給子元件: 12345678910111213141516<template> <div> <Car color="green" /&g ...
| 2023-06-26 Python 內省 Python 內省使用 內省(introspection) 可以分析函數、變量和物件。 首先,可以使用 help() 全域函數以文件字串(docstrings)的形式獲取文件。 然後,可以使用 print() 函數來獲取關於函數的資訊: 123456def increment(n): return n + 1print(increment)# <function increment at 0x7f420e2973a0> 或者物件的資訊: 123456789 ...
| 2023-06-26 Linux命令:which Linux命令:which快速指南 which 命令,用於顯示命令所在的位置 假設您有一個可以執行的命令,因為它在 shell 路徑中,但是您想知道它位於哪裡。 您可以使用 which 來查找指定命令的路徑: which 只能用於存儲在磁盤上的可執行文件,不能用於別名或內建的shell功能。 which 命令適用於 Linux、macOS、WSL 和任何您擁有 UNIX 環境的地方 tags: [“Linux commands”, “which”, “executabl ...
| 2023-06-26 如何解決「Parse failure: Unterminated string constant」錯誤 如何解決「Parse failure: Unterminated string constant」錯誤我遇到了這個錯誤,發生在一位學生的 Windows 電腦上執行 Astro (在 macOS 上無法複製此問題) 的 npm run dev 指令後。 經過一番思考🤔,我們解決了這個問題,方法是將父資料夾重新命名,原來的名稱可能包含了一個奇怪的字符,可能是非 ASCII 字符。 如果你遇到這個問題,請試著將你執行的資料夾 (或路徑中的某個父資料夾) 重新命名為純 ASCII ...
| 2023-06-26 電子元件: RGB LED 電子元件: RGB LEDRGB LED 是一種特殊的LED,外觀上看起來跟一般的LED相似,但它有4個引腳,可以根據不同的配置顯示不同的顏色。 我們之前已經談到過LED。一般的LED通常只有一種顏色,可能是紅、藍、綠、黃、白,它只有2個引腳。 RGB LED 像是三個LED結合在一起,但更厲害的地方在於它可以通過給每個引腳提供不同的電流量來產生各種顏色。你可以在Google上搜索“混合原色”以獲取更多相關信息。 4個引腳分別是對應三原色 紅色、藍色、綠色,還有一個共用引腳。 ...
| 2023-06-26 Swift 中的陣列 Swift 中的陣列 本教程屬於 Swift 系列 我們使用陣列來創建一組項目。 在這個例子中,我們創建了一個包含 3 個整數的陣列: 1var list = [1, 2, 3] 我們可以使用 list[0] 的語法來訪問第一個項目,使用 list[1] 訪問第二個項目,以此類推。 在 Swift 中,陣列中的元素必須具有相同的類型。 如果在聲明時初始化陣列,則可以推斷出類型,就像上面的例子一樣。 否則,必須聲明陣列可以包含的值的類型,方式如下: 1var list: [ ...
| 2023-06-26 nextjs-fix-constructor-requires-new-operator Next.js中如何修复“Constructor requires ‘new’ operator”错误 在使用Next.js过程中,我遇到了以下错误: 1TypeError: Constructor requires 'new' operator 原来是我使用了next/image提供的<Image />组件,但我忘记在顶部导入它: 1import Image from 'next/image' 如果你在组件之间移动JS ...
| 2023-06-26 ES2019指南 ES2019指南ECMAScript是JavaScript基於的標準,通常縮寫為ES。了解有關ECMAScript的所有內容,以及在ES2019中添加的功能 ESNext是一個總是指代JavaScript的下一個版本的名稱。 當前的ECMAScript版本是ES2018。它於2018年6月發布。 根據歷史,JavaScript版本通常在夏季進行標準化,因此我們可以預計ECMAScript 2019將於2019年夏季發布。 因此,在撰寫本文時,ES2018已經發布了,而ESNe ...
| 2023-06-26 Linux命令:sudo Linux命令:sudosudo命令的快速指南,用于以其他用户身份运行命令。 sudo通常用于以root身份运行命令。 您必须启用sudo才能使用它,一旦启用,您可以通过输入您的用户密码(而不是root用户密码)以root身份运行命令。 权限是高度可配置的,这在多用户服务器环境中尤其有用,并且可以通过sudo授予某些用户运行特定命令的权限。 例如,您可以编辑系统配置文件: 1sudo nano /etc/hosts 否则该操作会因为缺少权限而失败。 您可以运行sudo -i ...
| 2023-06-26 如何從 DOM 元素中刪除類別 如何從 DOM 元素中刪除類別TL;DR: 使用 remove() 方法於 element.classList 當你有一個 DOM 元素的參考時,你可以使用 remove 方法來刪除一個類別: 1element.classList.remove('myclass') 你可以使用 add 方法將一個新的類別加入: 1element.classList.add('myclass') 實作細節:classList 不是一個陣列,而是一個 ...
| 2023-06-26 JavaScript標記語句 JavaScript標記語句一個關於JavaScript中一個很少使用的功能的教程:標記語句 JavaScript有一個相對較為不知名的功能,它允許你對語句進行標記。 我最近在Svelte中看到這個功能的使用,它用於創建反應式聲明,這些聲明在語句中聲明的變量發生變化時重新計算: 1$: console.log(variable) 它們還允許使用語句塊,這是JavaScript的另一個特性,它允許你在可以定義語句的地方定義一個塊: 12345$: {console. ...
| 2023-06-26 在Express中處理表單上傳的文件 在Express中處理表單上傳的文件如何在Express中管理存儲和處理通過表單上傳的文件 這是一個允許用戶上傳文件的HTML表單的示例: 1234<form method="POST" action="/submit-form" enctype="multipart/form-data"> <input type="file" name="document" ...
| 2023-06-26 深入了解 IndexedDB 深入了解 IndexedDBIndexedDB 是瀏覽器多年來引入的一種存儲功能之一。這是一個關於 IndexedDB 的介紹,這是一種由所有現代瀏覽器支持的 Web 數據庫。 介紹 IndexedDB 創建 IndexedDB 數據庫 如何創建數據庫 將數據添加到數據庫中 在創建存儲時添加數據,進行初始化 在存儲創建後添加數據,使用事務 從存儲中獲取數據 從存儲中獲取一個項目:get() 從存儲中獲取所有項目:getAll() 從 IndexedDB 中刪除數 ...
| 2023-06-26 Node.js,開發與生產環境的差異 Node.js,開發與生產環境的差異了解如何為生產和開發環境設置不同的配置。 你可以為生產與開發環境設置不同的配置。 Node.js 假設它一直在開發環境中運行。但你可以通過設置 NODE_ENV=production 的環境變量,告訴 Node.js 你正在生產環境中運行。 通常,在 shell 中執行以下命令即可完成此操作: 1export NODE_ENV=production 但最好將其放在您的 shell 配置文件中(例如使用 Bash shell 的 .bash ...
| 2023-06-26 如何在JavaScript中合併兩個物件 如何在JavaScript中合併兩個物件了解如何將兩個JavaScript物件合併並創建一個結合屬性的新物件。 2015年的ES6引入了展開運算符,這是將兩個簡單物件合併為一個的完美方式: 123456789const object1 = { name: 'Flavio'}const object2 = { age: 35}const object3 = {...object1, ...object2 &# ...
| 2023-06-26 SQLite 用戶權限 SQLite 用戶權限SQLite 用戶權限的快速介紹 我已經談過 MySQL 和 PostgreSQL 中的用戶權限。 關於 SQLite,需要注意的一點是,使用 GRANT 和 REVOKE 來管理權限是不可用的。 這是因為不可能這樣做。 原因是 SQLite 數據庫是包含在單一文件中的獨立性的。 這是由於 SQLite 的架構所致。 任何擁有對 SQLite 文件的訪問權限的東西都可以訪問數據庫中的任何內容。 無法在數據庫層面上提供權限。 如果您的應用程序需要實現用戶權 ...
| 2023-06-26 如何安裝Node.js 如何安裝Node.js如何在您的系統上安裝Node.js:使用套件管理器、官方網站安裝程式或nvm 您可以使用不同的方式來安裝Node.js。 讓我向您展示最常見和方便的方法。 所有主要平台的官方套件可在https://nodejs.org/en/download/上找到。 在這裡,您可以選擇下載LTS版本(LTS代表長期支援版)或最新可用版本。像往常一樣,最新版本包含了最新的好東西。 該網站提供了Windows、Linux和macOS的套件。 一種非常方便的安裝Node.j ...
| 2023-06-26 如何在2021年成為網頁開發者 如何在2021年成為網頁開發者在2021年,你如何成為一名網頁開發者? 在本篇文章中,我將告訴你我會怎麼做。 有太多東西需要學習,很難按照一個有意義的順序學習它們。有時你會學習一些並不相關的東西,然後才能將它們聯繫起來。而且,事物總是在不斷變化,很難弄清楚哪些還值得學習。 我會盡力提供一個良好的結構。 巧合的是,這正是我在我的編程營中使用的結構。下一個編程營將於2022年第二季度舉行,將包含本計劃的第一部分。進階編程營將於2022年第三季度舉行,將包含第二部分。 首先學習網頁 ...
| 2023-06-26 如何估計編程時間 如何估計編程時間預估建立軟體所需時間的精細藝術 我真的很想告訴大家我如何估計建立軟體專案所需的時間。 在過去的十年中,我已經被問了數百次這個問題。 “我們需要實現這個功能。你需要多長時間?” “請給我一個詳細的概述,這個專案需要多長時間。一個月?兩個月?” “我希望你發布這個。50小時的計費時間夠嗎?” 對於這些問題的答案,通常最多只是一個 賭注。或者只能是 一次躍進的信任,我知道,如果我承諾一個數字,無論實際所需時間短長,這可能都會是我的薪水。 有時候對於長期客戶,我能 ...
| 2023-06-26 nextjs-deploy-on-now #在 Now 上部署 Next.js 應用程式 如何使用 Now 輕鬆無縫地部署您的 Next.js 應用程式 Zeit 現在稱為 Vercel,本教程可能已經過時 我們如何將 Next.js 應用程式部署到真實的網頁伺服器,以便其他人可以訪問它? 部署 Next 應用程式的最簡單方法之一是通過由 Zeit(創建了開源專案 Next.js 的同一家公司)創建的 Now 平台。您可以使用 Now 部署 Node.js 應用程式、靜態網站等等。 Now 使應用程式的部署和分發 ...
| 2023-06-26 React 狀態 React 狀態如何與組件的狀態互動 設置默認狀態在組件的構造函數中,初始化this.state。例如,BlogPostExcerpt 組件可能有一個clicked的狀態: 123456789101112131415class BlogPostExcerpt extends Component { constructor(props) { super(props) this.state = { clicked: false ...
| 2023-06-26 使用 MySQL 和 Node 的基礎操作 使用 MySQL 和 Node 的基礎操作MySQL 是世界上最受歡迎的關聯式資料庫之一。了解如何在 Node.js 中使用它。 MySQL 是世界上最受歡迎的關聯式資料庫之一。 當然,Node 生態系統中有幾個不同的套件可以讓您與 MySQL 進行互動,存儲數據,檢索數據等等。 我們將使用 mysqljs/mysql,這個套件在 GitHub 上有超過 12,000 顆星並且存在多年。 安裝 Node mysql 套件用以下指令安裝: 1npm install mysql ...
| 2023-06-26 Puppeteer介紹 Puppeteer介紹從Node.js中以程式化方式控制Chrome。 Puppeteer是一個我們可以使用的Node庫,用於控制一個無界面Chrome實例。我們基本上是使用Chrome,但以JavaScript進行程式化操作。 使用它,我們可以: 爬取網頁 自動化表單提交 執行任何種類的瀏覽器自動化 追蹤頁面加載性能 創建使用服務器端渲染的單頁應用程序的版本 生成網頁的截圖 創建自動化測試 從網頁生成PDF文件 它是由Google開發的。它本身並不會解鎖 ...
| 2023-06-26 如何找到 Mac App 的 Bundle ID 如何找到 Mac App 的 Bundle ID最近在運行一個腳本時,我需要查找安裝在我電腦上的某個 App 的 Bundle ID。 Bundle ID 是一個看起來像網域名稱的字符串,但是寫法與常規的相反。 例如 com.apple.finder 或者 com.microsoft.VSCode。 這是你可以使用的腳本: 1osascript -e 'id of app "Finder"' osascript 是一個運行 Appl ...
| 2023-06-26 迭代Hugo章節的頁面 迭代Hugo章節的頁面我需要在Hugo中遍歷特定章節的頁面,這意味著markdown檔案放在content文件夾下的一個文件夾中,例如content/mysection。 這是實現的程式碼: 12345{{ range (where .Site.Pages "Section" "mysection") }} {{ range .Pages }} { ...