原创 前端數字格式化指南 正則表達式 (古早的做法) Date API Intl.NumberFormat (推薦使用)

數字格式化操作在前端領域是十分常見的需求。但是瀏覽器和原生JS並沒有提供太多可用的API來讓我們進行操作。 因此,我們大多數時候都訴諸於自己造輪子。 下面介紹在平常工作中,針對數字進行格式化的幾個方法: 正則表達式 (古早的做法) cons

原创 GitLab Runner 權限問題解決方案

在寫gitlab 自動化腳本構建的時候,會發現無權限問題: The requested URL returned error: 403 此時,可以嘗試採用ssh_key的方式來解決這個問題。 ssh-keygen -t ed25519 -C

原创 掌握Canvas,從這裏開始 Canvas瀏覽器檢測 Canvas 特點 基礎知識 矩形和橢圓 線段和路徑 文本 圖片 動畫 Path2D 接口 參考資料

Canvas是HTML5中一個重要的組件,提供了一系列接口使得可以開發者可以利用Js繪製各種圖表、動畫。 Canvas瀏覽器檢測 如果你的代碼需要兼容舊的瀏覽器,則可以如下代碼來檢測: const canvas = document.que

原创 架構整潔之道讀書筆記(二) 第五部分 軟件架構 第六部分 實現細節。

第五部分 軟件架構 什麼是軟件架構?軟件架構工作本質上是在回答一個關於“如何將系統切分成組件,並且處理好各組件之間的關係”的問題。一個優秀的架構師應該允許系統儘可能推遲與實現細節相關的決策。要設計一個好的軟件架構,除了要使系統用例的正常運行

原创 架構整潔之道讀書筆記(一) 第一、二部分 緒論和編程範式 第三部分 設計原則 第四部分 組件構建原則

最近讀了《架構整潔之道》(https://u.jd.com/5nzQJQ) 這本書,這是由Bob大叔所寫的一本關於軟件架構的著作。書中開篇指明瞭軟件架構的核心目的是用最小的人力成本來構建和維護整個軟件系統。那麼要如何達到這個目的呢?全書共分

原创 npm進階用法——如何擁有自己的包和流程自動化 如何發佈自己的npm包 如何利用npm實現自動化流程 總結 參考資料

作爲包管理器,npm在前端開發過程中使用頻率很高,不過大部分前端可能只使用過npm install等簡單的功能。今天這篇文章主要介紹一些進階的知識點,分爲兩個部分,第一個部分是從npm包開發者的角度講解怎麼發佈和管理自己的包。而第二部分是從

原创 如何優雅地在Node應用中進行錯誤處理 常用的錯誤處理機制 解決方案 總結 參考資料

不知道你有沒有遇到這樣一種情況,某天你寫的代碼在線上突然發生錯誤,然後你打開控制檯,卻對着打過包的錯誤信息毫無頭緒?又或者說是代碼在node端出現了問題,你查看錯誤日誌的時候,卻發現日誌文件中都是雜亂的錯誤堆棧信息。 其實上面這些問題都可以

原创 如何開發一個屬於自己的命令行工具 創建基礎的文件目錄 功能模塊 總結 參考資料

平常經常使用一些npm cli工具,你是否好奇這些工具又是怎麼開發出來的呢?接下來這篇文章,就會介紹如何利用Node.js開發一個屬於你自己的命令行工具。 創建基礎的文件目錄 首先,我們需要先創建一個基本的項目結構: mkdir git-r

原创 談談響應式編程 什麼是響應式編程 函數響應式編程 應用範圍 觀察者模式和迭代器模式 RX(Reactive Extension) 動手寫一寫 總結 Read More

隨着前端框架react,angular以及vue的流行,響應式編程也開始在前端領域得以廣泛應用。因此,瞭解並且理解響應式編程有助於更好地學習這些框架,同時利用好響應式編程的相關工具,可以讓編程更加輕鬆。 什麼是響應式編程 和平常經常聽說的面

原创 python 入門 其他數據結構 function File I/O 參考資料

python編程語言中有一些常用的數據結構,熟悉這些數據結構和常用方法是進一步使用python進行數據分析的基礎。 String 字符串是所有編程語言中最常見的數據結構,在Python中,字符串的操作和定義和其他編程語言也大致相同。 首先是

原创 OAuth和Node.js 工作原理 客戶端 授權服務端 資源服務器 參考資料

OAuth是一個開源的標準協議,主要用於應用之間的授權訪問。OAuth1.0和2.0之間有較大出入,互相不兼容,因此目前主流的應用都是使用2.0版本的協議。 OAuth應用十分廣泛,比如google, Facebook, twitter和微

原创 如何對Node應用"死後驗屍" 內存泄漏 其它策略 參考資料

爲了讓前端工作更有效率,必須徹底掌握一些必要的調試技巧。平常在開發Node應用的過程中,最常使用的是本地調試,但是一旦你的代碼到了生產環境,就必須採取其他策略進行追蹤和解決問題。 在編程領域,有一個專門的術語“Post-mortem deb

原创 Node.js應用中常用安全保護機制和加密算法實現 保護密碼 保護存儲數據 保護通信信道 雙因子認證 總結 參考資料

當你知道如何在應用中針對不同的使用場景使用不同的加密算法,你的應用纔是安全的。因此,這篇文章將會介紹平常工作中比較常用的幾種加密方式,並給出對應的Node.js代碼。 保護密碼 用戶在註冊應用的時候難免會使用一些過於簡單的密碼,同時也傾向於

原创 手寫webpack 讀取入口文件 解析依賴 遞歸生成依賴圖 根據依賴圖,打包生成文件 參考資料

webpack是近幾年前端比較流行的打包工具,基本上是目前所有前端都必須要掌握的開發利器。不過,光停留在使用工具的階段上,是難以得到成長的。因此,這篇文章將帶大家手把手自己實現webpack的核心功能。 其實,webpack的核心功能是分爲

原创 如何使用React來開發拖拽組件 理解HTML5 拖放API 實現Drag組件 實現Drop組件 添加拖放效果 進一步完善 參考資料

拖拽組件是在前端開發中十分常見的一個功能,現在無論你是使用React還是Vue,都有很多現成的拖拽組件可以使用。不過,有些時候你可能還是需要自己去實現,那麼就必須需要理解其實現原理。接下來這篇文章,我將詳細介紹如何使用React框架來實現一