Ruby原理剖析 [Ruby Under a Microscope]

Ruby原理剖析 [Ruby Under a Microscope] 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
Patrick,Shaughnessy 著,張漢東,秦凡鵬 譯

下載链接在页面底部


點擊這裡下載
    

想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-22


圖書介紹


齣版社: 華中科技大學齣版社
ISBN:9787568022620
版次:1
商品編碼:12073396
包裝:平裝
外文名稱:Ruby Under a Microscope
開本:16開
齣版時間:2016-12-01
用紙:膠版紙
頁數:380
字數:490000
正文語種:中文


類似圖書 點擊查看全場最低價

相關圖書





圖書描述

內容簡介

《Ruby原理剖析》解開Ruby編程語言的魔法麵紗。全書圖文並茂、深入淺齣地剖析瞭Ruby編程語言的核心工作原理。作者本著科學實證的精神,設計瞭一係列實驗,幫助讀者輕鬆瞭解這門編程語言的工作奧秘,包括Ruby如何用虛擬機執行代碼,Ruby的垃圾迴收算法,以及類和模塊在Ruby內部的關係等。


作者簡介

Patrick Shaughnessy是著名的Ruby開發者,目前在麥肯锡管理谘詢公司(McKinsey & Co.)從事開發工作。Patrick有20多年軟件開發工作經驗,精通C、Java、PHP、Ruby等多種編程語言。他是Ruby Conference Circuit的主持人,定期在Ruby Weekly電子報、Ruby5 Podcast和The Ruby Show上發錶文章和演講。他的博客地址: http://patshaughnessy.net

精彩書評

“很多人研究過Ruby的源碼,但很少有人像Patrick這樣把研究成果寫成一本書。我特彆喜歡書裏的圖錶,加上Patrick恰到好處的解說,晦澀難懂的內容變得易於理解。本書是編程極客和喜歡深入研究軟件工具的Ruby愛好者的福音。”

——PETER COOPER (@PETERC),《RUBY INSIDE》《RUBY WEEKLY》的編輯


“這本書填補瞭Ruby領域的空白——內容太棒瞭!”

——XAVIER NORIA (@FXN),RUBY HERO、RUBY ON RAILS核心團隊成員


“Patrick Shaughnessy做瞭一件很棒的事,寫瞭這本關於Ruby內部原理的書。你一定要看,因為其他書裏找不到這樣的內容。”

——SANTIAGO PASTORINO (@SPASTORINO),WYEWORKS聯閤創始人、RUBY ON RAILS核心團隊成員


“這本書讓我愛不釋手,它讓我對Ruby和CS有瞭更深的理解。書中的圖錶真的非常棒,我寫代碼時會浮現在我的腦海裏。它是我zui喜歡的三本Ruby書籍之一。”

——VLAD IVANOVIC (@VLADIIM),HOLLER SYDNEY的數字媒體策略師


“雖然我不經常研究Ruby的內部原理,但是這本書絕對值得一讀。”

——DAVID DERYL DOWNEY (@DAVIDDWDOWNEY),CYBERSPACE TECHNOLOGIES GROUP創始人


目錄

1 分詞與語法解析 3

1.1 詞條:構成Ruby語言的單詞 5

1.2 語法解析:Ruby如何理解代碼 13

1.2.1 理解LALR解析算法 14

1.2.2 真實的Ruby語法規則 21

1.3 總結 31

2 編譯 33

2.1 Ruby 1.8沒有編譯器 34

2.2 Ruby 1.9和Ruby 2.0引入瞭編譯器 35

2.3 Ruby如何編譯簡單腳本 37

2.4 編譯塊調用 41

2.5 本地錶 49

2.5.1 編譯可選參數 52

2.5.2 編譯關鍵字參數 53

2.6 總結 57

3 Ruby如何執行代碼 59

3.1 YARV內部棧和Ruby調用棧 60

3.1.1 逐句查看Ruby如何執行簡單腳本 62

3.1.2 執行塊調用 65

3.2 訪問Ruby變量的兩種方式 72

3.2.1 本地變量訪問 72

3.2.2 方法參數被看成本地變量 75

3.2.3 動態變量訪問 76

3.3 總結 86

4 控製結構與方法調度 89

4.1 Ruby如何執行if語句 90

4.2 作用域之間的跳轉 93

4.2.1 捕獲錶 94

4.2.2 捕獲錶的其他用途 96

4.3 send指令:Ruby最復雜的控製結構 99

4.3.1 方法查找和方法調度 99

4.3.2 Ruby方法的11種類型 100

4.4 調用普通Ruby方法 102

4.4.1 為普通Ruby方法準備參數 103

