自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux書架

系統(tǒng) Linux
一直認(rèn)為,在一個(gè)系統(tǒng)上學(xué)習(xí)開發(fā)之前,首先需要熟悉這個(gè)系統(tǒng)的使用。鑒于天朝的國情,絕大部分人第一個(gè) 接觸的操作系統(tǒng)就是Windows,因此對于這絕大部分人來說,如果要學(xué)習(xí)Linux開發(fā),學(xué)會(huì)使用這個(gè)系統(tǒng)都是必不可少的一個(gè)環(huán)節(jié)。

一直認(rèn)為,在一個(gè)系統(tǒng)上學(xué)習(xí)開發(fā)之前,首先需要熟悉這個(gè)系統(tǒng)的使用。鑒于天朝的國情,絕大部分人第一個(gè) 接觸的操作系統(tǒng)就是Windows,因此對于這絕大部分人來說,如果要學(xué)習(xí)Linux開發(fā),學(xué)會(huì)使用這個(gè)系統(tǒng)都是必不可少的一個(gè)環(huán)節(jié)。 

現(xiàn)在的Linux初學(xué)者是幸福的,隨著Linux桌面環(huán)境越來越易用,入門一個(gè)新的系統(tǒng)是非常容易的事情。雖然命令行對于提高工作效率更加有效,但我們完全可以把熟悉命令的過程放到日常使用中進(jìn)行。無論學(xué)習(xí)什么知識,在實(shí)踐中學(xué)習(xí)都是高效而且有趣的。

在這個(gè)階段,我們也未必一定需要書籍。現(xiàn)在很多Linux發(fā)行版的Wiki寫得都非常詳細(xì),在使用某一種發(fā)行版時(shí)找到相應(yīng)的Wiki閱讀查詢就可以了。而且,桌面環(huán)境變化太快,關(guān)于桌面的介紹類書籍幾乎都沒有必要看,這類書籍大多剛一出版就過時(shí)了。

那入門類書籍里哪些比較有價(jià)值呢?我比較推薦涉及的技術(shù)相對比較穩(wěn)定的書。比如,Linux基本的體系結(jié)構(gòu)和命令一般都是經(jīng)久不變的,甚至從上古時(shí)期的Unix開始就沒太多變化,這類書籍講解的知識也是以后大幅提高我們的生產(chǎn)力的基礎(chǔ)。比如《鳥哥的Linux私房菜》,比如《Unix Power Tools》(中譯名是“UNIX超級工具”),或者是為Linux+認(rèn)證考試準(zhǔn)備的《Linux+ Study Guide》。當(dāng)然,這一類書籍 其實(shí)都不必精讀,快速瀏覽之后作為工具書備查就可以了。

編程類

Unix系統(tǒng)的編程書籍里,最經(jīng)典的莫過于簡稱為APUE的《Advanced Programming in the UNIX Environment》 (中譯名是“Unix環(huán)境高級編程”),這本書被廣大Unix程序員(包括Linux)捧為“圣經(jīng)”。借用葛大爺?shù)膹V告詞:“這就像進(jìn)館子一樣,一條街上,哪家人多我進(jìn)哪家”。APUE對類Unix系統(tǒng)的編程接口講解的非常全面詳細(xì),對于這本書,我們不僅要精讀,還應(yīng)該放在案頭常備。但是,APUE對于Linux編程初學(xué)者似乎稍深了一點(diǎn),而且很多細(xì)節(jié)在Linux中并不會(huì)用到。

講述Linux編程的書籍里,《Advanced Linux Programming》應(yīng)該更加適合初學(xué)者。不要被書名中的“Advanced”嚇到,書里的內(nèi)容還是很容易理解的??赐赀@本書再看APUE應(yīng)該效果會(huì)更好。 如果要開發(fā)GUI程序,上面兩本書就無能為力了。

