2021年7月22日 星期四

Docker專業養成:活用基礎與實踐技能(暢銷回饋版)

 


有時資訊科技的趨勢演進,讓從業者如同面對滔滔江水,沛然莫之能禦。即便當下撇頭轉身視若無睹,它也會如影隨形地環繞四周,讓你非得正視它的存在。當初學習Apache Camel時所遇到的Apache Maven是如此,近期研究Apache Airflow中看到的Docker又是一例。可見得在軟體佈署/開發環境建置這個主題上,以Docker為首的容器技術,逐漸被視為軟體工程師的必備知識。

容器佈署、微服務的觀念和技術在前些年已經炒得沸沸揚揚,同儕中不少友人早有研究、也實用過這些技術。我為了避免買到一本地雷書,向業界朋友詢問後,找到這本「Docker專業養成」。書籍內容果真沒讓人失望,它清楚介紹Docker中「映像(Image)」、「容器(Container)」、「資料卷(Data Volume)」和「網路(Network)」四大模組。編排採用的是能讓讀者留下深刻印象的「從做中學」,各模組的章節都提供實用的指令與操作範例,直接了當告訴你要怎麼設定、啟動Docker。全書後半更是涵蓋了網頁應用程式開發時各元件層的Docker設定方法。從網站伺服器、資料庫、動態程式執行引擎到快取,一應俱全,簡直可以把「Docker專業養成」拿來當操作手冊使用。

可惜的是,雖然是本再版書,內文卻沒有再編修,因此從Docker的安裝開始,讀者就會遇到一些亂流。版本過舊、指令無法正常執行等問題所在多有,不過當做學習Docker的第一本書來看,算是可圈可點。翻閱時只要自行拿捏是要追根究底地除錯還是點到為止地掌握觀念即可。具備容器化的基礎觀念,想再深入研究容器管理的朋友們,就可以再行挑選Kubernetes的專書。


2021年7月18日 星期日

武漢封城日記

 

住在雙北,處於三級警戒的時光,手中翻閱著「武漢封城日記」,心想應該找不到另一本如此貼近現下起居生活的著作吧。作者「郭晶」於2020年居住在中國武漢,身在新冠疫情原爆點的她,用網路書寫日記,記綠了1月23日到3月1日之間生活上的點點滴滴。

回顧2020年當時,新冠肺炎讓全世界摸不著頭緒,恐懼和謠言四起,加上中國慣性地管控負面訊息,讓疫情如野火燎原般席捲全球,透過日記的描述,讀者可以看到那時武漢人民身處的社會氛圍與處境。相較先前台灣政府、名嘴對「封城」兩字的輕描淡寫,建議先看看「武漢封城日記」再做定奪。

細看書中對封城所述的限制,對比目前三級警戒的要求。深覺得三級警戒算是較高明地「微封城」,即不採用強制地出入限制引起民眾的反彈心態,而以減少大眾運輸系統、處罰多人群聚、限制商家營業等細項,達到控制病毒傳播的效果,確實是因地制宜的施政巧思。「武漢封城日記」見證了一小段無法抹滅的歷史,或許來年台灣也會有本「雙北警戒日記」也說不定。


2021年7月15日 星期四

1984

 

「民主政體五花八門,但集權政府都是一個樣」。這本喬治歐威爾所著的「1984」大概是世界上最有名的反烏托邦小說。以它為根源,延伸而出的藝術作品不計其數,連電影「饑餓遊戲」、「駭客任務」的背景設定都深受影響。

故事以令人摸不著頭緒的「戰爭即和平、自由即奴役、無知即力量」做引線,讀者跟隨著主人翁的觀點,一同生活在由「英社」統治的「大洋國」中。英社也就是「英國社會主義」,「老大哥」則是無所不在的黨的別稱。讀者可以在書中看到集權政府如出一轍的統治思維和手段,周邊環境著中國、北韓兩國,自身脫離白色恐佈時期不到百年的台灣讀者,對獨裁政權的方方面面肯定略有所聞。沒想到喬治歐威爾可以把這種統治樣貌描述到另一個高度,讓人讀起來更不寒而慄。「掌握過去的人就掌握未來,掌握現在的人就掌握過去」,前半看不懂的謎團和伏筆都在後面有著前後呼應的解釋,是值得再看一遍的好故事,名符其實的精典作品。由於沒看過其它譯本,所以無從比較這本書的翻譯水準,不過在「那本書」的文字呈現,詞藻過豐較不平易近人。

