[轉載]大數據入門 - 董飛

轉載自IDoNews http://www.donews.com/idonews/article/5459.shtm,部分圖片來自www.36dsj.com前端

硅谷在線教育公司 Coursera 數據工程師董飛,也曾在百度、LinkedIn 等公司工做。node

在硅谷,你們很是熱情地談創業談機會,我也經過本身觀察和積累,看到很多最近幾年涌現的熱門創業公司。我先給你們一個列表,這是華爾街網站全世界創業公司融資規模的一個評選,它原本標題是「十億美金俱樂部」,能夠看出不到一年時間,截至今年 1 月 17 日,排名和規模已經發生很大變化。面試

首先,估值在十億美金的公司達到 7 家,而一年前都沒有;第二,第一名是中國的小米;第三,前 20 名中,絕大多數(八成在美國,在加州,在硅谷,在舊金山!)好比 Uber、Airbnb、Dropbox、Pinterest;第四,裏面也有很多類似模式成功的,好比 Flipkart 就是印度市場的淘寶,Uber 與 Airbnb 都是共享經濟的範疇。算法

因此,你們仍是能夠在移動(Uber)、大數據(Palantir)、消費級互聯網、通信(Snapchat)、支付(Square)及 O2O App 裏尋找大機會。這裏面,不少公司我都曾面試和感覺過他們環境,下面有機會我也會給你們一一詳細介紹。sql

第二,在 Linkedin,每一年會評選一個最有需求的創業公司名單,基本是結合 Linkedin 用戶訪問量和申請數作出的挖掘。下面,我列出最近 3 年數據,你們能夠作個判別和趨勢分析。數據庫

裏面仍是很靠譜的,好比很多上榜名單已成功 IPO(GoPro、Hortonworks、Splunk),裏面有不少大數據領域公司(Splunk,、Box,、Nimble Storage、Violin Memroy, Dropbox),而除了以前看到的一些互聯網項目,在一些醫療健康(Theranos)、智能硬件(Leap motion、Fitbit、Jawbone)、在線教育(Coursera)也吸引很大注意力。apache

第三,看了那麼多高估值公司,不少人都以爲很是瘋狂,是否是很大泡沫了,泡沫是否是要破了,這是不少人的疑問。在硅谷這個充滿夢想的地方,投資人鼓勵創業者大膽去發展一樣也滋長泡沫,不少項目在幾個月時間估值就會翻 二、3 倍,例如在 Uber、Snapchat 上,我也驚訝他們的鉅額融資規模和顛覆速度。編程

下面這張圖,就是講新事物的發展規律,這是硅谷孵化器 YCombinator 公開課 How to start a startup 提到的。一個新 Idea 加上一點點原型,就會迅速吸引眼球,而後先驅者引起潮流,在大衆爆發把泡沫吹到極致,接下來就是各類負面質疑,名聲一落千丈,而這時離 Peak 也許纔過去幾個月。後端

但這東西本質沒有變,從「看山不是山」到「看山仍是山」,這段重心迴歸到產品上從新積累用戶,而後就到了可持續增加的健康軌道上。從 Quora 網站流量、Tesla 股票到比特幣,你都發現它們驚人的匹配這張圖的某個節點。背後不變的是人性,舉例在牛市,你們都很容易掙錢,但只有熬過最痛苦的時代(好比金融危機),才能體會事物發展本質和踏實的意義。服務器

第四,將來趨勢是什麼?你們都很關心。我先提最近看的一部電影《Imitation Game》,它講的是計算機邏輯奠定者艾倫圖靈艱難的一輩子,當年爲破譯德軍密碼製做了圖靈機爲二打敗利做出卓越貢獻,挽回幾千萬人的生命,可在那個時代由於同性戀被判化學閹割,自殺結束了短暫的 42 歲生命。

他的一個偉大貢獻就是在人工智能的開拓,他提出圖靈測試(Turing Test),測試某機器是否能表現出與人等價或沒法區分的智能。咱們如今回到今天,人工智能已有很大進步,從專家系統到基於統計的學習,從支持向量機到神經網絡深度學習,每一步都帶領機器智能走向下一個階梯。

谷歌資深科學家吳軍博士提出當前技術發展的三個趨勢:第一,雲計算和和移動互聯網,這是正在進行時;第二,機器智能,如今開始發生,但對社會的影響不少人還沒意識到;第三,大數據和機器智能結合,這是將來時,必定會發生,有公司在作,但還沒太造成規模。

