自從我12歲的時(shí)候,發(fā)現(xiàn)Microsoft Word中的“另存為Web頁(yè)面”選項(xiàng)后,我就開始自學(xué)Web開發(fā)。我先學(xué)的是HTML,接著是CSS和JavaScript,然后是一些PHP和Rails的皮毛。 (近段時(shí)間,我投入了Meteor的懷抱。)
我也考慮過(guò)接受正式和系統(tǒng)的教育,但是,最后我發(fā)現(xiàn):
- 費(fèi)用太高。
- 我有課堂環(huán)境恐懼癥。
- 已經(jīng)學(xué)了不少,沒必要學(xué)重復(fù)的東西。
自學(xué)的過(guò)程實(shí)際上并不輕松。我不但需要學(xué)習(xí)如何編寫代碼,還得探索學(xué)習(xí)的方法——學(xué)習(xí)如何去學(xué)習(xí),這也是我今天要討論的主題。
下面是我自學(xué)Web開發(fā)的五個(gè)步驟。
1.選擇你感興趣的Web開發(fā)領(lǐng)域。
光靠看書和看視頻教程是成不了Web開發(fā)人員的。 Web開發(fā)是一個(gè)很大的領(lǐng)域,如果你想一下子掌握各個(gè)方面,只會(huì)讓你精疲力盡,失去信心,從而半途而廢。
在你掌握了這個(gè)知識(shí)領(lǐng)域之后,再去學(xué)習(xí)其他領(lǐng)域的就會(huì)簡(jiǎn)單得多——這是一個(gè)真理,你毋庸置疑。
不過(guò),在你掌握了HTML和CSS之后,想要學(xué)什么就看你的興趣了。也許你覺得Rails無(wú)所不在,很有用處,也許你認(rèn)為JavaScript框架有看漲的趨勢(shì)。就像我現(xiàn)在之所以學(xué)習(xí)Meteor,是因?yàn)槲蚁矚g它的實(shí)時(shí)功能。理由,其實(shí)無(wú)所謂??傊痪湓?,興趣是最好的老師,它也是保持學(xué)習(xí)積極性的唯一途徑。
當(dāng)然如果你感覺沒什么特別讓你感興趣的,那么不妨去學(xué)一些相對(duì)比較普及的技術(shù),如JavaScript和PHP。
2.請(qǐng)無(wú)視大多數(shù)資深Web開發(fā)人員的“指導(dǎo)”。
資深Web開發(fā)人員通常會(huì)提供一些善意的建議,但是對(duì)于初學(xué)者而言,卻是完全不切實(shí)際的。這是因?yàn)椋?
- 你是初學(xué)者,而他們不是。
- 他們默認(rèn)為你已經(jīng)掌握了足夠多的基礎(chǔ)知識(shí)。
- 重點(diǎn)放在了一些你可能永遠(yuǎn)不會(huì)遇到的方向上。 (例如,擴(kuò)展到數(shù)百萬(wàn)用戶時(shí)會(huì)出現(xiàn)什么樣的問題。)
就像這篇文章請(qǐng)不要對(duì)程序員初學(xué)者說(shuō)這些話中的觀點(diǎn),沒錯(cuò),這些經(jīng)驗(yàn)豐富的Web開發(fā)人員固然給出的是非常棒的建議,但是你也得問問自己:是不是真的實(shí)用,是不是真的適合你?
3.給自己制定一個(gè)明確又可實(shí)現(xiàn)的項(xiàng)目。
在學(xué)習(xí)了Web開發(fā)相關(guān)的基礎(chǔ)知識(shí)后,不妨試試離開書本和教程來(lái)嘗試自己創(chuàng)建一些東西。這么做的好處是:
- 獲取親手創(chuàng)建的快感。
- 發(fā)現(xiàn)知識(shí)的薄弱點(diǎn)。
- 學(xué)習(xí)如何真正解決問題。
你想要?jiǎng)?chuàng)建什么都可以,唯一要做到的是要確保項(xiàng)目越小越好。
此外,還應(yīng)該對(duì)項(xiàng)目目標(biāo)有一個(gè)定義,即,項(xiàng)目到了何種程度就算是done了。(并不需要十全十美,因?yàn)闆]有發(fā)布的需要。)
選擇的web開發(fā)領(lǐng)域不同,制定的項(xiàng)目也會(huì)不盡相同,不過(guò)下面這些項(xiàng)目可供參考:
- 待辦事項(xiàng)列表app。
- 私人博客工具。
- 運(yùn)動(dòng)鍛煉跟蹤工具。
基本上,只要項(xiàng)目的主要目的是跟蹤一些基本數(shù)據(jù),那對(duì)初學(xué)者而言就是測(cè)試知識(shí)的好方法。
4.投入特定的日常練習(xí)量。
很多初學(xué)者在學(xué)習(xí)Web開發(fā)時(shí),進(jìn)步大則干勁足,進(jìn)步慢則往往會(huì)選擇放棄。
這通常是因?yàn)槌鯇W(xué)者將“進(jìn)步”當(dāng)成了目標(biāo),依賴于進(jìn)步得到的滿足感來(lái)支持自己繼續(xù)學(xué)習(xí)。然而,進(jìn)步實(shí)際上是不可預(yù)測(cè)的。量變才能達(dá)到質(zhì)變,掌握基本知識(shí),不斷的學(xué)習(xí),哪怕是沒有顯著的進(jìn)步,其實(shí)你也已經(jīng)提升了自己。
我的建議是使用另一種方法:
每天投入一定量的學(xué)習(xí)和練習(xí)web開發(fā)的時(shí)間。至少二十分鐘,但是也沒有強(qiáng)制的限制或要求。你完全可以根據(jù)自己的需要合理地規(guī)劃每天的時(shí)間。
5.大量的練習(xí)材料。
練習(xí)得多了,自然就能掌握技能——相信很多人在學(xué)習(xí)Web開發(fā)初始就聽到過(guò)這樣的說(shuō)法和觀點(diǎn)。“如果你想成為開發(fā)人員的話,你必須寫大量的代碼,”但是,你不知道的是,這里指的代碼并不一定要是你自己寫出來(lái)的。
所以,你必須好好掌握這些練習(xí)材料,吃透它們——細(xì)細(xì)琢磨你借鑒的每一行代碼的目的——即使你是在“死記硬背”,你依然是在學(xué)習(xí)。
很多人不知道的是,語(yǔ)法并非是Web開發(fā)的難點(diǎn)。雖然它是初學(xué)者的絆腳石,但是以后,棘手的內(nèi)容會(huì)變成如何思考如何解決問題。特別具有諷刺意味的是,初學(xué)者想出的解決方案往往比專業(yè)人士的更為復(fù)雜。
基于這方面的原因,涉獵大量的練習(xí)材料的好處有:
- 你可以看到不同的開發(fā)人員如何解決不同的問題。
- 你可以看到不同的開發(fā)人員如何解決類似的問題。
這樣一來(lái),當(dāng)你以后做自己的項(xiàng)目時(shí),就可以:
- 確定實(shí)際問題的核心。
- 找到解決問題的關(guān)鍵。
你可能已經(jīng)想不起任何具體可借鑒的解決方案,但是這并不重要。大部分問題其實(shí)你已經(jīng)以某種形式解決過(guò)了,至于語(yǔ)法和細(xì)節(jié),那都不是個(gè)事兒。
結(jié)論
雖然我只是在大方向上分享了我的自學(xué)經(jīng)驗(yàn),但是,我多么希望當(dāng)初我自學(xué)的時(shí)候,能有人指點(diǎn)我行進(jìn)的方向。
如果你已經(jīng)開始了你的自學(xué)之旅,歡迎分享你的歷程,以及,Good luck!
哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無(wú)需額外費(fèi)用,即可穩(wěn)步提升排名至首頁(yè)。歡迎體驗(yàn)最佳的哈爾濱網(wǎng)站建設(shè)。
