原创 重磅 | OpenJS 基金會推出 Node.js 專業認證考試

2019 年 10 月 22 日 OpenJS 基金會啓動了新的專業認證計劃,以支持 Node.js 開發的未來,兩個認證程序分別爲 OpenJS Node.js 應用程序開發(JSNAD)和 OpenJS Node.js 的服務開發(JS

原创 數據結構知否知否系列之 — 線性表的順序與鏈式存儲篇(8000 多字長文)

從不浪費時間的人,沒有工夫抱怨時間不夠。 —— 傑弗遜 線性表是由 n 個數據元素組成的有限序列,也是最基本、最簡單、最常用的一種數據結構。 作者簡介:五月君,Nodejs Developer,熱愛技術、喜歡分享的 90 後青年,公衆號「N

原创 數據結構知否知否系列之 — 棧篇

願每次回憶,對生活都不感到負疚。——郭小川 棧,英文 Last In First Out 簡稱 LIFO,遵從後進先出的原則,與 “隊列” 相反,在棧的頭部添加元素、刪除元素,如果棧中沒有元素就稱爲空棧。 作者簡介:五月君,Nodejs D

原创 數據結構知否知否系列之 — 隊列篇

有一天,當回顧自己走過的路時,你會發現這些奮鬥不息的歲月,纔是最美好的人生。——弗洛伊德 隊列,英文 First In First Out 簡稱 FIFO,遵從先進先出的原則,與 “棧” 相反,在隊列的尾部添加元素,在隊列的頭部刪除元素,如

原创 Node.js 是什麼?我爲什麼選擇它?

當我們學習一項新的事物的時候,我們首先要知道它來自哪裏?它是什麼?能做什麼或者換句話說,能解決什麼問題?沒有一樣東西是最好的,是可以替代所有的,但在某一領域它是最適合的,正如 Node.js 它可能是某些程序員苦苦追尋的東西,也可能是某些程

原创 【C基礎】從 Hello World 開啓 C 語言之門

不應當急於求成,應當去熟悉自己的研究對象,鍥而不捨,時間會成全一切。凡事開始最難,然而更難的是何以善終。——莎士比亞 讓我們先從 Hello World 開啓 C 語言之門!C 語言做爲一些其它高級編程語言的鼻祖,也是程序員入門的必修課,

原创 Node.js 中的緩衝區(Buffer)究竟是什麼?

多數人都擁有自己不瞭解的能力和機會,都有可能做到未曾夢想的事情。 ——戴爾·卡耐基 從前端轉入 Node.js 的童鞋對這一部分內容會比較陌生,因爲在前端中一些簡單的字符串操作已經滿足基本的業務需求,有時可能也會覺得 Buffer、Str

原创 Node.js + Consul 實現服務註冊、健康檢查、配置中心

本篇主要介紹了 Node.js 如何與 Consul 進行集成,Consul 只是服務註冊的一種實現,還有其它的例如 Zookeeper、Etcd 等,服務註冊發現在微服務架構中扮演這一個重要的角色,伴隨着服務的大量出現,服務與服務之間的

原创 Node.js 入門你需要知道的 10 個問題

本文爲您分享「Node.js 入門你需要知道的 10 個問題」這些問題可能也是面試中會被問到的,當然問題不僅僅是這 10 道,因此,最近開源了一個新項目 Nodejs-Interview-Questions 專注於 Node.js 面試題

原创 Node.js內存管理和V8垃圾回收機制

作者 | 五月君Node.js 技術棧 | https://www.nodejs.red慕課認證作者 | https://imooc.com/u/2667395 對於 Node.js 服務端研發的同學來說,關於垃圾回收、內存釋放這塊不需要

原创 分享 10 道 Nodejs 進程相關面試題

通過對以下 10 個面試題的分享,助您更好的理解 Node.js 的進程和線程相關知識 作者簡介:五月君,Nodejs Developer,熱愛技術、喜歡分享的 90 後青年,公衆號 “Nodejs技術棧”,Github 開源項目 http

原创 Node.js進階之進程與線程

進程與線程在服務端研發中是一個非常重要的概念,如果您在學習的時候對這一塊感到混亂或者不是太理解,可以閱讀下本篇內容,本篇在介紹進程和線程的概念之外,列舉了很多 Demo 希望能從實戰角度幫助您更好的去理解。 作者簡介:五月君,Nodejs

原创 基於Egg框架的日誌鏈路追蹤實踐分享

快速導航 [Logger-Custom] 需求背景 [Logger-Custom] 自定義日誌插件開發 [Logger-Custom] 項目擴展 [Logger-Custom] 項目應用 [ContextFormatte

原创 RabbitMQ高級特性消費端限流策略實現

應用範圍爲服務訪問量突然劇增,原因可能有多種外部的調用或內部的一些問題導致消息積壓,對服務的訪問超過服務所能處理的最大峯值,導致系統超時負載從而崩潰。 業務場景 舉一些我們平常生活中的消費場景,例如:火車票、機票、門票等,通常來說這些服務在

原创 Node.js結合RabbitMQ延遲隊列實現定時任務

實際業務中對於定時任務的需求是不可避免的,例如,訂單超時自動取消、每天定時拉取數據等,在Node.js中系統層面提供了setTimeout、setInterval兩個API或通過node-schedule這種第三方庫來實現。通過這種方式實現