他認爲將來機器會控制 98% 的人,而如今咱們就要作個選擇,怎麼成爲剩下的 2% ?李開復在 2015 年新年展望也提出將來五年物聯網帶來龐大創業機會。

大數據入門

接下來,我講一講大數據入門。先來作個思考,之前有個國王很闊綽也很愛排場,有天,他很高興想獎賞他的寵臣,而後說,讓他來提任何獎勵。

這個大臣給國王看下面這個棋盤,是個 8*8 的方格,若是我在每一個標號的格子內放米粒,第一個格子放 1 粒米,後面格子老是前面格子的兩倍。那麼問題來了,若是我把整個棋盤放滿,須要多少米粒?

咱們學過級數的話,能夠快速作個演算,它的推演是 1 + 2 + 4 …… + 2^63 = 2^64 - 1 .這個數字多大不少人沒印象,反正若是真要兌現的話,這個國家確定是破產了。

其實我把這個棋盤分紅上下兩半,在上一半總共須要的米粒是 2^32,這並非個很大的數,其實前幾年計算機的 32 位就是那麼大,但下半場就徹底不同了,這是個平方級別的規模,我下面會給你們一個交代。如今你們也常常聽到什麼手機 64 位處理器,並沒有實際意義。

咱們接着看看這張曲線圖是信息時代的增加,其實工業革命前(1820 年),世界人均 GDP 在 1800 年前的兩三千年裏基本沒變化,而從 1820 年到 2001 年 180 年裏,世界人均 GDP 從原來 667 美圓增加到 6049 美圓。

由此足見,工業革命帶來的收入增加的確翻天覆地。這裏面發生了什麼?你們能夠思考一下。但人類的進步,並沒中止或者說穩步增加,在發明了電力、電腦、互聯網、移動互聯網,全球年 GDP 增加 從萬分之 5 到 2%,信息也是在急劇增加。根據計算,最近兩年信息量是以前 30 年總和,最近 10 年是遠超人類全部以前累計信息量之和。

在計算機時代,有個著名摩爾定律,就是說一樣成本每隔 18 個月晶體管數量會翻倍,反過來,一樣數量晶體管成本會減半。這個規律已經很好匹配了最近 30 年的發展,而且能夠衍生到不少相似領域:存儲、功耗、帶寬、像素。

而最下面這個頭像是馮諾伊曼,20 世紀最重要數學家之一,在現代計算機、博弈論和核武器等諸多領域有傑出建樹的最偉大科學全才之一。他提出技術會逼近人類歷史上某種本質的奇點,在那後,所有人類行爲都不可能以咱們熟悉的面貌繼續存在。

這就是著名的「奇點理論」,目前會呈愈來愈快的指數性增加,美國將來學家 Ray Kurzweil 稱:人類能在 2045 年實現數字化永生,他本身也創辦奇點大學,相信隨信息技術、無線網、生物、物理等領域的指數級增加,將在 2029 年實現人工智能,人的壽命也將會在將來 15 年獲得大幅延長。

咱們再回到如今,地球上至今的數據量從 GB、TB、PB、EB 到達 ZB,咱們以前提出的 2^64 就至關於 16EB 的大小。

大數據有什麼用?

所謂「學以至用」,大數據領域在各行業均可以應用,這裏舉幾個有趣的例子。在 Linkedin 時,CEO 提出「經濟圖譜」的概念,但願整合用戶、公司、工做機會、技能、學校和帖子變成一個複雜而有蘊含無限可能的數字化社會。

好比說找對象,有個國外極客,他抓取約會網站的數據,根據一些指標如地理、年齡、興趣,創建下面的 3D 模型找到真愛;又如阿里巴巴經過數據魔方(它們的大數據產品),提煉出消費跟女生胸部成正比的結論。

在移動 App 上,今日頭條經過你的我的社會化信息,建起興趣圖譜推薦文章並隨你的使用會愈來愈聰明;在線教育領域:MOOC 中的 M 就是大規模的意思;其餘如互聯網金融人人貸,經過大數據積累信用,釋放一些傳統金融體系下未被知足而又普遍存在的巨大需求,最近也是拿到 1.3 億美金融資。硅谷有家 Wealthfront 作大數據理財,23andMe 提供我的基因組的「大數據」等等。

