2017 年,你應該這樣學習 Web 程式設計 —— 內建索引 + 外接搜尋引擎
如果你不會使用 Google 去搜尋,那麼你是一個新手。而如果你只學會如何使用 Google,但是不知道搜尋什麼,那麼你也仍是一個新手。
最初我對這個問題的思考,來自於一年前的一篇相關的文章《程式設計師的內建索引與外接的Google》。當時,文章的主要對比點是,入口網站與 Google。兩者有一些明顯的區別:
- 入口網站更適合那些什麼都不知道,從頭開始探索網際網路的人。
- 搜尋引擎更適合你知道相似的東西,但是忘記具體的細節。
也因此,學習應用型技術變成了一項相當簡單的事。你只需要知道它有什麼(索引),然後去了解怎麼用(搜尋)即可。
從怎麼學到學什麼
開始之前,先讓我介紹一下,我的學習框架、語言的方式:
- 買本中文書或者找個教程、官方的 Guide,花個十幾分鍾瞭解一下目錄。
- 直接找個官方的示例,執行一下 Demo。
- 上手寫寫應用。
- 檢視官方文件,看看自己是不是漏掉了什麼重要的東西。
首先,你有了一份入門資料了,並且也已經有官方的文件了。然後你只需要一步步去做就可以了,不會的地方你就可以搜尋到。難怪,程式設計師被喻為新藍領工人。
你拿上一份框架的說明書、一份需求文件、一個搜尋引擎,就可以很容易地製造出一個產品。唯一的門檻是,你需要會讀懂這些內容。這有點像新的知識階級,只是門檻不再是識字與否,而在於是否能懂程式設計的知識。
將學習程式設計與入口網站、搜尋引擎相比,就是:
- 當你是一個新手程式設計師的時候,你需要一本書、一份指南、一個教程來作為索引,並學習上面的一個個內容。
- 當你是一個有經驗的程式設計師時,你只需要一個搜尋引擎,因為你的腦子裡已經有了整個世界。
當你不會使用 Google 時,你可能會這樣去搜尋資料(參見:英國老人堅持用敬語谷歌搜尋 成網紅被怒贊):please translate these roman numerals mcmxcviii, thank you。
這種感覺就好像是,你在使用機器人“嬌嬌”,背後有一個人一樣:
可惜,機器人都是晚期直男癌,喜歡單刀直入。
當你只會使用 Google 時,你只能去知乎、SegmentFault 或者 StackOverflow 提個問題:
過去,我花了相當長的時間,在探索學習什麼的問題。畢竟學習是相當簡單的一件事,你只需要抽點時間、找個空間、研究個點就可以了。在這其中,最難的地方是研究一個點。因為你根本不知道,需要學習什麼?並非所有的人,都能找到合適的路線。
索引與圖譜
當你在某個領域擁有多年的經驗時,你就可以將它整理為各式各樣的圖譜、技能樹等等。如:
這樣的圖譜,就像門房網站一樣,在上面列好了一個個的知識點。
它按照不同的類別,一一的歸類。稍有區別的是,這些類別都會相應的內容與之對應。而你在技能彙總上是看不到的,這也就是為什麼像技能樹這樣的工具,也會相當的受歡迎。
人們需要的,不僅僅是一張簡單的地圖,還需要導航功能。技能圖譜、技能彙總等等類似的圖譜,它們都只是一些簡單的工具。你還需要輔助相應的內容,如文章,視訊、教程等等的資料。
在這個時候,或者你需要的是一個 Awesome-xx 的專案,上面不僅僅有目錄,還有各式各樣的資料。點選到相應的連結,你可以看到程式碼、應用。
初學的時候,你只需要找到一份合適的索引。學到一定程度的時候,你就可以和我一樣創造相應的索引,還有各種資料,如 Growth(https://github.com/phodal/growth)。隨後,你就可以對比不同的索引,來完善自己的知識休系。
不斷的更新索引
小學的時候,你學會了基本的數學知識,如加法,除法,乘法。你開始在初中的時候,開始解決各種複雜的二次、三次方程、圖形計算等等的問題。
從哇哇墜地在醫院,到初高中畢業,學習的大部分知識都是別人覺得重要的。學習的時候,教育者們出於某種目的,已經為你規劃好了一個個的路線。
工作的時候,領導們仍然會出於某種目的,為你規劃好一個學習路線。你並不需要知道自己需要去什麼,你像遊戲中的國王一樣,按別人的規劃一步步地往前走。
如果別人為你規則學習的路線是合理的,那麼學習起來就會很輕鬆。反之,你就會很痛苦,開始質疑合理性。
知識本身具有連貫性——這就是《技術發展的本質》一書所闡述的。你把一個現代的智慧手機,交給 20 年前的使用者,他都不知道怎麼用。
如果你是經歷過手機 20 年的更新換代,那麼你就很容易地就可以上手各種手機。與些同時,你並需要從 20 年前的大哥大開始用起。這也是大部分開發者的學習過程,但是並意味著你需要從頭學起。你仍然可以忽略過很多東西,然後學習最新技術。
令人遺憾的是,知識本身不是靜止的,而是一個不斷髮展的過程。就連吃飯,你都要學習使用不同的工具,如西餐。只有基礎本身是靜止(相對)的,一旦涉及到應用都是變化的——你學習的 A 技術,經過一段時間,都會被市場淘汰。
這時,你需要像爬蟲一樣,不斷地去抓取新的網頁,新的知識點。
相關文章
- 如果搜尋引擎被禁止,你還會程式設計嗎?程式設計
- Mac上神奇的內建搜尋引擎——Spotlight(聚焦搜尋)Mac
- 好程式設計師web前端分享應該怎樣學好web前端?程式設計師Web前端
- 年終了,程式設計師應該這樣談加薪!程式設計師
- 搜尋引擎ElasticSearch18_ElasticSearch程式設計操作5Elasticsearch程式設計
- 用 google 作為你的預設搜尋引擎Go
- 搜尋引擎-03-搜尋引擎原理
- 設定搜尋引擎遮蔽 CSDN
- 轉行學習web前端開發程式設計師應該具備的條件Web前端程式設計師
- 搜尋引擎優化內容及方法優化
- 2022年你應該掌握這些機器學習演算法機器學習演算法
- 你應該學習哪種程式語言?
- 分散式搜尋引擎Elasticsearch基礎入門學習分散式Elasticsearch
- 海量資料搜尋---搜尋引擎
- Java程式設計師應該在2018年學習三種JVM語言Java程式設計師JVM
- 程式設計師你應該勇敢說不程式設計師
- 你們不能這樣招聘程式設計師程式設計師
- “掃蕩”、“自動尋路”這樣的簡化遊戲設計該不該存在?遊戲設計
- 揭秘淘寶搜尋API:打造你的專屬購物搜尋引擎!API
- ChatGPT 支援的搜尋引擎 Bing 究竟什麼樣?ChatGPT
- 學習Mysql 你應該懂得MySql
- 上萬名程式設計師總結出的Java學習路線 !你應該看看 !!程式設計師Java
- 搜尋引擎es-分詞與搜尋分詞
- 基於 Elasticsearch 的站內搜尋引擎實戰Elasticsearch
- 程式設計零基礎應該如何開始學習Python?程式設計Python
- win10谷歌瀏覽器怎樣設定用谷歌搜尋引擎 win10谷歌瀏覽器使用谷歌搜尋引擎的設定方法Win10谷歌瀏覽器
- sphinx 全文搜尋引擎
- 高效利用搜尋引擎
- ElasticSearch全文搜尋引擎Elasticsearch
- 學習Java程式設計的建議Java程式設計
- web前端程式設計小白應該從哪個環節開始,這裡來解析!Web前端程式設計
- 解密Elasticsearch:深入探究這款搜尋和分析引擎解密Elasticsearch
- 後端技術雜談1:搜尋引擎基礎倒排索引後端索引
- 程式設計師應該怎樣和領導相處?程式設計師
- 2020年為什麼建議你繼續學程式設計?程式設計
- Searching with Deep Learning 深度學習的搜尋應用深度學習
- SI 2120程式設計影像搜尋綜合程式設計
- 使用Node,Vue和ElasticSearch構建實時搜尋引擎VueElasticsearch
- 學習Java,我建議這樣做Java