如何以程式方式在 Next.js 中更改路由

在元件中,您可以使用 useRouter 鉤子: import { useRouter } from 'next/router' //... const router = useRouter() router.push('/test') 有時,這是無法做到的,例如當您不在 React 元件中時,可能是在一個實用程式函數中。 在這種情況下,您可以這樣做: import Router from 'next/router' Router.push('/test')

如何加入蘋果開發者計劃

蘋果開發者計劃是您透過所有蘋果應用商店發布應用的方式。 目前會員費用為每年99美元。 創建Swift應用程式不是必需的,但發布它們是必需的,並且還可以訪問macOS和Xcode的私有測試版。 要加入蘋果開發者計劃,請前往蘋果開發者網站,然後在頂部菜單中點擊帳戶。 您將看到一個登錄表單。輸入您的蘋果ID,如果您還沒有,可以創建一個。 登錄後,您會看到類似於以下的頁面: 將鼠標懸停在加入蘋果開發者計劃菜單上。一個新的頁面將告訴您加入該計劃可以獲得的所有內容: 點擊頂部的註冊按鈕。 然後,您需要填寫一個表格: 接下來,您可以選擇以個人身份、公司或非盈利組織身份註冊。我選擇了第一個選項。 然後,我同意了蘋果開發者計劃許可協議,並進行了付款。 付款每年自動續訂,直到您決定取消。 付款完成後,需要一些等待時間來設置一切。他們說最多需要48小時的處理時間。 與此同時,帳戶處於待審狀態。 對我而言,設置蘋果開發者計劃只需要10分鐘。 我收到了一封郵件,並且能夠看到App Store Connect和私有測試版軟件的下載。

如何只接受圖片類型的 input file 欄位

