Ruby元編程

出版時間:2012-1-10  出版社:華中科技大學出版社  作者:[意] Paolo Perrotta  頁數(shù):288  譯者:廖志剛,陳睿杰  
Tag標簽:無  

內容概要

《Ruby元編程》以案例形式循序漸進地介紹了Ruby特有的實用編程技巧
(元編程)。通過分析案例、講解例題、回顧Ruby代碼庫的實現(xiàn)細節(jié),《Ruby元編程》作者Paolo Perrotta
不僅向讀者展示了Ruby編程的優(yōu)勢和Ruby特有的解決問題的方式,更詳細列出了發(fā)揮其優(yōu)勢的技巧和常用的Ruby設計模式。
Ruby創(chuàng)始人松本行弘作序推薦。

作者簡介

  Paolo
Perrotta有超過10年的軟件設計和開發(fā)經驗,發(fā)表過上百篇技術文章。他用過Java、C++、C#編程,最后愛上了Ruby。他是較早接受敏捷方法的實踐者,在Yoox(一家大型互聯(lián)網時尚公司)從事管理敏捷團隊的工作。他還在歐洲各國教授編程培訓課。目前他和女友(還有一只貓)住在意大利,專心鉆研Ruby。

書籍目錄

前言
致謝
引言
“元”這個字眼
關于本書
關于你
第1部分 Ruby元編程.
第1章 星期一:對象模型
1.1 跟Bill在一起的星期一
1.2 打開類
1.3 類的真相
1.4 小測驗:缺失的連接線
1.5 調用一個方法時發(fā)生了什么
I.6 小測驗:混亂的模塊
1.7 對象模型小結
第2章 星期二:方法
2.1 一個重復代碼的問題
2.2 動態(tài)方法
2.3 method—mtssing()方法
2.4 小測驗:狩獵Bug
2.5 關于method—missing()方法的更多內容
第3章 星期三:代碼塊
3.1 怎樣度過駝峰日
3.2 小測驗:Ruby的#符號
3.3 閉包
3.4 itance eval()
3.5 可調用對象
3.6 編寫一種領域專屬語
3.7 小測驗:更好的領域專屬語言
第4章星期四:類定義
4.1類定義揭秘
4.2 小測驗:Taboo類
4.3 單件方法
4.4 Eigenelass
4.5 小測驗:模塊的麻煩
4.6 別名
4.7 小測驗:打破數(shù)學規(guī)律
第5章 星期五:編寫代碼的代碼
5.1 帶路
5.2 Kernel#eval
5.3 小測驗:校驗過的屬性(第一步)
5.4 小測驗:校驗過的屬性(第二步)
5.5 小測驗:校驗過的屬性(第二三步)
5.6 小測驗:校驗過的屬性(第四步)
5.7 鉤子方法
5.8 小測驗:校驗過的屬性(第五步)
第6章 尾聲
第2部分 Rails中的元編程.
第7章 AcllyeRecord的設計
7.1 準備旅程
7.2 ActiveRecord的設計
7.3 經驗教訓
第8章 深入AcllyeRecord
8.1 動態(tài)屬性
8.2 動態(tài)查找器
8.3 經驗教訓
第9章 安全元編程
9.1 元編程的測試
9.2 化解猴子補丁
9.3 經驗教訓
第3部分 附錄
附錄A 常見慣用法
A.1 擬態(tài)方法
A.2 空指針保護
A.3 關于方法參數(shù)的技巧
A.4 Self Yield
A.5 Symbol#to_proc()方法
附錄B 領域專屬語言
B.1 關于領域專屬語言
B.2 內部和外部領域專屬語言
B.3 領域專屬語言和元編程
附錄C 法術手冊
C.1 法術集
附錄D參考書目
索引

章節(jié)摘錄