「民主的核心精神是制衡,負作用就是無效率」。相較於中國集權體制的高效與成就,展現出民主自由台灣的一事無成。市井之間也常緬懷兩蔣專制時期的氛圍,對於有這般想法的朋友,介紹他看「1984」,或許是一帖良藥。不過也別以為民主制度下不會出現專制政權,看到出現「黨是無所不能,黨不可能有錯」言論傾向的政黨,小心為妙,塊淘呀。

2021年7月9日 星期五

癌症探祕:揭開最深沉的醫學謎團

 

這本書述說了兩個罹癌病人的故事。一是作者的妻子,一是作者的親弟。作者「約翰遜」是科學專欄作家,長期為紐約時報及各類雜誌撰寫科普文章。在得知妻子罹患罕見的子宮乳突狀漿液性癌後,他開始著手吸收理解所有和癌症相關的科學知識,「癌症探秘」便是總結他這一路求知問道的心路歷程。

最開始作者想要釐清的問題是「癌症有多古老」,他追朔到恐龍化石看到確切的骨頭癌化證據,再一路考證史前人類的骸骨,試著推論出古人的癌症發生機率。媒體常散播一種觀點,認為現代人的罹癌比率較古人高,因為工業化社會帶來許多致癌物。然而就可取得的證據(骨骸),相比歷史上曾生存過的人類總人口(25萬/1000億),比例實在微乎其微,因此「古人的罹癌率」無法在科學上做出定論。

隨著醫學的進步,癌症這個曾被古人以「惡質病」形容的疾病輪廓已逐漸清晰。源起於細胞突變的癌細胞,在總總巧合下累積各項突變結果,學會躲避免疫系統追殺、自行中斷自己的細胞自殺機制、合縱連橫血管和淋巴循環系統擴張範圍。雖然曾是人體的一份子,卻反叛圖謀想鳩佔鵲巢殺死宿主。突變和天擇造就地球上多采多姿的萬千世界,也留下來癌化這個不定時炸彈在生物體內。

當然針對各種被討論過的致癌物,如飲食、輻射(電磁波)、環境汙染等,作者也通盤地進行文獻研究。除了部份病毒/感染和特定癌症有關(B,C肝炎和肝癌、胃幽門螺旋桿菌和胃癌),以及吸菸(焦油)、高能放射線確實會增加致癌的風險外,其它市井流言曾提及的致癌物,都沒有具體的科學證據。相對地,作者也驚訝地發現「多吃蔬菜水果能防癌」同樣沒有獲得統計數字的背書。在防癌的生活指標上,簡單四字「少吃多動」則被認為是值得遵守的法門。

閱畢全書,副標「揭開最深沉的醫學謎團」顯得名不符實。作者當然沒能為我們解開癌症之謎,但他確實用最淺白直接的文字,讓讀者獲得和癌症相關的科普知識。如同文中所述,全球無數的醫師、科學家持續不斷地試圖解開癌症這個黑盒子裡的奧秘,橫跨千古的生物細胞演變之謎,至今依然難解。

 

2021年7月4日 星期日

歷史課本沒寫出的隱情:那些帝王將相才子的苦痛

 

中國歷史源遠流長近四千年,各方俊彥才子佳人汗牛充棟,達成三不朽,立德、立功、立言者不計其數。人們常看到的是聖賢將相風光無限的功名成就,卻難察覺他們面對生老病死時的苦痛。「歷史課本沒寫出的隱情」這書,挑選了25位中國歷史上的名人,引經據典的考據推論他們罹患的各種疾病。

作者「譚健鍬」是位心血管內科醫師,又博覽群書通曉史事。信手寫來內容栩栩如生,像似親眼所見。從各項文史記錄中收集病徵、剖析可能的病因,如同隔空抓藥般神妙地為古人「看病」,實在令人嘆為觀止。後續病理、病程的解說也相當到位,足以做為醫療科普的典範。全書閱畢發現,內容所提及的重大傷病,即便已橫跨數千數百年,如憂鬱症、瘧疾、流感、青光眼、登革熱...25位名人的25種疾病,依舊還是常常困擾著現代人。

西方醫療科技的不斷進步,讓人們相對古人來說更能避免受到各式疾病的折騰。然而在新冠疫情肆虐的此時,這場人類與疾病史詩級的對抗,人類還是得戰戰兢兢地面對才有勝算吧。「歷史課本沒寫出的隱情」值得推薦給喜好翻閱中國歷史典故,又想吸取實用的養生保健醫學常識的讀者。


2021年6月4日 星期五

PHP網站開發:CodeIgniter敏捷開發框架

 

