JavaScript數學庫

Math物件包含了很多與數學有關的工具。本教程將介紹所有這些工具。 Math物件包含了很多與數學有關的工具。 它包含了常數和函數。 常數 項目 說明 Math.E 自然對數的底數e(約等於2.71828) Math.LN10 表示底數為10的自然對數 Math.LN2 表示底數為2的自然對數 Math.LOG10E 表示以10為底的對數的底數值 Math.LOG2E 表示以2為底的對數的底數值 Math.PI 圓周率π(約等於3.14159) Math.SQRT1_2 值為2的平方根的倒數 Math.SQRT2 值為2的平方根 函數 所有這些函數都是靜態的,Math物件無法實例化。 Math.abs() 返回一個數字的絕對值 Math.abs(2.5) //2.5 Math.abs(-2.5) //2.5 Math.acos() 返回操作數的反餘弦值 操作數必須在-1和1之間 Math.acos(0.8) //0.6435011087932843 Math.asin() 返回操作數的反正弦值 操作數必須在-1和1之間 Math.asin(0.8) //0.9272952180016123 Math.atan() 返回操作數的反正切值 Math.atan(30) //1.5374753309166493 Math.atan2() 返回兩個參數的商的反正切值 Math.atan2(30, 20) //0.982793723247329 Math.ceil() 向上取整 Math.ceil(2.5) //3 Math.ceil(2) //2 Math.ceil(2.1) //3 Math.ceil(2.99999) //3 Math.cos() 返回以弧度表示的角度的餘弦值 Math.cos(0) //1 Math.cos(Math.PI) //-1 Math.exp() 返回以Math.E為底,指數為參數的指數函數值 Math.exp(1) //2.718281828459045 Math.exp(2) //7....

使用 Laravel Breeze 設置身份驗證

本教程是 Laravel 手冊的一部分,可以從 https://flaviocopes.com/access/ 下載 我們不希望隨機的人進入網站並編輯數據。 我們希望人們先登錄。 如果未登錄,他們會看到狗的列表。 如果已登錄,他們將有能力編輯列表。 Laravel 在框架中為我們提供了內置的身份驗證支持。 為了更加方便,它提供了 Breeze,這是一個應用程序的開始套件工具,可以快速創建我們所需的東西。Breeze 可以快速搭建用戶註冊、登錄、密碼重置、個人資料頁面、儀表板等等功能。它太棒了。對於更高級的需求,我們還有 JetStream,但是 Breeze 更容易設置。 首先,創建一個新的 Laravel 項目,這樣我們可以從一個空白的起點開始。 第一個項目被命名為 first,為了延續傳統,我們將這個第二個項目命名為 second: composer create-project laravel/laravel second 進入該文件夾: cd second 使用 composer 安裝 Breeze: composer require laravel/breeze --dev 現在運行下面的命令: php artisan breeze:install 然後選擇選項 0,即“blade”,並選擇其他問題的默認選項,任務腳本會自動生成遠足點的登錄系統: 現在你可以運行 php artisan serve,並打開 http://127.0.0.1:8000/。 你會看到“Log in”和“Register”鏈接: 所有的登錄功能已經可以正常使用: Laravel 添加了大量的資源來實現這一點。 對於開發者來說,這可能需要花數日的時間,而且這些代碼經過了實戰考驗,你不希望自己寫這些代碼,因為這是一個非常重要且需要進行良好的安全性測試的功能。 我建議你查看文件結構,並將其與第一個項目進行對比。許多新東西已經被添加了,例如視圖: 但在進一步之前,我們需要為此項目設置數據庫,就像我們在第一個項目中所做的那樣。我們打開 .env 文件,註釋掉以下幾行: 然後添加以下內容: DB\_CONNECTION=sqlite 以配置 SQLite 數據庫。 然後運行下面的命令: php artisan migrate 在另一個終端窗口中,運行 npm install 命令,然後運行 npm run dev 命令,這是一個長時間運行的過程,需要與 php artisan serve 一起運行(⚠️ 請確保在 second 文件夾中運行,而非 first 項目中運行,我剛剛花了15分鐘的時間才找到問題所在)。...

如何使用 Firebase Firestore 作為你的資料庫

