新書推薦:

《
奇迹时刻:获得全新的认知与领悟,如何爱自己,打破原生家庭限制,找寻真正的自由与自爱
》
售價:NT$
305

《
学会卓越
》
售價:NT$
510

《
365日自我肯定之书:你是你自己人生的主角!增强自我肯定感
》
售價:NT$
356

《
小儿推拿轻松学,脾肺同养百病消
》
售價:NT$
184

《
海洋之思:俄罗斯的海洋观(1997~2021)
》
售價:NT$
653

《
国语(全二册)(中国古代史学丛书)
》
售價:NT$
653

《
新安医学古籍整理发掘研究
》
售價:NT$
500

《
如何提出一个好问题(全新升级版)
》
售價:NT$
561
|
| 編輯推薦: |
|
本书不提倡死板地遵守规则,而是希望通过完整的Ruby编程技术讲解,帮助你系统地提高代码质量。主要特性包括:*怎样避免与Ruby有时让人出乎意料的特性相关的陷阱*为了成功掌握Rails(和其他大型框架)你应该知道的继承等级体系*如何通过一些被误解的方法利用集合完成非常有用的工作*更好地使用异常来提高代码的可靠性*强大的元编程方法(和避免使用的技术)*切实可行的高效测试方案,包括MiniTest单元测试和Spec测试*怎样可靠地管理RubyGem依赖*怎样创建基本的Ruby内存管理和显示工具*怎样通过理解Ruby语言解释器的内部实现来提高代码的执行效率
|
| 內容簡介: |
|
本书是作者Peter J. Jones近十年Ruby开发经验的结晶。他利用48个Ruby实战案例,揭示了Ruby鲜有人知的特点、难点和习惯用法。每种实践案例都包含了具体的、实用的、组织清晰的指导方针,细致的建议,详细的专业理由,并通过示例代码阐明。本书为Ruby开发的每个主要领域都提供了切实可行的建议,从模块到内存,再到元编程。旨在通过全面地介绍Ruby编程技术,帮助Ruby程序员及爱好者写出更健壮、更高效、更易维护的和运行的代码。适合Ruby程序员及爱好者阅读。
|
| 關於作者: |
|
Peter J. Jones是一个自由软件开发者,还是Devalot.com编程研讨组的高级导师。他从2005年起就开始使用Ruby编程,为几届编程研讨组写过教案并教过学,包括为Ruby初学者准备的11周的课程。
|
| 目錄:
|
序言
前言
致谢
关于作者
Chapter 1: Accustoming Yourself to Ruby
Item 1: Understand What Ruby Considers to Be True
Item 2: Treat All Objects as If They Could Be nil
Item 3: Avoid Ruby''s Cryptic Perlisms
Item 4: Be Aware That Constants Are Mutable
Item 5: Pay Attention to Run—Time Warnings
Chapter 2: Classes, Objects, and Modules
Item 6: Know How Ruby Builds Inheritance Hierarchies
Item 7: Be Aware of the Different Behaviors of super
Item 8: Invoke super When Initializing Subclasses
Item 9: Be Alert for Ruby''s Most Vexing Parse
Item 10: Prefer Struct to Hash for Structured Data
Item 11: Create Namespaces by Nesting Code in Modules
Item 12: Understand the Different Flavors of Equality
Item 13: Implement Comparison via“<=>” and the Comparable Module
Item 14: Share Private State through Protected Methods
Item 15: Prefer Class Instance Variables to Class Variables
Chapter 3: Collections
Item 16: Duplicate Collections Passed as Arguments before Mutating Them
Item 17: Use the Array Method to Convert nil and Scalar Objects into Arrays
Item 18: Consider Set for Efficient Element Inclusion Checking
Item 19: Know How to Fold Collections with reduce
Item 20: Consider Using a Default Hash Value
Item 21: Prefer Delegation to Inheriting from Collection Classes
Chapter 4: Exceptions
Item 22: Prefer Custom Exceptions to Raising Strings
Item 23: Rescue the Most Specific Exception Possible
Item 24: Manage Resources with Blocks and ensure
Item 25: Exit ensure Clauses by Flowing Off the End
Item 26: Bound retry Attempts, Vary Their Frequency, and Keep an Audit Trail
Item 27: Prefer throw to raise for Jumping Out of Scope
Chapter 5: Metaprogramming
Item 28: Familiarize Yourselfwith Module and Class Hooks
Item 29: Invoke super from within Class Hooks
Item 30: Prefer define_method to method_missing
Item 31: Know the Difference between the Variants of eval
Item 32: Consider Alternatives to Monkey Patching
Item 33: Invoke Modified Methods with Alias Chaining
Item 34: Consider Supporting Differences in Proc Arity
Item 35: Think Carefully Before Using Module Prepending
Chapter 6: Testing
Item 36: Familiarize Yourselfwith Mini Test Unit Testing
Item 37: Familiarize Yourselfwith Mini Test Spec Testing
Item 38: Simulate Determinism with Mock Objects
Item 39: Strive for Effectively Tested Code
Chapter 7: Tools and Libraries
Item 40: Know How to Work with Ruby Documentation
Item 41: Be Aware of IRB''s Advanced Features
Item 42: Manage Gem Dependencies with Bundler
Item 43: Specify an Upper Bound for Gem Dependencies
Chapter 8: Memory Management and
Performance
Item 44: Familiarize Yourselfwith Ruby''s Garbage Collector
Item 45: Create Resource Safety Nets with Finalizers
Item 46: Be Aware of Ruby Profiling Tools
Item 47: Avoid Object Literals in Loops
Item 48: Consider Memoizing Expensive Computations
Epilogue
Index
|
| 內容試閱:
|
|
序言当受邀对一本关于Ruby的书进行技术审核并为其作序时,我有点不知所措。市面上已经有不少Ruby相关的书籍,从入门到深入Ruby VM内部实现机制已经面面俱到。我当时想,“这本Ruby书能与众不同吗?”但是我同意先通读一遍。令我吃惊的是,这的确是一本出色并且新颖的书籍。它和其他Ruby书籍很不一样,我觉得不管是谁,初学者亦或专家,只要将其读完,都会成为更加出色的Ruby编程人员。从我开始接触Ruby到现在已经十几年了。这些年里,Ruby已经成为一门成熟的语言。早期,它也经历过过度宣传的阶段,当时Ruby被吹捧为结束一切、造就一切的语言。随后涌现了很多版本的Ruby库,当时感觉库几乎每天都会被废弃然后重建,没有一个库可以保证是最新的。后来,其他“新一代”语言开始涌现,Ruby被定位为过时的语言。但是现在,最终,Ruby通过解决很多实际问题,证明了自己是一门实用且有效的语言,虽然它并不能解决所有问题。(你不会想用Ruby编写另外一个大型操作系统。)本书除了介绍基本语法和高级使用方法外,还重点介绍了上佳实践,讲述如何编写不会崩溃、可维护、高效快速的Ruby应用程序。Ruby初学者通过学习上佳实践能够更好地理解语言,而有经验的开发人员可以重新审视他们的实践经验,并能够学习一些新的技巧。我很喜欢本书的行文方式:大量示例,并且示例不仅解释“是什么”和“如何做”,而且解释了“为什么”。虽然这些都是Ruby社区多年发展积累下来的上佳实践,但是保持怀疑、提出问题仍然很重要,旧实践上的改进很可能产出新的上佳实践。希望你能从本书中收获良多,也真心希望在阅读了本书几百页的内容之后,你能成长为一名Ruby程序员。Mitchell HashimotoHashiCorp的创始人和CEO,Vagrant的作者
|
|