注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计程序设计综合Ruby Cookbook(影印版)

Ruby Cookbook(影印版)

Ruby Cookbook(影印版)

定 价:¥98.00

作 者: (美)卡尔森、理查德森
出版社: 东南大学出版社
丛编项: 东南大学出版社O'Reilly图书系列
标 签: 暂缺

ISBN: 9787564105969 出版时间: 2006-11-01 包装: 平装
开本: 16 页数: 873 字数:  

内容简介

  你想探究Ruby的极致吗?Ruby Cookbook就是关于这一当今最热门编程语言的最全面的问题求解指南。本书使用清晰的阐述和数千行可以在你的项目中使用的源代码,来为在实际应用中可能碰到的数百个问题提供解决方法。从数据结构到集成前沿技术的算法,Ruby Cookbook为每一位编程人员都准备了一些专题。初学者和资深的Ruby专家都可以从本书学习到下列专题中有关Ruby编程的知识和技巧:*字符串和数字*数据库*数组和哈希表*图像*类、模块和命名空间*互联网服务,如电子邮件、SSH和BitTorrent*反射机制和元编程(metaprogramming)*XML和HTML文件处理*多任务 *Ruby on Rails (包括Ajax 集成) *图形界面和终端界面如果你需要一个网络应用程序,本书将向你展示如何使用Rails来开始进行开发。假设你需要重命名数以千计的文件,你将会看到如何使用Ruby来完成诸如此类的日常任务。你还可以学习如何使用Ruby读写微软Excel表格文件,如何使用贝叶斯(Bayesian)过滤器进行文本归类以及如何创建PDF文件。甚至本书还将介绍一些冒傻气的把戏,比如如何让你的键盘灯闪烁不停。 总而言之,在目前已写成的关于Ruby的书中,Ruby Cookbook是最有用的一本。如果你需要解决一个Ruby问题,大可不必进行重复劳动,就直接在本书中寻找现成答案吧。 “程序员并不是仅仅靠语法知识就可以生存的,而是要靠他们所编写的每一行实际的代码。本书充满了实用的方法、技巧、知识和智慧。我希望它将读者的Ruby编程带入更高境界。” :Yukihiro(Matz) Matsumoto?, Ruby的作者 “你认为书中各个主题不过是些传统的日常菜谱,错,其实它们全都是被涂上了粘稠的荷兰奶酪酱的美味。哦,伙计,这就是实例:杂凑的版本系统,几个BitTorrent的客户端以及你走失的恐龙的寻物启事。有关各种协议的这一章好有趣。好像大快朵颐后浓稠香甜的酱汁将从你的嘴边流下来!对了,还有些大块的咸肉。” :why the lucky stiff

作者简介

  本书提供作译者介绍Lucas Carlson是一位专注于使用Rails进行网络开发的专业Ruby程序员。他是6个Ruby库程序的作者,也对其他很多库程序有所贡献,其中包括Rails以及RedCloth。Leonard Richardson负责为多种编程语言开发和维护库程序,其中包括Rubyful Soup。

图书目录

