| 程式人 , | 林信良 , | 規則表示式 , | 文法 , | 程式學習

語言文法淺淺談

想要撰寫程式碼,我們可以試著自行構造語言,要如何著手呢?關鍵在於文法的設計,事實上,如果在程式開發過程中,我們曾訂定數學公式與規則表示式的經驗,就已經涉及語言的定義

2020-03-19

| 程式人 , | 林信良 , | 垃圾收集 , | 程式學習 , | C++智慧指標

從智慧指標到垃圾收集

程式碼執行之後,若要回收不會再繼續使用的記憶體資源,可透過程式語言的垃圾收集來進行,以C++而言,先前並未有這樣的機制,從C++ 11開始可用智慧型指標來處理,但這之前是如何處理的?

2020-03-13

| 程式學習 , | 程式語言 , | 林信良 , | 程式人 , | C++ , | 傳遞函式 , | 函子 , | Functor , | lambda運算式 , | 函式物件

從C++看一級函式

在程式語言C++當中,關於函式的傳遞,目前有很多種可行的作法,而依照開發者當下應用目的不同,函式指標、函子、lambda運算式,都可以是選擇

2020-03-05

| 程式學習 , | 林信良 , | 程式人 , | Pass by value , | 傳值 , | 傳參 , | Pass by reference , | C++ , | Java

傳值?傳參?

在不同的程式語言當中,若剛好有同名的術語存在,應該搞清楚它在該語言中確切的定義,而不是硬用其他語言中的定義,甚至是不清楚來源的名詞來理解。

2020-02-27

| C++ , | Unicode , | 程式學習 , | 林信良 , | 程式人

C++與Unicode

在C++中wchar_t、char16_t、char32_t用於儲存Unicode碼點,char用於儲存UTF編碼實現的碼元,若能清楚掌握何者為儲存碼點,何者是字元編碼實現,就能釐清之間的差別

2020-02-13

| Go , | Unicode , | UTF , | 程式開發 , | 程式學習 , | 程式人 , | 林信良

從Go學Unicode、UTF

在多國語言的編碼上,很多人看到Unicode、UTF,總感到難以區分,因為程式語言隱藏了處理細節,並且對於這部份的定義很模糊,此時,不妨從Go的相關套件著手,也有助於理解之間的差異

2020-01-23

| 網頁框架 , | React , | React 16.8 , | Hooks , | 定義元件 , | 開發 , | 程式學習 , | 程式人 , | 林信良

React的鉤子們!

Hooks是個新的思考方式,熟悉React的開發者定義元件時,應使用函式而非類別來進行,並於開頭使用適當的鉤子「勾取」必要的狀態與副作用邏輯,再定義無狀態的使用者介面呈現邏輯

2019-12-05

| 虛擬DOM , | Virtual DOM , | React , | 瀏覽器 , | 渲染機制 , | 實現React原型 , | 物件樹 , | 開發 , | 林信良 , | 程式人

高效的虛擬DOM?

就瀏覽器處理網頁的過程而言,關於文件物件模型(DOM)的應用方式,其實也是重要的環節之一,而在React框架之中,我們可以運用虛擬DOM解決可能引發的效能問題

2019-11-28

| 身分驗證 , | 驗證協定 , | OpenID Connect , | OAuth2 , | 驗證 , | 授權 , | 程式開發 , | 林信良 , | 程式人

驗證與授權

關於使用者身分的驗證與授權,因現今的應用程式框架會隱藏許多細節,而很難區隔出兩者的差異。其實,我們可以試著從規範來理解整體流程的運作,更能了解不同安全機制的使用時機

2019-11-24

| 狀態管理 , | 有限狀態機 , | 程式 , | 開發 , | 林信良 , | 程式人 , | 狀態樹 , | 狀態物件

有限狀態機與前端

關於狀態管理,不只是前端才會面臨的問題,在後端的部份,也會考量,我們可從有限狀態機的角度,來探討狀態、輸入、規則的定義與組合,最終我們會明白,真正能管理狀態其實是開發者本身

2019-11-14

| HTML , | js , | spaghetti code , | MVC , | 關切點分離 , | HTML混雜JS , | 程式開發 , | 林信良 , | 程式人

關於HTML與JS混雜這件事

在網頁程式碼的設計上,分離HTML與JS現在是許多開發者會被要求做到的,但光是這麼做,並不等於關切點分離,因此也衍生了非侵入式JS、前端MVC框架等作法

2019-10-17

| 狀態管理 , | Redux , | 有限狀態機 , | ReduxJS , | 可預期的狀態管理 , | 程式 , | 開發 , | 林信良 , | 程式人

可預期的狀態管理

對於Redux,我們可理解為有限狀態機,而ReduxJS就是用來實現這個設計架構的框架,而關於程式的執行,有了事先規畫,以及事後測試作為助力,狀態變化才會符合預期!

2019-10-12