大數據公司列表

下面是 2014 年別人總結的大數據公司列表,咱們大體能夠分紅基礎架構和應用,而底層都是會用到一些通用技術,如 Hadoop、Mahout、HBase 和 Cassandra,我在下面也會涵蓋。

我能夠舉幾個例子,在分析這塊,Cloudera、hortonworks、mapr 做爲 Hadoop 三劍客,一些運維領域,mangodb、couchbase 都是 nosql 表明,做爲服務領域 AWS 和 Google BigQuery 劍拔弩張,在傳統數據庫,甲骨文收購了 MySQL、DB2 老牌銀行專用,Teradata 作了多年數據倉庫。

上面的 Apps 更多,好比社交消費領域的谷歌、亞馬遜、Netflix、Twitter、商業智能:SAP、GoodData,一些在廣告媒體領域:TURN、Rocketfuel,作智能運維 sumologic 等等。最後還有個去年的新星 Databricks 伴隨着 Spark 的浪潮震撼 Hadoop 的生態系統。

大數據之中國公司

對迅速成長的中國市場,大公司也意味大數據,BAT 三家都是對大數據投入不惜餘力,我 4 年前在百度時,百度就提出框計算的東東,最近兩年成立硅谷研究院,挖來 Andrew Ng 作首席科學家,研究項目就是百度大腦,在語音、圖片識別大幅提升精確度和召回率,最近還作了個無人自行車很是有趣。

騰訊做爲最大社交應用對大數據也情有獨鍾,本身研發 C++ 平臺的海量存儲系統。淘寶去年雙十一主戰場,2 分鐘突破 10 億,交易額突破 571 億,背後是有不少故事,當年在百度作 Pyramid(按谷歌三輛馬車打造的金字塔三層分佈式系統)有志之士,繼續在 OceanBase 創造神話。

而阿里雲當年備受爭議,馬雲也在懷疑是否是被王堅忽悠,最後經歷了雙十一洗禮證實 OceanBase 和阿里雲的靠譜。小米的雷軍對大數據也是寄託厚望,一方面,這麼多數據幾何級數增加;另外一方面存儲帶寬都是巨大成本,沒價值就真破產。

大數據相關技術

大數據相關技術,最緊密的就是雲計算,我列出主要是 Amazon Web Service 和 Google Cloud Platform,在國內還有阿里雲、金山雲、百度雲、騰訊雲、小米雲、360 雲、七牛……每一個裏面都是大量技術文檔和標準,從計算到存儲,從數據庫到消息,從監控到部署管理,從虛擬網絡到 CDN,把全部一切用軟件從新定義了一遍。

先來說亞馬遜的雲。我本人在亞馬遜雲計算部門工做過,全部仍是比較瞭解 AWS,整體上成熟度很高,有大量創業公司都是基於上面開發,好比有名的 Netflix、Pinterest、Coursera.

亞馬遜仍是不斷創新,每一年召開 reInvent 大會推廣新的雲產品和分享成功案例,在這裏面我隨便說幾個,像 S3 是簡單面向對象的存儲,DynamoDB 是對關係型數據庫的補充,Glacier 對冷數據作歸檔處理,Elastic MapReduce 直接對 MapReduce 作打包提供計算服務,EC2 就是基礎的虛擬主機,Data Pipeline 會提供圖形化界面直接串聯工做任務。

這邊還能夠說一下 Redshift,它是一種(Massively Parallel Computer)架構,是很是方便的數據倉庫解決方案,就是 SQL 接口,跟各個雲服務無縫鏈接,最大特色就是快,在 TB 到 PB 級別很是好的性能,我在工做中也直接使用,它還支持不一樣硬件平臺,若是想速度更快,可使用 SSD 的,固然支持容量就小些。

在數據庫領域,我就列出三種表明,一類是關係型數據庫管理系統,它的特色是 A(Atomic)、C(consistent)、I(isolation)、D(duration),連起來就是 ACID(酸)。簡單說,就是支持事務回滾和外鍵關聯,而 NoSQL 是與之對應的 Base(鹼),所謂 Basic 可用,爲了擴大 Scale,犧牲一些一致性和事務。而谷歌提出 F1,但願解決在大規模數據同時還要作到事務強一致性。在這裏面都是很是常見的 NoSQL, 這些公司可能你都沒聽過,但它們都是融資過億,估值都很是高,在幾個 Billion 以上。

