為什麼說會使用搜索引擎對學習編程很重要

為什麼說會使用搜索引擎對學習編程很重要

來自專欄大數據前沿176 人贊了文章

前段時間,二胖在知乎和微信公眾號同步發布了一篇文章,

二胖:這可能是我見過最好的編程指南了!?

zhuanlan.zhihu.com圖標

講述了二胖從剛上大學到現在總結的一些學習編程的方法。

二胖很高興此文得到了很大部分人的認可,目前文章的閱讀量很高,在知乎已獲超過8000次贊同、上萬次收藏,還收到了很多朋友的打賞。這篇文章在公眾號上也有6000多次的閱讀了。

01起因

我為什麼提到這篇文章呢?起因是我在這篇文章中介紹了我以前的一些規劃和總結,並且把自己做的這些規劃記錄到了一款雲筆記上。

它著實提高了我的效率,所以在介紹學習編程的方法時,我就截了一些圖來作為例子,這些圖中的內容也正是寫在這個筆記軟體中的。

有很多同學看過這篇文章之後就給我留言、發私信,諮詢我這款軟體的名稱。開始時,我挨個回復大家,但是後來我發現太多人問我了,我就在知乎上將這個筆記相關的信息置頂了,目的是讓大家看完文章之後能夠看見這個問題,從而自己找到答案。

知乎評論截圖:

微信公眾號評論截圖:

可是,後續的問題還是不斷,我每天還是會在知乎私信、文章留言區和公眾號後台收到一部分同學的提問「請問你在文章中說的那款記筆記的軟體是什麼?」。

我並不是嫌棄,也不是不想回答,我只是好奇,為什麼他們不愛看評論或者自己去尋找答案?其實點開評論區給我留言的時候,明明看一眼置頂留言,就能找到答案啊。

除此之外,還有很多童鞋問我一些只要百度一下就知道答案的問題。

所以今天,二胖想說的是在學習的過程中,如何才能高效快速地找到答案,並且能讓自己印象深刻。

02提問的藝術

我記得在大二的時候,老師推薦我們看了一篇文章叫《提問的藝術:如何快速獲得答案》,原文講的是程序員在各種社區提問的方式,以及我們在遇到一個問題之後應該怎麼去解決。

當然我說這個並不是厭煩別人向我提問,我說這個只是我認為,在學習過程中,我們難免會遇到問題。如果我們掌握一定的檢索技巧和提問技巧,就能在很大程度上提高我們的學習效率。如果一直用伸手黨式的學習方法,第一個缺點就是你會久而久之地養成惰性,一遇到問題就慌了神;第二個缺點就是,你周圍的同學和同事會越來越不願意回答你的問題。

舉個例子:二胖在上篇文章

二胖:開源一段代碼-微信好友分析?

zhuanlan.zhihu.com圖標

講解代碼的時候提到了要安裝一些庫,這部分內容我寫在了github的文檔上,考慮到部分同學可能還沒有學習使用github,我也在微信留言中置頂說明要裝一些庫,如下圖:

後來我在微信後台收到提問:你的程序可能有點問題,提示"can not import name PIL in line 3"

我當然理解,可能有的同學沒有看到留言,所以沒有安裝這個庫,但是我心想,這不是提示的很明白嗎,不能import這個庫肯定是沒有安裝啊?不過想到這個同學可能是初學者,所以我就回答他"pip3 install pillow"

過了一會兒他又給我留言說:還是有問題,運行的時候提示"can not import name pyecharts in line4"

我。。。

我又回復:pip3 install pyecharts

過了一會兒他又給我留言:還是提示"can not import name itchat in line5"

我這時真是很絕望。

這明明就可以百度到的啊,並且直接輸入前兩個單詞就彈出了這個檢索語句,說明這是一個高頻的檢索問題。

雖然最後這個同學的問題解決了,可是我相信他並不知道自己究竟遇到了什麼問題,也不知道我給他回復的那三行命令到底是什麼意思,下次遇到同樣問題的時候還是一樣不知所措,只會機械地運行程序,而不去問為什麼。

我剛學編程的時候對很多問題也不明白,但是我會慢慢去百度查,當你第一次遇到「can not import name」的時候,你不應該放任不管,而應該弄明白這句話是什麼意思。噢,原來是沒有安裝第三方庫,那麼再遇到同樣情況的時候一下就能明白出錯的原因是什麼,而不是不求甚解。

03擅用搜索引擎

本文的標題是《為什麼說會使用搜索引擎對學習編程很重要》,但其實,這裡的搜索引擎並不是特指百度和谷歌,學習也不僅限於編程。

這個世界很亂,數據很雜,我們缺少的不是資源,也不是數據,而是找到數據的大門。

搜索引擎就是這樣的一扇門。

前段時間,我在工作中需要用到一項新技術,而部門中並沒有人用過這項技術,所以我需要去調研。在調研的過程中我發現幾乎沒有什麼中文資料,唯一的中文文檔也是幾年前的2.x版本,而最新版本是英文版,已經更新到了6.x版。