版權頁:   插圖:   ——可以格式化你的硬盤,更糟糕的是,甚至可以讀到你有點肉麻的電子情書。這種行為被稱為代碼注入攻擊。 防止代碼注入 很顯然,下一個要問Bill的問題就是,“怎樣才能保護我的代碼免受代碼注入攻擊呢?”你也許可以解析所有的字符串代碼(第142頁),以識別其中可能有危險的操作。不過,這種方式已經被證明不大有效,因為惡意代碼的寫法成千上萬,想要戰(zhàn)勝一個一心想搞破壞的黑客,對你和你的計算機來說都是危險的。 當談到代碼注入時,有些字符串會比其他字符串更安全。只有從外面輸入的字符串才可能包含惡意代碼,因此可以簡單地限制eval()只執(zhí)行那些你自己寫的字符串。當然,說起來容易,追蹤字符串的來源可能會出乎意料的困難。 由于上面的原因,一些程序員傾向于完全禁止使用eval()方法。有些程序員緊張那些可能出錯的東西,因此徹底禁止eval()方法成了一種非常流行的做法?!叭绻麤]有eval()方法,則只能根據(jù)具體問題來尋找替代方法。還記得“代碼建入”(第148頁)中的數(shù)組探索者程序么?你可以使用動態(tài)派發(fā)(第41頁)技術來代替eval()方法: def explore_array(method,*arguments) [′a′,′b′,′c′],send(method,*arguments) end. 不過,有時候你還是會懷念eval()方法的。例如,最近,這個安全版本的數(shù)組探索者要求分開輸入方法名和參數(shù)。不幸的是,分開輸入這種方式可能會讓你的Web界面顯得不那么方便。另外,這個安全版本還不能調用像find()這樣接受塊的方法。如果需要支持塊,那么不得不允許在系統(tǒng)中輸入任意代碼。在大量使用和完全不使用eval()之間并沒有一個容易找到的“甜點,~。如果不想完全棄用eval(),Ruby的確也提供了一些能讓它更安全的方式。下面看看這些特性。 污染對象和安全級別 Bill繼續(xù)關于安全性的話題,介紹了污染對象的概念。Ruby會自動把不安全的對象——尤其是從外部傳入的對象——標記為被污染的。污染對象包括程序從Web表單、文件和命令行讀入的字符串,甚至包括系統(tǒng)變量。每次從污染字符串運算而來的新字符串,也是被污染的。

媒體關注與評論

  Ruby的很多特性繼承自其他語言,這些語言包括Lisp、Smalltalk、C、Perl等。其元編程特性來自于Lisp(以及Smalltalk)。元編程看起來有點像魔術,功能強大。但是你必須牢記:能力越大,責任越大。享受Ruby編程吧?!  杀拘泻?Ruby之父

編輯推薦

《Ruby元編程》填補了Ruby語言參考手冊和編程案例之間的空白。它不僅解釋了各種元編程的技術,還展示了編寫更精練、更優(yōu)良代碼的方法。不過要事先警告你,熟悉了新方法后,你會難以忍受目前主流的編程方法。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Ruby元編程 PDF格式下載