在Linux世界里,最常用的GUI Toolkit是GTK+和QT。 GTK+的書籍并不多,在線文檔只適合查閱,并不是一個(gè)完整的學(xué)習(xí)體系?!禙oundations of GTK+ Development》 是其中很不錯(cuò)的一本書,喜歡GTK+的開發(fā)者可以拿來作為入門書籍。

相對來說,QT的書籍就很豐富了,這和QT具有良好的跨平臺能力有很大關(guān)系,QT的書籍并不只是寫給Linux程序員看的,在Windows和MAC OSX下同樣可以使用QT開發(fā)程序。比較值得一看的QT類書籍有 《C++ GUI Programming with QT4》、《Foundations of QT Development》、《The Art of Building QT Applications》 ,這三本都比較適合QT初學(xué)者閱讀。另外,《Advanced Qt Programming》會(huì)介紹到QT一些比較高級的用法 ,適合有一定QT基礎(chǔ)的讀者閱讀。

內(nèi)核類

對于Linux內(nèi)核或者設(shè)備驅(qū)動(dòng)的開發(fā)者,最全面最直接的學(xué)習(xí)資料一定是Linux內(nèi)核代碼及其文檔。Linux內(nèi)核的發(fā)布周期很短,相關(guān)書籍的出版完全跟不上腳步。但隨著內(nèi)核代碼的日益龐大,學(xué)習(xí)曲線越來越陡峭,入門者又非常需要書籍來作為指導(dǎo),這確實(shí)是非常矛盾的事情。

所幸,很多Linux內(nèi)核技術(shù)作家也是很勤奮的,經(jīng)常會(huì)更新自己的作品。就像Robert Love,以2.6內(nèi)核為藍(lán)本的《Linux Kernel Development》已經(jīng)更新到第三版了。

LKD是非常適合內(nèi)核初學(xué)者閱讀的一本好書,對它的評價(jià)可以引用陳莉君老師的譯者序:相對于 Daniel P. Bovet 和 Marco Cesati 的內(nèi)核巨著《Understand the Linux Kernel》,它少了五分細(xì)節(jié) ,相對于實(shí)踐經(jīng)典《Linux Device Drivers》,它多了五分說理??梢哉f,本書填補(bǔ)了Linux 內(nèi)核理論和實(shí)踐之間的鴻溝,“一橋飛架南北,天塹變通途”。

謝謝陳老師,她的譯者序幫我引出了另外要談到的兩本經(jīng)典書籍,對,就是《Understanding the Linux Kernel》 和《Linux Device Drivers》。對于這兩本書,如果要挑它們的缺點(diǎn),我只能說,內(nèi)容有點(diǎn)老,很多知識點(diǎn)都需要更新了,除此之外,我要說的是,是它們把我?guī)狭藘?nèi)核驅(qū)動(dòng)開發(fā)這條路上來,當(dāng)然,還有LKD。

最近,我又發(fā)現(xiàn)一本分析Linux內(nèi)核的優(yōu)秀書籍,就是《Professional Linux Kernel Architecture》。這本書我目前正在讀,寫得非常好,而且因?yàn)榇藭鄬^新(只是相對,2.6.24內(nèi)核在現(xiàn)在看來也很老了),沒有看過ULK的同學(xué)可以直接看這本書。 

工具類 

工欲善其事,必先利其器。進(jìn)行Linux開發(fā),相關(guān)工具還是需要熟練使用的。比如,GNU Tool Chain、自動(dòng)構(gòu)建工具、編輯器、版本控制工具等等。 這里有一本包羅萬象的書,叫做《Handbook of Open Source Tools》,書中介紹了各種各樣的開源工具,可稱 之為開源技術(shù)的總決式。這本書試圖面面俱到,因此并不深入,粗讀即可。

GNU Tool Chain參考Redhat的《The GNUPro Toolkit》已經(jīng)足夠了,如果單獨(dú)把makefile拎出來,還可以參考《Managing Projects with GNU Make》。

