|

JavaScript中的延遲和承諾(+ Ember.js示例)

JavaScript中的延遲和承諾(+ Ember.js示例)承諾是一種相對較新的處理異步的方式,它可以非常有助於結構化代碼。 警告:此帖子已經過時並且可能不反映最新的技術水平。 請查看我的Promises guide和我的async/await guide。 承諾是事件的對象表示方式。在其生命週期中,當調用時,承諾從待定狀態轉換為已解決或已拒絕狀態,或者它也可以永遠保持待定狀態而不解決。 它是一種對JavaScript事件的新方法,但我認為它生成的代碼更易 ...

tech wiki
tech wiki
18 min read
|

響應式YouTube視頻嵌入

響應式YouTube視頻嵌入如何在您的網站上嵌入YouTube視頻並使其具有響應式,在移動設備上能適應縮小顯示。 嵌入YouTube視頻的問題在於它們是iframe,並且iframe需要給定確切的高度和寬度,否則它們將顯示不正常。 而且,我們需要保持按比例,根據視頻的寬高比。 要在您的頁面中顯示一個響應式的YouTube視頻,首先將它包裝到一個容器div中: 123<div class="video-container"> <iframe ...

tech wiki
tech wiki
2 min read
|

在 macOS 上安裝 Python 3

在 macOS 上安裝 Python 3本篇提供在 Mac 上安裝最新版本 Python 的操作指南。 macOS 預設安裝的 Python 2 已經過時,為了兼容性而保留在 /usr/bin/python 路徑下。 如果你已經安裝了 Apple 的開發工具 Xcode,那麼 Python 3 會被安裝在 /usr/bin/python3 路徑下。你可以在終端機上運行 python3 命令檢查已安裝的 Python 版本,如果版本足夠新的話,你可能已經完成安裝。 Python ...

tech wiki
tech wiki
5 min read
|

如何使用連結觸發 Netlify-Vercel-Cloudflare Pages 的重新部署

如何使用連結觸發 Netlify-Vercel-Cloudflare Pages 的重新部署這是我用來讓自己輕鬆一點的其中一個「技巧」。 有時候我會寫一些未來日期的文章,以便預定發佈。在像 WordPress 等平台上,這是內建功能。 但在靜態網站上,我們需要有些創意。 那些文章在發佈日期之前,是不會被發佈的,而這個日期是在文章元資料中設定的。 每個平台都允許你建立部署勾子。當達到該網址時,網站將會重新部署。 但它們都只接受 POST 請求。 所以我在我的網站上建立了一個隱藏 ...

tech wiki
tech wiki
1 min read
|

JSONP 指南

JSONP 指南JSONP 是從第三方服務器加載數據的一種方式,可以繞過同源策略。 默認情況下,你無法從不是當前域名和端口的地方加載 JSON 文件並在應用程序中使用它。 你可能將應用程序從 localhost:8080 服務,但API是由另一個運行在 localhost:2001 上的Node.js應用程序提供的。 或者你可能希望在瀏覽器中訪問一些以JSON格式提供的公共API。 使用API是一個常見需求,在瀏覽器中,由於安全原因,由於同源策略,默認情況下必須禁止這種行為, ...

tech wiki
tech wiki
2 min read
|

如何從 Node.js 上傳文件到 S3

如何從 Node.js 上傳文件到 S3我有一個簡單的使用案例。 我正在建立一個工作看板,現在是建立提交新工作職位的表單的時候了。 招聘人員可以輸入公司詳細資料、職位詳細資料和公司標誌圖片。 數據存儲在數據庫中,起初我試圖將標誌存儲在數據庫中,但過了一段時間,我意識到儘管在技術上是可行的,但在存儲二進制數據方面存在一些問題,而且任務需要花費太長的時間。因此,我決定將其上傳到 S3。 S3是AWS提供的一個出色的服務。由於我已經在其他方面使用AWS,添加S3存儲桶很容易。 所以 ...

tech wiki
tech wiki
3 min read
|

arduino-power-bank

#使用行動電源為Arduino供電 我在進行一個Arduino專案時,完成後我說:“嗯,如果能用USB行動電源為它供電並放在室外就很酷了”。 我就這樣做了。我連接了Arduino與行動電源,它工作了! 但大約20秒後,Arduino關機了。 原來是行動電源關閉了。連同Arduino一起關機了。 事實證明,Arduino消耗的電力不足以讓行動電源察覺到有東西連接,它只是浪費電力。 我找到了一些解決方案,包括讓Arduino消耗更多電力。像是這裡所提到的方式。 或者找一個不會自動 ...