我會花一些篇幅介紹 Hadoop,首先看 Hadoop 從哪裏開始的,不得不提谷歌的先進性,在 10 多年前,谷歌出了 3 篇論文論述分佈式系統的作法,分別是 GFS、MapReduce、BigTable,很是牛逼的系統,但沒人見過,在工業界不少人癢癢的,就想按其思想去仿做。

當時,Apache Nutch Lucene 做者 Doug Cutting 也是其中之一,後來他們被雅虎收購,專門成立團隊去投入作,就是 Hadoop 的開始和大規模發展的地方,以後隨着雅虎衰落,牛人去了 Facebook、谷歌,也有成立 Cloudera、Hortonworks 等大數據公司,把 Hadoop 的實踐帶到各個硅谷公司。

而谷歌還沒中止,又出了新的三輛馬車:Pregel、Caffeine 和 Dremel,後來又有不少步入後塵,開始新一輪開源大戰。

那麼爲啥 Hadoop 就比較適合作大數據呢?首先擴展很好,直接經過加節點就能夠把系統能力提升,它有個重要思想是:移動計算而不是移動數據,由於數據移動是很大的成本須要網絡帶寬。

其次,它提出的目標就是利用廉價普通計算機(硬盤),這樣雖然可能不穩定(磁盤壞的概率),但經過系統級別上的容錯和冗餘達到高可靠性。而且很是靈活,可使用各類data,二進制、文檔型、記錄型。使用各類形式(結構化、半結構化、非結構化所謂的schemaless),在按需計算上也是個技巧。

另外一個問題,咱們提到 Hadoop 通常不會說某個東西,而是指生態系統,在這裏面太多交互的組件了,涉及到 IO、處理、應用、配置、工做流。在真正的工做中,當幾個組件互相影響,你的頭疼的維護纔剛剛開始。

我也簡單說幾個:Hadoop Core 就三個 HDFS、MapReduce、Common,在外圍有 NoSQL: Cassandra、HBase,有 Facebook 開發的數據倉庫 Hive,有雅虎主力研發的 Pig 工做流語言,有機器學習算法庫 Mahout,工做流管理軟件 Oozie,在不少分佈式系統選擇 Master 中扮演重要角色的 Zookeeper.

下面是 Hortonworks 提出的數據平臺,這個公司比較強勢,它有最多的 Hadoop Committee 成員,是真正的標準制定者,而 2.0 就是由它們提出。

在 Hadoop 1.0 前,是 0.16 到 0.1九、0.20,還有一隻是 0.23 進化成如今的 2.0,應該說,如今大體都被 2.0 取代了,主要區別是 1.0 只能支持 MapReduce 框架、資源和數據處理限制在一塊兒。

而 2.0 首先抽象出 Yarn 這個資源管理器,而後上層能夠支持各類插件機制,便於擴展,Hortonworks 還研發了 Tez 做爲加速引擎把一些相關任務合併共享或者並行來優化。

下面這個是英特爾給出的 Hadoop Stack,英特爾也是個對技術前沿由追求的公司,雖然它主業是處理器,但在互聯網的時代,爲抓住一些軟件機會,它們也在積極融合,爲生態系統作貢獻。

另外,Cloudera 是老牌 Hadoop 公司,成立 七、8 年了,當年 Hadoop 之父就是在那作首席架構,它提出的 CDH 版本是不少公司的穩定 Hadoop 版本,通常公司也不會本身去搭 Hadoop 最新版,不然出了 Bug 會很痛苦,它提供了一個打包方便部署。

涉及技術細節甚至源代碼

下面內容涉及技術細節甚至源代碼,可能有些枯燥,我也儘可能深刻淺出。咱們先說 HDFS,所謂 Hadoop 的分佈式文件系統,它是能真正作到高強度容錯。而且根據 locality 原理,對連續存儲作了優化。

簡單說,就是分配大的數據塊,每次連續讀整數個。若是讓你本身來設計分佈式文件系統,在某機器掛掉還能正常訪問該怎麼作?首先須要有個 master 做爲目錄查找(這裏就是 Namenode),那麼數據節點是做爲分割好一塊塊的,同一塊數據爲了作備份不能放到同一個機器上,不然這臺機器掛了,你備份也一樣沒辦法找到。

