小課堂week15 年終小結

年終小結

一年的最後,想和你們回顧一下今年講過的技術和書,用一些問答,一塊兒來提煉一下精華。程序員

Spark

爲何須要分佈式計算?數據庫

計算的增加速度超過了硬件的增加,單一服務器沒法負荷。多服務器帶來的是複雜度的提高,分佈式計算就是解決這種複雜性問題的。編程

爲何不能對Oracle橫向擴容實現分佈式?服務器

計算服務不止是知足計算功能,更重要是保證計算的穩定和可靠。
多服務器在可靠性方面,會出現一種單機不存在的問題:部分服務器故障。在部分故障狀況下仍保持正常計算,咱們稱爲分區容忍性(P)。
Oracle在可靠性方面是同時知足了一致性(C)和可用性(A),經過思想實驗,發現CAP三者是沒法所有達到的。
因此對Oracle橫向擴容是沒法知足P的,會引入不可靠運行的風險。框架

Spark是什麼?編程語言

解決方法是犧牲CAP中的某一特性。
通常來講,對分佈式計算來講,在CAP中,P是必須知足的,C和A相比,A在大多數場景下更爲重要,因此選擇犧牲C成本最低。
Spark是一種AP的解決方案,可是須要注意的是,並非徹底犧牲C,而是用最終一致性來替代強一致性。
在具體實現上,Spark延續了Hadoop的思路,對傳統數據庫技術進行了徹底的推倒重來,是一種更爲純粹的分佈式技術,很是值得學習。分佈式

《例外處理的逆襲》

爲何選擇分享這本書?oop

這是我今年分享的第一本書,最主要的緣由是做者的文筆實在是太好了,一本既好看,又有用的書,固然要分享了。學習

什麼是例行處理的逆襲?測試

核心思想是分而治之,將例外處理分爲了fault、error、failure三類,識別難度由高到低,應對難度由低到高,經過標準化的應對方式,能夠最大化確保系統運行的穩定。

這本書最大的驚喜是什麼?

應該是這句話:fault是沒法所有識別的,可是failure確實能夠保證的。缺陷沒法所有排除,這是一個真相,可是咱們每每不肯意正視,這本書讓我從新認識了質量工做的方向。測試工做長期佔據了統治的地位,可是針對的其實仍是缺陷,其實就算再努力,效果也是有效的。若是把視角放到failure上,把質量工做拓展到全生命週期,才能真的切實提升。

《Clean Code》

這本書爲何經典?

做者Uncle Bob是程序員界的大神,他曾經參加了敏捷宣言的制定,提出了OO中很是重要的SOLID原則。而這本書是Uncle Bob本身最爲得意的著做之一,我認爲業界頂尖人物的思想是咱們從業者都不能錯過的。

Uncle Bob想說點什麼?

整本書內容很是零散,討論了很是多的主題,可是核心內容就是三個字"整潔感",做者認爲這個是程序員的一項核心能力,而整本書是從編程的各個細節出發,來詮釋整潔感這個概念。

Uncle Bob爲何要寫這本書?

看到過對Uncle Bob的訪談,程序員是一個很是年輕的職業,年輕的職業缺點就在於缺少思想的沉澱。在編程語言上,Java、Python、C等等各相爭鳴,編程範式上OO逐漸主流,可是過程式、FP等也很是活躍,框架技術更是層出不窮。在這種多元化背景下,程序員是很是容易迷失的,Uncle Bob致力於尋找一些在多樣化下面的東西,一些能夠成爲"元能力"的東西。在協做方面提出了敏捷宣言,而在工程實踐上,就是"整潔感"。

小結

今年一共分享了15次課程,感謝你們的參與,我也收穫良多,但願明年能夠和你們一塊兒得到更多不同的體驗。

相關文章
相關標籤/搜索