原创 AWS入門指南之四:微服務以及Lambda

這篇文章我們聊一聊微服務的概念,和aws裏與微服務關係比較緊密的一個計算服務:Lambda。 什麼是微服務(microservice)?按照維基百科的定義,微服務是面向服務架構(servcie-oriented-architecture

原创 AWS入門指南之三:一致性問題

最近比較忙,很少來更新博客。這一次我們簡單聊一聊一致性的問題。對於一個分佈式系統來講,一致性問題是一個非常重要,非常基礎的問題。對於分佈式系統的框架設計者,可以說是一個需要考慮的基本問題。在分佈式系統中一個基礎理論是CAP,具體說就是一致

原创 AWS入門指南之二:泛談AWS的分佈式概念

今天從寬泛的角度談談AWS的分佈式概念。首先,AWS是一個基於分佈式架構構建的雲服務,我想這一點是最清楚最明白,人人皆知不過的了。但是,當我們開始使用AWS以後就會發現分佈式遠不像我們想象中那麼清晰,而是經常會忘記,並且需要時時提醒自己我

原创 AWS入門指南之一:怎樣創建免費的AWS賬號

從今天起,打算慢慢寫一系列關於aws的文章。主要集中於AWS的一些基本知識和操作指南。這其中會穿插於介紹一些雲和分佈式系統的知識,但是以AWS的實現爲主。可能會帶有少量的代碼,但是主體操作應該會使用AWS Console和AWS CLI來

原创 OO過時了嗎?軟件危機還有嗎?

今天隨便聊兩句最近覺得有點迷惑的問題。年齡大一點的程序員應該都經歷過大家都在談OO的年代。那個時候我們最熱衷的問題大概無外乎什麼是對象,對象間的關係,UML,等等技術話題,以及對於非OO設計的深深鄙視了。但是三十年河東,三十年河西,不知何

原创 浮點數計算務必考慮浮點表示誤差並使用epsilon

對於浮點數的計算非常容易產生懶惰的想法而試圖忽視掉浮點表示的缺陷。最簡單的例子是浮點表示某些數值會有誤差,這個時候必須考慮使用epsilon。比如我要比較abs(a/b - c/d)的最小值,如果數值一樣就取字典最小序。如下版本是有問題的

原创 讀書筆記- the data engineer's guide to spark

// start spark session spark-shell // load data val staticDataFrame = spark.read.format("csv").option("header", "true"

原创 怎麼學習外語(功夫英語-6個月掌握一門外語)

1. 要先學習和自己有關係最重要的詞彙用法;2. 理解含義和上下文,然後詞彙自然就會學到;3. 學習外語的發音和聽力是生理訓練過程(練好外語功夫)4. 輕鬆快樂+忍耐歧義5. 把外語當成工具每天說和用