博客專欄

EEPW首頁(yè) > 博客 > 再見(jiàn)了……自學(xué)編程

再見(jiàn)了……自學(xué)編程

發(fā)布人:編碼之外 時(shí)間:2021-07-17 來(lái)源:工程師 發(fā)布文章

本文原本是準(zhǔn)備只發(fā)在星球內(nèi)的,可是我覺(jué)得這篇文章對(duì)那些自學(xué)編程的朋友應(yīng)該很有幫助,于是就發(fā)出來(lái)給大家,也希望球友不要介懷,后面肯定會(huì)有更多星球?qū)賰?nèi)容!


大家存在的問(wèn)題

為什么說(shuō)自學(xué)編程很難?因?yàn)榫幊?,一直都是一件有門(mén)檻的事情,不然你以為為啥別人拿20K,你只能拿5K啊……


先看大家在自學(xué)編程中遇到的一些典型問(wèn)題:


1、學(xué)了就忘,知識(shí)記不住,學(xué)了等于白學(xué)

2、越學(xué)越感覺(jué)自己啥也不會(huì)

3、越學(xué)越覺(jué)得知識(shí)太多,而且雜亂

4、覺(jué)得自己付出很多,貌似沒(méi)啥收獲

5、一旦遇到問(wèn)題,無(wú)從下手

6、陷入深深焦慮

7、無(wú)限循環(huán)


以上都是大家在自學(xué)編程中會(huì)遇到的一些非常典型的共性問(wèn)題,為什么會(huì)這樣,除了上面說(shuō)的編程本身就是一件有門(mén)檻的事情之外,另外一個(gè)重要的原因就是,這個(gè)行業(yè)啊,本身就是一個(gè)知識(shí)密度大且問(wèn)題繁多,而且技術(shù)發(fā)展更新迭代非???,再加上現(xiàn)在卷的厲害,你稍不留神,你就落后了!


之所以出現(xiàn)上述種種無(wú)問(wèn)題,一句話就是“你沒(méi)有屬于自己的方法”

為什么我覺(jué)得方法很重要


我一直覺(jué)得自己是個(gè)普通人,所以一些共性問(wèn)題我基本都會(huì)遇到,我不覺(jué)得自己有什么過(guò)人的天賦可以讓我輕輕松松去解決工作學(xué)習(xí)和生活中遇到的某些問(wèn)題,就比如編程自學(xué)這塊,我也是遇到好多的問(wèn)題,其過(guò)程真的是無(wú)比痛苦,想必一定有感同身受之人!


那面對(duì)這個(gè)情況,我從很早就產(chǎn)生一個(gè)想法,在我學(xué)習(xí)當(dāng)中,我必須給自己找一個(gè)方向,定一個(gè)路線,而且是一個(gè)正確有效的路線,然后我可以按照這個(gè)方向,盡管去努力就好了,在我是個(gè)不怎么聰明且沒(méi)有天賦的情況下,我必須有一個(gè)可以踐行的準(zhǔn)則以及指導(dǎo)我前進(jìn)的方向,否則,我覺(jué)得我的人生會(huì)很亂,會(huì)浪費(fèi)很多時(shí)間也不會(huì)有些什么明顯的進(jìn)步!


這就是我在學(xué)習(xí)編程中一直很重視學(xué)習(xí)方法的原因,我覺(jué)得有了學(xué)習(xí)方法之后,學(xué)習(xí)會(huì)更加的明確,也會(huì)對(duì)未來(lái)更加的充滿希望,盡管我的學(xué)習(xí)方法可能并不是很正確或者存在不少的瑕疵,但是這些都不重要,只要有了,我覺(jué)得就有了方向,我就可以在這個(gè)方向上只管努力就行了,而且隨著自己的認(rèn)知不斷升級(jí),我的這個(gè)方法也會(huì)不斷的更新迭代,但是如果沒(méi)有這個(gè)方法作為根基,那我想,我的學(xué)習(xí)會(huì)是一團(tuán)糟,就好比那無(wú)頭蒼蠅一般……

