DDIA閱讀紀錄(1) – 第一章:好的開始,但擔心理論多於實務

就像大部分的技術書籍一樣,第一章主要是在為整本書所涵蓋的內容立下框架:緣起、全書大綱、專有詞定義、哪些主題是著墨的重點,哪些是刻意不提的部分(例如安全性,因為安全性本身就夠寫一整本書了)。

可能出自作者的個人興趣,他會把該章節要講的內容用古歐洲航海圖的風格繪成一張資訊圖,例如本章的如下:

第二章的就更絕了,但那就等到寫第二章的時候再說 🙂

本章把data-intensive application的三大面向定義出來:可靠性(Reliability),擴增性(Scalability)與維護性(maintainability)。雖然書中已經有非常詳盡的定義了,這裡我還是嘗試用自己的話語盡可能精簡地闡述出來,個人經驗上這麼做對知識的內化非常有助益。

  • 可靠性:系統能在何種範圍的硬體、軟體、人為錯誤內維持可接受的服務品質。
  • 擴增性:給定一組負載參數(load parameters),系統的主要效能指標如何與之關聯?
  • 維護性:系統對於各種環境變遷因素的適應能力。例如:開發小組換人,運行小組換人,市場需求改變,抽換軟/硬體組件,等等等等。

雖然第一章整體讀來是非常優秀的總論,但整個基調感覺過於偏重理論,唯一貼近實務的僅有關於Twitter如何特化設計timeline的資料模型來有效發布推文(僅有幾十個跟隨者的用戶和有幾百萬跟隨者的用戶需要的策略大幅不同)。

希望後續的章節能逐漸把理論和實務的比例推到5:5,甚至4:6。

DDIA讀書會開始啦!

Book cover of Designing Data-Intensive Applications

從本週開始,公司內部新一波讀書會正式啟動。過去個人參加過無數讀書會、技術分享會,最後都會在緊迫的專案壓力下不了了之。這次又有新的一批人熱血充腦聚在一起,何不再嘗試一次?

這次的讀書會叫「Automattic Salon」,這裡的salon可不是造型沙龍,指的是「gathering」:一群人聚集起來,透過對話進行知識交流或娛樂。這次的讀書會主辦人想必也是經歷過不少失敗的讀書會,他收集大家半途放棄的閱讀經驗後,總結出幾個要點當這次讀書會的指導原則:

  • 不要求快,要慢而深入
  • 要為自己而讀,只是聽取他人的讀書心得意義不大
  • 需鼓勵同儕交流

在這樣的方針下,我們開了一個新的內部p2,訂立以下進行方式:

  • 目標每週讀一章
  • 在每週一,主持人會張貼新的章節討論串,以及兩個提問
  • 每個人在讀完後在該討論串張貼自己的讀後心得,以及對提問的回答

以及一個新的slack channel方便較即時、隨興的交流。

因應上次的30天跳繩挑戰成功,我不禁想,如果每天都把自己讀的份寫個總結,會發生什麼事呢?於是決定開啟這個新的每日洗版系列來實驗看看。

寫這篇文章的當下其實我已經讀到第二章了,看能不能利用這個週末先補上。

每日跳繩1000下–第三十日

終於到了總結的日子啦!再怎麼說也是最後一天了,時機再歹也是很輕快就完成了。

總結一下本次與過去幾次的數據:

4/194/265/35/105/18總結變化
體重83.284.383.384.483.5+0.3
體脂25.5%25.7%25.2%25.3%24.4%-1.1%
骨骼肌肉率31.6%31.9%31.8%32.3%+0.7%
基礎代謝率18071823181118281820+13
內臟脂肪等級1212121212
體年齡4949484949

數字上幾乎沒有太大變化啊,不過體脂應該是確實下降了一滴滴吧?

本來打算寫一篇詳細的心得文來總結,因為還要去忙著因應許多新宣布的疫情措施,這裡就簡單列表帶過了:

  • 網路上可以找到很多人進行一個月後減肥成果顯著,甚至有人10天就看到成果的。我想那可能是他們之前運動量就不高?因為我本來就不是完全沒運動,如果不搭配飲食調整,單靠增加這每天20分鐘左右的運動量,並不會有太顯著的成效。
  • 雖然數字上沒有太大變化,體力、活力和跳繩技術確實有感提升了,心理素質上也產生了些正向的變化。即使游泳圈還在,這次挑戰仍是相當成功。
  • 每天一篇隨性的文章紀錄搭配固定的檢查點,這樣簡單的動作卻構築了完成這次挑戰所需要的動量。是不是可以把這個方法應用到其他地方呢?例如從來沒讀完的書或是實作一直睡在筆記本裡的點子。

接下來我打算繼續維持這個習慣,或許還會增加一些強度,只是不會再每天紀錄。少了這個動作,一個月後會是什麼樣子呢?

每日跳繩1000下–第二十九日

可能因為前一晚睡得很不安穩,今天雖然也是靠著習慣順利進行,跳起來卻覺得異常辛苦。不但一直踩到繩子,打到手腳甚至打到附近的東西,感覺也遠比平常疲累。

旱災,能源問題,加上剛開始蔓延的疫情,就算想忽視也難免受到影響。所幸,不管情況怎麼變,要做的事情實際上並沒有什麼改變:好好生活