一個設置 Firestore 作為資料庫的教程,這是一個非常方便的解決方案,可以解決你的儲存問題! 我有一個需求,需要為我的 成員俱樂部 創建一個儲存數據的地方,這是我教授編程的地方。 我希望我的用戶可以通過點擊一個按鈕來手動說“我完成了這個課程”。 基本上,我想為每個用戶存儲一個特定的對象。 設置 Firebase 我決定使用 Firebase 以及他們提供的 Firestore 資料庫 來實現這個需求。 它的免費版本是很慷慨的,每個月最多可以存儲 1GB 的數據,並且網絡傳輸量可以達到 10GB,這遠超出了我的預期。 在 Firebase 網站上打開 https://firebase.google.com/ Firebase 是一個由 Google 提供的產品,所以一旦你登錄到 Google,你也就登錄到 Firebase。 通過點擊“創建專案”來創建一個新的 Firebase 專案。 給它一個名字: 然後就完成了: 我點擊了 iOS 和 Android 旁邊的“Web”圖標,然後輸入了應用程序名稱: Firebase 立即給了我需要的訪問密鑰,還附帶了一些示例代碼: 在這之後,Firebase 讓我添加一些數據庫的安全規則。 你可以選擇兩個默認選項:對每個人開放,或對每個人關閉。我選擇了對每個人開放,這是他們稱之為 測試模式。 就是這樣!我準備好了,可以創建一個集合了。 什麼是集合?在 Firestore 的術語中,我們可以創建許多不同的集合,並為每個集合分配文檔。 然後,文檔可以包含字段和其他集合。 這和其他 NoSQL 數據庫(比如 MongoDB)沒有太大區別。 我強烈建議觀看這個主題的 YouTube 播放列表,非常棒。 所以,我添加了一個我稱之為 users 的集合。 我希望使用一個特殊的字符串 id 來識別每個用戶。 前端代碼 現在我們進入 JavaScript 部分。 在頁腳中,我包含了 Firebase 提供的這兩個文件:...

如何使用Node.js寫入CSV檔案

使用Node.js將數組數據寫入CSV文件的快速教程 你可以使用 objects-to-csv 這個優秀的庫,快速將數組對象寫入CSV文件。 當然還有其他許多庫可供選擇。我在一個自己的項目中發現了這個庫的實用性,因此寫了這個小教程。 如果你需要更注重性能的應用程序,可以使用基於stream的庫,例如 fast-csv。 首先安裝它: npm install objects-to-csv 然後在你的Node.js代碼中引入它: const ObjectsToCsv = require('objects-to-csv') 當你有一個準備寫入CSV的對象數組時,初始化一個新的ObjectsToCsv對象實例: const csv = new ObjectsToCsv(list) 然後調用 csv.toDisk(),並傳入你要寫入的文件(相對於你的應用程序的基本路徑): await csv.toDisk('./list.csv') 這是一個基於Promise的API,我使用了await,所以你需要在一個async函數內調用這個API。 CSV中的列名自動從對象的屬性名中推斷出來。 請注意,這個命令會覆蓋文件中現有的內容。如果要追加到該文件,請傳遞一個帶有append屬性設置為true的第二個對象: await csv.toDisk('./list.csv', { append: true })

如何使用Phaser.js創建平台遊戲

在這個教程中,我將使用Phaser.js創建一個平台遊戲。 玩家可以使用左/右箭頭鍵移動,使用上箭頭鍵跳躍。目標是收集遊戲中的所有星星: 當玩家收集到所有星星時,我們將在頂部顯示“遊戲結束”,然後沒有其他操作。 雖然這非常簡單,但這是開始一個非常有趣的遊戲的開始,並且這也是展示Phaser以及JavaScript作為遊戲創作編程語言的絕佳方式。 設置專案 創建一個空文件夾,然後運行以下命令: npm init -y 這將初始化一個最小的’package.json’文件。 然後運行以下命令: npm install phaser 如果尚未安裝Parcel,請運行以下命令: npm install -g parcel-bundler 現在創建一個’app.js’文件,然後運行: parcel watch app.js 這將告訴Parcel在’dist/app.js’文件中構建我們的遊戲。 創建一個’index.html’文件,內容如下: <!DOCTYPE html> <html> <head> <script src="./dist/app.js"></script> </head> </html> 安裝’browser-sync’以運行包含此文件夾內容的HTTP服務器: npm install -g browser-sync 然後運行以下命令: browser-sync start --server --files "." 以上命令會觀察當前文件夾(以及所有子文件夾)中的所有文件的變化,並在端口3000上啟動一個Web服務器,自動打開一個瀏覽器窗口以連接到服務器。 每次更改文件,瀏覽器都會刷新,因此我們可以更快地進行開發。 太好了!我們可以開始了。 初始化Phaser 打開’app.js’並編寫以下代碼: import Phaser from 'phaser' 讓我們添加一個最小的配置: const config = { width: 800, height: 600, backgroundColor: 0xffffff, scene: { preload, create, update }, physics: { default: 'arcade', arcade: { gravity: { y: 300 }, debug: false } } } const game = new Phaser....

