Linux指令:whoami

快速指南,介紹 whoami 指令,用於顯示當前使用者名稱。 輸入 whoami 來顯示目前登入終端機會話的使用者名稱: 注意:這與 who am i 指令不同,後者會顯示更多資訊。 whoami 指令適用於Linux、macOS、WSL以及任何具有UNIX環境的地方。

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

#記錄經由 Express 應用程式的所有請求 我有一個需求,希望以簡單的方式記錄進入我的 Express 應用程式的所有請求,只要將它們記錄到控制台就好,不需要花太多時間(也不需要)搭建更複雜的環境。 因此,我安裝了 express-requests-logger: npm install express-requests-logger 然後在我的 Node 應用程式中引入它: import audit from 'express-requests-logger' 並將它作為中介軟體添加到我的 Express 應用程式中: app.use(audit()) 完成! 你也可以這樣做: app.use((req, res, next) => { console.log(req); next(); }); 但是 express-requests-logger 提供了許多選項、格式化和過濾器可供您使用,可以輕鬆達到您的要求。

MacBook Air或MacBook Pro用於網頁開發?

我寫這篇文章是因為我在Twitter上看到很多人在問這個問題。如果您使用Linux或Windows,這個問題對您來說根本不成問題。此外,您並不需要一台MacBook來學習網頁開發,您可以使用任何電腦。 蘋果目前推出了兩款筆記本電腦,第一款是MacBook Air,然後是MacBook Pro。 我兩種都用過,所以讓我告訴你我會選擇哪一款。 如果僅考慮功率和速度,您會選擇自己負擔得起的最強大的MacBook Pro。 但還有可攜性:當您需要搬動它、上下班或者想要帶著它去徒步旅行時,16英寸的MacBook Pro能否放進您的背包中?因為誰知道,您可能需要做三分鐘的工作來維持業務運行,而在露營時。有時候我也會碰到這種情況。 這時MacBook Air看起來是一個不錯的選擇。它更輕,更小。從背包中減去的每一克重都會讓體驗更好。 MBA M2 2022重1.24公斤,MBP M2 13英寸重1.4公斤,MBP M1 14英寸重1.6公斤。 16英寸的機型不在比較範圍內,因為它重2.1公斤,屬於一個不同的類別。我曾經用過一台2019年的16英寸,它太大、太重了,無法舒適地搬動。 我現在使用的是MacBook Pro M1 14英寸,這是一種很好的妥協,因為它比Air多一個USB端口(3個對比2個),還有HDMI輸出(對我來說沒有用)和SD卡槽(對我很重要),但這是一個困難的選擇。 USB端口非常重要,因為當您在家或辦公室時,其中一個端口通常會連接到外部顯示器上,但如果您的顯示器提供更多的USB端口,您可以直接使用它們。 由於MBA更便宜(根據規格而定,價格大約為一半),並且作為網頁開發人員解決了99%的需求,您無論選擇哪一款都不會錯。 特別是如果您喜歡旅行或經常攜帶。

making-money-blog

