【51CTO獨家特稿】
h1. 做業分析
做業是課程的一部分,實際上,仍是這個課程最重要的部分。
如我在前面課程中提到的同樣:
不少初學者,或者說,編程的僞愛好者,他們,會熱衷於去四處請教大師,下載各類經典書籍,企圖讀一本編程聖經,而後一晚上脫胎換骨。
這是,不可能的。
一樣的,若是僅僅是看了這個課程,而不作做業,那麼在看課程先後,我的的能力是不可能有變化的。
充其量,跟看了一部或許好玩的小說差很少。
做業並非考試,而是課程的延伸,是沒有可能參照着課程的內容,而後對做業作出回答。
每節課,僅僅只是指出一個方向,而後須要大量時間的去朝這個方向作學習、探索,而後以做業的形式作出對這個方向的回答。
這纔是學習。
花幾分鐘看幾眼課程,而後就期待本身技術能力有變化?可以有改變,從不會作做業變成會作做業?
別開玩笑了,若是可以這樣,那麼程序開發會是一門很是沒有技術含量,很是沒有含金量的行業。
只有用心好好完成了做業以後,纔有可能得到知識。
這個課程的做業,也徹底不是:
小明有5個蘋果,他吃了一個。而後給小寒了一個,求太陽到地球的距離。
這樣無厘頭的題目。
每節課的做業,都是跟課程有直接關係的。
h2. 第一課
1. 用500字講述什麼是Programming Methodology?
2. 列舉10種Data Structure.
3. 列舉10種Algorithm.
這課的做業其實是在問,你對「編程本質」的內容掌握了多少,若是不夠熟悉,瞭解得不夠多,要趕快去學習。
h2. 第二課
1. 列舉10個Python Web框架
2. Python有多少種不一樣的解釋器?
3. Perl 跟 Python 有什麼不一樣?
這課的做業,一樣是在問具體到Python這個語言平臺,在實際開發中可供挑選的現成工具備哪些?問的是對自身工做所使用的平臺熟悉程度。這課的做業,也徹底能夠根據使用的語言不一樣,而改爲別的技術題目。
這課講的是實際中對工具掌控的熟悉程度這個方向,若是熟悉,那麼這三個問題是很容易回答的,若是不熟悉,而爲了作做業去打開Google,搜「python web框架」,而後填名字。那麼就徹底木有作做業的意義。
h2. 第三課
1. 找出一篇看上去很厲害的文章。
2. 找一本書,開始看,做爲期中考書目。
這課講的是閱讀的重要性,兩項做業,一個要求閱讀的廣度,一個是要求閱讀的深度。
做業是要作的。OK,這課講了閱讀的重要,明白了,而後就洗洗睡了?自身的閱讀的東西,不管是廣度仍是深度,都跟之前同樣,那學這課程有個毛用?
宣稱喜歡這個課程,而且表示關注、期待的同窗,請問,你選擇的期中考書目,已經翻了幾頁?
若是一頁尚未翻;那麼請好好問一下你本身,你到底是不是要學習提升改變本身的?
h2. 第四課
1. 林仕鼎是百度首席架構師嗎?
2. 看完曹政全部的blog。
這一課其實仍是在講閱讀的重要性,以及對事物的好奇心。
若是,你對技術有熱情,有追求,課程中竟然出現了「百度首席架構師」這樣的字眼,你必然會對他有無限的好奇,會去刨根問底的瞭解他。
那麼,是很容易就發現林仕鼎根本就不是百度首席架構師,相反,caoz曾經更符合這個身份。
我列舉了兩個hacker風格的IT人物,一個是caoz,一個是雲風。
做業有一項是看完caoz的全部blog,他的blog很好看的。若是你真的看完了,那麼,請問你是否有完成這課實際上還有另外一個隱藏的「做業」,「看完雲風的全部blog」?
若是沒有,那是什麼阻止了你?一個很是優秀的技術博客知識就放在你眼前,你,爲何不去看?
OK,沒有時間,很忙,這些我很瞭解。
我只問一個:是否有過要把雲風的blog也看完的念頭?
若是連這基本的好奇心、求知慾都木有的話,那仍是洗洗睡吧。
h2. 第五課
1. NoSQL的方案,如MongoDB還解決了SQL的什麼問題?
2. NoSQL的應用場景有啥米?
這課是講數據庫,分析、比較了SQL、NoSQL,一樣的,須要課後去作更加深刻的瞭解而且思考SQL、NoSQL的適用場景。
h2. 第六課
1. 使用一種編譯語言實現 Singleton 模式
2. 使用一種動態語言實現 Singleton 模式
3. 說說對 Provider 模式的理解。
若是連最簡單的Singleton模式實現都是上網google的現成代碼,那。。。仍是那句話,洗洗睡吧。。。
這課講的是設計模式的必要以及侷限,若是隻是看到後面對設計模式侷限的調侃,而無視了前面提到的:「開發中很是必要的知識,實際上,是很是基礎的知識」。
你究竟對很是基礎的設計模式瞭解得多深刻了?第三題換個模式,你說得出理解麼?
h2. 第七課
1. php 的 Smarty 模版的設計哲學是什麼?
2. perl 的 Mason 模版的設計哲學是什麼?
3. 什麼是gettext?
4. 前端javascript實現的模版中,目前最成熟的是哪一個引擎?
這課是講模版,模版有不少現成的實現,做業純粹就是在要求去了解、認識各類模版技術的實現。
h2. 第八課
1. 說說對 restful 的理解
2. 什麼是 reverse proxy ?
restful / reverse proxy等,都是跟controller相關,但延伸出去的相關知識。
相關性究竟在哪裏?這個能夠作爲獨立的一課去講述,但也徹底是能夠自學瞭解的。但這絕對不是在跟小明講了1+2=3後,問太陽與地球的距離。
h2. 第九課
沒有做業。
h2. 第十課
1. ED開發聖經PEAA到底是哪本書?
2. 數據庫三範式是什麼?
3. 關於Domain Model,什麼是充血模型?什麼是貧血模型?
第一題純娛樂,第二題是確認課本知識掌握;第三題則又是在要求延伸閱讀,實際上,也是在爲下一課作預習。
h2. 第十一課
1. N-tiers架構的噩夢場景是?
2. 什麼系統/場景須要充分使用特定數據庫的特性?
這課做業是在要求對課程作思考,寫課程時,我其實是碼了不少字,去描述N-tiers的噩夢場景。但後來我又所有刪除。
由於,我前面已經講了不少關於分層、封裝的問題,也提供了The Law of Leaky Abstractions的鏈接,對N-tiers有了解,對分層的問題有了解,那麼若是還不能認識到N-tiers這麼一個多分層的技術的噩夢場景是什麼的話;那麼我仍是隻能說:洗洗睡吧。
整個課程,是在強調對數據庫的封裝。爲了不產生封裝就是好的教條思想產生,全部我又加了「使用特定數據庫的特性」這個做業,要求去思考一下相反的場景。
做業:
1. 補作以前的全部做業
51CTO系列:javascript
- 宅男程序員給老婆的計算機課程之0:認清本質
- 宅男程序員給老婆的計算機課程之1:認清實際
- 宅男程序員給老婆的計算機課程之2:怎麼看待牛人
- 宅男程序員給老婆的計算機課程之3:架構比較
- 宅男程序員給老婆的計算機課程之4:SQL vs NoSQL
- 宅男程序員給老婆的計算機課程之5:設計模式
- 宅男程序員給老婆的計算機課程之6:模版引擎
- 宅男程序員給老婆的計算機課程之7:運維的重要性
- 宅男程序員給老婆的計算機課程之8:控制器
- 宅男程序員給老婆的計算機課程之9:數據模型
- 宅男程序員給老婆的計算機課程之10:作,就對了!
- 宅男程序員給老婆的計算機課程之11:域模型