原创 Node.js精進(6)——文件

  文件系統是一種用於向用戶提供底層數據訪問的機制,同時也是一套實現了數據的存儲、分級組織、訪問和獲取等操作的抽象數據類型。   Node.js 中的fs模塊就是對文件系統的封裝,整合了一套標準 POSIX 文件 I/O 操作的集合,包括文

原创 Node.js精進(5)——HTTP

  HTTP(HyperText Transfer Protocol)即超文本傳輸協議,是一種獲取網絡資源(例如圖像、HTML文檔)的應用層協議,它是互聯網數據通信的基礎,由請求和響應構成。   在 Node.js 中,提供了 3 個與之相

原创 Node.js精進(4)——事件觸發器

  Events 是 Node.js 中最重要的核心模塊之一,很多模塊都是依賴其創建的,例如上一節分析的流,文件、網絡等模塊。   比較知名的 Express、KOA 等框架在其內部也使用了 Events 模塊。   Events 模塊提供

原创 Node.js精進(3)——流

  在 JavaScript 中,一般只處理字符串層面的數據,但是在 Node.js 中,需要處理網絡、文件等二進制數據。   由此,引入了Buffer和Stream的概念,兩者都是字節層面的操作。   Buffer 表示一塊專門存放二進制

原创 IE讓我首次遭受了社會的毒打

  2022年6月15日,微軟終止對IE的支持,自此IE走入歷史,可以說這是一個時代的終結。      自己在 2011 年剛從業時,IE 在國內的市場佔有率可是遙遙領先的,下圖來自於 StatCounter 網站的統計結果。      將

原创 Node.js精進(2)——異步編程

  雖然 Node.js 是單線程的,但是在融合了libuv後,使其有能力非常簡單地就構建出高性能和可擴展的網絡應用程序。   下圖是 Node.js 的簡單架構圖,基於 V8 和 libuv,其中 Node Bindings 爲 Java

原创 Node.js精進(1)——模塊化

  模塊化是一種將軟件功能抽離成獨立、可交互的軟件設計技術,能促進大型應用程序和系統的構建。   Node.js內置了兩種模塊系統,分別是默認的CommonJS模塊和瀏覽器所支持的ECMAScript模塊。   其中,ECMAScript模

原创 Node.js躬行記(21)——花10分鐘入門Node.js

  Node.js 不是一門語言,而是一個基於 V8 引擎的運行時環境,下圖是一張架構圖。      由圖可知,Node.js 底層除了 JavaScript 代碼之外,還有大量的 C/C++ 代碼。   常說 Node.js 是單線程的,

原创 帶團隊後的日常思考(九)

一、日常問題 1)在家辦公   3、4月份上海疫情很嚴重,公司在3月初的時候就果斷讓大家在家辦公。   一開始,我覺得在家辦公會很影響工作效率,但從後面的工作完成度來看,並不是這樣。   以我自己爲例,我感覺工作時間變長了,因爲本來還有通勤

原创 從幾次事故引起的對項目質量保障的思考

  近期發生了幾件事故,第一件是封禁設備的事故,在後臺有張頁面,只要輸入指定的設備號,就能禁止在該手機上登錄。   問題就出在這個輸入框,因爲這個輸入框什麼也不填,點擊按鈕,也能發起禁用的接口。   有些用戶記錄中,設備號是空的,那麼這些記

原创 Node.js躬行記(20)——KOA源碼分析(下)

  在上一篇中,主要分析了package.json和application.js文件,本文會分析剩下的幾個文件。 一、context.js   在context.js中,會處理錯誤,cookie,JSON格式化等。 1)cookie   在

原创 Node.js躬行記(19)——KOA源碼分析(上)

  本次分析的KOA版本是2.13.1,它非常輕量,諸如路由、模板等功能默認都不提供,需要自己引入相關的中間件。   源碼的目錄結構比較簡單,主要分爲3部分,__tests__,lib和docs,從名稱中就可以瞭解到。   __tests_

原创 CSS躬行記(11)——管理後臺響應式改造

  爲了提升業務人員操作管理後臺的體驗,花了點時間進行響應式的改造,緊急情況時,掏出手機就能工作。   利用CSS3的媒體查詢,就能根據不同屏幕的尺寸採用不同的樣式來渲染,目前使用的移動端屏幕閾值爲750px。   爲了便於管理,基於Les

原创 疫情下的在家辦公

  上海疫情已經持續了一個多月,發生了很多負面新聞,在此就不聊了。   我們公司從三月初開始,就讓全體員工在家辦公,到今天都快4月底了,繼續保持在家辦公。 一、工作方面   我一開始還是比較擔心大家的工作狀態,怕在家辦公效率會變低,但事實上

原创 Node.js躬行記(18)——半吊子的可視化搭建系統

  我們組維護的管理後臺會接到很多開發需求,每次新開頁面,就會到處複製黏貼相關代碼。   並且還會經常性的翻閱文檔,先在書籤或地址欄輸入WIKI地址,然後找到那一份說明文檔,再定位到要看的組件位置。   雖然單人損耗的時間並不是非常多,但還