如何透過部落格賺錢 一個部落格可以成為各種能讓你賺錢的專案的絕佳起點。 如果你不想讓你的部落格賺錢,那完全沒有必要。但知道你的選擇能讓你有所了解。在這最後一章,我將以高層次的方式解釋數種"將部落格化為商品"的主要方式。 為你的業務獲得更多客戶 我會說,第一個也是最容易的方式是提供你的服務。 這特別適用於非特定地點的服務。例如,如果你是個水電工,可能會比較困難。這不是不可能的,特別是在大城市,但其他渠道可能更適合。 但是,如果你的業務或活動與特定地點無關聯,一個部落格可以成為宣傳你的業務的絕佳方式。 你可以撰寫文章,讓你在你工作領域成為一名專家,並且人們可以透過你提供的工具與你聯繫:例如電子郵件、聊天或任何你想要的方式。 我見過無數次這種應用,它可以帶來在諮詢領域的重大機會。當我開始我的職業生涯時,我也親身體驗過這種方法。 廣告、聯盟行銷和贊助商 當你的部落格開始獲得穩定的訪客數量時,這時你可以利用部落格賺取所謂的"被動收入"。 主要有三種方式:廣告、聯盟行銷和贊助商。以下是它們之間的區別:廣告是指出現在你的網站上的橫幅或文字廣告。你通常會在網站中插入一段程式碼,然後就可以忘記它。 有像Google Ads、Mediavine或BuySellAds這樣的代理商負責一切。他們會找到想要在你的部落格上展示他們廣告的公司,而這些廣告就會出現在你的部落格上。你從廣告瀏覽或點擊中獲得報酬。這是你能找到最簡單的方法,但通常需要大量的頁面瀏覽量才能達到效果。 聯盟行銷的運作方式有所不同:當人們購買一個從你的網站上的鏈接進來的產品時,你就能得到報酬。 常見的聯盟行銷系統是Amazon聯盟鏈接。我確定你在各個地方都見過它們,在YouTube影片下面,Instagram帖子下面等等。 當Amazon進行銷售時,你會得到一部分報酬。其他小型聯盟行銷計劃也是同樣的方式。 對於聯盟鏈接,你需要生成一個特定的鏈接,這取決於你需要生成的頻率,以及你所推廣的產品或計劃的數量,這將需要你進一步地投入工作。 贊助商的運作方式有所不同,通常你需要透過電子郵件或電話與公司聯繫。他們通常會支付一個固定費用來贊助一個月(或更長的時間)。通常你需要在網站上放置一個橫幅或在你的文章中談論他們的產品。 銷售你自己的產品 我喜歡的系統是利用部落格來推廣你自己的產品。 這與推廣自己的服務類似,但是有了產品之後,你需要付出的工作較少,而且可以很容易擴展。 當然,你需要事先有一個產品。你需要知道這個產品對閱讀你文章的人來說是有趣且有用的。 但一旦你擁有了這個產品,你可以向你的讀者推廣它,而不需要花費在廣告上,也不需要自己運行聯盟計劃。這樣,你的所有工作——你的部落格和你的產品——都朝著同一個目標:為你想要互動的人提供有用的東西。

Meteor 入門指南

Meteor 是一個網絡應用平台。不論是初學者還是專業人士,Meteor 都非常適合。它易於上手,並提供了龐大的庫生態系統,您可以利用這些庫來開發應用。 Meteor 是一個網絡應用平台。 現代網絡應用的編寫可能非常複雜,對於初學者來說尤其如此。 Meteor 是一個適合初學者和專家的工具,它使入門變得容易,並提供了龐大的庫生態系統供您使用。 JavaScript 即時通信 給人一種快速感 開源 易於使用 優秀的套件系統 Meteor 可如何改善您的生活 在哪種情況下 Meteor 可能不是最佳選擇 7 個 Meteor 原則 數據傳輸 一個語言 數據庫無處不在 延遲補償 全棧反應 擁抱生態系統 簡潔等於高效 安裝過程 初步使用 Meteor 代碼導覽 client/main.html client/main.js Meteor CLI meteor meteor create meteor add meteor remove 同構 Meteor.isServer, Meteor.isClient 特殊目錄 會話變量和模板輔助顯示 反應式編程 什麼是反應式編程 反應式來源 反應式計算 定義您自己的反應計算 Meteor 發布與訂閱 服務器發布 客戶端訂閱 自動發布 Minimongo MongoDB: Meteor 數據庫 MongoDB 簡介 Meteor 和 MongoDB Minimongo Minimongo 是 MongoDB 的客戶端克隆 客戶端存儲設施 延遲補償 這是什麼意思? Meteor 集合 創建第一個集合 將項目添加到集合中 在模板中顯示集合 JavaScript Meteor 是最早使用 JavaScript 作為前端和後端語言的網絡應用之一。...

Moment.js 教學

