繼雲計算之後,霧計算再起 - 談談 P2P CDN

(Photo Credit: https://www.polarising.com/fog-computing/) 雲漂浮在天空之上,霧則更貼近地面,透過這種十分形象的名稱,霧計算(Fog Computing)將數據、(數據)處理和應用程式集中在網路邊緣的設備中,而不是幾乎全部保存在雲中。這意味著計算從距離用戶較遠的數據中心(雲)拉回到了你我身邊的設備(霧),也可以是頻寬你正使用的電腦。 霧計算,是雲計算的延伸概念,也被稱為邊緣計算(Edge »

程式語言「表達能力」的排序

原始的文章來自於 RedMonk 網站。作者相當有創意地提出了統計的方法,來比較不同程式語言的表達能力。 有可能將不同的程式語言以「表達能力」或說是「效率」做個排序嗎?換言之,你能夠比較「透過某些程式語言來寫出某個概念有多容易」嗎?其中一種可以用來做出這種比較的方案是:每一次的原始碼提交 (commit) 有幾行原始碼的改變。這個方案可以提供一種觀點:一種程式語言可以讓你在同樣的行數空間內擁有多大的表達能力。因為在程式裡,臭蟲 (bug) 的數量是正比於程式碼的行數,而非這些程式碼表達了多少的概念,所以一種語言如果可以在同樣的行數內表達更多的概念就可以被認為是表達能力更強。 »

定義與實作

緣起:最近在公司做的一個專案的內容,是要改善資料庫的效能。原本寫入資料庫的一段程式碼,因為最初寫的時候太暴力,完全套用 ORM 來硬寫,所以造成資料庫很大的負擔。也因此,我們決定要來重構這一部分的程式碼。 重構分成 3 個層面: SQL 語法的部分 原本的 SQL 是用 ORM 硬做的,改成活用了 temp table 的語法後,效能就會改善許多。 »

持續集成的實踐:基於容器的微服務架構設計

敏捷開發關鍵的一環:持續集成 隨著軟體開發複雜度的不斷提高,團隊開發成員間如何更好地協同工作以確保軟體開發的質量已經慢慢成為開發過程中不可迴避的問題。尤其是近些年來,敏捷軟體開發逐漸成為顯學,如何能在不斷變化的需求中快速適應和保證軟體質量顯得尤其重要。 持續集成(Continuous Integration)作為敏捷開發重要的一步,其目的在於讓產品快速迭代的同時,盡可能保持高質量。每一次程式碼更新,都要通過自動化測試來檢測程式碼和功能的正確性,只有通過自動測試的程式碼才能進行後續的交付和部署。它倡導團隊開發成員必須經常集成他們的工作,甚至每天都可能發生多次。而每次集成都是通過自動化的構建來驗證,包括自動編譯和測試,從而盡快地發現集成錯誤,讓團隊能夠更快的開發產品。 持續集成的特點 週期性的自動化過程: 從拉取程式碼、編譯構建、 »

公司的技術棧(Company Stack)

讓我們從系統開發、運維、資料儲存、軟體工程等面向來一窺 Cepave 的全貌: 系統開發 Language Golang, JavaScript, Python, Java, PHP Frontend Frameworks: React.js, Vue.js Tools: Webpack, Yarn 系統運維 Virtualization Vagrant, Docker »