|

如何使用 Supabase 作為你的 PostgreSQL 托管

如何使用 Supabase 作為你的 PostgreSQL 托管最近我發現你可以將 Supabase 作為你的 PostgreSQL 托管。 Supabase 是一個非常有趣的項目。它不僅僅是一個「數據庫托管」,同時也是一個可以用來進行應用程序開發的平台。它是建立在 PostgreSQL 之上的,並且提供了一個免費的 連接池,可以幫助我們避免在使用 Prisma 時耗盡數據庫連接限制的問題。 他們在免費帳戶中允許最多兩個專案,所以值得一試。 你也可以開展一個新的項目,然後在完 ...

tech wiki
tech wiki
2 min read
|

Node.js 核心模塊

Node.js 核心模塊Node.js 提供了一系列的核心模塊,這些模塊是 Node.js 平臺的一部分,並與 Node.js 安裝一同提供。 以下是其中一些模塊的詳細資訊: 名稱 描述 assert 提供一組有用於測試的斷言函數 buffer 提供處理包含二進制數據的緩衝區的能力 child_process 提供生成子進程的能力 console 提供簡單的調試控制台 cluster 允許將一個 Node.js 進程分為多個工作進程,以充分利用多核 ...

tech wiki
tech wiki
3 min read
|

如何配置 Nginx 进行 HTTPS

如何配置 Nginx 进行 HTTPS如何使用 Let’s Encrypt 在您的 Web 服务器上设置 HTTPS 最近,我使用官方的 Node.js droplet 在 DigitalOcean 上设置了一个 VPS,它会安装 Ubuntu Linux 并将 Node 和 Nginx 配置为反向代理,也就是说,它是用户和您的 Node.js 应用程序之间的中间人。 默认情况下,droplet 配置为使用 HTTP,但我们希望我们的应用程序使用 HTTPS,这是 HTTP ...

tech wiki
tech wiki
3 min read
|

跨域資源共享(CORS)

跨域資源共享(CORS)介紹跨域資源共享,一種讓客戶端和服務器通信的方式,即使它們不在同一個域 在瀏覽器中運行的JavaScript應用程序通常只能訪問提供它的相同域名(源)上的HTTP資源。 加載圖片、腳本和樣式始終可以正常工作,但對另一個服務器的XHR和Fetch調用將失敗,除非該服務器實現了一種方法來允許該連接。 這種方法稱為CORS(Cross-Origin Resource Sharing,跨域資源共享)。 默認情況下,使用@font-face加載Web字體也需要跨 ...

tech wiki
tech wiki
6 min read
|

關聯型資料庫

關聯型資料庫關聯型資料庫是關聯模型理論所表達的概念的軟體實現。 在關聯型資料庫中,資料以 表格 的形式儲存。 每個表格包含一個或多個 欄位,用於存儲特定 類型 的資料,例如字串、數字等。 表格及其欄位的一組規則被稱為 模式。 每個表格都可以對每個行所包含的資料設定 限制。 表格可以相互引用,形成關聯,使用 外鍵。 資料庫管理系統是在電腦系統中實現資料庫的軟體。 通常,關聯型資料庫使用 SQL 語言 讓我們能夠創建資料庫、定義其表格模式、填充資料庫中的資料,並在需要時查詢資料。 ...

tech wiki
tech wiki
1 min read
|

DNS,域名系統

DNS,域名系統DNS是什麼以及它是如何運作的概述 通常我們不會用IP地址來訪問網站。雖然可以,但很少見。 我們通常使用域名,比如google.com或flaviocopes.com。 這非常方便,因為例如我可以更改用於託管網站的伺服器和公司,同時保持相同的域名。 將域名映射到IP地址的系統稱為DNS(Domain Name System,域名系統)。 DNS是一個由伺服器組成的網絡。您的供應商將擁有自己的DNS,您的路由器已經預先配置為使用它。 您也可以選擇使用Google ...

