Go Go - Archive files with archive/tar lib

前言 由於專案要提供 API 來讓使用者 export 匯出檔案, 因此需要將所需檔案集結成一個 archive file。這個流程是透過 Go 的標準 lib archive/tar 來處理,以下文章將簡單介紹流程和實作方式,並於最後附上完整程式碼。

Go Google Sign-in with OAuth 2.0

前言: 由於目前專案是以 Embedded System 為主,比較少有機會接入第三方 api 的機會,所以這次 side project 就以 Google Sign-in for Web application with Go 的流程當作練習。由於網路上可以找到很多範例,所以在以下文章中會側重在原理 + 為什麼要這樣做,希望除了寫 code 之外,還能建立起基本概念。

Go Go Fundamental - Array

前言 最近在學 Go,而之前有一些 C 的基礎,因此在學到 Go 的 Array 時,發現它和 C 的 Array 差異性蠻大的,所以特別記錄下來。

Web Angular Schematics

前言: 最近專案需要提供工具讓外部人員一同參與 Web App 的開發,由於我們的 Web App 已經有基本架構和開發方式,為了讓外部人員能夠更方便的 follow 架構,所以就決定使用 Schematics 來創建專屬樣板,讓協作開發人員可以迅速地建立專案用的 component page,然後他們只需要修改部分程式碼即可。

Web Redux Anti Pattern

前言 這篇文章是基於 Redux Anti-Patterns - Part 1. State Management 所進行的探討,包含在專案內是否有犯類似的錯誤,以及後續該如何改善。文章會結合目前專案所使用的 Redux(ngrx),並檢視使用 Ngrx 是否能避免這些錯誤發生。

Web CSS Typed Object Model

前言 Chrome 66 版本全新支援 CSS Typed Object Model,透過這種新型的 CSS Typed OM,可以有效提升使用 JavaScript 操作 CSSOM 屬性的效率。雖然目前僅有 Chrome 支援( Firefox 據說在努力中, Edge 目前沒下文),不過既然此方式能對網頁呈現效能有所提升,讓開發者和使用者都因此受惠,未來想必會成為主流方式。

Web The Main Flow of Rendering Engines

前言: 最近在寫 CSS Animation 部分,於是比較深入的看瀏覽器渲染流程,希望在進行 Animation 時可以更加地流暢。 The Main Flow of Rendering Engines 在寫 HTML 的時候,我們很理所當然地寫出這樣的頁面:

Web Angular - Reactive Form

前言 在建立表單的部份,Angular 與 AngularJS 最大的不同就是多了 Reactive Form 的方式。由於 Reactive Form 比起一般 Template-Driven Form 更具彈性且好掌控,所以就來大致介紹一下與 Reactive Form 相關的流程機制。

Web Angular - ng-template & ng-container

前言: 昨天剛好在看 Angular CDK Overlay (Overlay Document) 這部分,因為 Overlay 是 CDK 中 Portal 的ㄧ種,而 Portal 又和 Angular 中的 Template 機制有關係,這才發現自己對於 Angular 的 ng-template 和 ng-container 概念不是很清楚,所以特別再看了一下這部分的實作原理和應用方式。