原创 微服務架構基本原理學習筆記(二)

上一篇:微服務架構基本原理學習筆記(一) 三、微服務架構   從一個已有的單體架構的應用程序開始進行微服務架構的重構往往是一個不錯的選擇。隨着業務量和功能的增加,我們可以考慮使用微服務架構來擴充應用程序中原有的功能,或者每次添加新功能時,都

原创 微服務架構基本原理學習筆記(一)

一、什麼是微服務   微服務是一種技術架構,通常我們可以把它理解爲一組可以相互之間協同工作的應用程序或服務,這些應用程序或服務能夠被單獨部署到不同的服務器中,並且能夠自主運行和維護。   微服務技術只是一個名稱而已,或許我們在日常工作中已經

原创 如何在VSCode Webview中打開一個新的頁面

  上一篇我介紹瞭如何在VSCode Webview中實現點擊鏈接下載圖片或文件,本文介紹如何在默認瀏覽器中打開一個新的頁面。   在瀏覽器中,如果要實現打開一個新的頁面有許多種不同的方法,例如: window.open("https:/

原创 VSCode Webview中如何實現點擊下載圖片

  衆所周知,在一個普通的HTML頁面中,如果要實現一個鏈接點擊後下載圖片,只需要在頁面上放一個<a>標籤,然後將屬性href的值指向圖片的URL或者Base64字符串就可以了。或者按照stackoverflow上提供的方法動態創建<a>標

原创 npm install時遇到錯誤"error:0308010C:digital envelope routines::unsupported"的解決辦法

  今天早上打開電腦,更新了日常工作的github倉庫,然後就是習慣性地執行了"npm install",發現報了下面這個錯誤: Error: error:0308010C:digital envelope routines::unsup

原创 如何自定義sapui5 TreeTable控件的可展開列

  參考sapui5 TreeTable控件的示例,我們發現所有的可展開列(即所謂的hierarchical data column)默認都在第一列,而且API中並沒有給出對應的屬性或方法來重新指定可展開列在table中的位置。   我們可

原创 如何將一個大的Promise.all拆分爲幾個較小的部分依次執行

  前段時間在用Promise.all執行一個非常大批量的操作時遇到一個奇怪的問題。   這個Promise.all需要遍歷一個指定目錄中的所有文件,並以異步的方式讀取文件內容並進行後續操作。由於目錄中的文件數目比較多(大約8000+),P

原创 JavaScript展開運算符和剩餘運算符的區別

  JavaScript使用符號三個點(...)作爲剩餘運算符和展開運算符,不過這兩個運算符是有區別的。   最主要的區別就是,剩餘運算符將用戶提供的某些特定值的其餘部分放入JavaScript數組中,而展開運算符則將可迭代的對象展開爲單個

原创 使用Sinon和Rewire對JavaScript中的私有方法進行單元測試

  我們曾經試圖遵循良好的編程習慣,在創建和定義方法時儘可能按照“職責單一”和“開放-封閉”原則將那些沒有必要暴露出來的方法定義爲私有方法,但是在編寫測試用例時又往往對這些設計原則嗤之以鼻,因爲你會爲無法編寫測試這些私有方法的測試用例而感到

原创 如何查找Visual Studio Code中的內置命令並通過executeCommand來執行

  我們在開發Visual Studio Code插件時,經常需要通過Visual Studio Code提供的API來進行一些UI操作,例如打開文檔、修改並保存文檔內容、關閉文檔、打開功能面板等,有些功能可以通過查看Visual Stud

原创 如何在JavaScript的實例對象中改寫原型方法

  在JavaScript中,我們通常可以像下面的代碼這樣來簡單地定義一個類: var sample = function() { // constructor code here } sample.prototype.fun

原创 如何在Visual Studio Code中用Mocha對TypeScript進行測試

  首先,本文不是一篇介紹有關TypeScript、JavaScript或其它編程語言數據結構和算法的文章。如果你正在準備一場面試,或者學習某一個課程,互聯網上可以找到許多相關的資源,我個人比較推崇hackerrank.com。   本文的

原创 如何保持DIV的垂直滾動條在底部

  今天發現一個可以通過CSS使DIV的垂直滾動條保持在底部的方法,記錄一下! .container { height: 100px; overflow: auto; display: flex; flex-directi

原创 VSCode Extension中的Virtual Documents使用筆記

  我們在用TypeScript編寫VSCode Extension應用時,可以通過VSCode API提供的內置Command "vscode.diff"來快速比較兩個文檔,有關該命令的參數介紹可以查看官方文檔。基本用法如下: vsco

原创 如何在Windows中快速切換不同的Java版本

  作爲一名Java程序員,我們經常需要在不同的Java版本下運行我們的應用程序,或者,我們想在不同Java版本上嘗試運行我們的代碼。當然,如果你在IDE下工作,可以非常輕鬆地切換Java版本(大部分IDE都提供該功能),但是如果你只想在C