一本大道东京热无码av_国内精品久久精品_最新精品国产偷自在线_亚洲无码人妖视频在线播放

藍(lán)鷗旗下品牌:鷗課學(xué)院
全國(guó)咨詢電話:13152008057
您的位置: 首頁(yè) > 最新資訊 > “非科班出身”、“零基礎(chǔ)”也能學(xué)好編程么?

“非科班出身”、“零基礎(chǔ)”也能學(xué)好編程么?

2018-10-26 藍(lán)鷗
4118人 瀏覽:

  01、從循規(guī)蹈矩到自尋出路

  幾年前,當(dāng)我決心從零開始學(xué)編程的時(shí)候,我制定了一個(gè)「每天編程1小時(shí)」的計(jì)劃。

  和大多數(shù)人一樣,我想系統(tǒng)的、有體系的去學(xué)習(xí),跟著教程從基礎(chǔ)學(xué)起。那時(shí)候還在印象筆記建了一個(gè)筆記本叫《每天編程1小時(shí)》,收集一些好的教程,根據(jù)知識(shí)點(diǎn)試著去列一套成體系的學(xué)習(xí)路徑。

  但是開始跟著教程學(xué)的時(shí)候,問(wèn)題來(lái)了??戳藥渍轮螅蝗痪蜁?huì)出現(xiàn)看不懂的概念,知識(shí)就斷層了,就跟上數(shù)學(xué)課撿了根筆之后發(fā)現(xiàn)后面的就聽不懂了,但我也沒(méi)錯(cuò)過(guò)什么啊。我又試著跟著示例代碼敲,敲完也不知道這段代碼是怎么運(yùn)作的,自己只要一拓展就會(huì)出錯(cuò),后來(lái)敲煩了就直接復(fù)制粘貼,感覺(jué)學(xué)的特別迷茫。

  實(shí)在學(xué)不下去的時(shí)候,就換一本教程,基本都是從第一章開始覺(jué)得會(huì)了,但實(shí)際上又不知道學(xué)的這個(gè)要怎么去使,這種感覺(jué)就一直在我的腦子里嗡嗡的轉(zhuǎn)。到后來(lái)那一個(gè)概念我都看了六遍了,誰(shuí)講都那樣,但還是不會(huì)使。

  這時(shí)候開始對(duì)系統(tǒng)學(xué)習(xí)的方法有點(diǎn)懷疑了,大家都說(shuō)要從底層學(xué)起、看大量書單,但會(huì)不會(huì)這種系統(tǒng)學(xué)習(xí)的方式不適合我這個(gè)非科班出身的新手?

  畢竟,我已經(jīng)沒(méi)有4年時(shí)間來(lái)學(xué)編程了啊,我每天只有1小時(shí)能用來(lái)學(xué)習(xí),再這樣繼續(xù)看各種瑣碎的語(yǔ)法細(xì)節(jié),我就要失去耐心了。

  我想,不如先寫點(diǎn)小項(xiàng)目練練手。于是我開始從一些簡(jiǎn)單的程序?qū)懫?,寫一個(gè)匯率轉(zhuǎn)換的公式、寫一個(gè)隨機(jī)生成姓名的小腳本、寫一個(gè)把桌面文件自動(dòng)歸類的小腳本、寫一個(gè)煎蛋的小爬蟲。

  所以,開始動(dòng)手寫練手項(xiàng)目,是我學(xué)習(xí)編程的一個(gè)重大轉(zhuǎn)折點(diǎn),讓我開始把編程用起來(lái)了。

  02、從報(bào)錯(cuò)恐懼癥到巧解難題

  邁過(guò)第一個(gè)坎之后,我開始嘗試一些更大的項(xiàng)目,試著用 Django 框架搭建一個(gè)網(wǎng)站,結(jié)果很受挫。敲了代碼之后,不光沒(méi)運(yùn)行,結(jié)果還特么報(bào)錯(cuò),這么來(lái)回幾次之后,真的有種想要砸電腦的感覺(jué)。

  有一次一個(gè)報(bào)錯(cuò)卡了好幾天都沒(méi)解決,我覺(jué)得這樣下去不行了,于是找了一個(gè)國(guó)外的 Code Mentor 去有償請(qǐng)教他,我們 Skype 討論了一個(gè)小時(shí),最后雖然解決了,但那是用他的思路去實(shí)現(xiàn)的,而我期望的是沿著我的思路去解決這個(gè)問(wèn)題。

  經(jīng)歷過(guò)這次求助之后,我發(fā)現(xiàn),如果我不能清楚準(zhǔn)確的描述問(wèn)題,我就沒(méi)辦法解決這個(gè)問(wèn)題。而問(wèn)題一旦被清楚準(zhǔn)確的描述了,也就變得很容易解決了。

  探索了一段時(shí)間之后,我甚至形成了一個(gè)自己的解決問(wèn)題方法論:

  ▍第一步:提出假設(shè)

  假設(shè)階段是最重要的,如果你對(duì)一個(gè)事情沒(méi)有假設(shè),說(shuō)明你沒(méi)有思考。有時(shí)候之所以會(huì)痛苦,就是因?yàn)榘l(fā)現(xiàn)事實(shí)和你認(rèn)為最正確的假設(shè)是不一樣的。

  在假設(shè)階段,我會(huì)從我的角度對(duì)這個(gè)問(wèn)題做幾個(gè)推斷。報(bào)了一個(gè)錯(cuò)之后,我腦子里會(huì)有若干個(gè)假設(shè),是環(huán)境錯(cuò)誤導(dǎo)致的,還是語(yǔ)法錯(cuò)誤導(dǎo)致的,還是網(wǎng)站的什么問(wèn)題導(dǎo)致的?

  ▍第二步:搜索與修正

  在這個(gè)階段,我把所有假設(shè)轉(zhuǎn)換成不同的形式進(jìn)行搜索。拆分假設(shè),重組語(yǔ)言,領(lǐng)域分類,轉(zhuǎn)換形態(tài)…用這些方法挨著個(gè)搜索一圈,會(huì)排除掉一些東西,但如果還是不行,我會(huì)往回退一步,搜一下我做的這個(gè)事情有沒(méi)有人在做,或者找一個(gè)相關(guān)視頻跟著敲。這樣下來(lái),幾乎沒(méi)有什么問(wèn)題是解決不了的。

  通過(guò)這樣大量信息的檢索與對(duì)比之后,往往我會(huì)認(rèn)識(shí)到自己思路上的一些根本性錯(cuò)誤,有一些假設(shè)是不成立的。

  在初學(xué)時(shí)會(huì)犯很多這種假設(shè)上的錯(cuò)誤,我通過(guò)幾輪會(huì)修正自己的常識(shí),等到穩(wěn)固了之后,再在常識(shí)上進(jìn)行一些創(chuàng)新。

  ▍第三步:回歸問(wèn)題

  在經(jīng)歷了前兩個(gè)階段之后這時(shí)候問(wèn)題本身就已經(jīng)變得清晰了很多,這時(shí)候只需要做的就是,將你認(rèn)為最有信心的解決方案大膽的實(shí)踐。如果成功那么問(wèn)題就迎刃而解,如果不幸失敗,那就洗把臉振作一下,重新回到第一步。

  在反復(fù)經(jīng)歷這些階段之后,我發(fā)現(xiàn)在解決新問(wèn)題的時(shí)候,可以進(jìn)行一個(gè)準(zhǔn)確的假設(shè)了,因?yàn)槲乙呀?jīng)積累了足夠多的編程常識(shí)。后來(lái)讀到《解決問(wèn)題心理學(xué)》這本書,發(fā)現(xiàn)里面提出的方法和我自己總結(jié)的還挺像的,有一種欣慰的感覺(jué),知道了自己解決問(wèn)題的方法是經(jīng)過(guò)科學(xué)理論驗(yàn)證的。

  03、成長(zhǎng)的唯一辦法就是寫更多代碼

  雖然能做的事情比以前多了,但有些時(shí)候總會(huì)有一種不安、甚至是自卑感。就像是拼好了幾大塊拼圖,卻沒(méi)有把這些都連起來(lái)拼成一個(gè)完整的知識(shí)網(wǎng)絡(luò)。于是就想,是不是還是應(yīng)該系統(tǒng)學(xué)習(xí)、從底層老老實(shí)實(shí)的學(xué)起?

  于是報(bào)名了一個(gè)美國(guó)的線下培訓(xùn)班,沒(méi)想到最后簽證沒(méi)過(guò),后來(lái)才知道應(yīng)該選旅游簽證,而不是商務(wù)簽證。

  參加培訓(xùn)受阻之后,我打算自己構(gòu)建一個(gè)知識(shí)體系,拆分了幾百個(gè)知識(shí)點(diǎn)、構(gòu)建了一條全面系統(tǒng)的學(xué)習(xí)路徑。但這些知識(shí)點(diǎn)都列出來(lái)之后,我又有了一種迷茫的感覺(jué),面對(duì)著這么浩大的任務(wù)不知道該怎么進(jìn)行下去。那段時(shí)間感覺(jué)很無(wú)助、失去了方向,每天胡亂找些視頻來(lái)看。

  無(wú)意中看到了 GNU 大神、Emacs 的作者 Richard Stallman 的一個(gè)演講視頻,他鼓勵(lì)大家從做中去學(xué),他說(shuō),

  Programming is not a science. Programming is a craft. 編程不是一門科學(xué),編程是一門手藝。

  聽到這句話之后我大受觸動(dòng),我覺(jué)得這種級(jí)別的大神都這么確鑿的認(rèn)為,除了動(dòng)手做沒(méi)其他辦法學(xué)編程,那我已經(jīng)沒(méi)啥好辯駁的了。

  于是我又回到了最初的項(xiàng)目驅(qū)動(dòng)的學(xué)習(xí)方式,任由自己去折騰一些感興趣的項(xiàng)目,寫點(diǎn)自己工作用得上的插件,嘗試用最近流行的庫(kù)做點(diǎn)東西。

  有一次試用 micro-django 那個(gè)庫(kù),怎么弄都運(yùn)行不成功,我就急了,就去看看他的源碼是怎么調(diào)用 Django 那個(gè)接口的,發(fā)現(xiàn)丫還有一組參數(shù)沒(méi)傳進(jìn)去,我改了下他的源碼,然后就成功了。這是我第一次看源碼,實(shí)際上他的源碼也就200多行,讀起來(lái)挺輕松的,我能理解他的思路,也能找到問(wèn)題所在,還挺有成就感的。

  從那時(shí)候起,我就有了看源碼的習(xí)慣。在閱讀別人代碼的過(guò)程中,我看到了更多的可能性。書里或者教程里教的知識(shí),我并不清楚怎么在實(shí)際項(xiàng)目中運(yùn)用。但在源碼中能看到不同人以不同形式去解決同一個(gè)問(wèn)題,有的簡(jiǎn)單有的復(fù)雜、有的長(zhǎng)有的短,這讓我大開眼界。

  我覺(jué)得對(duì)于技術(shù)上的學(xué)習(xí)讓我知道了技術(shù)的可能性并抱有警惕之心,在最關(guān)鍵的時(shí)刻派上用場(chǎng)。尤其是創(chuàng)業(yè)的時(shí)候,更需要在無(wú)路可走的情況下,找到解決方案。

  剛開始學(xué)編程的時(shí)候,以為看完大佬給開的書單就是技術(shù)圈的人生贏家了。但后來(lái)發(fā)現(xiàn),選擇了學(xué)習(xí)編程,就是選擇了持續(xù)自學(xué)。隔段時(shí)間就會(huì)出現(xiàn)一些新技術(shù)、新框架刷新我的眼界。

  最后,對(duì)于自學(xué)能力相對(duì)差的同學(xué)來(lái)說(shuō),如果覺(jué)得自個(gè)兒學(xué)習(xí)累,想找些引路人,報(bào)名IT培訓(xùn)班也是一個(gè)不錯(cuò)的選擇。


  1. 廣告1
  2. 廣告2
  3. 廣告3
  4. 廣告4