HDFS 用一種機架位感知的辦法,先把一份拷貝放入同機架上的機器,而後在拷貝一份到其餘服務器,也許是不一樣數據中心的,這樣若是某個數據點壞了,就從另外一個機架上調用,而同一個機架它們內網鏈接是很是快的,若是那個機器也壞了,只能從遠程去獲取。這是一種辦法,如今還有基於 erasure code 原本是用在通訊容錯領域的辦法,能夠節約空間又達到容錯的目的,你們感興趣能夠去查詢。

接着說 MapReduce,首先是個編程範式,它的思想是對批量處理的任務,分紅兩個階段,所謂的 Map 階段就是把數據生成 key、value pair 再排序,中間有一步叫 shuffle,把一樣的 key 運輸到同一個 reducer 上面去,而在 reducer 上,由於一樣 key 已經確保在同一個上,就直接能夠作聚合,算出一些 sum, 最後把結果輸出到 HDFS 上。對應開發者來講,你須要作的就是編寫 Map 和 reduce 函數,像中間的排序和 shuffle 網絡傳輸,容錯處理,框架已經幫你作好了。但聽說,谷歌內部早不用這種,又有新的強大工具出現了。

HBase 就是對應的 BigTable 的克隆版,它是基於列的存儲,能夠很好的擴展型,這裏面出現了 Zookeeper 做爲它高可靠性的來源,咱們在分佈式系統中常常怕 Single Point of Failure,它能保證在少於一半節點損害狀況下,仍是能夠工做的。

這裏的 region server 是說把數據的 key 作範圍劃分,好比 region server1 負責 key 從 1 到 1w 的,region server2 負責 1w 到 2w 的,這樣劃分以後,就能夠利用分佈式機器的存儲和運算能力了。

雖然 MapReduce 強大,但編寫很麻煩,在通常工做中,你們不會直接寫 MapReduce 程序。有人又開動大腦,簡化開發。Hive 的簡單介紹,它主要是 Facebook 開發,確實很容易上手,若是作 data scientist,常常也要用到這個工具。

咱們想 MapReduce 模型有什麼問題?第一:須要寫不少底層的代碼不夠高效,第二:全部事情必需要轉化成兩個操做,這自己就很奇怪,也不能解決全部的狀況。那麼下面就看看有什麼能夠作的更好的。

Spark 介紹

我仍是介紹一些 Spark 的起源。Berkeley AMPLab,發表在 hotcloud 是一個從學術界到工業界的成功典範,也吸引了頂級 VC:Andreessen Horowitz 的注資。

AMPLab 這個實驗室很是厲害,作大數據、雲計算,跟工業界結合很緊密,以前就是他們作 mesos、hadoop online,在 2013 年,這些大牛(Berkeley 系主任、MIT 最年輕的助理教授)從Berkeley AMPLab 出去成立了 Databricks,引無數 Hadoop 大佬盡折腰,其實也不見得是它們心裏這麼想,好比 Cloudera 也有自家的 impala,支持 Spark 確定會讓它自家很難受,但若是你的客戶強烈要求你支持,你是沒有選擇的

另外起名字也很重要,Spark 就佔了先機,它們 CTO 說 Where There‘s Spark There’s Fire,它是用函數式語言 Scala 編寫,Spark 簡單說就是內存計算(包含迭代式計算,DAG 計算、流式計算 )框架,以前 MapReduce 因效率低下你們常常嘲笑,而 Spark 的出現讓你們很清新。Reynod 做爲 Spark 核心開發者, 介紹 Spark 性能超 Hadoop 百倍,算法實現僅有其 1/10 或 1/100.

那爲啥用 Spark 呢?最直接就是快啊,你用 Hadoop 跑大規模數據幾個小時跑完,這邊才幾十秒,這種變化不只是數量級的,而且是對你的開發方式翻天覆地的變化,好比你想驗證一個算法,你也不知道到底效果如何,但若是能在秒級就給你反饋,你能夠立馬去調節。

其餘的如比 MapReduce 靈活啊,支持迭代的算法,ad-hoc query,不需你費不少力氣花在軟件搭建上。若是說你用 Hadoop 組建集羣、測試、部署一個簡單任務要 1 周時間,Spark 可能只要一天。在去年的 Sort benchmark 上,Spark 用了 23 分鐘跑完 100TB 的排序,刷新以前 Hadoop 保持的世界紀錄。