Moment.js 是一個在 JavaScript 中處理日期非常有幫助的庫。 Moment.js 是一個非常棒的 JavaScript 库,可以幫助你處理日期,不管是在瀏覽器上還是在 Node.js 中都可以使用。 這篇文章旨在解釋這個庫的基本知識和最常見的用法。 安裝 你可以直接在你的頁面中使用 script 標籤引入它,從 unpkg.com: <script src="https://unpkg.com/moment" /> 或者使用 npm 安裝: npm install moment 如果你使用 npm 安裝,需要用 import 引入這個包(使用 ES 模块): import moment from 'moment' 或者用 require 引入它(使用 CommonJS): const moment = require('moment') 獲取當前日期和時間 const date = moment() 解析日期 你可以通過傳遞一個字符串給 moment 對象來初始化它。 const date = moment(string) 它可以接受任意字符串,按照以下順序解析: ISO 8601 RFC 2822 日期時間格式 Date 對象接受的格式 ISO 8601 絕對是最方便的。這是一個格式參考: 格式 意義 範例 YYYY 4 位數年份 2018 YY 2 位數年份 18 M 2 位數月份,忽略前導 0 7 MM 2 位數月份 07 MMM 3 字母月份名稱 Jul MMMM 完整的月份名稱 July dddd 完整的星期名稱 Sunday gggg 4 位數年份的星期 2018 gg 2 位數年份的星期 18 w 不帶前導零的一年中的星期數 18 ww 帶有前導零的一年中的星期數 18 e 星期的第幾天,從 0 開始 4 D 2 位數的日期,忽略前導 0 9 DD 2 位數的日期 09 Do 帶序數的日期 9th T 表示時間部分的開始 HH 2 位數的小時(24 小時制),從 0 到 23 22 H 2 位數的小時(24 小時制),從 0 到 23,不帶前導 0 22 kk 2 位數的小時(24 小時制),從 1 到 24 23 k 2 位數的小時(24 小時制),從 1 到 24,不帶前導 0 23 a/A 上午 或者 下午 下午 hh 2 位數的小時(12 小時制) 11 mm 2 位數的分鐘 22 ss 2 位數的秒數 40 s 2 位數的秒數,不帶前導零 40 S 1 位數的毫秒數 1 SS 2 位數的毫秒數 12 SSS 3 位數的毫秒數 123 Z 時區 +02:00 x 毫秒級的 UNIX 時間戳 1410432140575 設置日期 格式化日期 當你想要輸出普通的 JavaScript Date 對象的內容時,你只有很少的選擇來確定格式。你只能使用內置的方法,使用它們來組成你想要的日期。...

MongoDB基礎教學

MongoDB是一個資料庫,負責存儲和檢索資訊的應用程序的一部分。 MongoDB是一個NoSQL資料庫。在NoSQL這個範疇下,我們將那些不使用SQL語言進行查詢的數據庫都歸為一類。 MongoDB的主要特點: MongoDB非常友好於JavaScript。它提供了一個JavaScript API,我們可以使用它來創建數據庫和對象集合(稱為文件)。 它是無結構化的,這意味著在存儲數據之前,你不需要預先定義數據的結構。 在MongoDB中,您可以存儲任何對象,而不必擔心組成這個對象的特定字段以及如何存儲它們。你只需要告訴MongoDB存儲該對象。 數據以類似於JSON的格式存儲,但增強了能力,可以存儲不僅僅是基本數據類型的數據。 安裝 接下來,我們要安裝MongoDB。雖然有許多雲服務提供商提供對MongoDB實例的訪問,但為了學習的緣故,我們將自己安裝它。 我使用的是Mac操作系統,所以本教程中的安裝指南是針對該操作系統的。 打開終端並運行以下命令: brew tap mongodb/brew brew install mongodb-community 這就是全部。 這些指示並不太長,也不復雜,假設您知道如何使用終端和如何安裝Homebrew。 安裝告訴我們: 要啟動mongodb並在登錄時重新啟動launchd: brew services start mongodb-community 或者,如果您不需要背景服務,只需運行: mongod –config /usr/local/etc/mongod.conf 您可以選擇在計算機上啟動MongoDB並將其作為背景服務永遠運行(這是我喜歡的方式),或者只在需要時運行它,通過運行後面的命令。 MongoDB的默認配置是: systemLog: destination: file path: /usr/local/var/log/mongodb/mongo.log logAppend: true storage: dbPath: /usr/local/var/mongodb net: bindIp: 127.0.0.1 日誌存儲在“/usr/local/var/log/mongodb/mongo.log”中,數據庫存儲在“/usr/local/var/mongodb”中。 默認情況下,沒有訪問控制,任何人都可以讀取和寫入數據庫。 Mongo Shell 與MongoDB進行實驗並與之交互的最好方式是運行“mongo”程序,它會啟動MongoDB shell。 現在您可以輸入Mongo理解的任何命令。 創建數據庫 當您開始時,Mongo會創建一個名為“test”的數據庫。在shell中運行“db”命令,可以告訴您當前活動數據庫的名稱。 要更改數據庫,只需寫入“use newname”,然後“newname”數據庫將立即被創建並切換到使用該數據庫。 使用“show databases”列出可用數據庫: 如您所見,“something”數據庫未列出,只是因為其中還沒有集合。讓我們創建一個。 集合 在MongoDB中,集合相當於SQL數據庫表。 您可以通過使用db.createCollection()命令在當前數據庫上創建集合,第一個參數是數據庫名稱,並且您可以作為第二個參數傳遞一個選項對象。 這樣做後,show databases將列出新數據庫,而show collections將列出集合。 您還可以通過將其作為db對象的屬性並調用insert()將對象添加到集合中來創建新集合: db.dogs.insert({ name: ‘Roger’ })...

