8 る 2015

第 30 卷,第 8 期

本文章是由機器翻譯。

工作的程式師如何成為平均:開始使用

Ted Neward |到 2015 2015年 8 月

Ted Neward平行宇宙是風靡一時,尤其是如果你遵循在漫畫書中的故事。顯然,已經踏入一個自己。當我剛開始閱讀這本雜誌時,它被稱為微軟系統雜誌 (簡稱 MSJ)。選擇的語言是 c + + 和Visual Basic。底層的技術平臺是託管的語言像Visual Basic與兩個非託管的語言如 c + + 編寫的託管的平臺 (COM)。作業系統的選擇無疑是清楚、 惜字如金,並毫不猶豫地 Windows。也許它是 Windows 3.0,3.1,芝加哥或 NT — — 但總是 Windows。

看看今天我們在何處。它顯然不是"微軟"世界不再,甚至在微軟的世界。片刻,忘記針對微軟角力,如JAVA或 Ruby"競爭對手"。公司已與這些語言,建立夥伴關係,甚至還在下一代微軟 Azure 平臺上以本機方式支援他們。忘了微軟"擁有,"是像 C#Visual Basic或 F # 語言。他們都已做出了開放源碼。因為有它的 Web 框架和它的資料訪問框架。新版本的Visual Studio將船舶與 Android 的模擬器。

於是就在我們以為它不能獲得更多不同,微軟再一次去,做了一件完全不同。在撰寫本文時,微軟剛剛宣佈與氰,Android 的分銷商的夥伴關係。有人可以告訴我哪一個門戶通過走嗎?

在漫畫,英雄步入一個新的宇宙,就當英雄了擁抱新世界或風險被確定為局外人的時刻 — — 和可能鎖在療養院。除非你喜歡療養院,你可能應該接受這個新的世界。

得到平均

讓我們來談談 Node.js。 或者,更確切地說,讓我們來談談 Node.js 平臺的青睞的軟體堆疊之一:(MongoDB,快遞,AngularJS,Node.js) 的意思是。它正在迅速成為一個新的技術世界的關鍵球員。微軟支援 Node.js 和 MongoDB 在 Azure (更不用說你可以很容易運行這些標準 Windows 機器上-房舍的事實) 上意味著 — — 如果你不介意雙關語 — — 這是每個 Microsoft 開發人員應該知道的事情。

你可以做幾種方法,包括使用Visual Studio的意思。開始通過"擁抱節點方式"。利用優選的一組 Node-ish 工具:一個文字編輯器、 命令列 (如果你有一個躺在附近) mac。這就是我會使用啟動,雖然大多數的命令列命令將相當可調至 Windows 沒有困難,就會不同。

太遠進入這個平行宇宙之前,看看主要球員。平均堆疊是一個"完全堆疊"四重奏,意味著它涵蓋前端和後端存儲。從前端開始,AngularJS 提供了一個完整單頁面應用程式 Web 用戶端框架,完整模型-視圖-控制器抽象與雙向綁定的 UI。不過,AngularJS 完全駐留在前端,並且需要與其通信的後端。這通常使用 Web API 呼叫。這些也被稱為在某些圈子裡寧靜的終結點,雖然這會導致休息是熱心爭論,所以讓我們現在離開作為 Web Api。

這些 Web API 終結點均設有坐在 Node.js 平臺上的快遞框架。這是ASP.NETWeb API 之上ASP.NET管道和 Microsoft.NET 框架的方式大致相同。這些後端 Web Api 很明顯需要一個資料庫用於存儲,是 MongoDB 進場。MongoDB 是無模式、 面向文檔的資料存儲 (與SQL Server,即 schemaed,面向關係的資料存儲區) 與一些內置的切分和 map reduce 的功能。

它可能已經發生到你這三個部分 — — 前端和後端存儲 — — 實際上相當可以互換。例如,不難想像使用 AngularJS 談談反過來跟 MongoDB 的ASP.NETWeb Api。或者,使用 Windows 表單應用程式作為前端,撥打 HttpClient Node.js,反過來對 MongoDB 說話。或者,只是要圓了帽子戲法,Node.js 到SQL Server的 AngularJS。

任何這三個元件是很容易"插拔",只要前面結束使用 HTTP (或某物同樣平臺中性) 交談後端。後端也需要驅動程式向您所選擇的資料存儲區。

安裝 Node.js

Node.js 真是一個微不足道的畜牲,若要安裝,當你深究下去。開發人員已經安裝了 Azure sdk 有 Node.js,並且很可能已經在道路上,要引導。安裝類型節點只是在命令提示符下以驗證它。Ctrl + C 把你帶離火起來如果安裝 Node.js,順便互動式 shell。

你得要安裝 Node.js 新鮮從工廠窗戶框或同樣新的 Mac OS 框為那件事上。在 Windows 上,最好的辦法做到這一點是得到 Azure SDK,或 Node.js,預設情況下將其放在路徑的 MSI 安裝程式 Node.js 網站去。也是 Mac OS 的安裝程式,但在 Mac 上更好的方法是安裝另一個套裝程式管理器調用自製。它是可用在 brew.sh。 一旦安裝完畢,這為安裝任何東西在 Mac 上,包括 Node.js 成為你"去工具"。

自製了一個簡單的"brew 安裝節點",拉下所有 Node.js 位,(無需訪問根目錄去做),將它們安裝到正確的地方,把它放在路徑的隱式。再次,在命令列的"節點"將驗證安裝工作。啟動時,它提供任何實用程式,你會過安裝的最低雜訊回應 (如中所示圖 1)。

Node.js 運行; 不是,嚴重的是,它正在運行
圖 1 Node.js 運行; 不是,嚴重的是,它正在運行