1.1 Building a String from Parts  
1.2 Substituting Variables into Strings  
1.3 Substituting Variables into an Existing String  
1.4 Reversing a String by Words or Characters  
1.5 Representing Unprintable Characters  
1.6 Converting Between Characters and Values  
1.7 Converting Between Strings and Symbols  
1.8 Processing a String One Character at a Time  
1.9 Processing a String One Word at a Time  
1.10 Changing the Case of a String  
1.11 Managing Whitespace  
1.12 Testing Whether an Object Is String-Like  
1.13 Getting the Parts of a String You Want  
1.14 Handling International Encodings  
1.15 Word-Wrapping Lines of Text  
1.16 Generating a Sucession of Strings  
1.17 Mat hing Strings with Regular Expressions  
1.18 Replacing Multiple Patterns in a Single Pass  
1.19 Validating an Email Address  
1.20 Classifying Text with a Bayesian Analyzer  
2 Numbers  
2.1 Parsing a Number from a String  
2.2 Comparing Floating-Point Numbers  
2.3 Representing Numbers to Arbitrary Precision  
2.4 Representing Rational Numbers  
2.5 Generating Random Numbers  
2.6 Converting Between Numeri Bases  
2.7 Taking Logarithms  
2.8 Finding Mean, Median, and Mode  
2.9 Converting Between Degrees and Radians  
2.10 Multiplying Matri es  
2.11 Solving a System of Linear Equations  
2.12 Using Complex Numbers  
2.13 Simulating a Sub lass of Fixnum  
2.14 Doing Math with Roman Numbers  
2.15 Generating a Sequence of Numbers  
2.16 Generating Prime Numbers  
2.17 Che king a Credit Card Che ksum  
3 Date and Time  
3.1 Finding Today's Date  
3.2 Parsing Dates, Precisely or Fuzzily  
3.3 Printing a Date  
3.4 Iterating Over Dates  
3.5 Doing Date Arithmeti  
3.6 Counting the Days Since an Arbitrary Date  
3.7 Converting Between Time Zones  
3.8 Che king Whether Daylight Saving Time Is in Effect  
3.9 Converting Between Time and DateTime Obje ts  
3.10 Finding the Day of the Week  
3.11 Handling Commer ial Dates  
3.12 Running a Code Blo k Periodi ally  
3.13 Waiting a Certain Amount of Time  
3.14 Adding a Timeout to a Long-Running Operation  
4 Arrays  
4.1 Iterating Over an Array  
4.2 Rearranging Values Without Using Temporary Variables  
4.3 Stripping Dupli ate Elements from an Array  
4.4 Reversing an Array  
4.5 Sorting an Array  
4.6 Ignoring Case When Sorting Strings  
4.7 Making Sure a Sorted Array Stays Sorted  
4.8 Summing the Items of an Array  
4.9 Sorting an Array by Frequen y of Appearance  
4.10 Shuffling an Array  
4.11 Getting the N Smallest Items of an Array  
4.12 Building Up a Hash Using Injection  
4.13 Extra ting Portions of Arrays  
4.14 Computing Set Operations on Arrays  
4.15 Partitioning or Classifying a Set  
5 Hashes  
5.1 Using Symbols as Hash Keys  
5.2 Creating a Hash with a Default Value  
5.3 Adding Elements to a Hash  
5.4 Removing Elements from a Hash  
5.5 Using an Array or Other Modifiable Object as a Hash Key  
5.6 Keeping Multiple Values for the Same Hash Key  
5.7 Iterating Over a Hash  
5.8 Iterating Over a Hash in Insertion Order  
5.9 Printing a Hash  
5.10 Inverting a Hash  
5.11 Choosing Randomly from a Weighted List  
5.12 Building a Histogram  
5.13 Remapping the Keys and Values of a Hash  
5.14 Extra ting Portions of Hashes  
5.15 Sear hing a Hash with Regular Expressions  
6 Files and Directories  
6.1 Che king to See If a File Exists  
6.2 Che king Your Acess to a File  
6.3 Changing the Permissions on a File  
6.4 Seeing When a File Was Last Used Problem  
6.5 Listing a Dire tory  
6.6 Reading the Contents of a File  
6.7 Writing to a File  
6.8 Writing to a Temporary File  
6.9 Pi king a Random Line from a File  
6.10 Comparing Two Files  
6.11 Performing Random A ess on "Read-Once" Input Streams  
6.12 Walking a Directory Tree  
6.13 Lo king a File  
6.14 Ba king Up to Versioned Filenames  
6.15 Pretending a String Is a File  
6.16 Redire ting Standard Input or Output  
6.17 Pro essing a Binary File  
6.18 Deleting a File  
6.19 Trun ating a File  
6.20 Finding the Files You Want  
6.21 Finding and Changing the Current Working Directory  
7 Code Blocks and Iteration  
7.1 Creating and Invoking a Block  
7.2 Writing a Method That Acepts a Block  
7.3 Binding a Block Argument to a Variable  
7.4 Blocks as Closures: Using Outside Variables Within a Code Block  
7.5 Writing an Iterator Over a Data Structure  
7.6 Changing the Way an Obje t Iterates  
7.7 Writing Block Methods That Classify or Collect  
7.8 Stopping an Iteration  
7.9 Looping Through Multiple Iterables in Parallel  
7.10 Hiding Setup and Cleanup in a Blo k Method  
7.11 Coupling Systems Loosely with Callbacks  
8 Objects and Classes8  
8.1 Managing Instance Data  
8.2 Managing Class Data  
8.3 Checking Class or Module Membership  
8.4 Writing an Inherited Class  
8.5 Overloading Methods  
8.6 Validating and Modifying Attribute Values  
8.7 Defining a Virtual Attribute  
8.8 Delegating Method Calls to Another Object  
8.9 Converting and Coercing Objects to Different Types  
8.10 Getting a Human-Readable Printout of Any Object  
8.11 Acepting or Passing a Variable Number of Arguments  
8.12 Simulating Keyword Arguments  
8.13 Calling a Superclass's Method  
8.14 Creating an Abstract Method  
8.15 Freezing an Object to Prevent Changes  
8.16 Making a Copy of an Object  
8.17 Declaring Constants  
8.18 Implementing Class and Singleton Methods  
8.19 Controlling Acess by Making Methods Private  
9 Modules and Namespa es  
9.1 Simulating Multiple Inheritan e with Mixins  
9.2 Extending Spe ifi Obje ts with Modules  
9.3 Mixing in Class Methods  
9.4 Implementing Enumerable: Write One Method, Get 22 Free  
9.5 Avoiding Naming Collisions with Namespaces  
9.6 Automati ally Loading Libraries as Needed  
9.7 In luding Namespaces  
9.8 Initializing Instance Variables Defined by a Module  
9.9 Automati ally Initializing Mixed-In Modules  
10 Reflection and Metaprogramming  
10.1 Finding an Object's Class and Superclass  
10.2 Listing an Object's Methods  
10.3 Listing Methods Unique to an Object  
10.4 Getting a Reference to a Method  
10.5 Fixing Bugs in Someone Else's Class  
10.6 Listening for Changes to a Class  
10.7 Che king Whether an Object Has Necessary Attributes  
10.8 Responding to Calls to Undefined Methods  
10.9 Automati ally Initializing Instance Variables  
10.10 Avoiding Boilerplate Code with Metaprogramming  
10.11 Metaprogramming with String Evaluations  
10.12 Evaluating Code in an Earlier Context  
10.13 Undefining a Method  
10.14 Aliasing Methods  
10.15 Doing Aspe t-Oriented Programming  
10.16 Enforcing Software Contracts  
11 XML and HTML  
11.1 Che king XML Well-Formedness  
11.2 Extracting Data from a Document's Tree Structure  
11.3 Extracting Data While Parsing a Document  
11.4 Navigating a Document with XPath  
11.5 Parsing Invalid Markup ..  
11.6 Converting an XML Document intoca Hash  
11.7 Validating an XML Document  
11.8 Substituting XML Entities  
11.9 Creating and Modifying XML Documents  
11.10 Compressing Whitespace in an XML Document  
11.11 Guessing a Do ument's Encoding  
11.12 Converting from One En oding to Another  
11.13 Extracting All the URLs from an HTML Document  
11.14 Transforming Plain Text to HTML  
11.15 Converting HTML Do uments from the Web into Text  
11.16 A Simple Feed Aggregator  
12 Graphi s and Other File Formats  
12.1 Thumbnailing Images  
12.2 Adding Text to an Image  
12.3 Converting One Image Format to Another  
12.4 Graphing Data  
12.5 Adding Graphical Context with Sparklines  
12.6 Strongly En rypting Data  
12.7 Parsing Comma-Separated Data  
12.8 Parsing Not-Quite-Comma-Separated Data  
12.9 Generating and Parsing Ex el Spreadsheets  
12.10 Compressing and Archiving Files with Gzip and Tar  
12.11 Reading and Writing ZIP Files  
12.12 Reading and Writing Configuration Files  
12.13 Generating PDF Files  
12.14 Representing Data as MIDI Musi  
13 Databases and Persistence  
13.1 Serializing Data with YAML  
13.2 Serializing Data with Marshal  
13.3 Persisting Objects with Madeleine  
13.4 Indexing Unstructured Text with SimpleSear h  
13.5 Indexing Structured Text with Ferret  
13.6 Using Berkeley DB Databases  
13.7 Controlling MySQL on Unix  
13.8 Finding the Number of Rows Returned by a Query  
13.9 Talking Dire tly to a MySQL Database  
13.10 Talking Directly to a PostgreSQL Database  
13.11 Using Object Relational Mapping with A tiveRecord  
13.12 Using Object Relational Mapping with Og  
13.13 Building Queries Programmati ally  
13.14 Validating Data with A tiveRecord  
13.15 Preventing SQL Injection Attacks  
13.16 Using Transactions in A tiveRecord  
13.17 Adding Hooks to Table Events  
13.18 Adding Taggability with a Database Mixin  
14 Internet Services  
14.1 Grabbing the Contents of a Web Page  
14.2 Making an HTTPS Web Request  
14.3 Customizing HTTP Request Headers  
14.4 Performing DNS Queries  
14.5 Sending Mail  
14.6 Reading Mail with IMAP  
14.7 Reading Mail with POP3  
14.8 Being an FTP Client  
14.9 Being a Telnet Client  
14.10 Being an SSH Client  
14.11 Copying a File to Another Ma hine  
14.12 Being a BitTorrent Client  
14.13 Pinging a Ma hine  
14.14 Writing an Internet Server  
14.15 Parsing URLs  
14.16 Writing a CGI Script  
14.17 Setting Cookies and Other HTTP Response Headers  
14.18 Handling File Uploadscvia CGI  
14.19 Running Servlets with WEBri k  
14.20 A Real-World HTTP Client  
15 Web Development: Ruby on Rails  
15.1 Writing a Simple Rails Application to Show System Status  
15.2 Passing Data from the Controller to the View  
15.3 Creating a Layout for Your Header and Footer  
15.4 Redire ting to a Different Location  
15.5 Displaying Templates with Render  
15.6 Integrating a Database with Your Rails Application  
15.7 Understanding Pluralization Rules  
15.8 Creating a Login System  
15.9 Storing Hashed User Passwords in the Database  
15.10 Escaping HTML and JavaS ript for Display  
15.11 Setting and Retrieving Session Information  
15.12 Setting and Retrieving Cookies  
15.13 Extra ting Code into Helper Fun tions  
15.14 Refa toring the View into Partial Snippets of Views  
15.15 Adding DHTML Effe ts with script.aculo.us  
15.16 Generating Forms for Manipulating Model Objects  
15.17 Creating an Ajax Form  
15.18 Exposing Web Services on Your Web Site  
15.19 Sending Mail with Rails  
15.20 Automati ally Sending Error Messages to Your Email  
15.21 Do umenting Your Web Site  
15.22 Unit Testing Your Web Site  
15.23 Using breakpoint in Your Web Application  
16 Web Services and Distributed Programming  
16.1 Sear hing for Books on Amazon  
16.2 Finding Photos on Fli kr  
16.3 Writing an XML-RPC Client  
16.4 Writing a SOAP Client  
16.5 Writing a SOAP Server  
16.6 Sear hing the Web with Google's SOAP Service  
16.7 Using a WSDL File to Make SOAP Calls Easier  
16.8 Charging a Credit Card  
16.9 Finding the Cost to Ship Pa kages via UPS or FedEx  
16.10 Sharing a Hash Between Any Number of Computers  
16.11 Implementing a Distributed Queue  
16.12 Creating a Shared "Whiteboard"  
16.13 Securing DRb Services with Acess Control Lists  
16.14 Automati ally Dis overing DRb Services with Rinda  
16.15 Proxying Objects That Can't Be Distributed  
16.16 Storing Data on Distributed RAM with MemCached  
16.17 Caching Expensive Results with MemCached  
16.18 A Remote-Controlled Jukebox  
17 Testing, Debugging, Optimizing, and Documenting  
17.1 Running Code Only in Debug Mode  
17.2 Raising an Exception  
17.3 Handling an Exception  
17.4 Rerunning After an Exception  
17.5 Adding Logging to Your Appli ation  
17.6 Creating and Understanding Tracebacks  
17.7 Writing Unit Tests  
17.8 Running Unit Tests  
17.9 Testing Code That Uses External Resources  
17.10 Using breakpoint to Inspect and Change the State of Your Appli ation  
17.11 Do umenting Your Application  
17.12 Profiling Your Application  
17.13 Ben hmarking Competing Solutions  
17.14 Running Multiple Analysis Tools at Once  
17.15 Who's Calling That Method? A Call Graph Analyzer  
18 Pa kaging and Distributing Software  
18.1 Finding Libraries by Querying Gem Respositories  
18.2 Installing and Using a Gem  
18.3 Requiring a Specifi Version of a Gem  
18.4 Uninstalling a Gem  
18.5 Reading Documentation for Installed Gems  
18.6 Packaging Your Codecas a Gem  
18.7 Distributing Your Gems  
18.8 Installing and Creating Standalone Packages with setup.rb  
19 Automating Tasks with Rake  
19.1 Automati ally Running Unit Tests  
19.2 Automati ally Generating Documentation  
19.3 Cleaning Up Generated Files  
19.4 Automati ally Building a Gem  
19.5 Gathering Statistics About Your Code  
19.6 Publishing Your Documentation  
19.7 Running Multiple Tasks in Parallel  
19.8 A Generi Proje t Rakefile  
20 Multitasking and Multithreading  
20.1 Running a Daemon Pro ess on Unix  
20.2 Creating a Windows Service  
20.3 Doing Two Things at On e with Threads  
20.4 Synchronizing Acess to an Object  
20.5 Terminating a Thread  
20.6 Running a Code Block on Many Objects Simultaneously  
20.7 Limiting Multithreading with a Thread Pool  
20.8 Driving an External Process with popen  
20.9 Capturing the Output and Error Streams from a Unix Shell Command  
20.10 Controlling a Process on Another Machine  
20.11 Avoiding Deadlock  
21 User Interface  
21.1  
21.2 Getting Input One Line at a Time  
21.3 Getting Input One Character at a Time  
21.4 Parsing Command-Line Arguments  
21.5 Testing Whether a Program Is Running Intera tively  
21.6 Setting Up and Tearing Down a Curses Program  
21.7 Clearing the S reen  
21.8 Determining Terminal Size  
21.9 Changing Text Color  
21.10 Reading a Password  
21.11 Allowing Input Editing with Readline  
21.12 Making Your Keyboard Lights Blink  
21.13 Creating a GUI Appli ation with Tk  
21.14 Creating a GUI Appli ation with wxRuby  
21.15 Creating a GUI Appli ation with Ruby/GTK  
21.16 Creating a Ma OS X Appli ation with RubyCo oa  
21.17 Using AppleS ript to Get User Input  
22 Extending Ruby with Other Languages  
22.1 Writing a C Extension for Ruby  
22.2 Using a C Library from Ruby  
22.3 Calling a C Library Through SWIG  
22.4 Writing Inline C in Your Ruby Code  
22.5 Using Java Libraries with JRuby  
23 System Administration  
23.1 Scripting an External Program  
23.2 Managing Windows Services  
23.3 Running Code as Another User  
23.4 Running Periodi Tasks Without roncorcat  
23.5 Deleting Files That Match a Regular Expression  
23.6 Renaming Files in Bulk  
23.7 Finding Duplicate Files  
23.8 Automating Backups  
23.9 Normalizing Ownership and Permissions in User Directories  
23.10 Killing All Processes for a Given User  
Index ...  

本目录推荐