tech wiki
tech wiki
1 min read
|

linux-command-killall

#Linux 命令:killall 快速指南 killall 命令,用於向目前正在運行的多個進程發送信號 與 kill 命令類似,killall 會一次將信號發送給多個進程,而不是特定的進程 ID。 這是語法: 1killall <name> 其中 name 是程序的名稱。例如,您可以有多個 top 程序實例正在運行,而 killall top 則會終止它們。 您可以指定信號,就像使用 kill 一樣(請參閱 kill 教程以了解有關我們可以發送的特定信號的更多 ...

tech wiki
tech wiki
1 min read
|

使用Docker Desktop管理容器

使用Docker Desktop管理容器使用Docker容器后,如果您点击工具栏中的Docker图标并选择Dashboard,您将在Docker Desktop中看到它: 现在,将鼠标悬停在容器上,您将看到5个按钮: 它们是: 在浏览器中打开 CLI 停止 重启 删除 您可以通过这些按钮管理您的容器生命周期。 点击列表中的容器名称,将会展示更多数据,包括日志管理器: 告诉您有关容器的有用信息的检查器: 以及有关容器CPU、内存、网络和磁盘使用情况的统计数据: 返 ...

tech wiki
tech wiki
1 min read
|

使用`npm uninstall`來卸載npm套件

使用npm uninstall來卸載npm套件如何卸載先前在本機或全域安裝的npm Node套件。 要卸載你先前本機安裝的套件(在node_modules資料夾中使用npm install <package-name>),請從專案根目錄中運行以下命令: 1npm uninstall <package-name> 這個操作同時會移除package.json檔案中的套件參考。 如果這個套件是開發依賴項,在package.json檔案的devDepende ...

tech wiki
tech wiki
1 min read
|

將開發者的生活「住進車裡」

將開發者的生活「住進車裡」我想開始一系列關於以開發者身份過著車居生活的文章! 何謂「車居生活」,以及這與本部落格有何關聯呢? 車居生活基本上就是住在車裡的意思。之所以在這裡談論這個,是因為這是我喜歡做的一部分。我可以在任何地方工作,因此也可以在車子裡工作。這是完全可行的。 車居生活有很多不同的方式。我對於理想的車居生活有自己的想法,你也會有你自己的想法。 有些人全職住在車裡。我不是。我不是一年365天住在車裡的人。我只是用它來做短途或長途旅行。可以是一個長週末,整個星期,或連 ...

tech wiki
tech wiki
4 min read
|

電子項目:使用電位計建立 LED 調光器

電子項目:使用電位計建立 LED 調光器在這篇文章中,我將向您展示如何使用電位計建立一個LED調光器。 你需要以下四樣東西:一個電位計,像這樣的10kΩ電位計: 一個5mm的LED,你可以選擇任何你喜歡的顏色: 一個麵包板,我們將在上面放置我們的元件: 和一個電池。我使用的是9V電池: 還有一些線。 首先在板子上放置電位計,放在你喜歡的任何位置上,使得2個輸入腳位在板子的一邊,1個輸出腳位在另一邊: 按下它以連接到麵包板上: 現在將-腳位連接到麵包板的藍線上,我們 ...

tech wiki
tech wiki
1 min read
|

應該建立個人部落格還是公司/產品部落格?

應該建立個人部落格還是公司/產品部落格?如果你是自由工作者、獨立工作的人,或者是只有一個人的公司,那麼你可能面臨一個艱難的決定:是建立個人部落格還是公司部落格? 在這個問題上有一個很大的區別。在我看來,個人部落格更好,因為公司和項目都有可能會來來去去。也許三年後你就會賣掉你的公司。 然而,你的個人品牌將與你在哪裡都保持一致。我認為個人品牌的優勢在於你有能力進行實驗並進行轉變,如果需要的話。 如果你創建的品牌與產品或領域過於緊密相聯,那麼在不更改名稱和域名的情況下,你 ...

tech wiki
tech wiki
1 min read
|

如何使用CSS反轉顏色

如何使用CSS反轉顏色如何使用CSS反轉元素和圖片的顏色 我有遇到這個問題。我在頁面上添加了一張“黑底白字”的圖片,卻意識到當使用了暗黑模式時,頁面的背景正確地變為黑色,但圖片仍然是黑底白字。 有點糟糕。 所以我在CSS中添加了以下規則,用於檢測暗黑模式並自動反轉圖片的顏色: 12345@media (prefers-color-scheme: dark) { .my-image { filter: invert(100%); }} ...

tech wiki
tech wiki
1 min read
|

JavaScript中的提升機制是什麼?