人和神是不同的

你相信人和人是有智商差別的嗎?


慢慢的我相信了,而且有的人真的讓你感覺(jué)像神一樣,我們學(xué)習(xí)Java的都應(yīng)該認(rèn)識(shí)一個(gè)神級(jí)人物,就是這位:

大名鼎鼎的“Doug Lea”,就是他,寫(xiě)了Java中的并發(fā)包,你要是仔細(xì)了解他之后,你真的會(huì)發(fā)出一聲感嘆:

人和神是不同的

在編程學(xué)習(xí)這件事情上,有些人真的是特別的強(qiáng),你不服都不行,我就知道很多比我年齡還小的,人家就是架構(gòu)師,資深專家,被譽(yù)為天才少年什么的,不服?不行??!


在你還在為知識(shí)學(xué)不會(huì)發(fā)愁的時(shí)候,人家已經(jīng)是精通各種底層原理了,你怎么比,我曾經(jīng)咨詢過(guò)一位這樣的大佬:


“請(qǐng)問(wèn)你是如何解決知識(shí)遺忘的問(wèn)題呢?記筆記嗎?”


“不,我從不記筆記,忘了就再看看,用的多了就記住了,用的不多的記它干嘛”


說(shuō)的對(duì)嗎?我覺(jué)得很有道理,但是,我知道自己達(dá)不到這樣的層次,或者說(shuō)很難去這樣做,所以,我還是習(xí)慣去記筆記,把一些知識(shí)學(xué)習(xí)之后經(jīng)過(guò)自己的思考重新整理梳理,再用自己的話敘述出來(lái),記錄下來(lái),我覺(jué)得這對(duì)我非常有幫助,而且可以幫我解決知識(shí)遺忘的問(wèn)題!


在理解了人和人始終存在差別之后,我發(fā)現(xiàn),選擇適合自己的才是最重要的!

分享我的方法

那接下來(lái)我就重點(diǎn)介紹那么久以來(lái)我總結(jié)的學(xué)習(xí)方法,希望能幫助大家更好的自學(xué)編程!


方法有用嗎


有些人是不太相信有什么學(xué)習(xí)方法可言的,覺(jué)得只是唯手熟爾,而且認(rèn)為方法論的東西是一件很虛的東西,這個(gè)我不反對(duì),我一直覺(jué)得,任何一件事情,都會(huì)存在反對(duì)與支持,這個(gè)太正常了,我甚至覺(jué)得這是一件好事!


所以,接下來(lái)的分享可能更加適合那些對(duì)“方法”二字沒(méi)什么偏見(jiàn)或者抵觸的人!


首先,我也承認(rèn)這樣的一個(gè)事情,就是“方法”的確是一個(gè)很虛的東西,以至于有的時(shí)候我在看別人分享的方法之后覺(jué)得說(shuō)了跟沒(méi)說(shuō)一樣,或者根本不知道在說(shuō)什么,又或者方法有些道理,但是沒(méi)有指明該怎么做以至于這個(gè)方法只能是個(gè)很虛的概念!


所以我在整理“方法”的時(shí)候盡量避免自嗨以及盡量可執(zhí)行化,就是讓你明白一個(gè)理念之后你還能知道怎么去做!

先說(shuō)怎么做

以下是我整理總結(jié)的自學(xué)編程的步驟,無(wú)論你是學(xué)習(xí)Java還是python,你都可以按照下面的步驟去操作:

第一階段:攬全局

默認(rèn)你是完全零基礎(chǔ),新手小白,找本書(shū),或者一套視頻教程,或者一套Java自學(xué)手冊(cè),比如慶哥寫(xiě)的這個(gè),開(kāi)始學(xué)起來(lái),跟著學(xué)就對(duì)了,先學(xué)完一本書(shū),看完一套視頻教程再說(shuō),其他的都是在浪費(fèi)時(shí)間!同時(shí)學(xué)的時(shí)候一定要進(jìn)行教程式筆記記錄,否則你的學(xué)習(xí)將毫無(wú)用處,不懂教程式筆記的一定找慶哥請(qǐng)教,對(duì)你們太重要了!