沒辦法,那就硬著頭皮讀英文版唄,遇到不認識的英文單詞怎麼辦?查。讀得差不多就開始用,使用的過程中遇到很多無解的問題,周圍又沒有人會,怎麼辦?先上百度查,百度查不到上谷歌;谷歌還查不到,上Stack Overflow;Stack Overflow也查不到,我最後在github上的issue區找到了答案可以說是一波三折,但在此過程中,我真正學會了這項技術。

整個過程,從調研、設計、開發,到現在的調試以及準備上線,很難,但是逐一攻克難點,就是確確實實的成長。

說個題外話,這是工作,不是在學校上課。學校學習不好,沒事,最多就是老師找你談話,可是,工作不一樣,工作指標完不成,那就是KPI完不成,和工資、獎金、發展掛鉤。並且,如果你掌握了一項技術,別人沒法替代你,或者說別人在短時間內不能替代你,那麼這項技術就增加了你的競爭力。

除此之外,搜索引擎還能做很多事情。雖然我的本職工作是程序猿,但我有時又會自稱廚子,為什麼呢?因為畢業以後我就自己做飯了,也是從零基礎開始學習,通過搜索引擎搜索各種菜譜學習,慢慢學會了做菜,我也在知乎上回答過相關問題,關於我做菜的一些感想。

上圖是一年前快畢業那會兒回答的,那時我就提到了自己做菜是通過搜索引擎學習的。那時候只有106個贊同。

而8個月前,我又發了一篇文章,有了1000贊同,時間可以證明一切。

也可以給大家看幾個我做的菜,好像有點偏題,不過就當是文章的一個中場休息吧。雖然不是很專業,但做菜作為我的業餘愛好,可以讓我在想家的時候可以感受一下家鄉的味道,而這些菜完全就可以通過搜索引擎查詢相關菜譜復刻出來。

下圖是畢業那會兒邀請室友來我住的地方,給他們做的菜:

下圖是去大連玩的時候做的海鮮:

下圖是上個周末做的干鍋大蝦排骨雙拼:

除了做菜我還學會了運營公眾號,【大數據前沿】是今年二月才開始做的,也是從零學起,寫文章、宣傳等等,在大家都說公眾號紅利期早已過去的2018年,我用4個月時間把公眾號粉絲從0人做到了上萬人,知乎【二胖】也有超過20k關注者了,這當然離不開大家的支持,感謝。這些知識對程序員來說是全新的,沒有人來教,只能靠自己通過搜索引擎來查詢資料,並在實踐中不斷探索,雖然很難,但也是實打實的成長。

04並不是什麼內容都需要記筆記

記筆記很重要,但不是什麼內容都需要記筆記。因為在學習的過程中,成體系的內容是最好學習的,最難掌握的就是那些零碎的東西。我認為筆記就用來記錄一些精華的內容即可,什麼是精華的內容,比如說方法論。

舉個例子,比如說你今天在學習的時候找到了適合自己的學習方法,深有體會,那麼可以把這個體會記錄下來。還有就是一些經驗性的內容,我們學會寫字和能寫出優美的文章是兩回事,那麼學寫字這個事情我們就不用記下來,交給字典就好,而寫出優美的文章就需要一些功底和學習體會了,這就需要記錄下來。

我在學習編程時記的筆記,就把經驗分為以下4類,這些內容都不是在文檔中能找到的,像一些黑技能,這種提升程序性能的體會真的只有在遇到過之後才能有體會,就一定要記下來。

那文檔又怎麼記錄呢?

文檔是成體系的東西,是有標籤的、符合思維邏輯方式的,我們可以直接用瀏覽器書籤去保存。

下圖就是我瀏覽器書籤欄中的一欄,我使用的是Chrome,它的好處就是可以通過google賬號多平台同步,在家在公司都能用,這樣比較有規劃有條理的工作學習,能提高不少效率。

細心的朋友可能看到了右上角的文件夾,菜譜,對,好吃的菜譜我也會收藏起來,下次點開即用。


如果你覺得本文對你有幫助,請直接讚賞支持,謝謝。

另外:如果你正在學編程,二胖推薦你看一下我另外一篇文章《這可能是我見過最好的編程指南》,截至目前此文在知乎有近8k的贊同數,上萬的收藏,在微信公眾號有6000閱讀量,我相信能對你有一點點幫助的。

二胖:這可能是我見過最好的編程指南了!?

zhuanlan.zhihu.com圖標二胖:用python挖一挖知乎上宅男們最喜歡的1000個妹子?

zhuanlan.zhihu.com圖標二胖:用 python 挖一挖成都房價?

zhuanlan.zhihu.com圖標

推薦閱讀:

IPO價格腰斬,大數據標杆Cloudera為何遇冷?| 愛分析調研
想搞大數據??你這樣是自尋死路!!
現階段我為什麼不看好純粹的數據交易?
電競究竟有多火?讓數據說話
『蘋果獲得全球智能手機行業91%利潤份額』今日數據行業日報

TAG:編程 | 計算機 | 大數據 |