[Day 1] 基本知識(上)


第一章 軟體開發

作者從我們每天會用的各種軟體切入,一一解析它們背後的運作模式,像是用來查詢大小事的 Google 大神是如何運作的?為什麼 Spotify 推薦給你的,幾乎都是你喜歡聽的歌曲?Facebook 怎麼決定出現在你動態牆上的內容?Tinder 為什麼一開始讓用戶使用臉書帳號註冊,但後來宣布也可以使用手機號碼註冊了?為什麼《華爾街郵報》的文章標題總是會有兩種不同的版本?另外,作者認為它們都是使用相同的「結構單元」所開發的(雖然看完本章之後,我還是不了解作者所謂的「結構單元」XD) 。

就以「Google 搜尋功能是如何運作?」主題來說,思考一下,你每天都會拜的 Google 大神,是怎麼根據你輸入的關鍵字,推薦最符合的資訊給你呢?當我們每次輸入這些關鍵字,Google 大神並不是即時的在茫茫"網海"中找尋結果,在這之前,它已經使用「爬蟲」技術將各個網頁資訊存在自己的資料庫裡,並建立索引,然後使用「演算法」讀取資料庫,再決定要呈現哪些結果給你。

這裡提到的「爬蟲」,即是透過程式自動造訪網站,然後根據網站裡一層層的頁面抓取內容,直到無法連結到網站內其他頁面為止,再將抓取回來的內容分析、過濾後,建立索引儲存到資料庫裡,依據書裡的數據,若是想要將這些資料庫裡的索引檔案,用一個個基本單位為 1TB 的傳統 3.5 吋外接硬碟儲存下來的話,這些外接硬碟疊起來的高度,那大概會比 3 座台北 101 的疊起來還要高。

那什麼又是「演算法」呢?簡單的來說就像是食譜裡一步一步的料理指令,你丟進需要的材料(輸入關鍵字),根據料理食材的步驟(演算法),就會變成一道菜(輸出呈現結果),而這種演算法還讓 SEO(search engine optimization)產業興起,確保網站擁有者的網頁能被搜尋引擎放在最前面幾筆的搜尋結果上。

另外在「哪些科技優步、Yelp與寶可夢Go都使用?」主題中,讓我回想在半年前開始自學前端程式設計時接觸的 API,原來可以分別歸類為三個主要類型的 API,分別為資料 API(Data APIs )、特色 API(feature APIs)及我不常接觸的硬體 API(hardware APIs),讓我這個小小菜鳥有種豁然開朗的感覺阿!

讀到這章的最後,我開始思考該怎麼讓演化法為自己所服務,也想嘗試解讀更多科技背後的運作原理及商業策略了。

第二章 作業系統

這章談的是每個運算裝置跳動的心臟 —- 作業系統的運作,從智慧型手機、遊戲主機、個人電腦,一直到超級電腦,如果沒有作業系統的話,就無法執行任何應用程式。

作者分析了於 2000 年第一次發表智慧型手機的黑莓公司,從 2009 年市佔率是 iPhone 和 Android 手機加起來的總和,連歐巴馬入主白宮都是選擇黑莓機為他的智慧型手機,錯估企業的消費者化(consumerization of the enterprise)及應用程式經濟(app economy,在第三章會提到),到 2016 年市佔跌至 0.05% 以下的過程。(這邊查了一下,原來是因為鍵盤上的實體按鈕很像草莓種子,所以才取名為「黑莓」阿。)


Blackberry iPaq H1100 / blackberryservice.es

作者也提到,Google 免費開放 Android 作業系統核心原始碼,目的是節省 Android 開發者的開發功夫、並吸引眾多手機製造商客製化介面,以提高其手機介面特色,也藉此吸引更多人加入Google、Android 的開發生態系,進而帶來更多使用者流量,使用其各種衍生的服務如搜尋、地圖、郵件等藉此盈利。另外,各家使用 Andorid 系統的手機製造商,也讓應用程式開發者得以付費,預先安裝在即將販售的新手機裡來"推廣"它們的應用程式,這種商業模式也讓手機製造商、電信商,從販售智慧型手機、資料傳輸、通話費用之外取得更多利潤,而消費者拿到的,就是一隻"臃腫"的新手機。

第一次試著寫寫閱讀心得,如有任何問題或建議請留言給我,感謝! 🙏






紀錄一下閱讀《Google、臉書、微軟專家教你的66堂科技趨勢必修課》的心得。

留言討論