用戶評論 (總計80條)

 
 

  •   這本書呢在ruby的群里被大家提到過很多次,口碑都是不錯的。
    開始學ruby的時候是覺得元編程是很高端的技巧,自己用不著;但是隨著開發(fā)的深入,似乎就要用到一些元編程的知識了,因此我就買來了這本書。
    他并不像一般國內的IT教材,全是概念啊然后就是例子;他是構架了一個故事背景,Bob和Bill在交流和學習的過程中逐步學到相應的知識,非常有趣味性。讀者的疑問,很可能書中的Bob也會很想到,然后就是很自然的答疑解惑。我覺得很多國外的資料書這一點都做的很不錯。
    另外就是,翻譯工作做的挺好的。白紙黑字的書雖然做不到代碼高亮的功能,但是排版還是挺舒服的。
  •   java中通過反射才能實現(xiàn)的方法,通過ruby的元編程就能輕松解決。作者模擬一個辦公場景,在書中你將成為一名新入職的ruby程序員,在伙伴Bill的教導中逐步學習ruby元編程的技巧。內容深入而不枯燥,大可以隨時捧在手上翻翻,絕對受益匪淺。。
  •   看了大部分,ruby的元編程比Java的反射確實不是一檔次的
  •   相當不錯。講了很多Ruby背后元編程的知識,看完覺得受益匪淺
  •   元編程的好書,學習ruby深入的更要看看。
  •   看到網上對于這本書的評價還挺好的,剛好自己最近也是學習ruby,于是就購買了,現(xiàn)在看了一些,感覺挺不錯的。本書并不是完全在講述元編程,而是從類開始講述。因此可以一步一步深入去閱讀和理解。現(xiàn)在正在閱讀當中。
  •   Ruby元編程
  •   今天中午剛到的書,忍不住馬上就看了幾十頁,感覺很好。本書采用說故事的方式來介紹知識,講的是一個程序員和一個叫Bill牛人在上班的一周內發(fā)生的關于Ruby的事情。以種方式來傳授知識,真心喜歡。還要說的是,書中有些小結還有習題,和習題答案,幫助理解重要的知識點。書中的插圖也挺好。此外,在推薦一本書:Programming Ruby (2nd edition);目前正在看,專們講述Ruby的書,很詳實。
    感覺編寫Ruby比Java要快速高效得多,挺喜歡的。不過他們都有各自的優(yōu)缺點,同時是剛剛接觸Ruby,所以不敢妄加評論。
    有經驗的同學出來說一說啊,大家也交流交流。大三了,快畢業(yè)了,抓緊看書吧。
  •   早前看過《松本行弘的程序世界》認識的RUBY,最近對MACRUBY感興趣,遂挑選了這本網上評價都很高的RUBY書。
  •   書是不錯,但讓我明白了ruby的嚴重失誤。作為解釋性語言快速上手很重要,雖然創(chuàng)始人試圖討好各領域的開發(fā)者,但簡潔上須學習python。個人預見,十年之內必淘汰,而python會用的很久。python雖然功能不完善,但也因此累贅很少。
  •   一本很好的ruby進階書籍,對于入門后的一些疑惑能夠給與很好的解答,比如Ruby中的對象模型、一些gem源碼中搞不清作用的方法等等。
  •   別人推薦看的,ruby好書,值得推薦,收獲頗豐
  •   以前只是用過一些ruby的庫,覺得很優(yōu)雅,終于知道為什么這么贊了。
  •   不錯的書。還沒細看。先看入門的,這個適合ruby進階者。
  •   質量很好,講解的也很清晰
    很適合
    很喜歡
    剛接觸Ruby會仔細看。
  •   除了后面的介紹RAILS源碼,前面的都通讀了一遍。RUBY果然很美味。
  •   這本ruby書算是進階書籍,可以幫助我更好地去學習ruby。
  •   不用說了,學ruby的都知道
  •   學習Ruby,跟上時代!
  •   ruby程序員一點點要看的
  •   非常經典,學習 ruby 必備。
    我是初次學習 ruby,直接從這本書入手,感覺對 ruby 的理解比從語法書入手要深入的多。
    翻譯、印刷、排版也非常好,難得的佳作。
  •   關于ruby不錯的書
  •   ruby 進階必看,尤其是書中對 知識點有 Pn 鏈接很不錯
  •   元編程介紹的很透徹
  •   Ruy元編程,期待看到精彩內容!
  •   不知道“改善代碼結構一本通”體現(xiàn)在哪里?
  •   沒什么說的,松本行弘的書
  •   這本書真的不錯,跟看故事的,不枯燥,里面講了很多方法,看完rails程序設計,再看這個,覺得很有用
  •   書寫的很好,例子又恰到好處,推薦。
  •   挺不錯的書,慢慢鉆研,爭取有進步
  •   送貨很快,書也非常新,內容還未細讀不做評價
  •   送貨速度快,手感不錯,印刷也不錯
  •   內容很不錯 很有趣 但是書的封面有些粗糙 有點痕跡
  •   印刷精美。。
  •   不錯, 很值得一看
  •   書本還沒看,等看了再來評價。這次網購很滿意。當當速度超快。哈哈。書本質量也不錯。
  •   很好的一本書 看完覺得自己真的還很菜 繼續(xù)學習
  •   皇帝的新衣啊,其實挺難看懂的!必須有相當基礎再來進階的。
  •   書不是很厚,看了一章,總體還算滿意
  •   非常好,學習uy必讀!
  •   剛開始看英文版的,因水平有限,看得很費勁,效率實在低下。實在忍不住買了實體書,確實值得買一本!
  •   嗯,劉鑫大佬是這么說的

    要我說的話,我大概也只能這么說了。不少內容其實你能在閱讀源代碼或者大量項目的時候看到或者自己想出來,但是還有不少你想不到的。

    所以這算是一本能讓人感動的書。
  •   很先進的思想,即使現(xiàn)在不用,也值得學習學習!
  •   超級經典的一本書!值得一看~
  •   公司的ruby大牛推薦的,看當當上可以訂購了就買了,waiting~
  •   比較深入的介紹了ruby的方方面面以及背后的故事。
  •   還可以的吧剛開始學習ruby這本書看不了要過一段時間再看
  •   想研究Ruby如何定義DSL所以買了這本書,還沒細看。感覺內容寫得比較好懂。
  •   工作需要,必需的!
  •   看看可以不要
  •   他說還行,有時間得好好看看。
  •   昨晚下的單,中午就到了
  •   書不錯,但是書有些許破損
  •   ing好的 可以學習學習啊
  •   這本書入門級
  •   速度有點慢,書質量還可以。
  •   概念!
  •   英文版早就出來了,中文版的也還不錯。
  •   看過***mon lisp再看這本書,覺得ruby實在沒法比啊。
  •   和想像中差距比較大,一般看看吧,總歸能長點知識。
  •   拿到的書本是受污的
  •   非常好,讓你更加深刻得理解了這門語言的設計思想
  •   書的內容非常不錯。建議看英文原版。翻譯的還行。
  •   公司最近對元編程開始有要求了...然后今天一查,正好是上個月出版的... 覺得好感動啊另外國內出版社希望多出一些rails3的書籍,原版的過于昂貴
  •   只要是使用ruby編程的都應該看
  •   內容自然不必說了,非常好
  •   還沒看完,只看了前三章,總的說通俗易懂,對于從前搞java、趕鴨子上架搞ruby、沒有系統(tǒng)學過的我,對這個語言理解更透徹
  •   本書不僅只講元編程,而是透過元編程,揭示Ruby語言的設計哲學與核心,同時又是講求實踐的好書,幾乎所有示例都有重構的影子,這書會讓你真正了解Ruby,而且讀起來不累!
  •   元編程 本書開始ActiveRecord的解說就吸引了我,我最近剛研究了ActiveRecord這里就給我講解了機理,贊啊
  •   價格合理,書籍內容很好!
  •   不僅僅是講Ruby,如果你以前有面向對象編程經驗,那么這本書能增強你這方面的認識。解決你知其所以然的問題。
  •   建議學習元編程的可以看看
  •   這個本書對ruby的很多概念進行了深刻的解釋
  •   這本書不錯,值得看下
  •   講述故事的方式,非常不錯
  •   不錯,大概翻了一下內容,寫的還是蠻簡單的,也比較容易懂。
  •   元編程的理念很好,但也要用好才行
  •   值得珍藏的一本回味書
  •   不錯不錯,喜歡喜歡喜歡。
  •   非常適合進階
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7