第二階段:重實(shí)戰(zhàn)

我在初期自學(xué)Java的時(shí)候就陷入了這樣的問(wèn)題,就是只學(xué)理論,實(shí)戰(zhàn)幾乎沒(méi)有,導(dǎo)致學(xué)習(xí)效果很差,在進(jìn)行完第一階段之后,記得,直接懟項(xiàng)目,查漏補(bǔ)缺,發(fā)現(xiàn)知識(shí)盲點(diǎn),然后去攻克,這樣進(jìn)步才快!

第三階段:讀源碼

這一階段是專題深入式的學(xué)習(xí),就是把一些高頻重點(diǎn)知識(shí)點(diǎn)單獨(dú)拿出來(lái)進(jìn)行專題式攻克學(xué)習(xí),要做到的就是不僅知其然還要知其所以然!

第四階段:補(bǔ)內(nèi)功

這一階段就是學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)知識(shí)了,這個(gè)知識(shí)的重要性不需要多少,學(xué)就對(duì)了,萬(wàn)丈高樓平地起,勿在浮沙筑高臺(tái)!

第五階段:成面霸

相信我,面試這一關(guān)值得你花心思去學(xué)習(xí)!

好了以上就是學(xué)習(xí)Java的具體步驟了,當(dāng)然,限于篇幅,我只說(shuō)了精華,其中有不了解的,可以找慶哥詳細(xì)探討!


再次強(qiáng)調(diào)一下,以上說(shuō)的是總的學(xué)習(xí)步驟,但是我發(fā)現(xiàn)還是有很多人看了不知道怎么做,這里簡(jiǎn)單解釋一下,以上五個(gè)具體步驟是告訴你該學(xué)習(xí)哪些內(nèi)容,但是需要你自己去找學(xué)習(xí)資料的,比如第一階段攬全局,你得去買(mǎi)一本書(shū)或者找一套視頻教程來(lái)學(xué)習(xí),第二階段需要你自己去找相應(yīng)的實(shí)戰(zhàn)項(xiàng)目去學(xué)習(xí),懂了吧,告訴你怎么學(xué)習(xí)了,你得自己找資源去學(xué)習(xí)??!


現(xiàn)在這網(wǎng)絡(luò)時(shí)代,最不缺的就是學(xué)習(xí)資源了,千萬(wàn)不要想著別人什么都給你準(zhǔn)備好,除非你愿意付費(fèi)!

重點(diǎn)說(shuō)方法

那接下來(lái)我將重點(diǎn)解讀下我所踐行的學(xué)習(xí)方法,總結(jié)起來(lái)就一句話:

系統(tǒng)化學(xué)習(xí)和教程式筆記

看起來(lái)很簡(jiǎn)單,理念需要仔細(xì)理解,否則你是get不到真正的點(diǎn)的!


系統(tǒng)化學(xué)習(xí)


我相信現(xiàn)在你一定感覺(jué)到,我們?nèi)粘I钪械乃槠瘯r(shí)間越來(lái)越多了,我不知道你是怎么利用這些碎片化時(shí)間的,首先說(shuō)明一點(diǎn),我認(rèn)為,碎片化時(shí)間是不適合學(xué)習(xí)的!


為了讓大家有個(gè)更清晰的認(rèn)識(shí),我還是舉幾個(gè)碎片化時(shí)間的例子吧:


1、吃飯的時(shí)候,尤其在外面吃飯的時(shí)候

2、等車,坐車,排隊(duì)等

3、上廁所……

4、睡前

5、放空

6、……


OK,有這個(gè)場(chǎng)景概念了吧,那這些時(shí)間我認(rèn)為是不適合學(xué)習(xí)的,對(duì)于這些時(shí)間,我通常這樣利用:


1、刷抖音

2、看文章(技術(shù)文章一定看自己學(xué)過(guò)寫(xiě)過(guò)的,其他的不看)


咋樣,我的利用方式和你一樣嗎?有的人會(huì)說(shuō),這樣的時(shí)間,我一般會(huì)用來(lái)刷劇,其實(shí)我之前也會(huì)這樣,但是慢慢的我發(fā)現(xiàn)刷劇這件事情也是需要系統(tǒng)化時(shí)間來(lái)進(jìn)行的,否則,幸福感太低!


那說(shuō)了這么多,啥是系統(tǒng)化學(xué)習(xí)呢?其實(shí)對(duì)于系統(tǒng)化學(xué)習(xí)這個(gè)概念,網(wǎng)上也有不同解讀,可能我這個(gè)是最普通的了,要說(shuō)系統(tǒng)化學(xué)習(xí),需要先說(shuō)說(shuō)什么是系統(tǒng)化?


對(duì)比之前說(shuō)的碎片化時(shí)間,這里的系統(tǒng)化我指的是就是那些系統(tǒng)化的時(shí)間來(lái)說(shuō)的,所謂系統(tǒng)化的時(shí)間就是指的你有可自由利用的一整塊的時(shí)間,我通常將其限定為最低一小時(shí),也就是說(shuō)在這一小時(shí)里你可以想干什么就干什么,你是可以完全自由支配,不會(huì)有人來(lái)打斷,可以持續(xù)利用完這一小時(shí)。


那以上是針對(duì)時(shí)間而言的系統(tǒng)化,那系統(tǒng)化的學(xué)習(xí)是怎樣的呢?這個(gè)要拿碎片化的學(xué)習(xí)來(lái)對(duì)比,什么是碎片化的學(xué)習(xí)呢?比如,突然看到一篇講解CopyOnWriteArrayList,然后你就去看看,然后過(guò)了一會(huì)又看到講解IOC的文章,好在去看看,過(guò)了一個(gè)小時(shí)又在B站看jvm內(nèi)存模型,晚上的時(shí)候又在學(xué)習(xí)分布式鎖,我把這樣的學(xué)習(xí)稱為碎片化的學(xué)習(xí)!


看似這一天你又是學(xué)習(xí)多線程,又是學(xué)習(xí)虛擬機(jī),還有框架什么的,但是在我看來(lái),沒(méi)什么用,除了自我滿足以外,你的學(xué)習(xí)并沒(méi)有什么效果!這種碎片化學(xué)習(xí)是我不提倡的!


而且,如果上述碎片化學(xué)習(xí)過(guò)程中你沒(méi)有任何產(chǎn)出,我覺(jué)得就是存粹在消磨時(shí)間而已!


??想一下,為什么你會(huì)覺(jué)得知識(shí)學(xué)不完,知識(shí)多,學(xué)了就忘,學(xué)了很多感覺(jué)還是不怎么會(huì)?get到了嗎?


怎么辦?你需要的是系統(tǒng)化學(xué)習(xí)!


上面解釋了什么是系統(tǒng)化時(shí)間,而這個(gè)系統(tǒng)化的學(xué)習(xí)指得就是在系統(tǒng)化時(shí)間內(nèi)去集中學(xué)習(xí)一個(gè)專題知識(shí),直到你將其80%的常見(jiàn)知識(shí)點(diǎn)都學(xué)完!


舉例來(lái)說(shuō),就是在你可自由支配的這一個(gè)小時(shí)的系統(tǒng)化時(shí)間內(nèi)集中去學(xué)習(xí)多線程的知識(shí),當(dāng)然,可能這一個(gè)小時(shí)你并不會(huì)學(xué)完多線程,你也不可能學(xué)完,但是你要記住,你的下一個(gè)系統(tǒng)化時(shí)間一定還是學(xué)習(xí)這個(gè)多線程!