4.5 調用內建的Ruby方法 104

4.5.1 調用attr_reader和attr_writer 105

4.5.2 方法調度優化attr_reader和attr_writer 106

4.6 總結 110

5 對象與類 113

5.1 Ruby對象內部 114

5.1.1 檢驗klass和ivptr 115

5.1.2 觀察同一個類的兩個實例 117

5.1.3 基本類型對象 118

5.1.4 簡單立即值完全不需要結構體 119

5.1.5 基本類型對象有實例變量嗎 120

5.1.6 基本類型對象的實例變量保存在哪裏 122

5.2 RClass結構體內部有什麼 125

5.2.1 繼承 128

5.2.2 類實例變量vs類變量 129

5.2.3 存取類變量 131

5.2.4 常量 134

5.2.5 真實的RClass結構體 135

5.3 總結 140

6 方法查找和常量查找 143

6.1 Ruby如何實現模塊 145

6.1.1 模塊是類 145

6.1.2 將模塊include到類中 147

6.2 Ruby的方法查找算法 148

6.2.1 方法查找示例 149

6.2.2 方法查找算法實踐 151

6.2.3 Ruby中的多繼承 152

6.2.4 全局方法緩存 153

6.2.5 內聯方法緩存 154

6.2.6 清空Ruby的方法緩存 155

6.2.7 在同一個類中include兩個模塊 155

6.2.8 在模塊中include模塊 157

6.2.9 Module#prepend 示例 158

6.2.10 Ruby如何實現Module#prepend 161

6.2.11 在已被include的模塊中增加方法 164

6.2.12 在已被include的模塊中include其他模塊 164

6.2.13 “被include的類”與原始模塊共享方法錶 166

6.3 常量查找 168

6.3.1 在超類中查找常量 169

6.3.2 Ruby如何在父級命名空間中查找常量 170

6.4 Ruby中的詞法作用域 171

6.4.1 為新類或模塊創建常量 172

6.4.2 在父命名空間中使用詞法作用域查找常量 173

6.4.3 Ruby的常量查找算法 175

6.4.4 Ruby真實的常量查找算法 177

6.5 總結 178

7 散列錶:Ruby內部的主力軍 181

7.1 Ruby中的散列錶 182

7.1.1 在散列錶中保存值 183

7.1.2 從散列錶中檢索值 185

7.2 散列錶如何擴展以容納更多的值 188

7.2.1 散列衝突 188

7.2.2 重新散列條目 189

7.3 Ruby如何實現散列函數 195

7.3.1 Ruby 2.0中的散列優化 202

7.4 總結 203

8 Ruby如何藉鑒Lisp幾十年前的理念 207

8.1 塊: Ruby中的閉包 208

8.1.1 Ruby如何調用塊 210

8.1.2 藉用1975年的理念 212

8.2 Lambda和Proc:把函數當做一等公民 219

8.2.1 棧內存vs堆內存 220

8.2.2 深入探索Ruby如何保存字符串的值 220

8.2.3 Ruby如何創建Lambda 223

8.2.4 Ruby如何調用Lambda 226

8.2.5 Proc對象 227

8.2.6 在同一個作用域中多次調用lambda 232

8.3 總結 234

9 元編程 237

9.1 定義方法的多種方式 239

9.1.1 Ruby的普通方法定義過程 239

9.1.2 使用對象前綴定義類方法 241

9.1.3 使用新的詞法作用域定義類方法 242

9.1.4 使用單類定義方法 244

9.1.5 在單類的詞法作用域中定義方法 245

9.1.6 創建Refinement 246

9.1.7 使用Refinement 248

9.1.8 頂級作用域中的self 250

9.1.9 類作用域中的self 251

9.1.10 元類作用域中的self 252

9.1.11 類方法中的self 253

9.2 元編程與閉包:eval、instance_eval和binding 255

9.2.1 能寫代碼的代碼 255

9.2.2 使用binding參數調用eval 257

9.2.3 instance_eval示例 259

9.2.4 Ruby閉包的另一個重點 260

9.2.5 instance_eval改變接收者的self 262

9.2.6 instance_eval為新的詞法作用域創建單類 262

9.2.7 使用define_method 266

9.2.8 充當閉包的方法 266

9.3 總結 268

10 JRuby:基於JVM的Ruby 271

10.1 使用MRI和JRuby運行程序 272

10.1.1 JRuby如何解析和編譯代碼 274

10.1.2 JRuby如何執行代碼 276

10.1.3 用Java類實現Ruby類 278

10.1.4 使用-J-XX:+PrintCompilation選項 281

10.1.5 JIT是否提升瞭JRuby程序的性能 283

