別對問題存在幻想

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

2019-06-28

JavaScript陣列與群集

ES6之後,對於陣列予以強化,增加了Map、Set等群集,開發者應瞭解並善加利用這些特性,同時,也別忘了測試API的行為,驗證其確實符合所需

2019-06-22

ES6後的重要特性

在JavaScript的近期發展當中,ES9規則表示式、非同步迭代,以及目前處於階段3的類別、bigint新特性等,都是值得認識與應用的重大特性!

2019-06-14

ES9非同步迭代

關於在JavaScript開發環境下的非同步處理,從ES6到ES9,先後加入Promise API,以及async、await、非同步迭代的語法,讓我們先從同步迭代著手,逐一檢視歷來的相關作法

2019-06-07

從歐拉角到四元數旋轉

座標旋轉的處理是許多程式入門教學的練習題,因此,導證數學公式或矩陣,就像研讀程式原始碼,也能是有趣而實用的

2019-05-25

座標轉換與程式設計

關於座標系統的處理,在3D程式設計當中經常會需要接觸的議題,我們需要知道各種表示方式,以及兩種螢幕空間,並且區隔出是點或向量,雖然我們有現成的程式庫或框架,但如果能熟悉相關作法,處理上將更為順手

2019-05-18

特意結合數學的程式練習

程式設計是否會用到數學,經常引發論戰,與其設法尋找數學不好也可以生存的佐證,不如刻意以結合數學的程式設計來練習

2019-05-11

HTTP安全從「頭」開始

Web應用程式過去往往只能被動地防堵瀏覽器的惡意請求,而有了HTTP安全相關的標頭,則可以主動控制瀏覽器不發起非安全操作,對安全防護來說,是不小的助益

2019-05-05

玩轉著色器語言

雖然GLSL語言本身是基於命令式的C語言,而非函數式風格,然而,獨立、無狀態地處理頂點、像素這方面,還是隱含著函數式、平行處理的典範

2019-05-04

瀏覽器裡的3D建模師

想要透過程式碼來建立3D物體模型,除了使用OpenSCAD、Sculptris等軟體,也可運用基於WebGL的網頁應用程式,即可在瀏覽器來執行3D圖像的繪製

2019-04-21

多風格物件之建立

建構物件之前,我們須思考該用何種模式,但不是只考慮特定程式語言應該使用或棄用何種模式

2019-04-13

廢棄的finalize?

finalize是Java這套程式語言中Object的一種方法,主要是在物件清除之前執行,但在實際使用上有不少問題,因此,Java9廢棄了finalize,但原本需要在上述狀況執行的一些工作,該如何進行?

2019-04-04