| 身分驗證 , | 驗證協定 , | 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

| 重構 , | 程式開發 , | 程式人 , | 林信良 , | 快而髒 , | Quick and dirty

快而髒的程式碼

作為功能原型的建構,以快而髒的程式碼作為開始,對於程式碼最終樣貌難以掌握的情況,其實是有用的!如同重構需要練習、熟悉,如要精通快而髒的技巧,也需經歷這樣的過程

2019-10-10

| 瀏覽器 , | 資料庫 , | 林信良 , | 程式人 , | localStorage , | Indexed Database API , | 客戶端儲存

瀏覽器中的資料庫

試著從使用localStorage模擬、WebSQL到IndexedDB的探討,來協助釐清需求、選擇適當的方案

2019-10-03

| 前端 , | 網路請求 , | XHR , | Fetch , | SSE , | WebSocket , | 程式人 , | 林信良 , | 程式開發

漫談前端網路請求

關於網頁瀏覽的前端網路請求,相繼出現了XHR、Fetch、SSE、WebSocket等多種技術,該採用新出現的技術嗎?誰取代了誰?它們之間的異同是什麼?

2019-09-27

| 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

| ES6模組匯入 , | HTML5

ES6模組匯入

想要掌握瀏覽器中的ES6模組匯入,還需要知道更多細節,這將牽涉到HTML5在script上新增的defer、async、crossorigin之認識

2019-08-24

| JavaScript , | 繼承標準API , | 類別語法 , | 型態判斷 , | 第三方程式庫 , | 繼承 , | 物件判斷 , | 內部特性實作

你不懂的JS子型態

在JavaScript的程式開發環境當中,對於繼承標準API,請使用類別語法;對於型態判斷,務必確認需求與相依的第三方程式庫、工具,採取一致的實作方式

2019-08-08