自從運用火藥爆炸威力殺敵的熱兵器問世以來,傳統以刀劍互搏的冷兵器就逐漸淡出戰場。藉由大量的影視作品,即便不是軍警的平民老百姓,相信也對一般的槍炮機制略知一二。
而這本「圖解火砲」以一篇篇問與答的圖文內容,將有關大炮的科普知識傳達給讀者。從最基本的前膛炮和後膛炮的差異到歷史上關鍵的火炮技術演進,都能輕易地在書中找到答案。後半部更依地上和海上的火炮應用獨立成章,從中可以學到「坦克」和「自走炮」的差異,「魚雷」和「水雷」的不同等等軍武小知識。
這一類的圖解大百科多半源自於日文翻譯書,內容都是非常淺顯易懂,插圖精細且賞心悅目。令人佩服日本人整理、解構事物的專業和細心。閱讀此類書藉不外乎是對討論主題感興趣,或是單純被書中插圖所吸引。不論起心動念的源由為何,圖解大百科系列總能讓讀者心滿意足地盡享閱讀之樂。
2020年9月9日 星期三
圖解火砲
2020年8月20日 星期四
Splunk大數據分析
有別於Hadoop和Spark嘗試在大數據批次處理找出最佳實作範型,Splunk專注在替即時大數據/流式大數據的應用情境提供解法。它既不像Spark streaming以短批次模擬即時,又和Apache Storm只負責數據的「處理」截然不同。Splunk是真正在流式大數據上,同時做到「收集、儲存、處理、呈現」這四個數據分析上的核心功能。簡單說,一但使用了Splunk平台,公司馬上就擁有完整、強大的即時數據分析解決方案。在開源碼的世界,可以和Splunk比肩的是由Elasticsearch、Logstash和Kibana組成的ELK平台。兩相比較,Splunk因為是用單一軟體做到收集、索引、查詢、視覺化等所有功能,因此在建置、維運以及使用上都比ELK簡易流暢。然而不論是Splunk或ELK,在大數據分析中都只是做為完善批次分析平台的不足,即時分析平台是無法取代像Hadoop和Spark這種通用平台,用於執行客製、複雜的大數據運算。
「Splunk大數據分析」是本資訊量很高的電腦書,即便在說明概念/術語的初章,就不廢話地介紹即時數據分析的獨特價值。接著一章章地講解數據導入、SPL分析語法、數據視覺化。各章內容採用實際範例來讓讀者練習,在看完功能簡述的文字後,緊接著具體的指令操作和執行結果截圖,大大地提升吸收、理解的效率。書中提及的Splunk指令集相當扎實,進階功能的應用常常就躲在隻字片語裡。最後兩章,更納入分散式佈署、效能調校等系統架構規劃的議題,全書比Splunk原廠的基礎課程更為豐富深入,可說是one for all。
美中不足的是,這本是上市已久的舊書,介紹的軟體版本/功能已經有點過時,因此少部份功能截圖與新版本對不上。另外書中舉的練習範例較貼近美國社會(此為簡體翻譯書),不論是航班資訊或是Twitter社群,都不是台灣人所熟悉的情境。如果將內文簡化,範例更濃縮,集中在Splunk指令集的介紹與功能呈現,有成為非官方教材的潛力。
2020年8月16日 星期日
天國飯與地獄耳:偷聽,揭露我們與惡的距離。鄰桌的故事越罪惡,食物越美味,我們都犯此不疲。
食記難寫之處在於,用來描寫盤中美饌的詞彙拿捏不容易,滿腹經論的美食作家,順手寫來通篇滿溢繞舌罕見的字句,吃個粽子也要提起屈原的國仇家恨。俗一點的則走Taipei Walker日雜情報誌的風格,內頁滿滿賞心悅目的美食美照,搭配著作家獨家的評分量表,加上店家老闆笑臉迎人的半身照,更貼心地附上地址和電話等侯讀者預約。若你已經看膩了上述兩種極端的「食記」文學,「天國飯與地獄耳」恰好能讓你耳目一新。
作者「岡田育」在書中的各篇短文中,以美食破題,描寫用餐環境/風情當基底,讓讀者跟著她一起觀察/偷聽的周邊客人互動,配上若有似無的作者個人評論。一邊透過文字感受到日本獨有的食文化,又能滿足於人們喜愛聽人八卦、看人隱私的惡趣味,真的能讓人手不釋卷,泛起邪惡的微笑一頁頁讀下去。
博客來把此書放在「社會議題」的分類中,以我來看,更精確地說它是本「社會觀察」實紀。只是作者是在餐館裡,用她特有的方式端看人間百態,本質上「天國飯與地獄耳」和「北野武」出過的一系列社會觀察評論/散文集沒有不同。「岡田育」用許多美食佳餚來點綴,論及的話題多在閒話家常的範疇,讓全書沒有憤世忌俗的毒舌冷語,還多了點飯菜香。
2020年8月9日 星期日
住房自由的人生:房地產專家張金鶚教你活用七三法則、大數據,找回居住自主權
近兩年來由於有成家打算,我開始關注買房資訊。瀏覽各家房仲網站後,「買房難,難如上青天」可比擬我心中受到的震撼。而除了房價外,建商風評、地段、格局等與購屋相關的資訊,也都成為我關心的議題。因此在書店展台上看到「住房自由的人生」一書,立馬詳實翻閱咀嚼。
時常在房地產新聞中看到作者張金鶚教授的大名,印象中他是位敢言的房市學者/專家。書中內容果不其然,有別於另一位文筆有點插科打諢的專家Sway,學者出手就是濃濃地學術味。數字、圖表、引用資料來源一應俱全,內文印出來也可以在課堂上當做講義。優點是不嘩眾取寵,章節言之有物,缺點是全書通篇讀完不免令人漸感乏味,像修了一學期的房地產導論學分。
作者在書中分享他生命中購買過的房產歷程與分析竅門。具體的提出了買房的五大重點:「產品」、「管理」、「區位」、「價位」和「時機」。而購房目的則可分為「自住居住」和「購屋投資」兩種。對於「自住居住」的人來說,五大重點的先後順序為「產品>管理>區位>價位>時機」。而「購屋投資」的人則是要用「價格>時機>區位>產品>管理」來思考。書中也介紹了「好時價」這個公益查詢房價網站,讓購屋者多一個較不商業化的資訊平台。
張教授在書中鞭辟近裡地解釋台灣房地產價位上漲的成因,就是房屋已然成為金融投資的標的物,投資客在市場上的影響力與日俱增,拖累了真正有居住需求的自住客。其實這些道理,你懂、我懂、隔壁的獨眼龍也懂。但在政府刻意忽視不作為的情況下,所有的苦果都將由民眾來承擔。
理財盲點:有錢人不會做的13件理財決定