打 Ctrl + C (兩次) 去 Node.js 戒煙。你現在開始,但你還沒有完成。

安裝新公共管理

.NET 宇宙有 NuGet。Ruby 的宇宙有寶石。Node.js 宇宙有節點封裝管理員。它被稱為故宮和它安裝作為 Node.js 本身 (npm 是實際上小 Node.js 運行的應用,從命令列) 的一部分。無需做任何事情,一旦安裝了 Node.js,你應該能夠火起來 npm 使用在命令列中,只是"新公共管理"中所示圖 2

節點封裝管理員
圖 2 節點封裝管理員

你會最關心的問題的兩個命令是故宮安裝與新公共管理更新。每個可以一個或多個新公共管理套裝軟體名稱作為參數。當你安裝一個套裝軟體時,故宮將從新公共管理 Web 網站,下載包,NuGet 一樣。它然後本地安裝在硬碟上的目前的目錄下。所以,例如,在一個空的目錄,告訴 npm 安裝調試套裝軟體 (如中所示圖 3)。

安裝 npm 包
圖 3 安裝 npm 包

新公共管理工具通過告訴你它有下載版本 2.1.3 調試的套裝程式,這又取決於版本 0.7.0 的女士包進行回應。更重要的是,兩者都已經安裝到一個名為 node_modules 的本地目錄。這是所有 Node.js 包,您將使用此應用程式的"本地資源庫"。如果由於某種原因,你想要安裝全球 (在某個地方在一個共用位置中的 node_modules 目錄) 故宮包,你會需要使用 npm 安裝 – g 調試。

一旦這些套裝軟體安裝在目前的目錄中,引用它們在 Node.js 中使用的"要求"的呼籲。 它需要一個描述包名稱,節點預計直接在目前的目錄下的 node_modules 目錄裡面找到的字串。所以以下代碼中的,在一個名為 helloDebug.js,檔載入偵錯工具包,將它賦給變數相同的名稱 (Node.js 公約),然後使用它獲得調試流為發出調試資訊 (類似于 System.Diagnostics.Trace):

var debug = require('debug')('hello');
debug("This should never appear unless DEBUG=hello");

現在如果還有名為調試設置為"你好"的環境變數 (節點 helloDebug.js),該代碼運行時,調試調用將列印到主控台。如果沒有,什麼都不會出現。在 Mac 或 Unix 系統上,你暫時可以設置一個運行的 Node.js 環境變數的首碼在節點命令分配 (如中所示圖 4)。

你好,調試世界
圖 4 你好,調試世界

它不是很多,但它開始給你一種感覺,Node.js 發展的工作原理。最重要的是,你應該意識到需要調用正在載入本地 node_modules 目錄之外的包。所以如果要求失敗,這意味著包局部損壞,或者永遠不會安裝。在下一篇專欄文章中,我將談談如何跟蹤的所以你不必記住安裝了哪些新公共管理套裝軟體。

我忘記提到的所有 Node.js 代碼是 JavaScript 嗎?如果你不舒服,使用 JavaScript,現在是刷的好時機。道格拉斯 · 裡斯"JavaScript:好的部分"(O'Reilly 媒體,2008年) 是一個偉大的地方開始。

安裝 MongoDB

MongoDB 進入地方發展系統是的確微不足道。從 MongoDB 網站下載適合您的系統的.ZIP 檔案 (mongodb.org),將其解壓縮並把二進位檔案放在您的路徑。MongoDB 是也有幾個"作為服務"的口味,如 MongoLab (mongolab.com),其中提供永遠免費的層資料載入少於一半演出 (這是很多大多數引導的目的)。本地安裝 MongoDB,或者創建一個 MongoLab 帳戶。

MongoDB 下載也有"蒙古人"命令列用戶端 (類似的風格和範圍到SQL Server命令列用戶端)。這是用於從 shell 腳本和類似訪問 MongoDB 資料庫。如果你更以 GUI 為中心,在世界有幾個免費的 MongoDB GUI 工具。我最喜歡的 Mac 是 RoboMongo,和 MongoVue 為 Windows。

預設情況下,假定蒙哥在本地運行 (即伺服器是"localhost",預設埠是 27017)。如果你熟悉蒙哥,你可以在我早些時候 MongoDB 列要麼退房 msdn.microsoft.com/magazine/ee310029,或花幾分鐘來溫習一下任何數以萬計的網上關於 MongoDB 的條款。Bing 是你的朋友在這裡。

在本地機器上運行 MongoDB 也是微不足道的。假設 MongoDB bin 目錄位於路徑上,就火了"mongod"。它將承擔它可以寫入"/ var"目錄來存儲資料。這通常是不是你想要所以通過"— — dbpath"參數 (注雙短劃線) 來指定要在其中存儲資料的選擇的目錄中。

MongoDB 網站也有說明如何對作為 Windows 服務或作為後臺進程運行 MongoDB * nix 平臺。然而,發射它"手"在前臺有好處,能夠看到 MongoDB 日誌被寫入螢幕作為他們發生。

總結

這個月,這就是所有的空間你卻開始所需要的核心位。下一次,我會在伺服器上啟動了一些 HTTP 端點旋轉,使用快遞,談論有關 Node.js 應用程式如何構成的以及如何建立這些終結點在 Azure 運行多一點點。我也先看看一些工具 Node.js 應用程式使用作為其發展的一部分。但是現在......

您編碼愉快!


Ted Neward 是在 iTrellis,一家諮詢服務公司的首席技術官。他已寫超過 100 篇文章和撰寫,合著十余本書籍,包括"專業 F # 2.0"(Wrox,2010年)。他是 F # MVP 和世界各地的各種會議上演講。他提供諮詢和指導定期 — — 達到他在 ted@tedneward.comted@itrellis.com 如果你有興趣。