12歲開始自學Web開發的5個經驗
自從我12歲的時候,發現Microsoft Word中的“另存為Web頁面”選項後,我就開始自學Web開發。我先學的是HTML,接著是CSS和JavaScript,然後是一些PHP和Rails的皮毛。 (近段時間,我投入了Meteor的懷抱。)
我也考慮過接受正式和系統的教育,但是,最後我發現:
費用太高。
我有課堂環境恐懼症。
已經學了不少,沒必要學重複的東西。
自學的過程實際上並不輕鬆。我不但需要學習如何編寫程式碼,還得探索學習的方法——學習如何去學習,這也是我今天要討論的主題。
下面是我自學Web開發的五個步驟。
1. 選擇你感興趣的Web開發領域。
光靠看書和看影片教程是成不了Web開發人員的 Web開發是一個很大的領域如果你想一下子掌握各個方只會讓你精疲力盡失去信心從而半途而廢。
在你掌握了這個知識領域之後,再去學習其他領域的就會簡單得多——這是一個真理,你毋庸置疑。
不過,在你掌握了HTML和CSS之後,想要學什麼就看你的興趣了。也許你覺得Rails無所不在,很有用處,也許你認為JavaScript框架有看漲的趨勢。就像我現在之所以學習Meteor,是因為我喜歡它的實時功能。理由,其實無所謂。總之一句話,興趣是最好的老師,它也是保持學習積極性的唯一途徑。
當然如果你感覺沒什麼特別讓你感興趣的,那麼不妨去學一些相對比較普及的技術,如JavaScript和PHP。
2. 請無視大多數資深Web開發人員的“指導”。
資深Web開發人員通常會提供一些善意的建議,但是對於初學者而言,卻是完全不切實際的。這是因為:
你是初學者,而他們不是。
他們預設為你已經掌握了足夠多的基礎知識。
重點放在了一些你可能永遠不會遇到的方向上。 (例如,擴充套件到數百萬使用者時會出現什麼樣的問題。)
這些經驗豐富的Web開發人員固然給出的是非常棒的建議,但是你也得問問自己:是不是真的實用,是不是真的適合你?
3. 給自己制定一個明確又可實現的專案。
在學習了Web開發相關的基礎知識後,不妨試試離開書本和教程來嘗試自己建立一些東西。這麼做的好處是:
獲取親手建立的快感。
發現知識的薄弱點。
學習如何真正解決問題。
你想要建立什麼都可以,唯一要做到的是要確保專案越小越好。
此外,還應該對專案目標有一個定義,即,專案到了何種程度就算是done了。(並不需要十全十美,因為沒有釋出的需要。)
選擇的web開發領域不同,制定的專案也會不盡相同,不過下面這些專案可供參考:
待辦事項列表app。
私人部落格工具。
運動鍛鍊跟蹤工具。
基本上,只要專案的主要目的是跟蹤一些基本資料,那對初學者而言就是測試知識的好方法。
4. 投入特定的日常練習量。
很多初學者在學習Web開發時,進步大則幹勁足,進步慢則往往會選擇放棄。
這通常是因為初學者將“進步”當成了目標,依賴於進步得到的滿足感來支援自己繼續學習。然而,進步實際上是不可預測的。量變才能達到質變,掌握基本知識,不斷的學習,哪怕是沒有顯著的進步,其實你也已經提升了自己。
我的建議是使用另一種方法:
每天投入一定量的學習和練習web開發的時間。至少二十分鐘,但是也沒有強制的限制或要求。你完全可以根據自己的需要合理地規劃每天的時間。
5. 大量的練習材料。
練習得多了,自然就能掌握技能——相信很多人在學習Web開發初始就聽到過這樣的說法和觀點。“如果你想成為開發人員的話,你必須寫大量的程式碼,”但是,你不知道的是,這裡指的程式碼並不一定要是你自己寫出來的。
所以,你必須好好掌握這些練習材料,吃透它們——細細琢磨你借鑑的每一行程式碼的目的——即使你是在“死記硬背”,你依然是在學習。
很多人不知道的是,語法並非是Web開發的難點。雖然它是初學者的絆腳石,但是以後,棘手的內容會變成如何思考如何解決問題。特別具有諷刺意味的是,初學者想出的解決方案往往比專業人士的更為複雜。
基於這方面的原因,涉獵大量的練習材料的好處有:
你可以看到不同的開發人員如何解決不同的問題。
你可以看到不同的開發人員如何解決類似的問題。
這樣一來,當你以後做自己的專案時,就可以:
確定實際問題的核心。
找到解決問題的關鍵。
你可能已經想不起任何具體可借鑑的解決方案,但是這並不重要。大部分問題其實你已經以某種形式解決過了,至於語法和細節,那都不是個事兒。
結論
雖然我只是在大方向上分享了我的自學經驗,但是,我多麼希望當初我自學的時候,能有人指點我行進的方向。
如果你已經開始了你的自學之旅,歡迎分享你的歷程,以及,Good luck!
我也考慮過接受正式和系統的教育,但是,最後我發現:
費用太高。
我有課堂環境恐懼症。
已經學了不少,沒必要學重複的東西。
自學的過程實際上並不輕鬆。我不但需要學習如何編寫程式碼,還得探索學習的方法——學習如何去學習,這也是我今天要討論的主題。
下面是我自學Web開發的五個步驟。
1. 選擇你感興趣的Web開發領域。
光靠看書和看影片教程是成不了Web開發人員的 Web開發是一個很大的領域如果你想一下子掌握各個方只會讓你精疲力盡失去信心從而半途而廢。
在你掌握了這個知識領域之後,再去學習其他領域的就會簡單得多——這是一個真理,你毋庸置疑。
不過,在你掌握了HTML和CSS之後,想要學什麼就看你的興趣了。也許你覺得Rails無所不在,很有用處,也許你認為JavaScript框架有看漲的趨勢。就像我現在之所以學習Meteor,是因為我喜歡它的實時功能。理由,其實無所謂。總之一句話,興趣是最好的老師,它也是保持學習積極性的唯一途徑。
當然如果你感覺沒什麼特別讓你感興趣的,那麼不妨去學一些相對比較普及的技術,如JavaScript和PHP。
2. 請無視大多數資深Web開發人員的“指導”。
資深Web開發人員通常會提供一些善意的建議,但是對於初學者而言,卻是完全不切實際的。這是因為:
你是初學者,而他們不是。
他們預設為你已經掌握了足夠多的基礎知識。
重點放在了一些你可能永遠不會遇到的方向上。 (例如,擴充套件到數百萬使用者時會出現什麼樣的問題。)
這些經驗豐富的Web開發人員固然給出的是非常棒的建議,但是你也得問問自己:是不是真的實用,是不是真的適合你?
3. 給自己制定一個明確又可實現的專案。
在學習了Web開發相關的基礎知識後,不妨試試離開書本和教程來嘗試自己建立一些東西。這麼做的好處是:
獲取親手建立的快感。
發現知識的薄弱點。
學習如何真正解決問題。
你想要建立什麼都可以,唯一要做到的是要確保專案越小越好。
此外,還應該對專案目標有一個定義,即,專案到了何種程度就算是done了。(並不需要十全十美,因為沒有釋出的需要。)
選擇的web開發領域不同,制定的專案也會不盡相同,不過下面這些專案可供參考:
待辦事項列表app。
私人部落格工具。
運動鍛鍊跟蹤工具。
基本上,只要專案的主要目的是跟蹤一些基本資料,那對初學者而言就是測試知識的好方法。
4. 投入特定的日常練習量。
很多初學者在學習Web開發時,進步大則幹勁足,進步慢則往往會選擇放棄。
這通常是因為初學者將“進步”當成了目標,依賴於進步得到的滿足感來支援自己繼續學習。然而,進步實際上是不可預測的。量變才能達到質變,掌握基本知識,不斷的學習,哪怕是沒有顯著的進步,其實你也已經提升了自己。
我的建議是使用另一種方法:
每天投入一定量的學習和練習web開發的時間。至少二十分鐘,但是也沒有強制的限制或要求。你完全可以根據自己的需要合理地規劃每天的時間。
5. 大量的練習材料。
練習得多了,自然就能掌握技能——相信很多人在學習Web開發初始就聽到過這樣的說法和觀點。“如果你想成為開發人員的話,你必須寫大量的程式碼,”但是,你不知道的是,這裡指的程式碼並不一定要是你自己寫出來的。
所以,你必須好好掌握這些練習材料,吃透它們——細細琢磨你借鑑的每一行程式碼的目的——即使你是在“死記硬背”,你依然是在學習。
很多人不知道的是,語法並非是Web開發的難點。雖然它是初學者的絆腳石,但是以後,棘手的內容會變成如何思考如何解決問題。特別具有諷刺意味的是,初學者想出的解決方案往往比專業人士的更為複雜。
基於這方面的原因,涉獵大量的練習材料的好處有:
你可以看到不同的開發人員如何解決不同的問題。
你可以看到不同的開發人員如何解決類似的問題。
這樣一來,當你以後做自己的專案時,就可以:
確定實際問題的核心。
找到解決問題的關鍵。
你可能已經想不起任何具體可借鑑的解決方案,但是這並不重要。大部分問題其實你已經以某種形式解決過了,至於語法和細節,那都不是個事兒。
結論
雖然我只是在大方向上分享了我的自學經驗,但是,我多麼希望當初我自學的時候,能有人指點我行進的方向。
如果你已經開始了你的自學之旅,歡迎分享你的歷程,以及,Good luck!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30025151/viewspace-1461402/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自學 iOS 開發的一些經驗iOS
- 一個「學渣」從零開始的Web前端自學之路Web前端
- 從零開始,開發一個 Web Office 套件(5):Mouse hover over textWeb套件
- kotlin開發經驗談5Kotlin
- 開發響應式web頁面的經驗Web
- 從零開始,開發一個 Web Office 套件(12):刪除文字 & 回車換行Web套件
- 敏捷開發的6個實戰經驗敏捷
- 12個超棒的Web開發工作站Web
- Python Web開發:從 wsgi 開始PythonWeb
- Web開發從學些JavaScript開始WebJavaScript
- 從零開始, 開發一個 Web Office 套件 (3): 滑鼠事件Web套件事件
- WEB開發經典文章-開發秘方Web
- Serverless 應用開發的 7 個經驗心得Server
- Lotus Notes開發中的14個經驗
- 提升Android開發效率的5個經驗總結【同行說技術】Android
- Google+開發團隊分享的5個提升網頁生成速度的經驗Go網頁
- 開始使用 Python 開發 Web 應用PythonWeb
- 產品專案的九個敏捷開發經驗敏捷
- Web 開發人員必備的經典 HTML5 教程WebHTML
- PHP開發提升經驗PHP
- 開發踩坑經驗
- JGraph開發經驗談
- 從零開始,開發一個 Web Office 套件(6):游標 & Click 事件Web套件事件
- 敏捷開發的實戰經驗敏捷
- Excel 匯入的開發經驗Excel
- dotnet core開發體驗之開始MVCMVC
- 從零開始開發一個 WebpackWeb
- 從零開始, 開發一個 Web Office 套件(4):新的問題—— z-indexWeb套件Index
- 從零開始, 開發一個 Web Office 套件 (2): 富文字編輯器Web套件
- 從零開始, 開發一個 Web Office 套件 (1): 富文字編輯器Web套件
- Google瞄準12歲以下兒童開發產品Go
- 研發實力+方案經驗 聯想智慧城市從3.0時代開始
- 12個必不可少的Web開發速查表(Cheat Sheets)Web
- iOS開發經驗總結iOS
- PHP開發經驗總結PHP
- 後臺開發面試經驗面試
- PagerDuty的API開發經驗分享 – IncrementAPIREM
- 開始使用Web WorkersWeb