2020年因新冠肺炎疫情大亂全球經貿秩序的同時,各國政府積極地採取史無前例的寬鬆貨幣政策。期望藉由政府以領頭羊的角色,用赤字預算大印鈔的做法,對奄奄一息的民間消費,發揮心肺復甦術的作用,造成各種振興券、農遊券、藝Fun券滿天飛舞。
「量化寬鬆」帶出來的資金常被稱為「熱錢」。在(理論上)線型成長的經濟體中,突然丟下如此巨額的貨幣供給,往往造成一波小規模的通貨澎漲。民間敏銳地嗅到了通澎的氣味後,為避免減損實質購買力,會將剩餘資金流入金融交易市場,也因此股市、匯市甚至(令人痛心的...)房市,都會開始熱絡起來。因此於2020年8月的此時,台灣股市出現了1萬3千點的榮景,股市投資的話題逐漸變成民眾茶餘飯後的談資。
這個大環境下,如果還把血汗錢牢牢地鎖在銀行做定存,可是溫水煮青蛙。「人不理財、財不理你」這句耳熟能詳的台詞,又成為理財叢書們最低成本的POP文案。「理財盲點」一書,有別於「商業理財」書架上一整排直接教讀者如何致富的「跟著我這樣做」手冊(有存股、基金、投資憑證...數不清)。它是分享13項人們常做的「錯誤」財務決定,以「見不賢,內自省」的方式,引導讀者能在一生中「不求順風順水,但求終身無悔」。副標題「有錢人不會做的13件理財決定」裡「有錢人」三個字,應該是出版社為了吸引讀者目光加上去的。書中所提的錯誤決策,即使是家財萬貫之人也有可能踩到,這副標有點畫蛇添足。
就按照書中章節順序,將各讀後心得整理如下。
蠢事1:購買自己不懂的金融商品
財務管理最基本的ABC就是,不要購買你無法解釋清楚的投資標的。不管電視、書籍甚至是肝膽相照的好哥們熱心推薦,只要你分不清「可轉換債」、「投資憑證」或是「指數型基金」,那就不要買!不要人云亦云地跟著行銷話術起舞,切記,市場永遠在等最後一隻白老鼠。有趣的是,在書中作者明言實體黃金或黃金存摺,是最差勁的投資標的。在2020這年,金價上漲了超過20%,只證明了「Never say never」。
蠢事2:聽取錯誤的財務建議
銀行的理財專員是藉由銷售給客戶的金融商品來獲取高額獎金。當你知道這一件事之後,你還會相信他們推薦給你的投資標的,是真的有潛在的增值空間嗎?還是那是他們銀行當下力推的重點商品,而且該月份的銷售額已經被列為員工考績的KPI。額外一提,共同基金的管理費普遍過高,有些甚至高達5%。在市場維持不漲不跌的平盤下,投資人還是會虧損5%。
蠢事3:過度重視金錢
「馬斯洛人類需求五層次理論」(生理、安全、情感、尊重、自我實現)已告訴我們,在衣食無缺的開發中/已開發國家,民眾肯定會開始追求「能被尊重」的人際氛圍。只可惜在功利主義盛行的社會中,笑貧不笑娼的價值觀斥充在主流文化上。擁有越多的錢財,才能獲得更多的尊重,人民自然也學會相互攀比財富以驕人。作者老調重提「真正的富足是擁有恰到好處的財富」,一味地追逐存簿上的數字變化,只會讓人開始從事高風險的金錢遊戲,造成無謂的龐大損失。
蠢事4:背負過多學貸
歐美的高等教育環境和台灣截然不同,它們的名校都是質優而學費昂貴,走「使用者付費」的原則。反觀台灣的高等教育是用納稅人的錢補貼國立大學,學費低品質好,完全反其道而行。然而不論那種模式,高等教育費用都呈現逐年上升的趨勢,加上台灣碩士學位大學化的病態發展,子女的教育開銷已經成為家計支出的重擔。如果一味地追求能力所不及的方案(例如出國唸書),可能會嚴重打擊家中數年甚至十年以上的財務狀況。書中建議,適當衡量自身財務能力,敞開心胸和子女溝通恰當的選項,或是讓子女直接背負助學貸款、申請獎學金,因為一切得來不易,有時更激發孩子求學時的熱忱。
蠢事5:該租房子的時候卻買房子
本以為「有土斯有財」是華人社會特有的俗諺。作者卻指出典型的歐裔白人移民社群,也有同樣的價值觀。這根深蒂固的老奶奶智慧,卻也是多數開發中/已開發國家房市泡沫化的成因。房價將永不止盡地無量上漲的預期心理,讓人民投入巨額資金在流動性極差的房市,期望獲得低風險的高獲利。但是泡沫總有破的一天,一但遇到系統性的崩跌,將只能斷尾求生,忍痛削價售出,讓畢生積蓄化為泡影。曾發生美國的房地美/房利美風暴便是一例。在台灣房市已經極端扭曲變形的今日,這章的內容不見得能照單全收。
蠢事6:過度承擔風險
本章主旨是重申「不要把所有的雞蛋放在同一個籃子裡」。無論你的財務配置是放在股票、基金或是定存,切記要分散風險,畢竟市場的黑天鵝時有所聞,如果遇到,對個人的財務影響可能會後悔一輩子。
蠢事7:保護個資人人有責
在數位化的網路時代,資訊安全對個人的重要性越來越高。書中舉出一個案例,有人在帳號被盜用後,後續造成生活和財務上重大的困擾。身為一個現代公民,勢必具備基礎的資安意識,保障自己的財務安全。
蠢事8:退休初期,過度消費
「辛苦了一輩子,現在我要對自己好一點」是許多退休族常掛在嘴上的台詞。作者卻跟讀者們分享,她見過很多銀髮族在退休初期就把多年的積蓄花光,在人生暮期只能錙銖必較地依靠政府養老金過日子。人生最大的難題在於無法預料自己的死期,能恰好在過世前花光僅剩的一絲錢財,是天方夜譚。保險起見應當量入為出地管好自己的退休金,享受先苦後甘的晚年。
蠢事9:將個人的金錢問題強加在子女身上
每個人的價值觀養成都是來自於從小到大的所見所聞,所以說「一樣米養百樣人」。出手闊綽或是吝嗇小氣都是我們的自由意志,不由他人說三道四。但切記在教養孩子時,別過度強加自己的金錢觀在他們身上,那會限縮他們未來財務管理的可塑性。
蠢事10:照顧年邁父母,缺乏事先規劃
社會新聞上常見單身子女為了照顧年邁的雙親,選擇離職在家全心陪伴長輩。數年之後,家中經濟開始出發困難,逼得子女和父母走上絕路。奉養尊親屬是天經地義,但要記得自己也會老,在財務規劃時千萬別把自己忘掉。如果經濟能力有所不及時,可以申辨政府單位的老年照護補助,減輕家庭的經濟壓力。
蠢事11:買錯保險,甚至根本沒買
保險業最初的理念是合眾人之力,將災禍對個人的傷害降到最低,有如互助會一般的良好制度。不論是產物險還是醫療險,適當地投入許些資金來獲取未來經濟上的保護傘,是種明智的決定。然而過於相信保險業,理財投資也想利用「儲蓄/投資型保單」來達成,就得三思而後行。以十年期的投報率來看,保單的收益遠不及其它投資工具(定存不算),罰則制度也有利於保險公司,造成投資人在資金上無法自由運用。作者也不推薦無子嗣的青壯年購買終生壽險,因為亡故補償金對當事人沒有意義。所以購買任何保單之前,要想清楚它提供的保障是否適合自己,不是人云亦云的盲目購買。
蠢事12:沒有留下遺囑
大家總是避談死亡相關的事情,但對於有家人繼承關係的成年人來說,若未能在生前妥善整理自己的財務狀況,不幸亡故後,會讓親人花費許多時間和心力盤查亡者的資產、負債,以應付法律條文。沒有留下遺囑,也會造成無法依自己的意願將財富分配給最親愛的人,更因為不明確的財產分配,讓親友相互懷有嫌隙。
蠢事13:企圖「看準」市場時機
投資專家總是擺出一附智者的姿態,告戒市井小民要如何達成「財富自由」。金融市場是如此多變,黑天鵝、灰犀牛事件屢見不鮮。照本宣科地想要重現前人發大財的故事,多半落得東施效顰。「低買高賣」是賺錢的不二法門,難就難在如何分辨最佳的買點和賣點。作者提出了一個投資心法,她說與其想找到「彩虹底下的藏寶箱」,不如採用「被動式的投資」。就是將資金投入中長期看好的投資標的,然後設定好「停利點」,一但達成預期獲利,就果斷賣出。之後即使又有一波新高,也該放下,畢竟你已經穩健地獲利了。
這本「理財盲點」很適合對財務管理較被動、保守的讀者。它不講求快速達成「財富自由」的工具式操作,是用一種「少輸為贏」的理念,帶你一步步避開人生財務決定的重大陷阱。雖然書中提及的社經背景是以美國為主,但後半部的論及的內容卻是舉世皆然的人生歷程,值得參考反思。
2020年7月30日 星期四
大數據Hive離線計算開發實戰
大數據專案開發也會遇到一樣的問題,在今日開源軟體、雲端平台遍地開花的時代,要收集、分析與運用企業本身的巨量資料,可以從最精典的Map/Reduce框架到高效版本的Spark平台。不論企業最後挑選的大數據解決方案為何,勢必需要熟悉該平台的工程師運籌帷幄。
由於大數據開發有別於傳統的關聯式資料庫,因此對於工程團隊來說,大數據技術變成一個得跨越過去的門檻。而Apache Hive正是主張能一勞永逸解決這個技術「痛點」的開源工具。它無縫地運行在Hadoop平台之上,充分利用HDFS的分散式檔案系統以及Yarn平行處理框架,並在自身的對外介面套上一層相容SQL(HQL)的外衣,讓各項軟體工具、運用程式甚至是開發人員,都能用熟練的SQL語法,遨遊於巨量資料的國度中。
對我而言,由於已經熟練Map/Reduce與Spark等技術,可以隨心所欲地撰寫出大數據程式碼。其實沒必要疊床架屋的再添一層虛擬資料庫,用SQL語法來執行巨量運算。但考量到企業整體運用情境,想擴增大數據的應用面以及簡化同儕的數據使用門檻,就值得投入心力建置一個獨立運作的Hive環境。
市面上Hive的專書不多,而且絕大多數是四、五年前所出版。在決定再次架設Hive服務的當下,理所當然地挑選2020年出版的「大數據Hive離線計算開發實戰」。內文從最基礎的概念說起,再由簡入深地提及到分區、自定義函式等進階的功能,作者將Hive定位為能處理大數據的資料倉儲解決方案,全書也呼應這個想法具體地呈現如何實踐。閱後不免心有所思,在這麼強大便利的開源方案的競爭下,未來商用資料倉儲廠商肯定不好擴展市場。
作者用最後三章舉出大數據的常見運用情境,分別是推薦系統、網站流量分析以及商業數據分析。題目夠大但內容卻僅是入門級的基本範例。特別是推薦系統一章中,是用Mahout來執行協同過瀘演算法來做範例。先不論將推薦系統,用單一個協同過瀘法來涵蓋,是否會過於簡化問題以致誤導讀者。書中介紹的Mahout版本(運行在Hadoop 2.x上),已經是太舊的版本,令人懷疑這本書的出版年份是否有誤植?
總得來說本書可以讓讀者快速領略Hive在大數據平台中所能扮演的角色,免除耗費心力瀏覽散落各處的官網文件,最後還落得一頭霧水。如果動心起念想要著手大數據運算,Hive和這本「大數據Hive離線計算開發實戰」算是不錯的起點。
2020年7月26日 星期日
演算法圖鑑:26種演算法 + 7種資料結構,人工智慧、數據分析、邏輯思考的原理和應用全圖解
隨著工作經驗的與日俱增,漸漸地不再迷信演算法對工作實務的重要性。不過這是因為我從事的是應用系統(AP)的設計/開發,即便後期主要在做大數據/機器學習的應用,也是直接受惠於高階程式語言和各種開源函式庫/架框。這領域的工程師已經很少花費心力在處理底層運算中枝微末節的效能議題,像Big O這個評量算法複雜性的衡量單位,真的在職場上沒遇到有同事拿來相互討論。
這不表示程式設計師可以不用瞭解精典演算法背後的概念。列表(List)、陣列(Array)、堆疊(Stack)、佇列(Queue)等資料結構,是各種程式語言中必備的核心類別/元件。而排序(Sort)算法則是實際開發時最常被使用到的基礎算法,瞭解不同排序算法的優缺點,會大大地改善程式執行的效能。因此「資料結構」和「排序算法」這兩章可視為程式工程師必備的業務知識(Domain Knowledge)。
陣列搜尋、圖形搜尋、分群以及最後一章的「其它演算法」則是各擅勝場,在特定應用領域中都是最廣為人知的核心演算法。最值得一提的是第5章介紹的「安全性演算法」,它從最基本的數位加密觀念開始介紹,一步步地擴展到「共用金鑰密碼系統」和「公開金鑰密碼系統」,而後者正是目前網站加密技術的核心。「數位簽章」和「數位憑證」說明了HTTPS的運作原理,更是網頁程式設計師不可遺漏的業務知識。
嚴格說,書名副標提到的「人工智慧、數據分析」有點言過其實。所提到的資料結構和演算法,對於數據分析、機器學習/人工智慧領域,都是不足掛齒。本書適合給有志成為程式設計師的人當做學習教材,抑或是程式設計同業用來複習或做為消遣的小讀物。在主旨為講解計算機演算法的書海中,這本「演算法圖鑑」是最容易讓讀者吸收的傑作。