JavaScript中的提升機制是什麼?對於JavaScript編程語言中的提升機制做一個簡要解釋。 在執行JavaScript代碼之前,它會解析代碼並將所有的函數和變量聲明添加到它自己的內存中,並將它們保存在內存中。這就是所謂的提升機制。 對於函數聲明和函數表達式,我們有不同的行為。 對於函數聲明,我們可以在函數定義之前調用函數,並且我們的代碼將正常運行。但對於其他情況,我們將會得到錯誤。 一個通用的法則是在使用之前,總是先定義函數、變量、對象和類,以避免出現意外情況。 假 ...

tech wiki
tech wiki
2 min read
|

Linux指令:env

Linux指令:env一個快速指南,介紹如何使用env指令運行指令並與環境變量進行互動。 env指令可用於傳遞環境變量,而無需在外部環境(即當前shell)中設置它們。 假設您想要運行一個Node.js應用程序並將USER變量設置給它。您可以運行以下命令: 1env USER=flavio node app.js 這樣,Node.js應用程序可以通過Node的process.env接口訪問USER環境變量。 您還可以運行清除所有已經設置的環境變量的命令,使用-i選項: 1e ...

tech wiki
tech wiki
2 min read
|

Linux指令:crontab

Linux指令:crontab使用 crontab 命令來安排cron工作的快速指南 Cron工作是在特定的間隔安排運行的工作。您可以每小時、每天、每2週或週末執行某個命令。它們在伺服器上進行維護和自動化非常強大。 crontab 命令是處理cron工作的入口點。 首先,您可以探索您定義的cron工作有哪些: 1crontab -l 可能像我一樣沒有定義任何工作: 運行 1crontab -e 來編輯cron工作並添加新工作。 默認情況下,這將使用默認的編輯器開啟,通常 ...

tech wiki
tech wiki
2 min read
|

如何在JavaScript中等待2個或更多的promise解決

如何在JavaScript中等待2個或更多的promise解決假設你需要啟動2個或更多個promise並等待它們的結果。如何做到這一點呢? 假設你需要將兩個或更多個promise啟動並等待它們的結果。 並且你希望在兩個promise都解決後繼續執行。 你可以使用Promise.all()方法: 1234567const promise1 = //...const promise2 = //...const data = await Promise.all([promise1, ...

tech wiki
tech wiki
1 min read
|

SQL介紹

SQL介紹SQL(Structured Query Language)是我們用來與數據庫管理系統(DBMS)進行交互的語言。 在我們介紹了最流行的概念性數據模型,實體關係(ER),以及最受歡迎的邏輯數據模型(關聯模型)之後,是時候介紹SQL了。 SQL(Structured Query Language)是我們用來與數據庫管理系統(DBMS)進行交互的語言。 正如其名所示,它不是一種編程語言,而是一種查詢語言,後來發展成為一種用於執行比僅執行查詢更高級操作的數據庫接口。 我說 ...

tech wiki
tech wiki
2 min read
|

Python Lambda 函數

Python Lambda 函數Lambda 函數(也稱為匿名函數)是沒有名字且只有一個表達式作為其函體的小型函數。 在 Python 中,它們使用 lambda 關鍵字來定義: 1lambda <參數> : <表達式> 函體必須是單個表達式。注意,這是表達式,而不是語句。 這個差異很重要。一個表達式返回一個值,而一個語句則不會。 最簡單的 lambda 函數示例是將數字的值加倍: 1lambda num : num * 2 Lambda 函數 ...

tech wiki
tech wiki
1 min read
|

談論不同主題的寫作

談論不同主題的寫作我已經在這個博客上寫了很長一段時間了。在這段時間裡,我涵蓋了許多不同的主題。 回顧往事,我從一些隨機的 Web 開發主題開始,然後專注於 Go、React、Node.js、CSS、HTML、瀏覽器 APIs、Next.js、Vue.js、Svelte、數據庫、Python、Swift,甚至電子學和 C 語言。 有時候,當我有希望寫一些與我通常所寫的主題不同的內容時,我會考慮一下。 這是我的博客,它不是一本名為“Web 開發”或其他類似的出版物。 儘管如此,當 ...

tech wiki
tech wiki
3 min read
|

如何學習多種語言?

如何學習多種語言?在我發送第一封電子報宣告新的SwiftUI系列時,有人問我這個問題:“你是如何學習多種語言的呢?” 好問題! 在過去,我學過Pascal、C、Java、PHP、JavaScript、Objective-C、Go、Python和Swift。我想我列出了我使用過的所有語言。 並非所有語言都是一樣的。有些比其他更“平等”(引用)。 我認為上述的所有語言非常相似。一旦你學會了其中一種,很容易學習其他語言。變數、函數、迴圈、物件。 當然,不同的語言都有一些獨特的特性, ...