MongoDB與SQL數據庫有何不同

通常,有兩種主要類型的數據庫:SQL數據庫和NoSQL數據庫。 如果你熟悉MySQL或PostgreSQL等,SQL數據庫允許你使用一種名為SQL的特定語言添加和檢索數據,像這樣: SELECT * FROM cars INSERT INTO cars VALUES ('fiesta', 2010) SQL語言相對較老,誕生於1986年,是一種經過考驗的技術。 在NoSQL的範疇下,我們將那些不使用SQL語言進行數據查詢的數據庫都納入其中。MongoDB就屬於這一類。 MongoDB是一個文檔數據庫。與其說它存儲記錄,不如說它存儲對象(稱為文檔)。 那麼這與SQL數據庫有何不同呢? SQL數據庫中的表是扁平的和靜態的,可以存儲數據,但受限於最初的設計意圖(無法動態添加列),要存儲複雜數據,你需要創建許多表並在每個表中關聯數據,遵循關聯數據庫的常見做法(例如外鍵,列類型等)。 在MongoDB中,你可以存儲任何對象,無需擔心組成此對象的特定字段以及如何存儲它們。你只需告訴MongoDB要存儲該對象即可。 通過MongoDB,你不需要學習另一種語言來訪問數據:你只需調用它公開的JavaScript方法就可以了(當然,你也可以使用其他語言與之互動)。 數據存儲的格式類似於JSON,但增強了以允許存儲除基本數據類型外的更多數據。 希望這給你提供了關於SQL數據庫和MongoDB之間主要區別的簡要概述。

MySQL 使用者權限

MySQL 資料庫的使用者權限簡介 當使用以下語法建立一個新的 MySQL 使用者時, CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>'; 這個使用者在一開始沒有什麼權限。可以說,它什麼都不能做。 它無法讀取任何現有資料庫的資料,更不能修改資料。甚至無法建立新的資料庫。 如果要讓使用者做任何事情,你必須授予權限給它。 你可以使用 GRANT 命令來這麼做。 我們可以使用 GRANT <permission>,使用以下權限關鍵字: CREATE DROP DELETE INSERT SELECT UPDATE ALL PRIVILEGES 給使用者權限去建立新資料庫 GRANT CREATE ON *.* TO '<username>'@'localhost'; 給使用者權限在特定資料庫中建立新表格 GRANT CREATE ON <database>.* TO '<username>'@'localhost'; 給使用者權限讀取(查詢)特定資料庫 GRANT SELECT ON <database>.* TO '<username>'@'localhost'; 給使用者權限讀取特定資料庫的表格 GRANT SELECT ON <database>.<table> TO '<username>'@'localhost'; 給使用者權限在特定資料庫中插入、更新和刪除資料列 GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost'; 給使用者權限刪除特定資料庫的表格 GRANT DROP ON <database>.* TO '<username>'@'localhost'; 給使用者權限刪除資料庫 GRANT DROP ON *....

Nano的簡單指南

nano 是一個適合初學者使用的編輯器。 使用 nano <檔案名稱> 命令來執行它。 你可以直接在文件中輸入字符,而不需要擔心模式的問題。 使用 ctrl-X 可以退出並結束編輯。如果你對文件進行了修改,編輯器會詢問你是否確認保存修改或者放棄它們。在底部的幫助信息中,展示了可以使用的鍵盤命令: pico 和 nano 在功能上差不多,不過 nano 是 pico 的 GNU 版本。早期,pico 不是開源的,為了滿足 GNU 操作系統的授權要求,才衍生出 nano。