Posts

Showing posts from May, 2018

《Founders at Work》、《圖解 HTTP》、《生活的藝術》、《射雕英雄傳》、《貪杯客》

Image
一下子兩週又過去了,再 39 天退伍,想到即將可以重獲自由就覺得好興奮啊!好興奮啊!好興奮啊!!!

這兩週看的書還蠻雜的,上次看完《Deep Learning with Python》後覺得想再換點口味,所以這次除了一本《圖解 HTTP》以外其他的書都是偏故事/思想類的書,以下逐一分享一點簡短的心得摘要。

《Founders at Work》

這本書是 Y Combinator 的 Jessica Livingston 以問答的形式,對 33 家科技公司的共同創辦人和早期員工採訪的文稿紀錄,當中比較知名的企業有 PayPal、Apple、Hotmail、Yahoo、Flickr、Adobe、Firefox 等。書中的採訪內容主要是這些公司在創立階段所發生的事情,以及受訪的企業家在初期面臨各種順逆境時內心的想法與應對的方式。

我覺得這本書吸引人的地方在於,它並沒有刻意去寫讀者想聽的東西,而是扎扎實實、毫無避諱地記下這些創始人想講的東西。因此你可以讀到 Apple 的 Steve Wozniak 滿腔熱血地談著電腦結構的技術細節,也可以讀到 ArsDigita 的 Philip Greenspun 怒火賁張地幹譙他的投資人過度干涉公司發展,或是看見 HOT OR NOT 的 James Hong 對於用戶過高的增長速度感到非常恐慌......你能經由這些一手資訊,站到「Founders」的角度上去感受一家家企業的發跡過程,這些都使它更加真實且人性化。

經由比對這些創業家的想法,你會看到這一家家曾經輝煌(又或是依舊輝煌)的企業在剛開始時有著截然不同的起點、不同的想法、不同的背景,但是在各種不同的階段總是會經歷一些類似的困境。而當你試圖從這些人的經驗中總結出一些共通的規律時,又會發現每個規律背後都有例外。

這正是我認為《Founders at Work》存在的最大意義:在複雜度極高的商業世界裡,每個人都能從不同的例子中關注到一些自己覺得重要的品質,但卻很難找到一個邁向成功絕對且唯一的通則。因此它選擇不直接告訴你答案,而是對你說:這些沒被加工過的一手資料交給你,如何收斂出對你有用的結論就靠自己吧!

《圖解 HTTP》

這是日本作家上野宣寫的一本可愛技術小書,透過大量生動的圖講解 HTTP 的運作。它在一開始快速地導覽了網路的分層運作,以及 HTTP、IP、TCP、D…

《Deep Learning with Python》by François Chollet

