Startup Engineering

努力作懂技術又懂產品的工程師 :)

Sass/SCSS 簡明入門教學


Sass/SCSS 簡介 Sass is an extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and more. It’s translated to well-formatted, standard CSS using the command line tool or a ......

Web 資訊安全(Security)簡明入門教學指南


前言隨著越來越多的服務和資料連上網路,Web 資訊安全已經是 Web 開發中一個重要的環節,然而許多開發者往往希望專注在應用程式的研發,而忽略了資訊安全的重要性。不過若是沒有嚴謹地考慮資訊安全的問題,等到事情發生後反而會造成更嚴重的財務和名譽上的損失。本文希望整理一些 Web 常見資訊安全(Security)的議題和學習資源和讀者一起教學相長,下次建構網路服務時可以更留心 Web 的資訊安......

前端軟體工程工具箱:Algorithm 篇


前言事實上,要成為一個好的前端軟體工程師除了必須對於前端工程(Web 效能、build 工具、CSS layout 引擎)的部份有所了解外,也必須對於電腦科學的基礎知識有著堅實的基礎知識(資料結構、演算法、設計模式等)。接下來我們將來探討 JavaScript 常見演算法。 JavaScript 實作常見演算法 Algorithm Basic 事實上,演算法就是解決問題的方法,一般來說,所有......

前端軟體工程工具箱:Data Structure 篇


前言事實上,要成為一個好的前端軟體工程師除了必須對於前端工程(Web 效能、build 工具、CSS layout 引擎)的部份有所了解外,也必須對於電腦科學的基礎知識有著堅實的基礎知識(資料結構、演算法、設計模式等)。在這系列的第一篇我們將來探討 JavaScript 常見資料結構。 JavaScript 實作常見資料結構 Array 陣列一連串有序串列,一般而言需要儲存相同類別的元素且長......

前端軟體工程工具箱:Design Pattern 篇


前言事實上,要成為一個好的前端軟體工程師除了必須對於前端工程(Web 效能、build 工具、CSS layout 引擎)的部份有所了解外,也必須對於電腦科學的基礎知識有著堅實的基礎知識(資料結構、演算法、設計模式等)。接下來我們將來探討 JavaScript 常見設計模式。 JavaScript 常見設計模式 Decorator 在 JavaScript 使用上相對彈性,所以可以在執行期間......

前端軟體工程工具箱:JavaScript 篇


前言事實上,要成為一個好的前端軟體工程師除了必須對於前端工程(Web 效能、build 工具、CSS layout 引擎)的部份有所了解外,也必須對於電腦科學的基礎知識有著堅實的基礎知識(資料結構、演算法、設計模式等)。接下來我們將來探討 JavaScript。 JavaScript 前世今身Java 和 JavaScript 雖然名稱相似,但卻是熱狗和狗的差別。JavaScript 是由 ......

前端軟體工程工具箱:HTML & CSS 篇


前言事實上,要成為一個好的前端軟體工程師除了必須對於前端工程(Web 效能、build 工具、CSS layout 引擎)的部份有所了解外,也必須對於電腦科學的基礎知識有著堅實的基礎知識(資料結構、演算法、設計模式等)。在這系列的第一篇我們將來探討 HTML & CSS。 HTML & CSSHTML 和 CSS 並非程式語言卻是前端工程中重要的一環,HTML 主要負責內容結......

用 JavaScript 學習資料結構和演算法:演算法進階補充篇


前言在最後這個單元,我們會討論一些演算法的補充知識包括:遞迴、動態規劃、貪婪演算法、Big-O 表示法、空間複雜度等。 遞迴遞迴是一種解決問題的辦法,它解決問題的每個小部分,直到解決最大的問題,同常會使用到函數的呼叫自己本身。不過要注意的是每個遞迴函數要有基本狀況(base case),也就是說不再遞迴呼叫的條件,以防止無窮遞迴造成程式當掉。 呼叫自己: const recursive = ......

用 JavaScript 學習資料結構和演算法:排序(Sort)與搜尋(Search)篇


什麼是排序(Sort)?想像一下如果你今天因為牙齒疼,想找住家附近的牙醫診所(假設你沒有網路和查號台可以使用),你必須得翻開電話黃頁一個個找。若是這本黃頁好死不死沒有做任何排序的話,你可能需要從頭到尾一個個查看,當然故事的結局很可能是等你找到電話時你已經疼死在家裡了。所以說選擇合適的排序方式讓資料更有組織和有效率地編排是排序演算法的目標。以下就介紹幾個經典的排序演算法,再介紹排序演算法之前......

用 JavaScript 學習資料結構和演算法:圖形(Graph)篇


什麼是圖形(Graph)?圖形是另外一種非線性由一組由邊連結節點的資料結構。社交網站的關係、道路航班等資訊都可以使用圖形表示。 在開始介紹圖形之前我們先來介紹一下關於圖形的基本概念: 圖形:G = (V, E),V(Vertex):一組頂點,E(Edge):一組邊,連接 V 中的頂點 相鄰:當兩節點有用邊連在一起時稱相鄰,由上圖得知 A、B 相鄰,A、E 不相鄰 度:決定於相鄰頂點......