自動(dòng)構(gòu)建工具可以參考《Autotools》。如果您準(zhǔn)備使用cmake,推薦cjacker的《Cmake實(shí)踐》?!禡astering CMake》據(jù)說是cmake的權(quán)威書籍,但一直無緣得見啊。 

說到編輯器,在Linux里最著名的莫過于Vim和Emacs,關(guān)于這兩者的背景,可以去看看《為何Emacs和Vim被稱為兩大神器》。我?guī)缀鯖]用過Emacs,曾經(jīng)在當(dāng)當(dāng)做活動(dòng)時(shí)花9塊錢買了一本 《學(xué)習(xí)GNU Emacs》,有這本書作為Emacs的入門我想應(yīng)該夠了。

Vim是我經(jīng)常使用的編輯器之一(另一個(gè)是Kate,最初喜歡上Kate的原因之一就是它提供了Vim編輯模式),相關(guān)的書籍有兩本值得一讀:《A Byte of Vim》和《Hacking Vim 7.2》,但是對于初學(xué)者,首先跟著Vim自帶的vimtutor練習(xí)效果會(huì)更好。 

Linux下的版本控制工具很多,有傳統(tǒng)的Subversion,也有現(xiàn)在非常流行分布式工具如Git等。

Subversion 可以參考這本《Version Control with Subversion》,Git可以參考《Version Control with Git》 或者《Git Internals》或者《Pro Git》。

其它 除了以上幾個(gè)類別,還有一些書籍值得推介。 比如《The Art of Unix Programming》,主要介紹了Unix系統(tǒng)領(lǐng)域中的設(shè)計(jì)開發(fā)哲學(xué)、思想文化體系以及社群 文化等,覆蓋面非常廣。書中的一些內(nèi)容和《Revolution OS》有相似之處,大家可以自己印證一下。對于這 本書,我們也完全可以把它當(dāng)做小說或者歷史書來看,可以躺在床上看,也可以癱在沙發(fā)上看,或者像怪怪那樣坐在馬桶上看,總之,不必一定要端坐在書桌前。 

《Computer Systems: A Programmer's Perspective》很多人都推薦過,這是一本非常經(jīng)典的計(jì)算機(jī)體系方面的教材。CSAPP的內(nèi)容基礎(chǔ)全面,講解簡明扼要,易于理解,仔細(xì)讀完之后對理清計(jì)算機(jī)體系結(jié)構(gòu)甚至是 Linux內(nèi)核都非常有幫助的。雖然中文名被譯為《深入理解計(jì)算機(jī)系統(tǒng)》(這個(gè)譯名很不貼切),但相比之下,為什么會(huì)讓人感覺國內(nèi)的同類教材更加“深?yuàn)W”呢?也許,這就是作者功力的差距吧。

責(zé)任編輯:黃丹 來源: 博客
相關(guān)推薦

2010-05-12 09:57:17

MySQL

2021-02-22 15:16:22

AI 數(shù)據(jù)人工智能

2009-06-15 15:14:09

背板IDC機(jī)房摩卡

2019-08-27 11:00:38

技術(shù)數(shù)據(jù)庫設(shè)計(jì)

2013-12-17 15:32:20

iOS開發(fā)NewsstandKi

2020-11-19 17:11:33

機(jī)器人人工智能網(wǎng)站

2012-10-29 09:40:43

HTML5JavaScriptWebGL

2018-06-08 16:39:53

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)書籍

2014-08-19 10:13:15

編程書籍Java書籍

2018-09-27 14:50:04

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)書籍

2009-12-10 16:21:42

Fedora Linu

2012-07-22 15:30:33

非程序

2009-12-17 13:46:24

Linux優(yōu)點(diǎn)

2009-12-09 11:41:51

Linux Kerne

2009-09-25 10:08:24

Linux教程Linux cdLinux命令

2009-12-16 14:10:42

Linux終端命令

2009-09-28 11:19:45

Linux教程dir命令Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號