Image
不知不覺兵役已經服完一半了,在軍中讀書的計畫也已來到第六本。今天要介紹的是 François Chollet 的 《Deep Learning with Python》,會挑這本是因為之前選的讀物除了 TechBridge 以外都是非技術類書籍(TechBridge 本身其實也只能歸類為單篇彙集),有好一段時間沒有讀這種系統性介紹特定技術的書籍,想換換口味。另一方面是我自己對神經網路本來就有些興趣,只是之前東摸一點西摸一點,對它的暸解還不是很多,剛好聽說這本書寫得簡單易懂,觀念上的解釋又鞭辟入裡,決定來一睹其風采。唯一的缺點大概就是在軍中沒有電腦可以讓我實驗書中的程式碼吧(嘆。

對於內容牽涉到比較多技術思維的書籍,我通常傾向做稍微詳細一點的筆記,所以這篇其實算是一份讀書筆記兼分章摘要。整體上來說我覺得這書寫的有趣又實用,對我啟發不小,誠心推薦給任何想踏進神經網路領域的新手,或是覺得有些觀念仍未弄清的老手看。至少我看完後心情還蠻亢奮的,決定之後再找時間來仔細讀讀 Ian Goodfellow 的聖經《Deep Learning》,應該也會收穫不少。

(本文圖片來源除 GAN 的示意圖取自机器之心外,其餘皆取自《Deep Learning with Python》by François Chollet 書中)

CH1 - What is Deep Learning

這章介紹了人工智慧(AI)、機器學習(Machine Learning)、深度學習(Deep Learning)彼此間的關係。簡單來說,機器學習是人工智慧的一種,而深度學習是機器學習的一種。機器學習和普通的人工智慧程式差別在於,普通程式是接受資料和規則算出答案,機器學習則是接受資料和答案來算出規則。大部分機器學習模型所追尋的「規則」,形式為「將資料轉換成一個有用的表示方式(representation),再透過這個表示方式得到答案」;而所謂的「學習」,一般是指「讓電腦自動從假設空間(Hypothesis Space )中搜索出最好的表示方式」這個行為。

舉例來說,平面上有一堆點,有些是圈有些是叉,我希望我的機器學習模型能透過點的座標自動分辨出哪些點是圈、哪些點是叉。此時我可以把我的假設空間(Hypothesis Space )設定為「空間中的任意直線」,然後試圖去找一條能完整的將圈和叉分開來的最佳直線。倘…

「TechBridge 技術共筆部落格」&《創意電力公司:我如何打造皮克斯動畫》

Image
TechBridge 技術共筆部落格

這週的軍中讀物一樣是走一個部落格+一本書的模式。由於入伍兩個月來幾乎沒讀什麼技術相關的東西,所以這次挑了 TechBridge 這個技術共筆部落格的文章來看。它主要是由四個工程師負責撰文,近期有時會有新作者的文章,講的技術涵蓋 Web、App、機器人、新的語言、基礎 DSA 和數據分析......等等,當中也有不少適合初學者的文章。

對於我這樣一個比較常寫 Web 的人來說,裡面讓我偏愛的主題大概是 Web Security 和 Optimization 這兩塊吧。像是 XSS、CSRF、SQL Injection、DDoS、CSS keylogger 和一些各式各樣的 OWASP issues,這些文章把它們的機制寫的淺顯易懂,讓我感覺醍醐灌頂,對資安防禦有更深刻的理解。而 Optimization 相關的主題主要跟前後端的 Cache 有關,另外也有一些針對 React、Browser 的性能優化,又或是像 WebAssembly 這種高效能新技術的介紹。

其他我覺得不錯的主題有:直播、WebVR、支付 API、RxJS 等特定技術介紹,React Fiber、Flux、DOM、Ajax、原型鍊等 Web 原理講解,Sketch、D3v4、Canvas、CSS 等視覺化相關的操作指南。有些原本就懂的東西,看過別人的解釋後會有全新的感受;而沒接觸過的技術在讀了介紹後更覺得新奇有趣,會想直接在放假時做些嘗試。簡而言之,那些跟我日常開發密切相關,並且能提供幫助的主題總是讓我收穫最多。

當然這個部落格涵蓋的內容絕對不只這點,只不過像機器人這種我過去涉獵較低的領域,或是類似 Python 新手入門這種太簡單的教學文,對於我產生的影響就相對小了不少,畢竟手邊沒有電腦,在理解較少的情況下只能當走馬看花,略顯可惜。下面列出一些我喜歡的文章。

資安

〈與 DDoS 奮戰:nginx, iptables 與 fail2ban〉
〈Web 資訊安全(Security)簡明入門教學指南〉
〈讓我們來談談 CSRF〉
〈我遇過的最難的 Cookie 問題〉
〈Top issues on OWASP〉
〈CSS keylogger:攻擊與防禦〉

優化

〈Browser Rendering Optimization〉
〈資料庫的好夥伴:Redis〉
〈循序漸進理解 HTTP…

「得意忘形」&《The Hard Thing About Hard Things》

Image
這兩週在軍中看的讀物主要有兩份,一份是「得意忘形」這個部落格的所有文章,另一份是 Ben Horowitz 的《The Hard Thing About Hard Things》這本書。

自從年初被推坑得到 App 後,我就一直是它的忠實用戶,而在裡面的眾多專欄中,張瀟雨是我特別喜歡的一個專欄作家。這傢伙一開始在高盛工作,後來跑去做私募股權基金投資,最後自己創立雲報銷這家公司,並在中期把公司賣給騰訊。他解析企業的方式讓我眼界拓展不少,也因此將一些時間拿去研究商業和金融相關的知識。

而「得意忘形」這個部落格,正是張瀟雨以前在知乎開的專欄,內容主要是他從國外精選的、創業相關的文章。不難發現,這些文章充滿著濃濃的矽谷味,光看其作者就能窺知一二:Paul Graham, Mark Suster, Ben Horowitz, Sam Altman, Marc Andressen......而《The Hard Thing About Hard Things》這本書也正是他在多篇文章導讀與論壇中大力推薦的,一本如同聖經般的創業指南。

(如果做個不嚴謹的粗略歸類,我猜張瀟雨的創業立場應該是屬於 YC+Ben Horowitz 流派。)

原本預計一週看「得意忘形」,另一週拿來看《The Hard Thing About Hard Things》,沒想到我錯估了它們的內容量:把「得意忘形」全部的文章爬下來一共七百頁、四十萬字,讀完花了我一周半的時間;而《The Hard Thing About Hard Things》則是比預期中精短,所以兩份讀物加起來還是剛好填補了軍中乏味的兩個禮拜。

這篇主要是做個導引,把「得意忘形」裡的文章做個大致分類推薦,也給《The Hard Thing About Hard Things》寫個簡單的導讀介紹。

「得意忘形」

創業基本面

普通公司(Normal Company)和創業公司(Startup)的差別在於是否能「快速增長」。理髮店、餐廳無法快速增長,規模從初期到穩定可能頂多差個幾倍;創業公司初期則能以每週 5-10% 的速率高速增長(時間拉長看就是增長幾千萬倍,諸如 Google、Facebook),原因很多,例如:提供大量客戶服務的成本相對低、產品具有網絡效應、可透過融資提高增長速度等。

增長作為創業公司的第一要務,背後有很多基本的方法和精神。…