下面這個圖,是 Hadoop 跟 Spark 在迴歸算法上比較,在 Hadoop 世界裏,作迭代計算是很是耗資源,它每次的 IO 序列畫代價很大,因此每次迭代須要差很少的等待。而 Spark 第一次啓動須要載入到內存,以後迭代直接在內存利用中間結果作不落地的運算,因此後期迭代速度快到能夠忽略不計。

此外,Spark 也是一個生態系統,除核心組建 Spark,它也能夠跑在 Hadoop 上,還提供了不少方便的庫,好比作流式計算,Spark Streaming,好比 GraphX 作圖的運算,MLBase 作機器學習,Shark 相似 Hive,BinkDB 也頗有意思,爲達到高效,它容許你提供一個偏差機率,若是你要求精確度越低,它運算速度就越快,在作一些模糊計算時像 Twitter 的 Follower 數目,能夠提升效率。

因此整體說,Spark 是一個很是精煉的 API,提供經常使用的集合操做,而後自己能夠獨立運行,或在 Hadoop Yarn 上面,或者 Mesos,而存儲也能夠用 HDFS,作到了兼容幷包,敏捷高效。是否是會取代 Hadoop 或成爲 Hadoop 的下一代核心,咱們拭目以待!

 

說到一些工業實踐,我能夠拿Linkedin舉例子,在Linkedin,有不少數據產品,好比People you may like, job you may be interested, 你的用戶訪問來源,甚至你的career path均可以挖掘出來。那麼在Linkedin也是大量用到開源技術,我這裏就說一個最成功的Kafka,它是一個分佈式的消息隊列,能夠用在tracking,機器內部metrics,數據傳輸。數據在前端後端會通過不一樣的存儲或者平臺,每一個平臺都有本身的格式,若是沒有一個unified log,會出現災難型的O(m*n)的數據對接複雜度,若是你設定的格式一旦發生變化,也是要修改全部相關的。因此這裏提出的中間橋樑就是Kafka,你們約定用一個格式做爲傳輸標準,而後在接受端能夠任意定製你想要的數據源(topics),最後實現的線性的O(m+n)的複雜度。對應的設計細節,仍是要參考設計文檔 http://kafka.apache.org/ 這裏面主要做者Jay Kreps,Rao Jun 出來成立了Kafka做爲獨立發展的公司。

在Linkedin,Hadoop做爲批處理的主力,大量應用在各個產品線上,好比廣告組。咱們一方面須要去作一些靈活的查詢分析廣告主的匹配,廣告預測和實際效果,另外在報表生成方面也是Hadoop做爲支持。若是你想去面試Linkedin 後端組,我建議你們去把Hive, Pig, Azkaban(數據流的管理軟件),Avro 數據定義格式,Kafka,Voldemort 都去看一些設計理念,linkedin有專門的開源社區,也是build本身的技術品牌。http://data.linkedin.com/

 

如何學習大數據

那同窗們若是問如何開始學習大數據,我也有一些建議,首先仍是打好基礎,Hadoop 雖然火熱,但它的基礎原理,都是書本上不少年的積累,像 Unix 設計哲學、數據庫的原理;

其次是選擇目標,若是你想作數據科學家,我能夠推薦 Coursera 的數據科學課程,通俗易懂,學習 Hive、Pig 這些基本工具;若是作應用層,主要是把 Hadoop 的一些工做流要熟悉,包括一些基本調優;若是是想作架構,除能搭建集羣,對各基礎軟件服務很瞭解,還要理解計算機的瓶頸和負載管理,Linux 的一些性能工具。

最後,仍是要多加練習,大數據自己就是靠實踐,你能夠先按 API 寫書上的例子,可以先調試成功,在下面就是多積累,當遇到類似問題能找到對應的經典模式,再進一步就是實際問題,也許周邊誰也沒遇到,你須要些靈感和網上問問題的技巧,而後根據實際狀況做出最佳選擇。

 

這邊列出一些參考資料,好比數據庫系統,Hadoop 最經典的the definitive guide, 我在知乎上也有分享http://www.zhihu.com/question/23655827/answer/29611595
還有一些科普或者管理書籍不錯我都一併推薦。

做者:董飛

相關文章
相關標籤/搜索