tech wiki
tech wiki
1 min read
|

在 Express 中設置 Let's Encrypt

在 Express 中設置 Let’s Encrypt如何使用流行的免費解決方案 Let’s Encrypt 設置 HTTPS 如果你在自己的 VPS 上運行 Node.js 應用程式,你需要一個獲取 SSL 憑證的解決方案。 使用 Let’s Encrypt 和 Certbot 是當今的標準做法,它們是由 EFF(Electronic Frontier Foundation)提供的工具。EFF 是一家致力於保護隱私、自由言論和整個數位世界公民權利的領先非盈利組織。 我們將按 ...

tech wiki
tech wiki
11 min read
|

如何在 JavaScript 中創建多行字符串

如何在 JavaScript 中創建多行字符串了解如何創建多行字符串 直到 2015 年引入 ES6(ECMAScript 2015)和 模板字面量,JavaScript 從未有過一個很好的處理多行字符串的方法。 模板字面量是由反引號 delimit 的字符串,而不是常規的單引號/雙引號定界符。 它們具有一個獨特的特性:它們允許多行字符串: 12345678910const 多行字符串 = `一個跨行的字符串`const 另一個多行字符串 = `嘿這很酷一個跨行的字 ...

tech wiki
tech wiki
1 min read
|

使用React進行服務器端渲染

使用React進行服務器端渲染什麼是服務器端渲染?如何使用React進行服務器端渲染? 服務器端渲染,也被稱為SSR,是指JavaScript應用程序能夠在服務器上渲染,而不是在瀏覽器中渲染。 我們為什麼需要這樣做? 它可以讓您的網站在首次加載時更快,這對於良好的用戶體驗非常重要。 對於SEO來說至關重要:搜索引擎無法(尚未?)有效且正確地索引僅在客戶端渲染的應用程序。儘管Google在索引方面進行了最新的改進,但還有其他搜索引擎,而且Google在任何情況下都不是完美的。 ...

tech wiki
tech wiki
8 min read
|

logging-all-the-requests-coming-through-an-express-app

#記錄經由 Express 應用程式的所有請求 我有一個需求,希望以簡單的方式記錄進入我的 Express 應用程式的所有請求,只要將它們記錄到控制台就好,不需要花太多時間(也不需要)搭建更複雜的環境。 因此,我安裝了 express-requests-logger: 1npm install express-requests-logger 然後在我的 Node 應用程式中引入它: 1import audit from 'express-requests-logg ...

tech wiki
tech wiki
1 min read
|

學習程式設計中的悲傷之谷

學習程式設計中的悲傷之谷我正在找一個線上學習計劃,以成為一名開發人員。 這個計劃是免費的,且組織成每週一個影片的系列。 第一個影片有50,000次觀看。 第二個影片有30,000次觀看。 第三個影片有20,000次觀看。 幾個星期過後,第13週只有8,000次觀看。 再幾個星期過後,第30週只有1,000次觀看。 這讓我思考起來。 在過去的4年裡,我開過16個線上課程。 這裡總是重複出現的模式。 第一週,大家都非常熱情,每個人都加入了 Discord(總是一個專門的 D ...

tech wiki
tech wiki
2 min read
|

Unicode和UTF-8介紹

Unicode和UTF-8介紹Unicode是一種用於一致編碼書面文字的行業標準。學習它的基礎和最重要的部分, 特別是關於UTF-8。 腳本 平面 代碼單元 字形 字跡 序列 規範化 表情符號 前128個字符 Unicode編碼 UTF-8 UTF-16 UTF-32 Unicode是一種用於一致編碼書寫文本的行業標準。 電腦使用許多 字元集(character sets), 但Unicode是第一個旨在支持地球上(甚至更多地方)每種書面語言的字符集。 它的目標是為每 ...

tech wiki
tech wiki
9 min read
|

我把我的課程平台搬到 Notion 上

我把我的課程平台搬到 Notion 上我花了 2 個多月開發了一個用來提供 JavaScript 課程的 web 應用程式。它是使用 Next.js、NextAuth.js、Prisma、SQLite 等優秀技術構建的。 然後我意識到我失去了對重要事物的關注,那就是內容。 於是我將它轉換為 Notion 網站。 這就是它的外觀: 我在過去幾年中有時使用 Notion,但今年夏天的一天,我決定全力以赴。 我將我生活中的一切都添加到了 Notion 中,並且擺脫了多個重疊的應 ...

tech wiki
tech wiki
2 min read
|

JavaScript,如何導出函數

JavaScript,如何導出函數如何從 JavaScript 文件中導出函數 在 JavaScript 中,我們可以將程序分為多個文件。我們如何使我們在一個文件中定義的函數對其他文件可用? 通常,我們會這樣編寫一個函數: 123function sum(a, b) { return a + b} 你可以通過以下語法將其導出,以便其他文件可使用: 1export default sum 我們稱之為默認導出。 需要使用導出函數的文件將使用以下語法導入: ...

tech wiki
tech wiki
1 min read
|

VS Code:使用語言特定的設定

VS Code:使用語言特定的設定在 VS Code 中,你可以自訂空格和 Tab 偏好,就像在任何編輯器中一樣,同時你也可以選擇 Tab 佔用幾個空格。 然而,不同的語言可能需要不同的設定。 例如,我喜歡在 HTML 中使用 4 個空格,但在 CSS 和 JavaScript 中只使用 2 個。 而 Go 則要求 8 個空格。 那麼該怎麼處理呢? 你可以將語言特定的設定添加到 VS Code 的偏好設定檔中(用 cmd+, 打開)。 以下是一個在 JS、CSS、HTML 和 ...

tech wiki
tech wiki
1 min read
|

PostgreSQL vs. MySQL,一個比較

PostgreSQL vs. MySQL,一個比較一個關於PostgreSQL和MySQL的快速比較。 在這篇文章中,我希望對PostgreSQL和MySQL進行高層次的比較。 PostgreSQL的一個主要賣點是其授權。 PostgreSQL是開源的,擁有GPL許可證,由PostgreSQL全球開發團隊社區擁有。 如今MySQL由Oracle擁有,並且有2種不同的許可證。其中一個是開源許可證,另一個是商業許可證。這並不意味著如果您想將MySQL用於商業項目,您就需要支付費用 ...

tech wiki
tech wiki
2 min read
|

JavaScript物件屬性

JavaScript物件屬性專案需要了解關於JavaScript物件屬性的所有資訊。 JavaScript物件 擁有屬性,結構是由標籤和數值所組成的。 我們所見到的物件文字語法: 123const car = {} 讓我們能夠像這樣定義屬性: 123const car = { color: '藍色'} 這裡我們有一個名為car的物件,擁有一個名為color,具有數值藍色的屬性。 標籤可以是任何字串。注意到我在co ...

tech wiki
tech wiki
6 min read
|

Python物件

Python物件在Python中,一切皆為物件。 甚至基本資料型別(整數、字串、浮點數等)的值也都是物件。串列是物件,元組、字典等等都是物件。 物件具有屬性和方法,可以使用點語法來存取它們。 例如,嘗試定義一個新的 int 型別的變數: 1age = 8 現在,age 可以存取所有 int 物件的屬性和方法。 例如存取該數字的實部和虛部: 123456print(age.real) # 8print(age.imag) # 0print(age.bit_length()) ...

tech wiki
tech wiki
2 min read
|

什麼是資料庫?什麼是資料庫管理系統(DBMS)?

什麼是資料庫?什麼是資料庫管理系統(DBMS)?資料庫和資料庫管理系統(DBMS)的主要特性。 資料庫是一個仔細組織成系統的信息集合。 在電腦系統中,可以讓我們組織數據並表示信息的技術被稱為資料庫管理系統。 DBMS是一個軟件,它封裝了資料庫的數據,並為我們提供了一種集中的方式來存儲、檢索、編輯、持久化等數據。 讓我們定義一些資料庫管理系統的主要特性: 高效:資料庫需要提供最優性能來存儲和檢索數據。 持久性:存儲在資料庫中的數據是永久性存儲的。當資料庫軟件終止或機器重啟時( ...

tech wiki
tech wiki
1 min read
|

如何使用 Firebase Hosting 开始

如何使用 Firebase Hosting 开始Firebase 是一个由 Firebase 公司于 2011 年开发的移动和 Web 应用开发平台,于 2014 年被 Google 收购。如今,Firebase 是 Google Cloud 服务的一部分,不仅如此,它还是他们云端产品的旗舰。 Firebase 是一个复杂而多样的产品,主要针对移动应用。然而,它的其中一个特性是高级 web 托管服务。 Firebase Hosting 特点Firebase Hosting 提 ...

tech wiki
tech wiki
6 min read
|

低數據模式

低數據模式iPad 上的一個功能讓我非常喜愛,就是可以將 WiFi 網絡設置為「低數據模式」。這在使用 iPhone 作為個人熱點時特別有用。 尤其在漫遊歐洲時非常非常有用。我們在其他國家有限的可使用免費數據,因此不讓 iPad 下載更新或從 iCloud 下載數據可以節省大量數據。 我希望這個功能也能出現在 Mac 上,但實際上並沒有這樣的選項。 當然,您可以使用像 Little Snitch 和其他應用程式,但老實說,我討厭總是要授予權限或拒絕權限,這只是多餘的工作。 我 ...

tech wiki
tech wiki
1 min read
|

用 `tkinter` 開始 GUI 程式設計

用 tkinter 開始 GUI 程式設計GUI 程式設計既令人興奮又有趣! Python 的標準庫中附帶的 tkinter 模組是一個 GUI 工具包,可用於在我們的程式中創建跨不同操作系統的圖形使用者界面。 雖然有第三方庫可以讓你創建 GUI 介面,但 tkinter 是與 Python 整合在一起的工具包,因此這是我們要解釋的內容。 讓我們從一個簡單的應用程式開始,它會顯示一個標籤: 123456import tkinter as tkroot = tk.Tk()lab ...

tech wiki
tech wiki
5 min read
|

如何在React中獲取輸入元素的值

如何在React中獲取輸入元素的值給定一個表單,你如何獲取其中一個表單字段的值? 一個常見的情境是,當你有一個表單時,你想要獲取其中一個表單字段的值,例如當用戶點擊一個按鈕時。 你可以如何實現這個功能? 使用React的hooks,你可以為每個輸入字段創建一個變量,在onChange事件上監聽並調用相應變量的 “set” 函數。 以下是一個示例: 1const [title, setTitle] = useState('') 在JSX中的輸入字段: 1& ...

tech wiki
tech wiki
1 min read
|

如何修復Algolia上的\"objectID required\"錯誤

如何修復Algolia上的”objectID required”錯誤我使用Algolia來提供這個部落格的搜尋功能。 我會不定期地通過特定網站的特殊網址下載我預先準備好的JSON文件,然後手動通過Algolia的控制面板上傳它。 這其實是可以自動化的,但偶爾手動上傳一次也沒有太大問題。 今天,在上傳JSON文件時,我遇到了以下的錯誤: 1上傳錯誤:使用action=updateObject時,'objectID'屬性是必需的 我在VS Code中檢查這個 ...

tech wiki
tech wiki
1 min read
|

如何在Node中記錄物件

如何在Node中記錄物件在瀏覽器中運行的JavaScript程式中,當您輸入console.log()時,會在瀏覽器控制台中產生一條輸出: 點擊箭頭後,輸出會展開,您可以清楚地看到物件的屬性: 在Node中,情況是一樣的。 當我們將物件輸出到控制台時,並沒有像在瀏覽器中那樣的便利。在手動運行Node程式時,或者在日誌文件中,輸出會是物件的字串表示。 一切都很好,直到達到某個層次的巢狀結構。在兩個層次的巢狀結構後,Node就放棄並以[Object]作為佔位符輸出: 1234 ...

tech wiki
tech wiki
2 min read
|

字符串的 charAt() 方法

字符串的 charAt() 方法大家好!在本篇文章中,我們將介紹 JavaScript 中的 charAt() 方法,這是一個用於獲取字符串指定索引位置上字符的方法。 什麼是 charAt() 方法?charAt() 方法是 JavaScript 字符串對象的一個內建方法。它接收一個索引值作為參數,並返回該索引位置上的字符。索引值從 0 開始計數,表示字符串的第一個字符。 charAt() 方法的用法讓我們來看一些 charAt() 方法的使用示例: 123'Fla ...

tech wiki
tech wiki
2 min read
|

如何在 AWS 上快速創建 Windows 10 電腦

如何在 AWS 上快速創建 Windows 10 電腦使用 AWS WorkSpaces 在雲端上快速創建 Windows 10 電腦 最近我需要「快速啟動」一台 Windows 10 電腦並遠程訪問它,而不需要真的去購買和設置一台電腦。 我的目標是擁有一台全新安裝的 Windows 10 電腦,在我的 Mac 上使用它,嘗試運行一些命令,如安裝 npm、Git 等等,以便測試我的課程中的指令是否正常運行,然後在一小時後將其摧毀。 我總結了各種選擇,並了解了 AWS Work ...

tech wiki
tech wiki
1 min read
|

如何使用getUserMedia()

如何使用getUserMedia()了解如何使用getUserMedia()來從用戶端獲取音頻和視頻輸入。 由navigator.mediaDevices暴露的MediaDevices對象提供了getUserMedia()方法。 警告:navigator對象還公開了一個getUserMedia()方法,但已被標記為過時。這個API已經被移動到mediaDevices對象中以保持一致性。 以下是如何使用這個方法。 假設我們有一個按鈕: 1<button>開始串流 ...

tech wiki
tech wiki
6 min read
|

如何修復使用npm時出現的\"Missing write access\"錯誤

如何修復使用npm時出現的”Missing write access”錯誤快速解決在使用npm安裝全局套件時遇到的煩人問題 當在Mac或Linux上第一次嘗試使用npm以npm install -g <package>的語法安裝全局套件時,您可能會遇到一個奇怪的錯誤,顯示類似以下的訊息: 1Missing write access to /usr/local/lib/node\_modules 或者是類似的訊息,後面還有一長串其它錯誤或警告訊息,這些都是第一個 ...

tech wiki
tech wiki
2 min read
|

Svelte 入門指南 - 簡短教程

Svelte 入門指南 - 簡短教程如何開始使用 Svelte 自從我開始使用 Hugo 作為靜態網站生成器創建網站以來,我喜歡這種在網絡上發布的方式,相對於使用動態生成頁面的 CMS,這是我過去習慣的方式。 Svelte 是一個 JavaScript 框架,它給我一種相同的感覺。與 React、Vue、Angular 和其他框架相比,使用 Svelte 構建的應用是事先編譯的,您的網站訪問者不需要網絡中的框架和庫代碼,結果是體驗更順暢,消耗帶寬更少,一切都感覺更快和更輕量級 ...

tech wiki
tech wiki
3 min read
|

軟技能讓軟體開發人員繁榮

軟技能讓軟體開發人員繁榮面試過程也是用來評估您的軟技能的。 什麼是軟技能? 我會將與技術無關的任何事情歸類為軟技能,而是與與他人相處有關。 軟技能對任何人都是必不可少的,尤其是對於在團隊中工作的人,這是您在99%的工作中都要做的事情。 每個人都有自己認為最佳的軟技能版本。 我會提到以下這些: 身體語言 共情 對新技術持開放態度 你不是你的代碼 擁抱改變 持續學習 提問 身體語言試著練習在面試時保持舒適。 當然,你面試得越多,這一點就越容易。 身體語言是一門藝術,當我們緊張 ...

tech wiki
tech wiki
2 min read
|

使用命令行操作 Docker 鏡像

使用命令行操作 Docker 鏡像使用以下命令可以列出您已下載或安裝的所有鏡像: 1docker images -a 執行這個命令的結果如下所示: 您可以使用 docker rmi 命令並指定要刪除的鏡像名稱來移除一個鏡像。這將刪除該鏡像。 執行以下命令可以移除當前測試和開發中的一些已成為懸空狀態(未標記)的鏡像,以釋放磁碟空間: 1docker images -f dangling=true 執行結果如下所示: 使用以下命令可以清除這些鏡像: 1docker rmi ...

tech wiki
tech wiki
1 min read
|

Docker容器介紹

Docker容器介紹Docker容器是一個包含應用程式 (單一或多個) 及其所有所需的函式庫、其他應用程式和工具的環境。 應用程式與其相依項目被封裝在容器中。 你可以使用在新購機器上安裝Docker的方式,以Docker映像建立容器,你的應用程式將能夠無需額外工作或相依項目而運行。 容器與運行它的電腦(稱為「主機」)完全隔離,您可以使用某些方式讓它們與主機互通並共享資源。 我們的目標不是完全隔離環境(如虛擬機器所做的那樣),而是使應用程式具有最高的可攜性。 在Docker映像 ...

tech wiki
tech wiki
1 min read
|

HTTPS協議

HTTPS協議HTTPS協議是HTTP(超文本傳輸協議)的一個擴展,提供了安全的通信。 HTTP本身設計上存在不安全性。 當你在瀏覽器中打開並請求網頁時,你的數據需要經歷2次傳輸:一次從瀏覽器到網頁服務器,一次從網頁服務器到瀏覽器。 此外,根據網頁內容的不同,可能需要更多的連接來獲取CSS文件、JavaScript文件、圖片等等。 在這些連接中,你的數據可能會被任何網絡節點進行檢視和操控。 這可能帶來嚴重的後果:你的所有網絡活動可能被一個你甚至不知道其存在的第三方監視和記錄, ...

tech wiki
tech wiki
2 min read
|

為什麼你應該擁有自己的平台

為什麼你應該擁有自己的平台你的部落格是你未來的運營中心,你的平台,你的總部。其他所有的東西都應該將人們帶到你的網站上。 你的 Facebook 專頁、YouTube 頻道、Twitter、Medium、你在其他部落格上的訪客文章、以及你串流的內容,都是連結人們與你網站上的內容的工具。 你可以使用任何你想要的技術來建立網站,這並不重要,只要它位於你擁有的域名上,並且你可以根據需要進行更改。 你應該對此有完全的自由:你必須能夠隨時聯絡到你的用戶,你必須能夠從這個平台中提取所有數據 ...

tech wiki
tech wiki
4 min read
|

CSS浮動屬性與清除

CSS浮動屬性與清除在CSS中如何使用float屬性以及清除。 浮動在過去是一個非常重要的話題。 在許多黑客和創意的用法中,它是我們能夠真正實現一些布局的少數方式之一,與表格一起使用。在過去,我們經常將側邊欄左浮動,以便將其顯示在螢幕的左側並對主內容添加一些邊距。 幸運的是,時代已經改變,現在我們已經有了Flexbox和Grid來幫助我們進行布局,浮動回到了它最初的作用:將內容放置在容器元素的一側,並使其兄弟元素顯示在周圍。 float屬性支持3個值: left right ...

tech wiki
tech wiki
5 min read