明天就要為這次的挑戰總結了,希望數字上可以稍微反映出一些成果。

每日跳繩1000下-第二十八日

因應球場和游泳池 a.k.a. 俺兒子的高強度運動量來源關閉,今天的份就拉著他一起做,我跳我的1000,他本來目標500,後來調整到400。因為過程中還要教他一些動作要領,中間緩和時間遠超過20秒,就再追加100稍稍補足一下。

本日離題特色圖:太座大人牌玉子燒。吃著吃著好懷念築地啊⋯⋯啊啊啊

每日跳繩1000下–第二十七日

倒數三日!今天痛快地睡到10點,接下來忙著一系列家事,一直到晚上才空下來。本來打算跳完今天的份就帶小孩去打網球,結果出發前接到球友通知,從今天下午5點開始關球場關到6/8。

6/8!

5/15 -> 6/8 = 24天!

二十四天!

貳拾肆天!

9U@)(#@@(*#()*#)!)!!)! …

昨天去游泳池才知道隔天要因應水情而關,今天又關了球場;雖然我完全支持這些決定,說心裡不覺得苦悶是騙人的。還好目前還沒嚴重到在門口跳繩都不行的程度,把今天的份跳完後,拿出Eye Coach來痛打一頓,總算是稍微舒坦了一些。

每日跳繩1000下–第二十六日

今日因為附近消防車、救護車、警車等警鈴一大早就又響又急,還沒五點就醒了。因為聲音實在很近,擔心是社區裡有什麼事,就趕忙起床出去看。最後是附近道路上似乎有重大車禍,因為我們社區在山腰上所以聽得很清楚,但視線卻剛好被公園的樹擋住,只能看到大量的警示燈的光從樹叢間穿梭閃動,希望沒有太嚴重才好。

反正也睡不著,就換好衣服,直接去把今天的份完成。左斜方肌還是很痛,但經過昨天已經抓到不會動到痛處的訣竅了:下巴比平常再多縮一些,讓頭部全程保持穩定,就可以用正常的速度跳繩。高速跳和二迴旋還是不行,但能不因受傷中斷我已經很感恩了,畢竟已經倒數最後4天了。

每日跳繩1000下–第二十五日

今天早上因為9點要和組員進行一對一會談,8點送小孩去學校回來在稍微掙扎一下後把今天的份完成了。為什麼要掙扎呢?因為左肩的斜方肌不知為何緊繃成一整塊,可能昨晚的網球熱身不足?實際跳起來果然難免會動到,最後是一邊小心找適合的節奏一邊咬著牙完成的。晚上準備用The Orb舒緩一下,希望明天可以改善。

本日離題特色圖:因應全台大停電,直接把露營家當拿到門口:架起桌椅和卡式爐,提早下班和家人聊天煮一蘭拉麵調理包。後來電在水還沒煮開就來了,當下我居然覺得有點可惜呢。

每日跳繩1000下–第二十四日

雖然昨晚開完會後已經是差不多凌晨一點的事,今天早上倒是很自然而然就換上運動服把今天的份完成了,莫非這就是習慣成自然?而且今天突然覺得一次100有點少,所以加到200下才休息一次,這樣更快完成,強度也感覺比較夠。看來儘管數字上沒什麼變化,體能上還是增加了不少,令人欣慰。

這讓我聯想到實務中KPI的設定對專案走向有多長遠的影響。而且,一旦導入可比較容易量化的KPI像每用戶平均收入(ARPU)等等,難以量化的東西就往往被犧牲,例如使用者體驗。所幸以我的情況來說,只是有些東西沒被追蹤到而已,想犧牲也犧牲不掉,可喜可樂,可喜可樂。

每日跳繩1000下–第二十三日

今日離題特色圖片:俺第一次人工授粉的自家百香果。究竟要多久才會紅呢?

今天本來早上5點半要和Martech lead開1:1,或許因為晚上零零星星起來了2~3次,結果實際到時間了反而狀況不佳,臨時請求取消。後來躺在床上休息時,腦海中忍不住一直檢討為何最近這兩週早上又都起不來了,赫然發現:等等,這不就是為什麼我在跳繩挑戰剛開始的時候都要求自己6點前就完成嗎?

會想要早起原因有三,第一是方便和時差12小時甚至更多的同事溝通;第二是a8c主業實在太滿,要想做點自己的子專案只能想方設法去騰出時間,提早下班是不錯的方法;最後,身為早上效率比較好的人,這樣會讓我感覺世界是彩色的。即使有這麼多好處,要戰勝多睡一小時的吸引力仍絕非易事。目前實驗各種方法下來,最有用的就是早睡和養成一起來就運動的習慣。尤其早睡不是隨時都做得到的時候,一旦習慣早上要運動,身體很自然就會一起床就進入狀況。

然而,過去兩週因為參與了好幾個4點5點的會,把早起騰出的時間拿去工作,不知不覺間我竟然完全遺忘了這個目的。一想到這裡,5:50稍微補過眠後趕忙起床盥洗,把今天的份給作完了,覺得人生圓滿。

明天又會是一大挑戰,因為今晚11點要開會。我其實很排斥這個時間點的會,因為這會犧牲掉我早上的生產力,而我不認為開會值得犧牲我或任何人4小時的產出;但這已經是別人退一百步橋出來的時間,只好硬上。