除了第一份工作是用ASP語言寫網頁程式以外,之後在職涯中逐漸走向後端/大數據領域。所以即便在電子商務公司工作,自己也是少數不懂PHP程式語言的工程師。但2021年,什麼事都可能發生,由於同事調任要職務交接,得接手他的PHP+CI程式。剛好趁著看不到盡頭的WFH,來瞭解一下PHP和CodeIgniter框架。

市面上中文的CI專書很少,買得到的大概也只有這本「PHP網站開發」,話雖如此,但這書的內容真的不差。從網頁開發最基礎的HTML教起,接著是JavaScript和SQL,篇幅是點到為止,但按步就班的學習下來也能獲得必要的相關知識。後面的重頭戲包括PHP語法、函式與資料庫操作,當然對已經熟悉其它程式語言的讀者來說,這些觀念很容易理解,差別是語法的熟練度。如果是初學者,書中節章的安排和練習用的範例,是恰到好處,不疾不徐地讀者逐漸習慣PHP。

第四章的CI框架介紹,是本書的精華,也確實讓人覺得物有所值。第一眼看到同事交接來的PHP+CI程式碼,真的是霧裡看花,弄不清Request的URL是被轉到專案中的那支PHP程式。畢竟MVC(Model-View-Controller)雖然是跨語言/平台的網站設計架構,但不同的框架(Framework)實踐的方法卻是截然不同。這本「PHP網站開發」確實把CI架構說明得一清二楚,讓我讀完後就具備看懂PHP+CI程式的技能。

當然本書只介紹最基本的CI觀念,未來遇到進階的技術問題,還是得去看CI官網文件。如果說「PHP網站開發」有什麼缺點,大概是範例程式裡的MVC切分做法有點奇怪。作者讓Model直接讀取網頁的input,而不是用函式參數傳遞的方法讓Controller把input傳給Model,這不是標準的MVC呀。


2021年5月22日 星期六

沖繩我沖過來了:澎湃野吉旅行趣4

 

自從看過「澎湃野吉旅行趣5:來去大阪鬧一鬧」後,就非常欣賞澎湃野吉風格的裝傻阿宅梗。進而想看看此系列其它作品,這次挑的是「沖繩我沖過來了」。恰好我沒去過沖繩,就先當做作功課,瞭解一下有不可錯過的重要景點。原來位於台灣東北方的沖繩,是由四個大島組成。自稱雨神附身的作者,剛踏上沖繩本島就遇到二個颱風尾隨,讓這本遊記主題快要變成「風雨中的沖繩」。

「沖繩本島」上到處是石獅像,主幹道國際路都是名產店,澎湃野吉在這裡第一次吃火龍果(日本很稀有)。那霸王朝的首都「首里城」有超多城門,中心是正殿。但天公不作美,作者一行沒有順利走完全部的城門。沖繩料理有炒苦瓜、紅燒肉、海人沙拉、沖繩蕎麥麵、塔可飯、塔可麵。由泡盛(一種酒)發酵而成的豆腐乳氣味濃郁,有著可以直衝腦口的強烈氣味。觀光客必訪的那霸市第一牧志公設市場因為時逢週日沒開,這旅行團功課沒做足呀。

次日坐飛機去「石垣島」,再從石垣島坐渡輪到「竹富島」。在竹富島體驗坐水牛車環島和超美味的八重山蕎麥麵,當然少不了湛藍的海。難得大手筆住在南國渡假風獨棟小木屋,澎湃野吉卻遇到大颱風。很勇敢地選在颱風登陸之際,硬闖石垣島嘗試開車環島兜風一圈,結果當然以失敗收場(也開了3/4的距離)。作者再次看到南國水果「楊桃」,原來英文名是Star fruit,當然這在台灣是很普通的水果。

日本最西端「與那國鳥」, 為日劇小孤島大醫生取景地,全島人都為之瘋狂。結果作者一行沒人看過,完全無法呼應全島滿溢出來的熱情。在與那國島的民宿,澎湃野吉遇到此行最糟的料理體驗,有著塑膠味的長命草,散出野獸體味的山羊湯,差點讓他們不醒人事。(作法是把整隻山羊從頭到尾,包括肉、肉臟和血一同燉煮而成,只丟棄有蹄和角)。在石獅製作體驗工房,作者用超水準做出了某種邪神像(最後封印在東京工作室的書桌抽屜)。最後在日本最南端「波照間島」,坐客船遇到大風浪。又到「西表島」划獨木舟到叢林看紅樹林和hi-na-i-saa-ra瀑布,至此完成沖繩各島的踩點遊歷。