10.2 JRuby和MRI中的字符串 284

10.2.1 JRuby和MRI如何保存字符串數據 284

10.2.2 寫時復製 286

10.2.3 創建唯一且非共享的字符串 288

10.2.4 可視化寫時復製 290

10.2.5 修改共享字符串更慢 291

10.3 總結 293

11 Rubinius:用Ruby實現的Ruby 295

11.1 Rubinius內核和虛擬機 296

11.1.1 詞法分析和解析 298

11.1.2 使用Ruby編譯Ruby 299

11.1.3 Rubinius字節碼指令 300

11.1.4 Ruby和C++一起工作 302

11.1.5 使用C++對象實現Ruby對象 303

11.1.6 Rubinius中的(棧)迴溯 305

11.2 Rubinius和MRI中的數組 307

11.2.1 MRI中的數組 307

11.2.2 Rubinius中的數組 309

11.2.3 閱讀Array#shift源碼 311

11.2.4 修改Array#shift方法 312

11.3 總結 315

12 MRI、JRuby、Rubinius垃圾迴收 317

12.1 垃圾迴收器解決三個問題 319

12.2 MRI中的垃圾迴收: 標記與清除 320

12.2.1 空閑列錶 320

12.2.2 標記 321

12.2.3 MRI如何標記存活對象 323

12.2.4 清除 323

12.2.5 延遲清除 324

12.2.6 標記-清除的缺點 325

12.2.7 觀察MRI執行延遲清除 327

12.2.8 觀察MRI執行全迴收 328

12.2.9 解讀GC分析報告 329

12.3 JRuby和Rubinius中的垃圾迴收 332

12.4 復製垃圾迴收 333

12.4.1 碰撞分配 333

12.4.2 半空間算法 334

12.4.3 伊甸堆 336

12.5 分代垃圾迴收 337

12.5.1 弱代假說 337

12.5.2 為新生代使用半空間算法 338

12.5.3 晉升對象 338

12.5.4 成熟代對象垃圾迴收 339

12.6 並發垃圾迴收 341

12.6.1 當對象圖改變時進行標記 341

12.6.2 三色標記 343

12.6.3 JVM中的三種垃圾收集器 344

12.6.4 觸發主收集 347

12.7 延伸閱讀 348

12.8 總結 349

索引 351


前言/序言

哦,你好!雖然我嚮來喜歡含蓄,但我不得不說:你應該買這本書!


我的名字叫Aaron Patterson,但是網絡上的朋友都叫我tenderlove。我效力於Ruby和Ruby on Rails的核心團隊,同時也是這本書的技術顧問。這是不是意味著你就應該聽我的呢?不是的。好吧,也許。


實際上,當Patrick要我做這本書的技術顧問時,我興奮得帽子都差點掉瞭,眼鏡也掉到咖啡裏去瞭!我知道很多開發者都被Ruby的底層原理嚇住瞭,不敢深入研究。常常有人問我該如何學習Ruby的底層原理,或者該從哪裏入手。不幸的是,我沒能給他們一個好答案,但現在我可以迴答他們瞭。


Patrick科研式的寫作風格讓Ruby的底層原理變得更加直觀。實驗與講解的結閤讓Ruby的行為和性能更容易理解。如果你對Ruby代碼産生疑惑,無論是性能錶現、局部變量,還是垃圾迴收,你都能在這本書裏找到解答。


如果你想探索Ruby內部原理,或者想理解Ruby的工作方式,那就不用猶豫瞭,這本就是你要找的書。我很喜歡這本書,希望你也喜歡。


Aaron Patterson


Ruby原理剖析 [Ruby Under a Microscope] 下載 mobi epub pdf txt 電子書 格式

Ruby原理剖析 [Ruby Under a Microscope] mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

Ruby原理剖析 [Ruby Under a Microscope] 下載 mobi pdf epub txt 電子書 格式 2024

Ruby原理剖析 [Ruby Under a Microscope] 下載 mobi epub pdf 電子書
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

經典,非常不錯,價格也便宜。

評分

書不錯 , 是正版 , 下次還來買 很好

評分

翻瞭幾頁 感覺還不錯呀 幫彆人買的

評分

東西很不錯,先試試看再說

評分

非常好的書,包裝精美,趕上活動買的,很便宜.

評分

學習中,挺實用,適閤初學者

評分

很不錯的書,加油學習ing

評分

翻譯很不錯 深入淺齣的介紹瞭ruby的實現

評分

很好用!!!!!!!!!!!

類似圖書 點擊查看全場最低價

Ruby原理剖析 [Ruby Under a Microscope] mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.cndgn.com All Rights Reserved. 新城書站 版权所有