⑴ 初學python,有哪些 Pythonic 的源碼推薦閱讀
scrapy框架的源碼值得讀一下。乎拍twisted框架源碼。python自帶的socketserver, sgml也可以看一下。flask, bottle, request的源碼。這些框架都還不錯,難度也不太高。值得一陵禪讀尺頃塵。
⑵ 哪一個框架的源碼適合拿來閱讀學習
不要看框架源碼,最好先打好基礎,比如反射,代理等。因為很多框架的功能已經十分繁多,光是功能(英文)你都難以弄懂,更何況是參合了很多中間變數、邏輯功能的源碼,越看越難以理解。即使要學習框架,也要先從javadoc注釋,即API幫助文檔開始,了解數據流的流入和流出。用源碼反向猜測設計邏輯是吃力不討好的事,一沒完整注釋,二不是本人,三反射的應用最傷腦細胞,你壓根不知道在哪裡被插了一腳。如果框架適合用來學習,那麼改別人的代碼也就不是個事了。問題來了,為何程序員都不喜歡改別人的代碼bug?
⑶ 有沒有Linux內核源碼指導書籍
1.《Linux內核設計與實現》
本書重在原理。適合入門的最佳圖書。作者是為2.6內核加入了搶占的人,對調度部分非常精通,而調度是整個系統的核心,因此本書是很權威的。
2.《深入理解Linux內核》
此書比上一本多了些細節。是Linux內核黑客在推薦圖書時的首選。寫的比較簡單易懂,適合剛剛接觸LINUX內核的。
此書圖表很多,形象地給出了關鍵數據結構的定義,與《Linux內核源代碼情景分析》相比,本書內容緊湊,不會一個問題講解動輒上百頁,有提綱挈領的功用,但是深度上要遜於《Linux內核源代碼情景分析》。
3.《LINUX設備驅動程序(第3版)》
這書強調動手實踐!但它是講解「設備驅動」的,不是最核心的東西,而且有些東西沒硬體的話無法實踐,可能更適合驅動開發的程序員吧
其中關於同步與互斥、內存分配的部分,感覺很不錯。
4.《Linux內核源代碼情景分析》
好,很經典,是浙大教授毛德操寫的,可惜成書於2001年之後一直沒有更新。分上下冊。
很多是基於2.4內核講解的需要注意。如果學習的話也建議學習2.6,2.6跟2.4比發生了很多顯著改善,應該學習的。
全書內容博大精深,不是非常好懂,對細節問題描述比較清晰。但是感覺對內核的整體感覺不夠強。另外缺少網路部分的分析。覺得不是很適合初學者。
5.《Linux內核源代碼分析》
點評:面對中高級,這本書很好,對了解操作系統是一本不可多得的好書。
6. 《LINUXKERNEL技術手冊》
參考手冊,很薄,值得一看。
7.《深入Linux內核架構》
這本書針對的是比較新的內核版本2.6.24;內容比較全面,深入淺出。
如果沒有對Linux內核的初步結構的認識,那麼會看得比較吃力。建議可以一邊去翻在國內已經聞名已經久的四本Linux內核著作(《Linux內核原代碼情景分析》、《Linux內核設計與實現》、《深入理解Linux內核》、《Linux設備驅動程序》),再一邊看這本書,把這本書當作一個補充或者當作一個內核框架圖譜說明書來閱讀,收效會更好。
8.《Linux內核完全注釋》
主要描述和注釋了Linux0.11內核全部源代碼。對於初學Linux內核操作系統的人來講,該書能夠引領讀者快速入門,並且能全面了解一個簡單操作系統的工作機理。對於進一步學習現在的Linux內核具有非常大的指導作用。對於學習嵌入式應用的技術人員來講,通過《完全注釋》一書的學習也能迅速融入嵌入式應用領域。
9.《Orange S:一個操作系統的實現》
從只有二十行的引導扇區代碼出發,一步一步地向讀者呈現一個操作系統框架的完成過程。
⑷ 初學Python,有哪些 Pythonic 的源碼推薦閱讀
如果一定要推薦一些 python 的源碼去讀,我的建議是標准庫里關於網路的代碼。從 SocketServer 開始,補上 socket
模塊的知識,熟悉 TCP/UDP 編程,然後了解 Mixin 機制的最佳示例
SocketServer.{ForkingMixIn|ThreadingMixIn},借這個機會了解 thread/threading
模塊,這時會對並發量提出新的要求,就可以讀 select 模塊,開始對 select/{epoll|kqueue}
有深刻理解,搞懂以後就可以接觸一下非同步框架 asyncore 和 asynchat。這時開始出現分岔。如果是做 game 等以 TCP/UDP
協議為基礎的應用,可以去讀 greenlet 和 gevent,如果是做 web,則走下一條路。
做 web,讀
BaseHTTPServer、SimpleHTTPServer 和 CGIHTTPServer,讀
cgi/cgitb,自己隨意寫框架,讀cookielib,讀 wsgiref,這時候自己寫一個簡便的 web framework 就 so
easy 了,老闆再也不擔心你寫 web 了,選擇 flask/web.py/django/pyramid 都心中有數了。因為走的是 web
的路,所以難免要調用一下別人的 api,搞懂一下 httplib/urllib/urllib/urlparse。