TypeScript 學習之路─第六章:TypeScript程式語言的介面和抽象類別 2019 年 11 月 28 日 Magic Len 研究分享、 NodeJS TypeScript程式語言的介面(Interface),是TypeScript特有、JavaScript沒有的東西,它與「declare」關鍵字類似,只是用來寫給編譯器看的。TypeScript的介面可以將物件型別抽像化並加上名稱,形成新的型別,還能讓類別根據介面來添加屬性。 繼續閱讀
TypeScript 學習之路─第五章:TypeScript程式語言的物件 2019 年 11 月 26 日 Magic Len 研究分享、 NodeJS JavaScript的物件功能十分複雜,這個章節將會用TypeScript嘗試釐清JavaScript的物件建立方式,並且利用物件導向觀念來實作程式。 繼續閱讀
TypeScript 學習之路─第四章:TypeScript程式語言的基礎概念 2019 年 11 月 21 日 Magic Len 研究分享、 NodeJS 在這個章節將會介紹許多其它程式語言也都有的基礎概念,包含變數、資料型別、函數、註解以及條件和迴圈的流程控制。 繼續閱讀
TypeScript 學習之路─第三章:在Node.js專案中使用TypeScript 2019 年 11 月 19 日 Magic Len 研究分享、 NodeJS 在前面的章節中,我們都是直接用「tsc」指令加上參數來編譯TypeScript程式,並且利用「declare」關鍵字來宣告Node.js才有的物件和函數。在這個章節,我們會建立Node.js專案,運用TypeScript的「tsconfig.json」檔案來設定編譯參數,並加裝套件讓TypeScript能直接支援Node.js內建的物件和函數的型別檢查。 繼續閱讀
TypeScript 學習之路─第二章:用TypeScript寫個猜數字程式吧! 2019 年 11 月 14 日 Magic Len 研究分享、 NodeJS 在這個章節,我們將會直接使用TypeScript程式語言來建立出猜數字程式的專案,並逐步將它完成!並在撰寫程式的過程中,來練習TypeScript程式語言基礎的程式語法,以及針對Node.js和網頁瀏覽器這兩個不一樣的執行環境來撰寫程式。這支小程式在執行之後,將會先從1到100的整數中,隨機抽取一個數字作為答案,並且允許使用者輸入要猜的數字,如果答錯了,程式會回答使用者輸入的數字究竟是大於答案,還... 繼續閱讀
TypeScript 學習之路─第一章:認識TypeScript 2019 年 11 月 12 日 Magic Len 研究分享、 NodeJS TypeScript是由微軟開發的一種能用來編譯出JavaScript程式碼的程式語言,因其比JavaScript程式語言還多了一道編譯手續,能夠在編譯階段找出程式碼語法上的問題,而且也添加了型別檢查機制,讓程式更容易閱讀與偵錯,使得TypeScript更適合用來開發大型專案。TypeScript相容於JavaScript,白話一點來說就是JavaScript程式碼也可以通過TypeScript編... 繼續閱讀
計數排序法(Counting Sort),只需線性時間就能完成的超快排序法 2017 年 10 月 21 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 計數排序(Counting Sort)演算法是不需進行比較的排序演算法,顧名思義,它會去數元素的數量來進行排序。這種排序法只需要線性時間和空間的複雜度就可以完成排序,比時間複雜度為O(nlogn)的演算法還快,而且作法也不會太難。雖然如此,計數排序法是並不算是常見的排序演算法,因為它只能用來排序已知數值範圍的序列(由於要直接對應序列的索引值,所以這組數值通常會是一組整數)。舉例來說,已知序列中的每... 繼續閱讀
使用Node.js進行32位元的有號整數運算 2017 年 8 月 9 日 Magic Len JavaScript JavaScript的Number採用64位元的IEEE 754標準來表示整數和浮點數數值,其中整數的安全範圍在-2^53 - 1到2^53 - 1之間。換句話說,Node.js既不能直接使用到32位元的整數,同時也無法使用64位元的整數。因此,如果要拿Node.js來做一些稍微複雜的計算,就需要撰寫額外的程式來處理資料型態的部份。像是32位元整數經常會遇到的「溢位」,想要在Node.js上重現就... 繼續閱讀
快速選擇(Quickselect)演算法,快速尋找第K小或是第K大的元素 2016 年 5 月 24 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 快速選擇(Quickselect)演算法是利用快速排序(Quick Sort)演算法,在排序序列的同時,選擇出序列中第K小或是第K大的元素。若我們只想要從序列中找出一個第K小或是第K大元素,使用快速選擇法會比使用快速排序法來得快很多,因為前者不需要把序列的排序完整做完,平均只需線性時間即可找到結果。 繼續閱讀
Boyer-Moore-MagicLen(BM-MagicLen)字串搜尋演算法,超快速的全文搜尋演算法 2016 年 4 月 9 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 在一篇很長的文章或是一大串文字中找出自己想看到的段落是我們時常會需要做的事情,但是要如何有效率地讓電腦尋找文字中的文字是一件需要思考的事情,甚至有許多針對這個議題所提出的研究論文。字串搜尋演算法的好壞,在複雜的文件內容下,對搜尋時間的影響是非常深遠的。字串搜尋除了能夠正確搜尋一段文字內的特定字串外,還可以用來搜尋龐大的任意資料,因為任何的資料都可以藉由數位編碼轉成只有數字的字串,如一段原始的聲音,... 繼續閱讀