如何從 Node.js 使用 Redis

在 Node.js 應用程式中,使用 Redis 伺服器最受歡迎的庫之一是 node-redis,它可以在 https://github.com/NodeRedis/node-redis 找到。 在您的專案中安裝該庫: npm install redis 提示:如果專案是全新的並且還沒有 package.json 檔案,請先執行 npm init -y。 連接到 Redis 實例 安裝完庫之後,使用以下程式碼在您的專案中引入它: const redis = require('redis') 或者 import redis from 'redis' 獲取 redis 物件之後,使用以下程式碼創建一個新的客戶端: const client = redis.createClient({ url: 'redis://YOUR REDIS INSTANCE URL' }) 然後使用以下程式碼連接到 Redis(在 async 函數中執行): await client.connect() 當您獲得了客戶端之後,就可以執行 Redis 可以做的所有操作。 要關閉連接,請調用: client.quit() 存儲和檢索鍵值 使用 set() 將鍵值對存儲到 Redis 中: client.set("<key>", "<value>") 例如: client.set("name", "Flavio") client.set("age", 37) 如果在乾淨的 Redis 伺服器上運行 redis-cli 中的 KEYS * 命令,您將看到這兩個鍵:...

如何從零開始設置 Git 和 GitHub

一個從零開始設置 Git 和 GitHub 的教程 Git 是一個非常有價值的工具。 它允許我們在項目上工作數月或數年,但仍然能夠回到我們在代碼庫上做出的每一次個別變更。在團隊中,你還可以找出是誰進行了更改。 每次我們進行更改、添加新功能或修復錯誤時,我們都會添加一個小的解釋,然後我們提交這些更改。 它還允許我們與團隊合作,因為每個人都可以將提交推送到代碼庫,Git 會負責確保與其他人所做的更改沒有衝突。 在繼續之前,你需要在你的電腦上安裝 Git。 最簡單的方法是安裝GitHub Desktop應用程序。 它適用於 Windows 和 Mac,你可以在這裡下載它: GitHub Desktop 這將安裝一個用於使用 Git 的圖形用戶界面,同時也安裝了 Git 本身。 它與 GitHub 緊密集成。 GitHub 是什麼?🤔 它是一個用於托管代碼並讓你在開源項目上協作的網站,你將在這個項目的所有實例中使用它,而且這也是你將看到我發佈的項目代碼的地方。 安裝完畢後,打開應用程序。 點擊“Create your free account”。你會被帶到 GitHub 上創建一個帳戶: 明智地選擇用戶名,你將擁有一個公開的 GitHub 頭像,就像我在這裡: https://github.com/flaviocopes 確認你的電子郵件後,你會看到一個畫面,點擊“Skip personalization”並選擇自由計劃: 最後,你進入了: 現在回到 GitHub Desktop 應用程序,點擊“Sign in to GitHub.com”,即藍色按鈕: 最後,你準備配置 Git。接受這一點以設置 Git 的用戶名和電子郵件,這是你創建提交所需要的。點擊“Finish”。 安裝此應用程序同時也安裝了 Git,所以你不需要再做其他任何操作。 注意:如果你喜歡,你可以從這裡下載“只有 Git”https://git-scm.com/downloads,這將跳過 GitHub 的集成。使用這種方法,你需要使用下面這兩個命令在終端中設置你的名字和電子郵件: git config --global user.name "你的名字" git config --global user....