Statistics
15
Views
0
Downloads
0
Donations
Uploader

高宏飞

Shared on 2025-12-21
Support
Share

AuthorPeter Cooper

Learn the principles behind object-oriented programming and within a few chapters create a fully functional Ruby application. Youll also gain a basic understanding of many ancillary technologies such as databases, XML, web frameworks, and networking - some of which are needed as part of a fully functioning Ruby application. The new edition of this book provides the same excellent introduction to Ruby as the previous editions plus updates for the newest version of Ruby 2.3. This book can also be used as a textbook or companion to a textbook on beginning Ruby programming. The light and agile Ruby programming language remains a very popular open source scripting option for developers building todays web and even some enterprise applications. And, now, Ruby also has applications using the Raspberry Pi, popular among hobbyists and makers. Many former Java developers still use Ruby on Rails today, the most popular framework for building Ruby applications. написал: (16 июля 2016 22:23)

Tags
No tags
ISBN: 1484212797
Publisher: Apress
Publish Year: 2016
Language: 英文
Pages: 585
File Format: PDF
File Size: 13.8 MB
Support Statistics
¥.00 · 0times
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Beginning ruby From Novice to Professional — Third Edition — Peter Cooper
Beginning Ruby From Novice to Professional Third Edition Peter Cooper
Beginning Ruby: From Novice to Professional, Third Edition Peter Cooper Louth, Lincs United Kingdom ISBN-13 (pbk): 978-1-4842-1279-0 ISBN-13 (electronic): 978-1-4842-1278-3 DOI 10.1007/978-1-4842-1278-3 Library of Congress Control Number: 2016945758 Copyright © 2016 by Peter Cooper This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director: Welmoed Spahr Lead Editor: Steve Anglin Technical Reviewer: Ronald Petty Editorial Board: Steve Anglin, Pramila Balan, Aaron Black, Louise Corrigan, Jonathan Gennick, Robert Hutchinson, Celestin Suresh John, James Markham, Natalie Pao, Susan McDermott, Matthew Moodie, Ben Renow-Clarke, Gwenan Spearing Coordinating Editor: Mark Powers Copy Editor: Kezia Endsley Compositor: SPi Global Indexer: SPi Global Artist: SPi Global Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com , or visit www.springeronline.com . Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail rights@apress.com , or visit www.apress.com . Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales . Any source code or other supplementary materials referenced by the author in this text are available to readers at www.apress.com/9781484212790 . For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/ . Readers can also access source code at SpringerLink in the Supplementary Material section for each chapter. Printed on acid-free paper
For Laura, Penny and Imogen
(This page has no text content)
v Contents at a Glance Foreword ..............................................................................................................xxiii About the Author .................................................................................................xxvii About the Technical Reviewer ..............................................................................xxix Acknowledgments ................................................................................................xxxi Introduction ........................................................................................................xxxiii ■Part 1: Foundations and Scaffolding .................................................. 1 ■Chapter 1: Let’s Get It Started: Installing Ruby ..................................................... 3 ■Chapter 2: Programming == Joy: A Whistle-Stop Tour of Ruby and Object Orientation ........................................................................................................... 11 ■Chapter 3: Ruby’s Building Blocks: Data, Expressions, and Flow Control ........... 29 ■Chapter 4: Developing Your First Ruby Application ............................................. 73 ■Chapter 5: The Ruby Ecosystem .......................................................................... 93 ■Part 2: The Core of Ruby ................................................................. 105 ■Chapter 6: Classes, Objects, and Modules ......................................................... 107 ■Chapter 7: Projects and Libraries ...................................................................... 149 ■Chapter 8: Documentation, Error Handling, Debugging, and Testing ................. 163 ■Chapter 9: Files and Databases ......................................................................... 187 ■Chapter 10: Distributing Ruby Code and Libraries ............................................ 225 ■Chapter 11: Advanced Ruby Features................................................................ 243 ■Chapter 12: Tying It Together: Developing a Larger Ruby Application .............. 269
■ CONTENTS AT A GLANCE vi ■Part 3: Ruby Online ......................................................................... 303 ■Chapter 13: Two Web Application Approaches: Rails and Sinatra ..................... 305 ■Chapter 14: Ruby and the Internet .................................................................... 343 ■Chapter 15: Networking and Sockets ................................................................ 363 ■Chapter 16: Useful Ruby Libraries ..................................................................... 379 ■Appendix A: Ruby Primer and Review for Developers ....................................... 417 ■Appendix B: Useful Resources ........................................................................... 443 Index ..................................................................................................................... 449
vii Contents Foreword ..............................................................................................................xxiii About the Author .................................................................................................xxvii About the Technical Reviewer ..............................................................................xxix Acknowledgments ................................................................................................xxxi Introduction ........................................................................................................xxxiii ■Part 1: Foundations and Scaffolding .................................................. 1 ■Chapter 1: Let’s Get It Started: Installing Ruby ..................................................... 3 Installing Ruby .................................................................................................................. 4 Windows ................................................................................................................................................. 4 Mac OS X / macOS ................................................................................................................................. 6 Linux ....................................................................................................................................................... 7 Other Platforms ...................................................................................................................................... 9 Summary ........................................................................................................................ 10 ■Chapter 2: Programming == Joy: A Whistle-Stop Tour of Ruby and Object Orientation ........................................................................................................... 11 Baby Steps ..................................................................................................................... 11 irb: Interactive Ruby .............................................................................................................................. 12 Ruby Is “English for Computers” .......................................................................................................... 12 Why Ruby Makes a Great Programming Language .............................................................................. 13 Trails for the Mind ................................................................................................................................. 14 Turning Ideas into Ruby Code ......................................................................................... 15 How Ruby Understands Concepts with Objects and Classes ............................................................... 15 The Making of a Person ........................................................................................................................ 16
■ CONTENTS viii Basic Variables ..................................................................................................................................... 17 From People to Pets ............................................................................................................................. 18 Everything Is an Object .................................................................................................. 21 Kernel Methods .................................................................................................................................... 22 Passing Data to Methods ...................................................................................................................... 23 Using the Methods of the String Class ................................................................................................. 24 Using Ruby in a Non–Object-Oriented Style ................................................................... 25 Summary ........................................................................................................................ 26 ■Chapter 3: Ruby’s Building Blocks: Data, Expressions, and Flow Control ........... 29 Numbers and Expressions .............................................................................................. 29 Basic Expressions ................................................................................................................................. 29 Variables ............................................................................................................................................... 30 Comparison Operators and Expressions ............................................................................................... 31 Looping Through Numbers with Blocks and Iterators .......................................................................... 33 Floating Point Numbers ........................................................................................................................ 35 Constants .............................................................................................................................................. 36 Text and Strings ............................................................................................................. 36 String Literals ....................................................................................................................................... 36 String Expressions ................................................................................................................................ 37 Interpolation ......................................................................................................................................... 39 String Methods ..................................................................................................................................... 40 Regular Expressions and String Manipulation ...................................................................................... 41 Arrays and Lists .............................................................................................................. 47 Basic Arrays .......................................................................................................................................... 47 Splitting Strings into Arrays .................................................................................................................. 49 Array Iteration ....................................................................................................................................... 50 Other Array Methods ............................................................................................................................. 51 Hashes............................................................................................................................ 53 Basic Hash Methods ............................................................................................................................. 53 Hashes Within Hashes .......................................................................................................................... 55
■ CONTENTS ix Flow Control ................................................................................................................... 56 if and unless ......................................................................................................................................... 56 ?, the Ternary Operator ......................................................................................................................... 57 elsif and case ....................................................................................................................................... 58 while and until ...................................................................................................................................... 60 Code Blocks .......................................................................................................................................... 61 Other Useful Building Blocks .......................................................................................... 62 Dates and Times ................................................................................................................................... 62 Large Numbers ..................................................................................................................................... 65 Ranges .................................................................................................................................................. 66 Symbols ................................................................................................................................................ 68 Converting Objects to Other Classes .................................................................................................... 69 Summary ........................................................................................................................ 70 ■Chapter 4: Developing Your First Ruby Application ............................................. 73 Working with Source Code Files..................................................................................... 73 Creating a Test File ............................................................................................................................... 73 A Simple Source Code File ................................................................................................................... 75 Running Your Source Code ................................................................................................................... 75 Our Application: A Text Analyzer ..................................................................................... 77 Required Basic Features ....................................................................................................................... 77 Building the Basic Application .............................................................................................................. 78 Obtaining Some Dummy Text ................................................................................................................ 78 Loading Text Files and Counting Lines ................................................................................................. 79 Counting Characters ............................................................................................................................. 80 Counting Words .................................................................................................................................... 81 Counting Sentences and Paragraphs ................................................................................................... 82 Calculating Averages ............................................................................................................................ 83 The Source Code So Far ....................................................................................................................... 84
■ CONTENTS x Adding Extra Features .................................................................................................... 85 Percentage of “Useful” Words .............................................................................................................. 85 Summarizing by Finding “Interesting” Sentences ................................................................................ 87 Analyzing Files Other Than text.txt ....................................................................................................... 89 The Completed Program ................................................................................................. 90 Summary ........................................................................................................................ 92 ■Chapter 5: The Ruby Ecosystem .......................................................................... 93 Ruby’s History ................................................................................................................ 93 The Land of the Rising Sun ................................................................................................................... 93 Ruby’s Infl uences ................................................................................................................................. 94 Go West ................................................................................................................................................. 95 Alternative Ruby Implementations ........................................................................................................ 96 Ruby on Rails .................................................................................................................. 97 Why Rails Came into Existence ............................................................................................................ 97 How the Web (2.0) Was Won ................................................................................................................. 98 The Open Source Culture ............................................................................................... 98 What Is Open Source? .......................................................................................................................... 99 Where and How to Get Help ........................................................................................... 99 Mailing Lists ......................................................................................................................................... 99 Internet Relay Chat (IRC) ..................................................................................................................... 100 Documentation ................................................................................................................................... 101 Forums................................................................................................................................................ 101 Joining the Community ................................................................................................ 102 Give Help to Others ............................................................................................................................. 102 Contribute Code .................................................................................................................................. 102 News Sites and Sources ..................................................................................................................... 103 Summary ...................................................................................................................... 103
■ CONTENTS xi ■Part 2: The Core of Ruby ................................................................. 105 ■Chapter 6: Classes, Objects, and Modules ......................................................... 107 Why Use Object Orientation? ........................................................................................ 107 Object-Orientation Basics............................................................................................. 110 Local, Global, Object, and Class Variables .......................................................................................... 110 Class Methods versus Instance Methods ........................................................................................... 114 Inheritance .......................................................................................................................................... 116 Overriding Existing Methods ............................................................................................................... 118 Refl ection and Discovering an Object’s Methods ............................................................................... 120 Encapsulation ..................................................................................................................................... 121 Polymorphism ..................................................................................................................................... 125 Nested Classes ................................................................................................................................... 127 The Scope of Constants ...................................................................................................................... 128 Modules, Namespaces, and Mix-Ins ............................................................................. 129 Namespaces ....................................................................................................................................... 129 Mix-Ins ................................................................................................................................................ 131 Building a Dungeon Text Adventure with Objects ......................................................... 138 Dungeon Concepts.............................................................................................................................. 138 Creating the Initial Classes ................................................................................................................. 138 Structs: Quick and Easy Data Classes ................................................................................................ 139 Creating Rooms .................................................................................................................................. 142 Making the Dungeon Work ................................................................................................................. 142 Summary ...................................................................................................................... 146 ■Chapter 7: Projects and Libraries ...................................................................... 149 Projects and Using Code from Other Files .................................................................... 149 Basic File Inclusion ............................................................................................................................. 149 Inclusions from Other Directories ....................................................................................................... 151 Logic and Including Code ................................................................................................................... 152 Nested Inclusions ............................................................................................................................... 153
■ CONTENTS xii Libraries ....................................................................................................................... 153 The Standard Libraries ....................................................................................................................... 154 RubyGems ........................................................................................................................................... 156 Bundler ............................................................................................................................................... 159 Summary ...................................................................................................................... 160 ■Chapter 8: Documentation, Error Handling, Debugging, and Testing ................. 163 Documentation ............................................................................................................. 163 Generating Documentation with RDoc ................................................................................................ 163 RDoc Techniques ................................................................................................................................ 165 Producing Documentation for an Entire Project ................................................................................. 165 Modifi ers and Options......................................................................................................................... 167 Debugging and Errors .................................................................................................. 168 Exceptions and Error Handling ........................................................................................................... 168 Catch and Throw ................................................................................................................................. 172 The Ruby Debugger ............................................................................................................................ 172 Testing .......................................................................................................................... 175 The Philosophy of Test-Driven Development ................................................................ 175 Unit Testing ......................................................................................................................................... 177 More Minitest Assertions .................................................................................................................... 179 Benchmarking and Profi ling ......................................................................................... 180 Simple Benchmarking ........................................................................................................................ 181 Profi ling .............................................................................................................................................. 182 Summary ...................................................................................................................... 184 ■Chapter 9: Files and Databases ......................................................................... 187 Input and Output ........................................................................................................... 187 Keyboard Input ................................................................................................................................... 187 File I/O ................................................................................................................................................ 188
■ CONTENTS xiii Basic Databases ........................................................................................................... 204 Text File Databases ............................................................................................................................. 204 Storing Objects and Data Structures .................................................................................................. 207 Relational Databases and SQL ..................................................................................... 210 Relational Database Concepts ............................................................................................................ 210 MySQL, PostgreSQL, and SQLite ......................................................................................................... 211 Installing SQLite .................................................................................................................................. 212 A Crash Course in Basic Database Operations and SQL ..................................................................... 212 Using SQLite with Ruby ...................................................................................................................... 217 Connecting to Other Database Systems ............................................................................................. 220 ActiveRecord: A Sneak Peek ............................................................................................................... 222 Summary ...................................................................................................................... 223 ■Chapter 10: Distributing Ruby Code and Libraries ............................................ 225 Distributing Basic Ruby Programs ................................................................................ 225 The Shebang Line ............................................................................................................................... 226 Associated File Types in Windows ...................................................................................................... 227 Detecting Ruby’s Runtime Environment ....................................................................... 228 Easy OS Detection with RUBY_PLATFORM ......................................................................................... 228 Environment Variables ........................................................................................................................ 228 Accessing Command-Line Arguments ................................................................................................ 230 Distributing Ruby Libraries as Gems ............................................................................ 231 Creating a Gem ................................................................................................................................... 231 Distributing a Gem .............................................................................................................................. 235 RubyGems.org .................................................................................................................................... 235 Deploying Ruby Applications as Remote Services ....................................................... 236 CGI Scripts .......................................................................................................................................... 236 Generic HTTP Servers ......................................................................................................................... 238 Summary ...................................................................................................................... 241
■ CONTENTS xiv ■Chapter 11: Advanced Ruby Features................................................................ 243 Dynamic Code Execution .............................................................................................. 243 Bindings .............................................................................................................................................. 244 Other Forms of eval ............................................................................................................................ 245 Creating Your Own Version of attr_accessor ...................................................................................... 246 Running Other Programs from Ruby ............................................................................ 248 Getting Results from Other Programs ................................................................................................. 248 Transferring Execution to Another Program ........................................................................................ 248 Running Two Programs at the Same Time .......................................................................................... 248 Interacting with Another Program ...................................................................................................... 249 Safely Handling Data and Dangerous Methods ............................................................ 250 Tainted Data and Objects .................................................................................................................... 250 Safe Levels ......................................................................................................................................... 252 Working with Microsoft Windows ................................................................................. 253 Using the Windows API ....................................................................................................................... 253 Controlling Windows Programs .......................................................................................................... 256 Threads ........................................................................................................................ 257 Basic Ruby Threads in Action ............................................................................................................. 257 Advanced Thread Operations .............................................................................................................. 258 Fibers ........................................................................................................................... 259 A Fiber in Action ................................................................................................................................. 260 Passing Data to a Fiber ....................................................................................................................... 260 Why Fibers? ........................................................................................................................................ 261 RubyInline ..................................................................................................................... 262 Why Use C as an Inline Language? ..................................................................................................... 262 Creating a Basic Method or Function ................................................................................................. 262 Benchmarking C versus Ruby ...................................................................................... 264 Unicode, Character Encodings, and UTF-8 Support ...................................................... 265 Ruby 1.9 and Beyond’s Character Encoding Support ......................................................................... 265 Summary ...................................................................................................................... 266
■ CONTENTS xv ■Chapter 12: Tying It Together: Developing a Larger Ruby Application .............. 269 Let’s Build a Bot ........................................................................................................... 269 What Is a Bot? .................................................................................................................................... 269 Why a Bot?.......................................................................................................................................... 270 How?................................................................................................................................................... 270 Creating a Simple Text Processing Library ................................................................... 271 Building the WordPlay Library ............................................................................................................ 271 Testing the Library .............................................................................................................................. 276 WordPlay’s Source Code ..................................................................................................................... 279 Building the Bot’s Core ................................................................................................. 281 The Program’s Lifecycle and Parts ..................................................................................................... 281 Bot Data .............................................................................................................................................. 282 Constructing the Bot Class and Data Loader ...................................................................................... 285 The response_to Method .................................................................................................................... 287 Playing with the Bot............................................................................................................................ 291 Main Bot Code Listing .................................................................................................. 295 bot.rb .................................................................................................................................................. 295 basic_client.rb .................................................................................................................................... 297 Extending the Bot ......................................................................................................... 298 Using Text Files as a Source of Conversation ..................................................................................... 298 Connecting the Bot to the Web ........................................................................................................... 299 Bot-to-Bot Conversations ................................................................................................................... 301 Summary ...................................................................................................................... 302 ■Part 3: Ruby Online ......................................................................... 303 ■Chapter 13: Two Web Application Approaches: Rails and Sinatra ..................... 305 Background .................................................................................................................. 305 The Limitations and Benefi ts of Our Approach ................................................................................... 305 Pros and Cons of the Frameworks Covered........................................................................................ 306
■ CONTENTS xvi Rails: Ruby’s Killer App ................................................................................................. 306 What Is Rails and Why Use It? ............................................................................................................ 306 Installing Rails .................................................................................................................................... 309 Building a Basic Rails Application ...................................................................................................... 310 Controllers and Views ......................................................................................................................... 322 Models and Relationships................................................................................................................... 327 Sessions and Filters ........................................................................................................................... 329 Other Features .................................................................................................................................... 330 Where to Go Next: References, Books, and Example Apps ................................................................. 332 Sinatra: Lightweight, Simple Web Applications ............................................................ 333 The Extreme Simplicity of Sinatra ...................................................................................................... 333 General URL Routing and Parameter Matching .................................................................................. 334 Views, Templates, and Static Files ...................................................................................................... 335 Request Flow Control ......................................................................................................................... 339 Summary ...................................................................................................................... 341 ■Chapter 14: Ruby and the Internet .................................................................... 343 HTTP and the Web ........................................................................................................ 343 Downloading Web Pages .................................................................................................................... 343 Processing Web Content ..................................................................................................................... 351 E-Mail ........................................................................................................................... 354 Receiving Mail with POP3 ................................................................................................................... 354 Sending Mail with SMTP ..................................................................................................................... 356 Sending Mail with ActionMailer .......................................................................................................... 357 File Transfers with FTP ................................................................................................. 358 Connection and Basic FTP Actions ..................................................................................................... 358 Downloading Files .............................................................................................................................. 360 Uploading Files ................................................................................................................................... 360 Summary ...................................................................................................................... 362
■ CONTENTS xvii ■Chapter 15: Networking and Sockets ................................................................ 363 Networking Concepts ................................................................................................... 363 TCP and UDP ....................................................................................................................................... 363 IP Addresses and DNS ........................................................................................................................ 364 Basic Network Operations ............................................................................................ 364 Checking Machine and Service Availability ........................................................................................ 364 Performing DNS Queries ..................................................................................................................... 365 Connecting to a TCP Server Directly ................................................................................................... 367 Servers and Clients ...................................................................................................... 368 UDP Client and Server ........................................................................................................................ 368 Building a Simple TCP Server ............................................................................................................. 370 Multi-Client TCP Servers ..................................................................................................................... 372 GServer ............................................................................................................................................... 372 A GServer-Based Chat Server ............................................................................................................. 374 Web/HTTP Servers .............................................................................................................................. 377 Summary ...................................................................................................................... 378 ■Chapter 16: Useful Ruby Libraries ..................................................................... 379 abbrev .......................................................................................................................... 379 Installation .......................................................................................................................................... 380 Examples ............................................................................................................................................ 380 Further Information ............................................................................................................................ 381 base64 .......................................................................................................................... 381 Installation .......................................................................................................................................... 381 Examples ............................................................................................................................................ 381 Further Information ............................................................................................................................ 383 Benchmark ................................................................................................................... 383 Installation .......................................................................................................................................... 383 Examples ............................................................................................................................................ 384 Further Information ............................................................................................................................ 384
■ CONTENTS xviii cgi ................................................................................................................................ 384 Installation .......................................................................................................................................... 385 Examples ............................................................................................................................................ 385 Further Information ............................................................................................................................ 389 chronic ......................................................................................................................... 389 Installation .......................................................................................................................................... 389 Examples ............................................................................................................................................ 389 Further Information ............................................................................................................................ 390 Digest ........................................................................................................................... 390 Installation .......................................................................................................................................... 391 Examples ............................................................................................................................................ 391 Further Information ............................................................................................................................ 393 English .......................................................................................................................... 393 Installation .......................................................................................................................................... 393 Examples ............................................................................................................................................ 393 Further Information ............................................................................................................................ 394 ERB ............................................................................................................................... 395 Installation .......................................................................................................................................... 395 Examples ............................................................................................................................................ 395 Further Information ............................................................................................................................ 397 json ............................................................................................................................... 397 Installation .......................................................................................................................................... 397 Examples ............................................................................................................................................ 398 Further Information ............................................................................................................................ 398 logger ........................................................................................................................... 399 Installation .......................................................................................................................................... 399 Examples ............................................................................................................................................ 399 Further Information ............................................................................................................................ 401
■ CONTENTS xix Nokogiri ........................................................................................................................ 401 Installation .......................................................................................................................................... 401 Examples ............................................................................................................................................ 401 Further Information ............................................................................................................................ 402 pp ................................................................................................................................. 402 Installation .......................................................................................................................................... 402 Examples ............................................................................................................................................ 402 Further Information ............................................................................................................................ 404 RedCarpet ..................................................................................................................... 404 Installation .......................................................................................................................................... 404 Examples ............................................................................................................................................ 404 Further Information ............................................................................................................................ 405 StringScanner .............................................................................................................. 405 Installation .......................................................................................................................................... 405 Examples ............................................................................................................................................ 406 Further Information ............................................................................................................................ 408 tempfi le ........................................................................................................................ 408 Installation .......................................................................................................................................... 408 Examples ............................................................................................................................................ 408 Further Information ............................................................................................................................ 410 uri ................................................................................................................................. 410 Installation .......................................................................................................................................... 410 Examples ............................................................................................................................................ 411 Further Information ............................................................................................................................ 414 zlib ................................................................................................................................ 414 Installation .......................................................................................................................................... 414 Examples ............................................................................................................................................ 414 Further Information ............................................................................................................................ 415
The above is a preview of the first 20 pages. Register to read the complete e-book.