tech wiki
tech wiki
2 min read
|

歷史API

歷史API歷史API是瀏覽器讓你與地址欄和導航歷史進行交互的方式。 介紹 訪問歷史API 導航歷史 向歷史記錄中添加條目 修改歷史記錄條目 訪問當前的歷史記錄條目狀態 onpopstate事件 介紹歷史API允許你與瀏覽器歷史進行交互,觸發瀏覽器導航方法並更改地址欄的內容。 它在現代的單頁應用程序中特別有用,這種應用程序通常不會為新頁面發出服務器端請求,而只是內容發生變化而已。 如果一個在瀏覽器中運行的現代JavaScript應用程序不明確地或在框架層面上與歷史API進行 ...

tech wiki
tech wiki
4 min read
|

Swift 運算子的先行順序和結合性

Swift 運算子的先行順序和結合性 本篇教程屬於 Swift 系列教程之一 想像一下這個運算式: 1let amount = 1 + 2 * 3 根據 1 + 2 和 2 * 3 的計算順序的不同,amount 的值可能會截然不同。 計算順序是由運算子的先行順序決定的。根據先行順序,最常見的運算子排序如下: 乘法 (*)、除法 (/)、餘數 (%) 加法 (+)、減法 (-) 比較 (==, !=, <, >, <=, >=) 邏輯與 (&am ...

tech wiki
tech wiki
2 min read
|

如何創建一個空的 SQLite 數據庫

如何創建一個空的 SQLite 數據庫我想知道如何創建一個 SQLite 數據庫來在 Prisma 中使用,後來我發現只需創建一個空文件即可初始化一個空的 SQLite 數據庫。 我之前思考得太複雜了,實際上,在 SQLite 中初始化一個新的數據庫非常簡單。 以創建一個名為 storage.db 的 SQLite 數據庫為例,您可以使用命令行中的 touch 命令: 1$ touch storage.db 當需要復制具有所有表格的數據庫,或者需要備份數據庫時,您可以採用相 ...

tech wiki
tech wiki
1 min read
|

廣播頻道 API

廣播頻道 API學習使用廣播頻道 API 進行一對多通訊的基礎知識 通道訊息 API 是一個很好的方式,可以從視窗發送訊息到 iframe,從視窗發送訊息到 Web Worker 等等。 廣播頻道 API 可以用於發送一對多訊息,同時與多個實體進行通訊。 你可以通過初始化一個 BroadcastChannel 物件來開始: 1const channel = new BroadcastChannel('thechannel'); 要在頻道上發送訊息,可以使 ...

tech wiki
tech wiki
1 min read
|

如何使用Fetch上傳文件

如何使用Fetch上傳文件以簡單易懂的方式解釋如何使用Fetch API將文件上傳到服務器上。 有一個看似簡單的任務有時會讓人花上幾個小時在網上進行研究:將文件上傳到服務器。 在這篇教程中,我將向您解釋如何使用fetch來實現這樣的功能。 給定一個包含文件輸入字段的表單: 1<input type="file" id="fileUpload" /> 我們在其上附加一個change事件處理程序: 123document. ...

tech wiki
tech wiki
2 min read
|

如何解決tsconfig.json的\"設定檔中找不到任何輸入\"錯誤

如何解決tsconfig.json的”設定檔中找不到任何輸入”錯誤我的幾位學生在Astro專案中遇到了這個問題。 預設情況下,Astro會包含一個tsconfig.json檔案,這個檔案在VS Code中給他們帶來了一個錯誤。 該錯誤來自於tsconfig.json,並顯示以下訊息: 設定檔中找不到任何輸入 我們並沒有使用TypeScript,所以這是一個奇怪的問題。 以下是一些可能的解決方法: 首先,嘗試重新啟動VS Code。 如果這樣不行,請在tsconfig.js ...

tech wiki
tech wiki
1 min read
|

如何清空一個 JavaScript 陣列

如何清空一個 JavaScript 陣列給定一個 JavaScript 陣列,下面介紹如何清空這個陣列並將所有元素刪除。 有多種方法可以清空一個 JavaScript 陣列。 最簡單的方法是將陣列的長度設為0: 12const list = ['a', 'b', 'c']list.length = 0 另一個方法是直接將一個空陣列分配給原始的變數,這樣會改變原始的陣列參考,所以需要使用 let 而不是 const: ...

tech wiki
tech wiki
1 min read
|

電子元件:1602 LCD 顯示屏

電子元件:1602 LCD 顯示屏1602 LCD 顯示屏是一個具有 2 行,每行 16 個字符的數字和字母顯示屏。 它在許多場景中都有應用,從自動販賣機到火車站。 這款 LCD 顯示屏通常包含在 Arduino 套件中,但這些指令適用於任何具有與 Hitachi HD44780 LCD 控制器兼容的 16 個引腳介面的 LCD 顯示屏。 這個控制器通過 Arduino 的 LiquidCrystal 库 軟件模擬。 在本文中,我將展示使用該顯示屏打印 Hello, Worl ...

tech wiki
tech wiki
2 min read
|

你無法複製其他人的成功

你無法複製其他人的成功過去我消化了很多關於創業主題的素材。我尤其對在互聯網驅動下開展數碼產品的小規模獨立企業很感興趣。 自從我結束大學以來,那就是我想做的:成為一個在數碼產品上獨立工作的企業家。 在我認識的真實世界中,我認識零個過著這種生活的人。我在學校裡認識了幾個可能只有一個广告网站的人。 我通過互聯網學到了一切。 播客、訪談、視頻、博客文章、書籍。 我這麼做已經很長一段時間了,可能最早我記得的一本書是《每週工作4小時》。從那以後,我對這個主題非常熱衷。 有幾個故事我真的深 ...

tech wiki
tech wiki
4 min read
|

在JavaScript中動態選擇對象的方法

在JavaScript中動態選擇對象的方法學習如何在JavaScript中動態訪問對象的方法 有時候你有一個對象,根據某些條件需要調用一個方法或不同的方法。 例如,你有一個 car 對象,根據 driver.sleepy 的值,你可能想要把它開車(drive())或停車(park())。 如果司機的瞌睡程度超過6,我們需要在他開車時把車停下來。 以下是使用 if/else 條件語句實現此功能的例子: 12345if (driver.sleepy > 6) { ...

tech wiki
tech wiki
1 min read
|

如何通過二等分法調試 CSS

如何通過二等分法調試 CSS我使用一種工作流來調試 CSS 今天我有這個問題。 我將Paddle按鈕添加到我的新在線課程頁面上,這樣人們就可以點擊“立即購買”按鈕,然後出現漂亮的Paddle彈出窗口。 彈出窗口有一個加載指示器,一個內部有一個旋轉器的圓圈,問題是:點擊“立即購買”按鈕時,旋轉器指示器未居中於圓圈內,如下gif所示: 我真的不知道是什麼原因導致這個問題,所以我在考慮如何解決它。 我在開發者工具中打開源代碼面板,該面板顯示頁面加載的所有文件。我搜索了我的一個CS ...

tech wiki
tech wiki
1 min read
|

如何更新 Node.js

如何更新 Node.js了解如何正確升級您所安裝的 Node.js 版本。 Node.js 可以在系統上以多種方式安裝,升級指南取決於您最初的安裝方式。 如果您使用官方包進行安裝 最簡單的安裝 Node.js 的方法是從 Node.js 網站 下載官方包。 官方包包含一個安裝程式,該程式將檢測現有的 Node.js 版本並覆蓋為新版本。 如果您使用 Homebrew(在 macOS 上)安裝 Node Homebrew 是在 Mac 上安裝 Node.js 的一種非常流行的 ...

tech wiki
tech wiki
2 min read
|

如何在JavaScript数组中打乱元素

如何在JavaScript数组中打乱元素簡短回答: 12let list = [1, 2, 3, 4, 5, 6, 7, 8, 9]list = list.sort(() => Math.random() - 0.5) 詳細回答: 我有一個需要將JavaScript數組中的元素打亂的需求。 換句話說,我想將數組元素重新排列,使其與之前的順序不同。 從這樣一個數組開始: 1[1, 2, 3, 4, 5, 6, 7, 8, 9] 我希望每次運行操作時都得到不同的結果,像 ...

tech wiki
tech wiki
2 min read
|

Python Docstrings

Python Docstrings文檔是非常重要的,不僅可以與其他人溝通函數/類/方法/模塊的目標,也可以幫助自己記住這些知識。 當你6個月或12個月後回到你的代碼時,你可能不記得心中所保存的所有知識,通讀代碼並理解其目的將變得困難得多。 註釋(Comments)是一種方式: 12# 這是一個註釋num = 1 #這是另一個註釋 另一種方式是使用文檔字符串(docstrings)。 文檔字符串的好處在於它們遵循慣例,因此可以自動處理。 這是如何 ...

tech wiki
tech wiki
3 min read