摘要:上一篇:Theia APIs——事件 通過JSON-PRC進行通信 在本節中,我將講解如何創建后端服務并通過JSON-PRC來連接它。 我將使用debug logging system作為例子來進行講解。 概述 本示例將用express框架創建一個服務,然后通過websocket連接該服務。 注冊服 閱讀全文
posted @ 2020-01-11 15:32 Jaxu 閱讀 (260) 評論 (0) 編輯
摘要:上一篇:Theia APIs——Preferences 事件 Theia中的事件或許會讓你感到困惑,希望本節能闡述清楚。 來看下面的代碼: (來自logger-watcher.ts) @injectable() export class LoggerWatcher { getLoggerClient 閱讀全文
posted @ 2020-01-10 16:36 Jaxu 閱讀 (137) 評論 (0) 編輯
摘要:上一篇:Theia APIs——命令和快捷鍵 Preferences Theia有一個preference service,模塊可以通過它來獲取preference的值,提供默認的preferences以及監聽preference的更改。 Preferences的內容可以保存在workspace根目 閱讀全文
posted @ 2020-01-09 17:06 Jaxu 閱讀 (123) 評論 (0) 編輯
摘要:上一篇:使用Theia——創建語言支持 命令和快捷鍵 Theia可以通過多種不同的方式進行擴展。命令允許packages提供可以被其它包調用的唯一命令,還可以向這些命令添加快捷鍵和上下文,使得它們只能在某些特定的條件下被調用(如窗口獲取焦點、當前選項等)。 在Theia中添加命令 要將命令添加到Th 閱讀全文
posted @ 2020-01-08 13:23 Jaxu 閱讀 (185) 評論 (0) 編輯
摘要:上一篇:使用Theia——創建插件 Theia——添加語言支持 Theia中TextMate的支持 使用TextMate語法可以為大部分源文件提供精準的著色修飾,雖然這只是在語法級別上(沒有語言本身的深度解析)。語義著色可以由語言服務器提供。 TextMate語法主要有兩種格式:.plist和.tm 閱讀全文
posted @ 2020-01-07 09:10 Jaxu 閱讀 (224) 評論 (0) 編輯
摘要:上一篇:使用Theia——創建擴展包 創建Theia插件 下面我們來看看如何創建Theia插件。作為示例,我們將注冊一個Hello World命令,該命令顯示一個“Hello World”通知。本文將指導你完成所有必要的步驟。 Theia的架構 插件與擴展包 Theia是一個可擴展的IDE。你可能聽 閱讀全文
posted @ 2020-01-06 22:38 Jaxu 閱讀 (353) 評論 (0) 編輯
摘要:上一篇:使用Theia——構建你自己的IDE 創建Theia擴展包 本例中,我們將添加一個菜單項“Say hello”用來顯示一個通知“Hello world!”。本文將指導你完成所有必要的步驟。 Theia的架構 Theia應用程序由所謂的擴展包(extensions)構成。一個擴展包提供一組特定 閱讀全文
posted @ 2020-01-04 23:19 Jaxu 閱讀 (279) 評論 (0) 編輯
摘要:上一篇:Theia架構 構建你自己的IDE 本指南將教你如何構建你自己的Theia應用。 必要條件 你需要安裝node 10版本(譯者:事實上最新的node穩定版即可): 以及yarn: 還需要確保已安裝python 2.x,可通過python --version來檢查。 安裝 首先請創建一個空目錄 閱讀全文
posted @ 2020-01-04 10:29 Jaxu 閱讀 (842) 評論 (0) 編輯
摘要:上一篇:Theia——云端和桌面版的IDE 架構概述 本節描述了Theia的整體架構。 Theia被設計為一個可以在本地運行的桌面應用程序,也可以在瀏覽器和遠程服務器之間工作。為了支持這兩種工作方式,Theia運行在兩個獨立的進程中,它們被稱之為前端和后端,相互之間通過WebSockets上的JSO 閱讀全文
posted @ 2020-01-03 23:13 Jaxu 閱讀 (374) 評論 (0) 編輯
摘要:Theia是一個利用最新的web技術開發的支持云端和桌面運行的類似IDE的產品,它是一個可擴展的平臺,并且全面支持多語言。 目標 建立一個可搭建類似IDE產品的平臺 為終端用戶提供完整的多語言IDE(不僅僅是智能編輯器) 同時支持云端IDE和桌面版IDE 通過language和debug serve 閱讀全文
posted @ 2020-01-03 22:34 Jaxu 閱讀 (351) 評論 (0) 編輯
摘要:我們在使用git初始化一個項目時,尤其是通過git submodule update --init --remote初始化子模塊時,可能會遇到下面這個錯誤: 這是由于當你通過HTTPS訪問Git遠程倉庫的時候,如果服務器上的SSL證書未經過第三方機構認證,git就會報錯。原因是因為未知的沒有簽署過的 閱讀全文
posted @ 2019-12-12 10:48 Jaxu 閱讀 (1193) 評論 (0) 編輯
摘要:Node.js的crypto模塊提供了一組包括對OpenSSL的哈希、HMAC、加密、解密、簽名,以及驗證等一整套功能的封裝。具體的使用方法可以參考這篇文章中的描述:node.js_crypto模塊。 本文重點介紹在使用createCipheriv方法時所遇到的坑。對應的解密算法createDeci 閱讀全文
posted @ 2019-10-10 17:15 Jaxu 閱讀 (1017) 評論 (0) 編輯
摘要:動態規劃 動態規劃(Dynamic Programming,DP)是一種將復雜問題分解成更小的子問題來解決的優化算法。下面有一些用動態規劃來解決實際問題的算法: 最少硬幣找零 給定一組硬幣的面額,以及要找零的錢數,計算出符合找零錢數的最少硬幣數量。例如,美國硬幣面額有1、5、10、25這四種面額,如 閱讀全文
posted @ 2019-09-03 14:18 Jaxu 閱讀 (593) 評論 (2) 編輯
摘要:在計算機編程中,排序算法是最常用的算法之一,本文介紹了幾種常見的排序算法以及它們之間的差異和復雜度。 冒泡排序 冒泡排序應該是最簡單的排序算法了,在所有講解計算機編程和數據結構的課程中,無一例外都會拿冒泡排序作為開篇來講解排序的原理。冒泡排序理解起來也很容易,就是兩個嵌套循環遍歷數組,對數組中的元素 閱讀全文
posted @ 2019-08-23 17:18 Jaxu 閱讀 (422) 評論 (1) 編輯
摘要:之前在看《從一到無窮大:科學中的事實和胰測》(喬治·伽莫夫著)這本書的時候,其中有個章節是講時間和空間關系的,里面講到對于光速的測定。下面是原書中人們對于如何測定光速的描述: 第一次測定光速的嘗試是著名的意大利物理學家伽利略(Galileo Galilei)在 17 世紀進行的。他和他的助手在一個黑 閱讀全文
posted @ 2019-08-16 15:59 Jaxu 閱讀 (940) 評論 (0) 編輯
摘要:提高網站性能最簡單的方式之一是合并壓縮JavaScript和CSS文件。但是當你需要調試這些壓縮文件中的代碼時,那將會是一場噩夢。不過也不用擔心,souce maps將會幫你解決這一問題。 Source map提供了一種方式,能夠將壓縮文件中的代碼映射回源文件中對應的位置。這意味著,你可以借助一些軟 閱讀全文
posted @ 2019-08-15 15:38 Jaxu 閱讀 (268) 評論 (0) 編輯
摘要:在計算機科學中,圖是一種網絡結構的抽象模型,它是一組由邊連接的頂點組成。一個圖G = (V, E)由以下元素組成: V:一組頂點 E:一組邊,連接V中的頂點 下圖表示了一個圖的結構: 在介紹如何用JavaScript實現圖之前,我們先介紹一些和圖相關的術語。 如上圖所示,由一條邊連接在一起的頂點稱為 閱讀全文
posted @ 2019-08-14 11:38 Jaxu 閱讀 (957) 評論 (2) 編輯
摘要:在計算機科學中,樹是一種十分重要的數據結構。樹被描述為一種分層數據抽象模型,常用來描述數據間的層級關系和組織結構。樹也是一種非順序的數據結構。下圖展示了樹的定義: 在介紹如何用JavaScript實現樹之前,我們先介紹一些和樹相關的術語。 如上圖所示,一棵完整的樹包含一個位于樹頂部的節點,稱之為根節 閱讀全文
posted @ 2019-08-09 19:43 Jaxu 閱讀 (1917) 評論 (0) 編輯
摘要:在前一篇文章中,我們介紹了如何在JavaScript中實現集合。字典和集合的主要區別就在于,集合中數據是以[值,值]的形式保存的,我們只關心值本身;而在字典和散列表中數據是以[鍵,值]的形式保存的,鍵不能重復,我們不僅關心鍵,也關心鍵所對應的值。 我們也可以把字典稱之為映射表。由于字典和集合很相似, 閱讀全文
posted @ 2019-08-06 14:31 Jaxu 閱讀 (505) 評論 (1) 編輯
摘要:與數學中的集合概念類似,集合由一組無序的元素組成,且集合中的每個元素都是唯一存在的??梢曰仡櫼幌轮袑W數學中集合的概念,我們這里所要定義的集合也具有空集(即集合的內容為空)、交集、并集、差集、子集的特性。 在ES6中,原生的Set類已經實現了集合的全部特性,稍后我們會介紹它的用法。 我們使用JavaS 閱讀全文
posted @ 2019-08-02 17:12 Jaxu 閱讀 (528) 評論 (1) 編輯
ag二分彩