在表單中添加一個文件欄位時,您可能希望將選擇器限制為圖片類型。 當然,您可以添加一個服務器端的過濾器,但同樣,在客戶端添加一個過濾器對於用戶體驗來說是很好的,不會浪費時間和資源將文件發送給您並得到錯誤回覆。 您可以通過使用 accept 屬性並指定您接受的文件的 MIME 類型來實現這一點。 image/* 可以匹配所有的圖片。 <input type="file" name="myImage" accept="image/*" /> 如果您只想允許某些特定的文件類型,請列出它們。 <input type="file" name="myImage" accept="image/x-png,image/gif,image/jpeg" /> 您可以在這裡檢查該屬性的瀏覽器支持情況:https://caniuse.com/#feat=input-file-accept

如何生成本地 SSL 證書

註:我在 macOS 上運行了這些命令。Linux 應該以相同的方式運行。我不能保證 Windows 的運行結果。 在專案的根目錄下運行以下命令: openssl req -x509 -newkey rsa:2048 -keyout keytmp.pem -out cert.pem -days 365 現在運行以下命令: openssl rsa -in keytmp.pem -out key.pem 現在你應該在資料夾中有 cert.pem 和 key.pem 兩個文件。 使用 Express/Node.js,你可以使用以下代碼加載證書和私鑰: const fs = require('fs') const https = require('https') const app = express() app.get('/', (req, res) => { res.send('Hello HTTPS!') }) https.createServer({ key: fs.readFileSync('key.pem'), cert: fs.readFileSync('cert.pem') }, app).listen(3000, () => { console.log('Listening...') }) 如果你使用的是 create-react-app,請將 package.json 文件中的 start 腳本更改為:...

如何列出使用 PostgreSQL 的所有數據庫

這是一個簡單的解釋,教你如何在 psql 工具中列出所有 PostgreSQL 的數據庫,或者使用 SQL 語句進行操作。 你可以通過兩種方式來完成這個任務。 第一種方式是使用 psql。 在命令行中輸入命令 \list(或 \l),PostgreSQL 將顯示出數據庫列表(包括模板): 在這個例子中,數據庫列表為: airbnbclone nextbnb postgres test template0 和 template1 是模板。 模板是新數據庫的模板,你可以使用它們來預設新數據庫,語法為 CREATE DATABASE databasename TEMPLATE template0。 默認情況下,使用 CREATE DATABASE databasename 創建新數據庫時使用的模板為 template1。 這只是一個現在不重要的主題,但我想讓你知道什麼是模板。 另一種更高級的方式,可以顯示每個數據庫的磁盤大小,是通過使用命令 \list+(或 \l+): 列出數據庫的另一種方式是使用 SQL 查詢。 運行下面的 SQL 語句: SELECT datname FROM pg\_database WHERE datistemplate = false; 這將列出數據庫,不包括模板:

如何列出所有使用者的 PostgreSQL

在 PostgreSQL 資料庫中取得所有使用者的清單及其權限的方法。 從 psql 介面中,執行 \du 指令: 這將會給出系統中所有使用者的清單,以及他們的角色屬性和所屬的角色群組清單。

如何同時推送到兩個存儲庫並保持同步

我曾經有這樣的需求:有兩個GitHub存儲庫需要包含完全相同的內容。無論何時我推送更改,這些更改都必須同時發送到這兩個存儲庫,而不需要額外的工作。 以下是我所做的: 我已經有一個工作中的存儲庫,其中包含一些代碼,並在Git中設置為“origin”遠程。 我在GitHub上創建了一個新的空存儲庫,並將其設置為“origin”遠程的另一個URL: git remote set-url --add --push origin [[email protected]](/cdn-cgi/l/email-protection):flaviocopes/original.git git remote set-url --add --push origin [[email protected]](/cdn-cgi/l/email-protection):flaviocopes/clone.git 完成!現在,只需執行“git push”命令,即可將更改推送到兩個存儲庫中。

如何在 AppleScript 中連接字串

我習慣在 JavaScript、Swift、Python 和其他語言中使用 + 運算子來連接字串。 所以我試著在 AppleScript 中也使用這個運算子,但是它沒有起作用。 在 AppleScript 中,你需要使用 & 運算子: set example to "hello" "testing " & example ☝️ 這是 macOS 內建的 Script Editor(腳本編輯器)應用程式,我發現這是與 AppleScript 進行實驗的最佳方法。

如何在 Arduino 上運行網頁伺服器

在本教程中,我將向您展示如何在帶有 WiFi 的 Arduino 設備上啟動網頁伺服器,就像我的 Arduino MKR WiFi 1010。 我們將連接到現有的 WiFi 網絡,並且能夠通過我們的瀏覽器通過 HTTP 與 Arduino 互動。 這對於各種應用非常有趣。從簡單的傳感器數據檢查,到根據執行的 HTTP 請求 執行操作。 我們將從在 使用 Arduino 連接到 WiFi 網絡 教程中定義的此程序開始: #include <SPI.h> #include <WiFiNINA.h> void setup() { char ssid[] = SECRET_SSID; char pass[] = SECRET_PASS; Serial.begin(9600); while (!Serial); int status = WL_IDLE_STATUS; while (status != WL_CONNECTED) { Serial.print("Connecting to "); Serial.println(ssid); status = WiFi.begin(ssid, pass); delay(5000); } Serial.print("IP address: "); Serial.println(WiFi.localIP()); } void loop() { } 在 setup() 之前加上這一行:...

如何在 Astro 組件中訪問配置值

註:22 Jan 2023 更新:我剛發現在最新版的 Astro 中(以前的版本沒有這個問題..),這個方法已經無法使用了。不確定為什麼,在 Google 上也找不到相關的捲動錯誤,而且我也沒有時間去弄清楚。所以現在我改用在 config.mjs 文件中寫入,並載入該文件而不是 astro.config.mjs。 我有一個全局的標誌,當標誌為 true 時,我想要顯示一些內容。如果為 false,則希望該信息被隱藏,這涉及到多個頁面組件。 因此,只需更改一個標誌,就可以改變整個網站的外觀。 這是我所做的。 我把該標誌放在 astro.config.mjs 中: export default /\*\* @type {import('astro').AstroUserConfig} \*/ ({ renderers: ['@astrojs/renderer-react'], devOptions: { tailwindConfig: './tailwind.config.cjs', }, signupsOpen: false, }) 請注意最後一個項目 signupsOpen。這是我添加的項目。 然後,在我想使用該標誌的每個組件中引用它。 類似於以下方式: --- import Config from '../../astro.config.mjs' --- <div> {Config.signupsOpen && <p>標誌為 true</p>} </div>