另外,知識(shí)都是可以深入挖掘的, 很多都不是你一時(shí)間內(nèi)可以完全掌握的,所以不要想著把所有的都全部弄懂學(xué)會(huì),不可能也不現(xiàn)實(shí),只需要掌握80%即可,就是常見(jiàn)的你得學(xué)會(huì),怎么把握這個(gè)常見(jiàn),看看面試題會(huì)問(wèn)哪些,面試題上出現(xiàn)的你得搞懂!


總的來(lái)說(shuō),什么是系統(tǒng)化學(xué)習(xí)?主要就是“系統(tǒng)化”二字,就是盡量整體,而不是被分散,時(shí)間要盡可能是一整塊大時(shí)間,學(xué)習(xí)要是集中學(xué)習(xí)某一塊知識(shí),整體,整體,整體,get到了嗎?


教程式筆記

脫離了“教程式筆記”的“系統(tǒng)化學(xué)習(xí)”啥也不是!


我這里介紹的系統(tǒng)化學(xué)習(xí)和教程式筆記必須是相輔相成的,少了誰(shuí)都不行,這是一個(gè)完整的學(xué)習(xí)方法,那什么是“教程式筆記”?


說(shuō)到底還是筆記,但是絕不是最低級(jí)的那種筆記,什么是最低級(jí)的筆記:

從書(shū)中摘抄或者視頻中截屏然后粘貼到文檔保存

我把這種筆記稱作最低級(jí)的筆記,我發(fā)現(xiàn)有大量的人是這樣記筆記的,不能說(shuō)沒(méi)用,只能說(shuō)作用微乎其微,其實(shí)最好的一種筆記方式就是寫(xiě)博客,這里面有個(gè)很重要的點(diǎn)就是,博客一定是這樣的:


1、對(duì)應(yīng)的知識(shí)自己學(xué)過(guò)一遍

2、有自己的理解和思考

3、相關(guān)代碼示例自己實(shí)操過(guò)

4、用自己的話敘述整理

5、寫(xiě)出文章,不僅自己能看,別人也可以看


這才是一篇好的筆記,也是一篇合格的博客,那我這里的教程式筆記就是這樣的很多個(gè)博客組成的教程,還記得之前說(shuō)的系統(tǒng)化學(xué)習(xí)吧,在你進(jìn)行系統(tǒng)化學(xué)習(xí)的時(shí)候,針對(duì)每一個(gè)知識(shí)點(diǎn)都要寫(xiě)一篇這樣的博客,然后整理在一起,分本別類,形成非常系統(tǒng)化完整的一份筆記教程,就比如我學(xué)習(xí)Java寫(xiě)的這份30萬(wàn)字的教程式筆記:(后臺(tái)回復(fù)“手冊(cè)”獲?。?/span>

還不懂什么是教程式筆記的就可以參考我這個(gè)來(lái),你就看我這個(gè)筆記,是不是不僅僅是筆記啦,馬上可以稱為一本書(shū)了,非常的完整系統(tǒng)!


所以,系統(tǒng)化學(xué)習(xí)和教程式筆記是相輔相成的,必須在一起才能發(fā)揮作用!


小技巧

在你進(jìn)行了系統(tǒng)化學(xué)習(xí)和教程式筆記之后,你就可以更好的去利用碎片化時(shí)間了,怎么辦,就是我之前說(shuō)的看文章,而且是看那些你系統(tǒng)化學(xué)習(xí)過(guò)的知識(shí)點(diǎn),為啥,一句話說(shuō)明白“溫故而知新,可以為師矣”,咋樣,get到了吧?


好啦,到了這里,本文的分享就結(jié)束啦,以上就是我這四年以來(lái)自學(xué)編程所有經(jīng)驗(yàn)的精華總結(jié)了,不知道你讀懂了多少,but,如果你覺(jué)得本文還不錯(cuò)的話,麻煩點(diǎn)個(gè)贊吧,原創(chuàng)不易,需要鼓勵(lì),在此謝過(guò)!


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: 自學(xué)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