| Web Worker API | JavaScript | 實現並行 | HTML5 | 平行程式設計 | 多核心CPU | 並行演算 | 程式開發 | 林信良 | 程式人

另眼看Web Worker

關於應用程式得並行運作,JavaScript是用單執行緒來實現,而在HTML5當中,提供了支援多執行緒的Web Worker,我們可以朝平行程式設計的方向來思考應用,更能發揮真正的效益

2019-09-20

| 網頁存取 | cookie | Storage API | 林信良 | 程式人

從Cookie到Storage

在網頁存取的過程當中,若要在客戶端儲存狀態,該用Cookie或是Storage API?我們可以從HTTP的存取特性與安全性,考量兩者的差異之後,再做出決定

2019-09-13

| ES6 | Reflect | Proxy API | 實作 | meta-programming | 林信良 | 程式人 | 程式開發

探索ES6反射與代理

若要在JavaScript實作meta程式設計,由於Reflect、Proxy是同等重要的API,我們應思考各自存在的意義,兩者在使用時,更能發揮最大的效益

2019-08-30

| JavaScript | 物件導向 | 模擬類別 | 原型 | 開發 | 林信良 | 程式人

細探JavaScript原型

JavaScript的物件導向支援,後來增加模擬類別的語法,無論採用何種方式,關鍵在於掌握原型

2019-07-26

| JavaScript | 錯誤處理 | 程式人 | 林信良

JavaScript錯誤處理

由於有著不同的環境實作,加上非同步的天性,JavaScript的錯誤處理,其實是比不少語言來得複雜

2019-07-18

| 程式開發 | 程式人 | 林信良 | Unicode | JavaScript

Unicode與JavaScript字串

確實!Unicode是複雜,對於程式語言提供的相關支援也有不同,開發者應了解所支援的編碼。舉例來說,若要針對採用這類編碼的字串,計算出字元長度,裡面的元素單位是碼點還是碼元?

2019-07-08

| 程式開發 | 程式人 | 林信良

別對問題存在幻想

釐清問題的本質很重要,因為你所想的,如果從一開始就無法定義,而基於這樣的想法所寫出來的程式碼,執行之後的結果也難以判斷是對的

2019-06-28

| 程式人 | 例外處理

從語言實作看例外

多數程式語言都具有例外處理的語法,它可自動傳播錯誤訊息,但這是如何實現?從沒有例外處理語法的語言對於錯誤訊息的處理,以及傳播的方式,我們可以掌握更多關鍵

2018-07-22

| 程式人 | 林信良

從實作看語言特性

程式語言的建構,牽涉到值、變數、陳述句、函式的存在作用,以及相關的原理,而經過親自實作之後,再來探討這些部分,有助於理解meta-programming的本質

2018-07-07

| 程式人 | 林信良

自造語言的好奇心

我們之所以學習多種程式語言,可能都是基於各種好奇的動機而來,而每一種語言的創立,其實也代表著看待問題的不同角度,而自己在親自打造一套語言的過程中,更能體會這樣的精神

2018-06-30

| 程式人 | 林信良 | 測試

測試測什麼?

經常得問自己,對這個程式來說,到底想測什麼?明瞭程式碼的意圖之後,可進一步釐清測試方向

2017-07-23

| 程式人 | 林信良 | 數學

程式人的數學書

將數學當成一個表達、思考的方向,就像是學習新語言那樣!

2016-11-27