Ruby Cookbook. 2nd Edition
- Autorzy:
- Lucas Carlson, Leonard Richardson
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 992
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Ruby Cookbook. 2nd Edition
Why spend time on coding problems that others have already solved when you could be making real progress on your Ruby project? This updated cookbook provides more than 350 recipes for solving common problems, on topics ranging from basic data structures, classes, and objects, to web development, distributed programming, and multithreading.
Revised for Ruby 2.1, each recipe includes a discussion on why and how the solution works. You’ll find recipes suitable for all skill levels, from Ruby newbies to experts who need an occasional reference. With Ruby Cookbook, you’ll not only save time, but keep your brain percolating with new ideas as well.
Recipes cover:
- Data structures including strings, numbers, date and time, arrays, hashes, files and directories
- Using Ruby’s code blocks, also known as closures
- OOP features such as classes, methods, objects, and modules
- XML and HTML, databases and persistence, and graphics and other formats
- Web development with Rails and Sinatra
- Internet services, web services, and distributed programming
- Software testing, debugging, packaging, and distributing
- Multitasking, multithreading, and extending Ruby with other languages
Wybrane bestsellery
-
The popularity of REST in recent years has led to tremendous growth in almost-RESTful APIs that don’t include many of the architecture’s benefits. With this practical guide, you’ll learn what it takes to design usable REST APIs that evolve over time. By focusing on solutions tha...(143.65 zł najniższa cena z 30 dni)
143.65 zł
169.00 zł(-15%) -
Książka znacznie przyspieszy Twoją pracę. Znajdziesz tu kilkaset praktycznych rozwiązań problemów wraz z przejrzystym komentarzem oraz tysiące wierszy proponowanego kodu, który będziesz mógł wykorzystać w swoich projektach.(29.90 zł najniższa cena z 30 dni)
54.45 zł
99.00 zł(-45%) -
Platform-as-a-Service (PaaS) is gaining serious traction among web and mobile developers, but as new PaaS providers emerge and existing vendors upgrade their features, it’s hard to keep track of what PaaS has to offer. This thorough introduction takes you through the PaaS model from a devel...
Programming for PaaS. A Practical Guide to Coding for Platform-as-a-Service Programming for PaaS. A Practical Guide to Coding for Platform-as-a-Service
(80.73 zł najniższa cena z 30 dni)80.73 zł
94.99 zł(-15%) -
This book will help you adopt the Ruby mindset and get to grips with Ruby-related concepts. You'll learn about setting up your local environment, Ruby syntax, popular frameworks, and more. A language-agnostic approach will help you avoid common pitfalls and start integrating Ruby into your projects.
From PHP to Ruby on Rails. Transition from PHP to Ruby by leveraging your existing backend programming knowledge From PHP to Ruby on Rails. Transition from PHP to Ruby by leveraging your existing backend programming knowledge
-
Are you interested in User Experience, which has become increasingly popular in recent years? You're in the right place. In this e-book we collected real and reliable information about User Experience in one place. Topics included: 7 factors of outstanding UX User Experience vs Cus...
-
Chcesz rozpocząć przygodę z Figmą, ale nie wiesz od czego zacząć? Ten e-book jest dla Ciebie! Wspólnie przejdziemy przez interfejs Figmy, zaprezentujemy Ci najważniejsze funkcje oraz pomożemy stworzyć Ci pierwszy projekt! Pobierz darmowego e-booka i poznaj możliwości programu: Podstawy inte...
-
This book enables your successful DevOps transformation by providing practical solutions for the science of software delivery performance using GitHub. The chapters guide you through the transformation by helping you apply lean management, engineering, and DevSecOps practices like continuous deli...
Accelerate DevOps with GitHub. Enhance software delivery performance with GitHub Issues, Projects, Actions, and Advanced Security Accelerate DevOps with GitHub. Enhance software delivery performance with GitHub Issues, Projects, Actions, and Advanced Security
-
Polished Ruby Programming teaches you the design principles involved in writing high-performance Ruby code that is maintainable in the long term. This book also focuses on explaining the best practices and trade-offs between implementation approaches so that you can choose the most appropriate ap...
Polished Ruby Programming. Build better software with more intuitive, maintainable, scalable, and high-performance Ruby code Polished Ruby Programming. Build better software with more intuitive, maintainable, scalable, and high-performance Ruby code
-
To drugie, zaktualizowane i uzupełnione wydanie cenionego poradnika dla projektantów, którzy chcą tworzyć rzeczy użyteczne, przydatne i lubiane przez użytkowników. Zawiera wnikliwą analizę 100 niezwykle ważnych z punktu widzenia projektanta kwestii, będącą efektem przestudiowania setek publikacji...
100 rzeczy, które każdy projektant powinien wiedzieć o potencjalnych klientach. Wydanie II 100 rzeczy, które każdy projektant powinien wiedzieć o potencjalnych klientach. Wydanie II
(24.90 zł najniższa cena z 30 dni)32.45 zł
59.00 zł(-45%) -
Ta książka jest kolejnym, uaktualnionym i uzupełnionym wydaniem lubianego podręcznika projektowania responsywnych stron internetowych. Omówiono w niej wszystkie nowości i ulepszenia z dziedziny projektowania responsywnych stron internetowych, w tym zapewnianie lepszej dostępności, fonty zmienne c...
Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3. Wydanie III Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3. Wydanie III
(29.90 zł najniższa cena z 30 dni)37.95 zł
69.00 zł(-45%)
Ebooka "Ruby Cookbook. 2nd Edition" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Ruby Cookbook. 2nd Edition" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Ruby Cookbook. 2nd Edition" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-493-7367-2, 9781449373672
- Data wydania ebooka:
- 2015-03-24 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 17.0MB
- Rozmiar pliku Mobi:
- 17.0MB
Spis treści ebooka
- Preface
- Life Is Short
- Audience
- The Structure of This Book
- How the Code Listings Work
- Installing the Software
- Platform Differences, Version Differences, and Other Headaches
- Other Resources
- Conventions Used in This Book
- Using Code Examples
- Comments and Questions
- Acknowledgments
- 1. Ruby 2.1
- 1.1. Whats Different Between Ruby 1.8 and 2.1?
- Problem
- Solution
- 1.1. Whats Different Between Ruby 1.8 and 2.1?
- 1.2. YARV (Yet Another Ruby VM) Bytecode Interpreter
- Problem
- Solution
- Discussion
- See Also
- 1.3. Syntax Changes
- Problem
- Solution
- See Also
- 1.4. Keyword Arguments
- Problem
- Solution
- Discussion
- 1.5. Performance Enhancements
- Problem
- Solution
- See Also
- 1.6. Refinements
- Problem
- Solution
- Discussion
- 1.7. Debugging with DTrace and TracePoint
- Problem
- Solution
- Discussion
- See Also
- 1.8. Module Prepending
- Problem
- Solution
- Discussion
- See Also
- 1.9. New Methods
- Problem
- Solution
- See Also
- 1.10. New Classes
- Problem
- Solution
- See Also
- 1.11. New Standard Libraries
- Problem
- Solution
- See Also
- 1.12. Whats Next?
- Problem
- Solution
- See Also
- 2. Strings
- 2.1. Building a String from Parts
- Problem
- Solution
- Discussion
- 2.1. Building a String from Parts
- 2.2. Substituting Variables into Strings
- Problem
- Solution
- Discussion
- See Also
- 2.3. Substituting Variables into an Existing String
- Problem
- Solution
- Discussion
- See Also
- 2.4. Reversing a String by Words or Characters
- Problem
- Solution
- Discussion
- See Also
- 2.5. Representing Unprintable Characters
- Problem
- Solution
- Discussion
- 2.6. Converting Between Characters and Values
- Problem
- Solution
- Discussion
- See Also
- 2.7. Converting Between Strings and Symbols
- Problem
- Solution
- Discussion
- See Also
- 2.8. Processing a String One Character at a Time
- Problem
- Solution
- Discussion
- See Also
- 2.9. Processing a String One Word at a Time
- Problem
- Solution
- Discussion
- See Also
- 2.10. Changing the Case of a String
- Problem
- Solution
- Discussion
- See Also
- 2.11. Managing Whitespace
- Problem
- Solution
- Discussion
- 2.12. Testing Whether an Object Is String-Like
- Problem
- Solution
- Discussion
- See Also
- 2.13. Getting the Parts of a String You Want
- Problem
- Solution
- Discussion
- See Also
- 2.14. Word-Wrapping Lines of Text
- Problem
- Solution
- Discussion
- See Also
- 2.15. Generating a Succession of Strings
- Problem
- Solution
- Discussion
- See Also
- 2.16. Matching Strings with Regular Expressions
- Problem
- Solution
- Discussion
- See Also
- 2.17. Replacing Multiple Patterns in a Single Pass
- Problem
- Solution
- Discussion
- See Also
- 2.18. Validating an Email Address
- Problem
- Solution
- Discussion
- Check validity, not correctness
- See Also
- 2.19. Classifying Text with a Bayesian Analyzer
- Problem
- Solution
- Discussion
- See Also
- 3. Numbers
- 3.1. Parsing a Number from a String
- Problem
- Solution
- Discussion
- See Also
- 3.1. Parsing a Number from a String
- 3.2. Comparing Floating-Point Numbers
- Problem
- Solution
- Discussion
- See Also
- 3.3. Representing Numbers to Arbitrary Precision
- Problem
- Solution
- Discussion
- See Also
- 3.4. Representing Rational Numbers
- Problem
- Solution
- Discussion
- See Also
- 3.5. Generating Random Numbers
- Problem
- Solution
- Discussion
- See Also
- 3.6. Converting Between Numeric Bases
- Problem
- Solution
- Discussion
- See Also
- 3.7. Taking Logarithms
- Problem
- Solution
- Discussion
- See Also
- 3.8. Finding Mean, Median, and Mode
- Problem
- Solution
- Discussion
- The standard deviation
- See Also
- 3.9. Converting Between Degrees and Radians
- Problem
- Solution
- Discussion
- See Also
- 3.10. Multiplying Matrices
- Problem
- Solution
- Discussion
- See Also
- 3.11. Solving a System of Linear Equations
- Problem
- Solution
- Discussion
- See Also
- 3.12. Using Complex Numbers
- Problem
- Solution
- Discussion
- See Also
- 3.13. Simulating a Subclass of Fixnum
- Problem
- Solution
- Discussion
- See Also
- 3.14. Doing Math with Roman Numbers
- Problem
- Solution
- Discussion
- See Also
- 3.15. Generating a Sequence of Numbers
- Problem
- Solution
- Discussion
- See Also
- 3.16. Generating Prime Numbers
- Problem
- Solution
- Discussion
- Checking primality
- See Also
- 3.17. Checking a Credit Card Checksum
- Problem
- Solution
- Discussion
- See Also
- 4. Date and Time
- 4.1. Finding Todays Date
- Problem
- Solution
- Discussion
- See Also
- 4.1. Finding Todays Date
- 4.2. Parsing Dates, Precisely or Fuzzily
- Problem
- Solution
- Discussion
- See Also
- 4.3. Printing a Date
- Problem
- Solution
- Discussion
- See Also
- 4.4. Iterating Over Dates
- Problem
- Solution
- Discussion
- See Also
- 4.5. Doing Date Arithmetic
- Problem
- Solution
- Discussion
- See Also
- 4.6. Counting the Days Since an Arbitrary Date
- Problem
- Solution
- Discussion
- See Also
- 4.7. Converting Between Time Zones
- Problem
- Solution
- Discussion
- See Also
- 4.8. Checking Whether Daylight Saving Time Is in Effect
- Problem
- Solution
- Discussion
- See Also
- 4.9. Converting Between Time and DateTime Objects
- Problem
- Solution
- Discussion
- See Also
- 4.10. Finding the Day of the Week
- Problem
- Solution
- Discussion
- See Also
- 4.11. Handling Commercial Dates
- Problem
- Solution
- Discussion
- See Also
- 4.12. Running a Code Block Periodically
- Problem
- Solution
- Discussion
- See Also
- 4.13. Waiting a Certain Amount of Time
- Problem
- Solution
- Discussion
- Waking up early
- See Also
- 4.14. Adding a Timeout to a Long-Running Operation
- Problem
- Solution
- Discussion
- See Also
- 5. Arrays
- 5.1. Iterating Over an Array
- Problem
- Solution
- Discussion
- See Also
- 5.1. Iterating Over an Array
- 5.2. Rearranging Values Without Using Temporary Variables
- Problem
- Solution
- Discussion
- 5.3. Stripping Duplicate Elements from an Array
- Problem
- Solution
- Discussion
- 5.4. Reversing an Array
- Problem
- Solution
- Discussion
- See Also
- 5.5. Sorting an Array
- Problem
- Solution
- Discussion
- See Also
- 5.6. Ignoring Case When Sorting Strings
- Problem
- Solution
- Discussion
- See Also
- 5.7. Making Sure a Sorted Array Stays Sorted
- Problem
- Solution
- Discussion
- See Also
- 5.8. Summing the Items of an Array
- Problem
- Solution
- Discussion
- See Also
- 5.9. Sorting an Array by Frequency of Appearance
- Problem
- Solution
- Discussion
- See Also
- 5.10. Shuffling an Array
- Problem
- Solution
- Discussion
- See Also
- 5.11. Getting the N Smallest Items of an Array
- Problem
- Solution
- Discussion
- See Also
- 5.12. Building a Hash from an Array
- Problem
- Solution
- Discussion
- References
- 5.13. Extracting Portions of Arrays
- Problem
- Solution
- Discussion
- See Also
- 5.14. Computing Set Operations on Arrays
- Problem
- Solution
- Discussion
- Complement
- Cartesian product
- See Also
- 5.15. Partitioning or Classifying a Set
- Problem
- Solution
- Discussion
- Implementation for arrays
- 6. Hashes
- 6.1. Using Symbols as Hash Keys
- Problem
- Solution
- Discussion
- See Also
- 6.1. Using Symbols as Hash Keys
- 6.2. Creating a Hash with a Default Value
- Problem
- Solution
- Discussion
- See Also
- 6.3. Adding Elements to a Hash
- Problem
- Solution
- Discussion
- See Also
- 6.4. Removing Elements from a Hash
- Problem
- Solution
- Discussion
- See Also
- 6.5. Using an Array or Other Modifiable Object as a Hash Key
- Problem
- Solution
- Discussion
- See Also
- 6.6. Keeping Multiple Values for the Same Hash Key
- Problem
- Solution
- Discussion
- See Also
- 6.7. Iterating Over a Hash
- Problem
- Solution
- Discussion
- Using an array as intermediary
- See Also
- 6.8. Iterating Over a Hash in Insertion Order
- Problem
- Solution
- Discussion
- See Also
- 6.9. Printing a Hash
- Problem
- Solution
- Discussion
- See Also
- 6.10. Inverting a Hash
- Problem
- Solution
- Discussion
- See Also
- 6.11. Choosing Randomly from a Weighted List
- Problem
- Solution
- Discussion
- See Also
- 6.12. Building a Histogram
- Problem
- Solution
- Discussion
- See Also
- 6.13. Remapping the Keys and Values of a Hash
- Problem
- Solution
- Discussion
- See Also
- 6.14. Extracting Portions of Hashes
- Problem
- Solution
- Discussion
- See Also
- 6.15. Searching a Hash with Regular Expressions
- Problem
- Solution
- Discussion
- 7. Files and Directories
- 7.1. Checking to See If a File Exists
- Problem
- Solution
- Discussion
- See Also
- 7.1. Checking to See If a File Exists
- 7.2. Checking Your Access to a File
- Problem
- Solution
- Discussion
- setuid and setgid Scripts
- See Also
- 7.3. Changing the Permissions on a File
- Problem
- Solution
- Discussion
- See Also
- 7.4. Seeing When a File Was Last Used
- Problem
- Solution
- Discussion
- See Also
- 7.5. Listing a Directory
- Problem
- Solution
- Discussion
- See Also
- 7.6. Reading the Contents of a File
- Problem
- Solution
- Discussion
- See Also
- 7.7. Writing to a File
- Problem
- Solution
- Discussion
- Buffered I/O
- See Also
- 7.8. Writing to a Temporary File
- Problem
- Solution
- Discussion
- 7.9. Picking a Random Line from a File
- Problem
- Solution
- Discussion
- See Also
- 7.10. Comparing Two Files
- Problem
- Solution
- Discussion
- See Also
- 7.11. Performing Random Access on Read-Once Input Streams
- Problem
- Solution
- Discussion
- See Also
- 7.12. Walking a Directory Tree
- Problem
- Solution
- Discussion
- See Also
- 7.13. Locking a File
- Problem
- Solution
- Discussion
- Nonblocking Locks
- See Also
- 7.14. Backing Up to Versioned Filenames
- Problem
- Solution
- Discussion
- See Also
- 7.15. Pretending a String Is a File
- Problem
- Solution
- Discussion
- See Also
- 7.16. Redirecting Standard Input or Output
- Problem
- Solution
- Discussion
- See Also
- 7.17. Processing a Binary File
- Problem
- Solution
- Discussion
- An MP3 Example
- See Also
- 7.18. Deleting a File
- Problem
- Solution
- Discussion
- 7.19. Truncating a File
- Problem
- Solution
- Discussion
- 7.20. Finding the Files You Want
- Problem
- Solution
- Discussion
- See Also
- 7.21. Finding and Changing the Current Working Directory
- Problem
- Solution
- Discussion
- See Also
- 8. Code Blocks and Iteration
- 8.1. Creating and Invoking a Block
- Problem
- Solution
- Discussion
- See Also
- 8.1. Creating and Invoking a Block
- 8.2. Writing a Method That Accepts a Block
- Problem
- Solution
- Discussion
- See Also
- 8.3. Binding a Block Argument to a Variable
- Problem
- Solution
- Discussion
- See Also
- 8.4. Blocks as Closures: Using Outside Variables Within a Code Block
- Problem
- Solution
- Discussion
- 8.5. Writing an Iterator Over a Data Structure
- Problem
- Solution
- Discussion
- See Also
- 8.6. Changing the Way an Object Iterates
- Problem
- Discussion
- Discussion
- See Also
- 8.7. Writing Block Methods That Classify or Collect
- Problem
- Solution
- Discussion
- See Also
- 8.8. Stopping an Iteration
- Problem
- Solution
- Discussion
- See Also
- 8.9. Looping Through Multiple Iterables in Parallel
- Problem
- Solution
- Discussion
- See Also
- 8.10. Hiding Setup and Cleanup in a Block Method
- Problem
- Solution
- Discussion
- See Also
- 8.11. Coupling Systems Loosely with Callbacks
- Problem
- Solution
- Discussion
- 9. Objects and Classes
- 9.1. Managing Instance Data
- Problem
- Solution
- Discussion
- See Also
- 9.1. Managing Instance Data
- 9.2. Managing Class Data
- Problem
- Solution
- Discussion
- See Also
- 9.3. Checking Class or Module Membership
- Problem
- Solution
- Discussion
- See Also
- 9.4. Writing an Inherited Class
- Problem
- Solution
- Discussion
- See Also
- 9.5. Overloading Methods
- Problem
- Solution
- Discussion
- See Also
- 9.6. Validating and Modifying Attribute Values
- Problem
- Solution
- Discussion
- See Also
- 9.7. Defining a Virtual Attribute
- Problem
- Solution
- Discussion
- See Also
- 9.8. Delegating Method Calls to Another Object
- Problem
- Solution
- Discussion
- See Also
- 9.9. Converting and Coercing Objects to Different Types
- Problem
- Solution
- Discussion
- Number conversion and coercion
- Other conversion methods
- See Also
- 9.10. Getting a Human-Readable Printout of Any Object
- Problem
- Solution
- Discussion
- 9.11. Accepting or Passing a Variable Number of Arguments
- Problem
- Solution
- Discussion
- 9.12. Using Keyword Arguments
- Problem
- Solution
- Discussion
- See Also
- 9.13. Calling a Superclasss Method
- Problem
- Solution
- Discussion
- 9.14. Creating an Abstract Method
- Problem
- Solution
- Discussion
- 9.15. Freezing an Object to Prevent Changes
- Problem
- Solution
- Discussion
- See Also
- 9.16. Making a Copy of an Object
- Problem
- Solution
- Discussion
- See Also
- 9.17. Declaring Constants
- Problem
- Solution
- Discussion
- See Also
- 9.18. Implementing Class and Singleton Methods
- Problem
- Solution
- Discussion
- 9.19. Controlling Access by Making Methods Private
- Problem
- Solution
- Discussion
- See Also
- 10. Modules and Namespaces
- 10.1. Simulating Multiple Inheritance with Mixins
- Problem
- Solution
- Discussion
- See Also
- 10.1. Simulating Multiple Inheritance with Mixins
- 10.2. Extending Specific Objects with Modules
- Problem
- Solution
- Discussion
- See Also
- 10.3. Mixing in Class Methods
- Problem
- Solution
- Discussion
- See Also
- 10.4. Implementing Enumerable: Write One Method, Get 48 Free
- Problem
- Solution
- Discussion
- See Also
- 10.5. Avoiding Naming Collisions with Namespaces
- Problem
- Solution
- Discussion
- See Also
- 10.6. Automatically Loading Libraries as Needed
- Problem
- Solution
- Discussion
- 10.7. Including Namespaces
- Problem
- Solution
- Discussion
- See Also
- 10.8. Initializing Instance Variables Defined by a Module
- Problem
- Solution
- Discussion
- See Also
- 10.9. Automatically Initializing Mixed-in Modules
- Problem
- Solution
- Discussion
- See Also
- 10.10. Prepending Modules
- Problem
- Solution
- Discussion
- 11. Reflection and Metaprogramming
- 11.1. Finding an Objects Class and Superclass
- Problem
- Solution
- Discussion
- See Also
- 11.1. Finding an Objects Class and Superclass
- 11.2. Listing an Objects Methods
- Problem
- Solution
- Discussion
- See Also
- 11.3. Listing Methods Unique to an Object
- Problem
- Solution
- Discussion
- See Also
- 11.4. Getting a Reference to a Method
- Problem
- Solution
- Discussion
- See Also
- 11.5. Fixing Bugs in Someone Elses Class
- Problem
- Solutions
- Discussion
- See Also
- 11.6. Listening for Changes to a Class
- Problem
- Solution
- Discussion
- See Also
- 11.7. Checking Whether an Object Has Necessary Attributes
- Problem
- Solution
- Discussion
- See Also
- 11.8. Responding to Calls to Undefined Methods
- Problem
- Solution
- Discussion
- See Also
- 11.9. Automatically Initializing Instance Variables
- Problem
- Solution
- Discussion
- 11.10. Avoiding Boilerplate Code with Metaprogramming
- Problem
- Solution
- Discussion
- See Also
- 11.11. Metaprogramming with String Evaluations
- Problem
- Solution
- Discussion
- 11.12. Evaluating Code in an Earlier Context
- Problem
- Solution
- Discussion
- See Also
- 11.13. Undefining a Method
- Problem
- Solution
- Discussion
- See Also
- 11.14. Aliasing Methods
- Problem
- Solution
- Discussion
- See Also
- 11.15. Doing Aspect-Oriented Programming
- Problem
- Solution
- Discussion
- See Also
- 11.16. Enforcing Software Contracts
- Problem
- Solution
- Discussion
- See Also
- 12. XML and HTML
- 12.1. Checking That XML Is Well Formed
- Problem
- Solution
- Discussion
- See Also
- 12.1. Checking That XML Is Well Formed
- 12.2. Extracting Data from a Documents Tree Structure
- Problem
- Solution
- Discussion
- See Also
- 12.3. Extracting Data While Parsing a Document
- Problem
- Solution
- Discussion
- See Also
- 12.4. Navigating a Document with XPath
- Problem
- Solution
- Discussion
- See Also
- 12.5. Converting an XML Document into a Hash
- Problem
- Solution
- Discussion
- See Also
- 12.6. Validating an XML Document
- Problem
- Solution
- Discussion
- See Also
- 12.7. Substituting XML Entities
- Problem
- Solution
- Discussion
- See Also
- 12.8. Creating and Modifying XML Documents
- Problem
- Solution
- Discussion
- See Also
- 12.9. Compressing Whitespace in an XML Document
- Problem
- Solution
- Discussion
- See Also
- 12.10. Guessing a Documents Encoding
- Problem
- Solution
- Discussion
- See Also
- 12.11. Converting from One Encoding to Another
- Problem
- Solution
- Discussion
- See Also
- 12.12. Extracting All the URLs from an HTML Document
- Problem
- Solution
- Discussion
- See Also
- 12.13. Transforming Plain Text to HTML
- Problem
- Solution
- Discussion
- See Also
- 12.14. Converting HTML Documents from the Web into Text
- Problem
- Solution
- Discussion
- See Also
- 12.15. Creating a Simple Feed Aggregator
- Problem
- Solution
- See Also
- 13. Graphics and Other File Formats
- 13.1. Thumbnailing Images
- Problem
- Solution
- Discussion
- See Also
- 13.1. Thumbnailing Images
- 13.2. Adding Text to an Image
- Problem
- Solution
- Discussion
- See Also
- 13.3. Converting One Image Format to Another
- Problem
- Solution
- Discussion
- See Also
- 13.4. Graphing Data
- Problem
- Solution
- Discussion
- See Also
- 13.5. Adding Graphical Context with Sparklines
- Problem
- Solution
- Discussion
- See Also
- 13.6. Symmetrically Encrypting Data
- Problem
- Solution
- Discussion
- See Also
- 13.7. Parsing Comma-Separated Data
- Problem
- Solution
- Discussion
- See Also
- 13.8. Parsing Not-Quite-Comma-Separated Data
- Problem
- Solution
- Discussion
- See Also
- 13.9. Generating and Parsing Excel Spreadsheets
- Problem
- Solution
- Discussion
- See Also
- 13.10. Compressing and Archiving Files with Gzip and Tar
- Problem
- Solution
- Discussion
- Tar files
- See Also
- 13.11. Reading and Writing ZIP Files
- Problem
- Solution
- Discussion
- See Also
- 13.12. Reading and Writing Configuration Files
- Problem
- Solution
- Discussion
- See Also
- 13.13. Generating PDF Files
- Problem
- Solution
- Discussion
- See Also
- 13.14. Representing Data as MIDI Music
- Problem
- Solution
- Discussion
- See Also
- 14. Databases and Persistence
- 14.1. Serializing Data with YAML
- Problem
- Solution
- Discussion
- See Also
- 14.1. Serializing Data with YAML
- 14.2. Serializing Data with Marshal
- Problem
- Solution
- Discussion
- See Also
- 14.3. Persisting Objects with Madeleine
- Problem
- Solution
- Discussion
- See Also
- 14.4. Indexing Unstructured Text with SimpleSearch
- Problem
- Solution
- Discussion
- See Also
- 14.5. Indexing Structured Text with Ferret
- Problem
- Discussion
- Discussion
- See Also
- 14.6. Using Berkeley DB Databases
- Problem
- Solution
- Discussion
- See Also
- 14.7. Controlling MySQL on Unix
- Problem
- Solution
- Discussion
- See Also
- 14.8. Finding the Number of Rows Returned by a Query
- Problem
- Solution
- Discussion
- See Also
- 14.9. Talking Directly to a MySQL Database
- Problem
- Solution
- Discussion
- See Also
- 14.10. Talking Directly to a PostgreSQL Database
- Problem
- Solution
- Discussion
- See Also
- 14.11. Using Object Relational Mapping with ActiveRecord
- Problem
- Solution
- Discussion
- See Also
- 14.12. Building Queries Programmatically
- Problem
- Solution
- Discussion
- See Also
- 14.13. Validating Data with ActiveRecord
- Problem
- Solution
- Discussion
- See Also
- 14.14. Preventing SQL Injection Attacks
- Problem
- Solution
- Discussion
- See Also
- 14.15. Using Transactions in ActiveRecord
- Problem
- Solution
- Discussion
- See Also
- 14.16. Adding Hooks to Table Events
- Problem
- Solution
- Discussion
- See Also
- 14.17. Adding Taggability with a Database Mixin
- Problem
- Solution
- Discussion
- See Also
- 15. Internet Services
- 15.1. Grabbing the Contents of a Web Page
- Problem
- Solution
- Discussion
- See Also
- 15.1. Grabbing the Contents of a Web Page
- 15.2. Making an HTTPS Web Request
- Problem
- Solution
- Discussion
- See Also
- 15.3. Customizing HTTP Request Headers
- Problem
- Solution
- Discussion
- See Also
- 15.4. Performing DNS Queries
- Problem
- Solution
- Discussion
- See Also
- 15.5. Sending Mail
- Problem
- Solution
- Discussion
- See Also
- 15.6. Reading Mail with IMAP
- Problem
- Solution
- Discussion
- Check for new mail
- Retrieve a UID for a particular message
- Reading headers made easy
- Forwarding mail to a cell phone
- See Also
- 15.7. Reading Mail with POP3
- Problem
- Solution
- Discussion
- Forwarding mail to a cell phone
- See Also
- 15.8. Being an FTP Client
- Problem
- Solution
- Discussion
- See Also
- 15.9. Being a Telnet Client
- Problem
- Solution
- Discussion
- See Also
- 15.10. Being an SSH Client
- Problem
- Solution
- Discussion
- See Also
- 15.11. Copying a File to Another Machine
- Problem
- Solution
- Discussion
- 15.12. Being a BitTorrent Client
- Problem
- Solution
- Discussion
- See Also
- 15.13. Pinging a Machine
- Problem
- Solution
- Discussion
- 15.14. Writing an Internet Server
- Problem
- Solution
- Discussion
- See Also
- 15.15. Parsing URLs
- Problem
- Solution
- Discussion
- See Also
- 15.16. Writing a CGI Script
- Problem
- Solution
- Discussion
- See Also
- 15.17. Setting Cookies and Other HTTP Response Headers
- Problem
- Solution
- Discussion
- See Also
- 15.18. Handling File Uploads via CGI
- Problem
- Solution
- Discussion
- See Also
- 15.19. Running Servlets with WEBrick
- Problem
- Solution
- Discussion
- See Also
- 15.20. Creating a Real-World HTTP Client
- Problem
- Solution
- Discussion
- See Also
- 16. Web Development: Ruby on Rails
- 16.1. Writing a Simple Rails Application to Show System Status
- Problem
- Solution
- Discussion
- See Also
- 16.1. Writing a Simple Rails Application to Show System Status
- 16.2. Passing Data from the Controller to the View
- Problem
- Solution
- Discussion
- 16.3. Creating a Layout for Your Header and Footer
- Problem
- Solution
- Discussion
- See Also
- 16.4. Redirecting to a Different Location
- Problem
- Solution
- Discussion
- See Also
- 16.5. Displaying Templates with Render
- Problem
- Solution
- Discussion
- See Also
- 16.6. Integrating a Database with Your Rails Application
- Problem
- Solution
- Discussion
- See Also
- 16.7. Understanding Pluralization Rules
- Problem
- Solution
- Discussion
- See Also
- 16.8. Creating a Login System
- Problem
- Solution
- Discussion
- See Also
- 16.9. Storing Hashed User Passwords in the Database
- Problem
- Solution
- Discussion
- See Also
- 16.10. Escaping HTML and JavaScript for Display
- Problem
- Solution
- Discussion
- See Also
- 16.11. Setting and Retrieving Session Information
- Problem
- Solution
- Discussion
- See Also
- 16.12. Setting and Retrieving Cookies
- Problem
- Solution
- Discussion
- See Also
- 16.13. Extracting Code into Helper Functions
- Problem
- Solution
- Discussion
- See Also
- 16.14. Refactoring the View into Partial Snippets of Views
- Problem
- Solution
- Discussion
- See Also
- 16.15. Adding Dynamic Effects with script.aculo.us
- Problem
- Solution
- Discussion
- See Also
- 16.16. Generating Forms for Manipulating Model Objects
- Problem
- Solution
- Discussion
- See Also
- 16.17. Creating an Ajax Form
- Problem
- Solution
- Discussion
- 16.18. Exposing Web Services on Your Website
- Problem
- Solution
- Discussion
- See Also
- 16.19. Sending Mail with Rails
- Problem
- Solution
- Discussion
- See Also
- 16.20. Automatically Sending Error Messages to Your Email
- Problem
- Solution
- Discussion
- See Also
- 16.21. Documenting Your Website
- Problem
- Solution
- Discussion
- See Also
- 16.22. Unit-Testing Your Website
- Problem
- Solution
- Discussion
- See Also
- 16.23. Using breakpoint in Your Web Application
- Problem
- Solution
- Discussion
- See Also
- 17. Web Development: Sinatra
- 17.1. Developing a Minimalistic Web-ServicesBased Application
- Problem
- Solution
- Discussion
- See Also
- 17.1. Developing a Minimalistic Web-ServicesBased Application
- 17.2. Writing a Simple Sinatra Application to Show System Status
- Problem
- Solution
- Discussion
- See Also
- 17.3. Creating a Layout for Your Header and Footer
- Problem
- Solution
- Discussion
- See Also
- 17.4. Passing Data from the Controller to the View
- Problem
- Solution
- Discussion
- See Also
- 17.5. Redirecting to a Different Location
- Problem
- Solution
- Discussion
- See Also
- 17.6. Integrating a Database with Your Sinatra Application
- Problem
- Solution
- Discussion
- See Also
- 17.7. Setting Status Codes and Headers
- Problem
- Solution
- Discussion
- See Also
- 17.8. Setting and Retrieving Session Information
- Problem
- Solution
- Discussion
- See Also
- 17.9. Setting and Retrieving Cookies
- Problem
- Solution
- Discussion
- See Also
- 17.10. Sending Mail with Sinatra
- Problem
- Solution
- Discussion
- See Also
- 17.11. Building RESTful Web Services on Your Website
- Problem
- Solution
- Discussion
- See Also
- 17.12. Creating RESTful JavaScript Clients for Your Web Services
- Problem
- Solution
- Discussion
- See Also
- 18. Web Services and Distributed Programming
- 18.1. Searching for Books on Amazon
- Problem
- Solution
- Discussion
- See Also
- 18.1. Searching for Books on Amazon
- 18.2. Finding Photos on Flickr
- Problem
- Solution
- Discussion
- See Also
- 18.3. Writing an XML-RPC Client
- Problem
- Solution
- Discussion
- See Also
- 18.4. Writing a SOAP Client
- Problem
- Solution
- Discussion
- See Also
- 18.5. Writing a SOAP Server
- Problem
- Solution
- Discussion
- See Also
- 18.6. Charging a Credit Card
- Problem
- Solution
- Discussion
- See Also
- 18.7. Finding the Cost to Ship Packages via UPS or FedEx
- Problem
- Solution
- Discussion
- See Also
- 18.8. Sharing a Hash Between Any Number of Computers
- Problem
- Solution
- Discussion
- See Also
- 18.9. Implementing a Distributed Queue
- Problem
- Solution
- Discussion
- See Also
- 18.10. Creating a Shared Whiteboard
- Problem
- Solution
- Discussion
- 18.11. Securing DRb Services with Access Control Lists
- Problem
- Solution
- Discussion
- See Also
- 18.12. Automatically Discovering DRb Services with Rinda
- Problem
- Solution
- Discussion
- See Also
- 18.13. Proxying Objects That Cant Be Distributed
- Problem
- Solution
- Discussion
- See Also
- 18.14. Storing Data on Distributed RAM with MemCached
- Problem
- Solution
- Discussion
- See Also
- 18.15. Caching Expensive Results with MemCached
- Problem
- Solution
- Discussion
- See Also
- 18.16. A Remote-Controlled Jukebox
- See Also
- 19. Testing, Debugging, Optimizing, and Documenting
- 19.1. Running Code Only in Debug Mode
- Problem
- Solution
- Discussion
- See Also
- 19.1. Running Code Only in Debug Mode
- 19.2. Raising an Exception
- Problem
- Solution
- Discussion
- See Also
- 19.3. Handling an Exception
- Problem
- Solution
- Discussion
- See Also
- 19.4. Retrying After an Exception
- Problem
- Solution
- Discussion
- See Also
- 19.5. Adding Logging to Your Application
- Problem
- Solution
- Discussion
- See Also
- 19.6. Creating and Understanding Tracebacks
- Problem
- Solution
- Discussion
- See Also
- 19.7. Writing Unit Tests
- Problem
- Solution
- Discussion
- See Also
- 19.8. Running Unit Tests
- Problem
- Solution
- Discussion
- See Also
- 19.9. Testing Code That Uses External Resources
- Problem
- Solution
- Discussion
- See Also
- 19.10. Using debug to Inspect and Change the State of Your Application
- Problem
- Solution
- Discussion
- See Also
- 19.11. Documenting Your Application
- Problem
- Solution
- Discussion
- Other ways of creating RDoc
- See Also
- 19.12. Profiling Your Application
- Problem
- Solution
- Discussion
- See Also
- 19.13. Benchmarking Competing Solutions
- Problem
- Solution
- Discussion
- See Also
- 19.14. Running Multiple Analysis Tools at Once
- Problem
- Solution
- Discussion
- 20. Packaging and Distributing Software
- 20.1. Finding Libraries by Querying Gem Respositories
- Problem
- Solution
- Discussion
- See Also
- 20.1. Finding Libraries by Querying Gem Respositories
- 20.2. Installing and Using a Gem
- Problem
- Solution
- Discussion
- See Also
- 20.3. Requiring a Specific Version of a Gem
- Problem
- Solution
- Discussion
- See Also
- 20.4. Uninstalling a Gem
- Problem
- Solution
- Discussion
- 20.5. Reading Documentation for Installed Gems
- Problem
- Solution
- Discussion
- See Also
- 20.6. Packaging Your Code as a Gem
- Problem
- Solution
- Discussion
- See Also
- 20.7. Distributing Your Gems
- Problem
- Solution
- Discussion
- See Also
- 20.8. Installing and Creating Standalone Packages with setup.rb
- Problem
- Solution
- Discussion
- See Also
- 21. Automating Tasks with Rake
- 21.1. Automatically Running Unit Tests
- Problem
- Solution
- Discussion
- Test suites
- See Also
- 21.1. Automatically Running Unit Tests
- 21.2. Automatically Generating Documentation
- Problem
- Solution
- Discussion
- Available attributes
- See Also
- 21.3. Cleaning Up Generated Files
- Problem
- Solution
- Discussion
- See Also
- 21.4. Automatically Building a Gem
- Problem
- Solution
- Discussion
- See Also
- 21.5. Gathering Statistics About Your Code
- Problem
- Solution
- Discussion
- See Also
- 21.6. Publishing Your Documentation
- Problem
- Solution
- Discussion
- See Also
- 21.7. Running Multiple Tasks in Parallel
- Problem
- Solution
- Discussion
- See Also
- 21.8. Creating a Generic Project Rakefile
- Problem
- Solution
- See Also
- 22. Multitasking and Multithreading
- 22.1. Running a Daemon Process on Unix
- Problem
- Solution
- Discussion
- See Also
- 22.1. Running a Daemon Process on Unix
- 22.2. Creating a Windows Service
- Problem
- Solution
- Discussion
- See Also
- 22.3. Doing Two Things at Once with Threads
- Problem
- Solution
- Discussion
- 22.4. Synchronizing Access to an Object
- Problem
- Solution
- Discussion
- See Also
- 22.5. Terminating a Thread
- Problem
- Solution
- Discussion
- 22.6. Running a Code Block on Many Objects Simultaneously
- Problem
- Solution
- Discussion
- See Also
- 22.7. Limiting Multithreading with a Thread Pool
- Problem
- Solution
- Discussion
- See Also
- 22.8. Driving an External Process with popen
- Problem
- Solution
- Discussion
- See Also
- 22.9. Capturing the Output and Error Streams from a Unix Shell Command
- Problem
- Solution
- Discussion
- See Also
- 22.10. Controlling a Process on Another Machine
- Problem
- Solution
- Discussion
- See Also
- 22.11. Avoiding Deadlock
- Problem
- Solution
- Discussion
- See Also
- 23. User Interface
- 23.1. Resources
- 23.2. Getting Input One Line at a Time
- Problem
- Solution
- Discussion
- See Also
- 23.3. Getting Input One Character at a Time
- Problem
- Solution
- Discussion
- See Also
- 23.4. Parsing Command-Line Arguments
- Problem
- Solution
- Discussion
- See Also
- 23.5. Testing Whether a Program Is Running Interactively
- Problem
- Solution
- Discussion
- 23.6. Setting Up and Tearing Down a Curses Program
- Problem
- Solution
- Discussion
- See Also
- 23.7. Clearing the Screen
- Problem
- Solution
- Discussion
- 23.8. Determining Terminal Size
- Problem
- Solution
- Discussion
- See Also
- 23.9. Changing Text Color
- Problem
- Solution
- Discussion
- See Also
- 23.10. Reading a Password
- Problem
- Solution
- Discussion
- See Also
- 23.11. Allowing Input Editing with Readline
- Problem
- Solution
- Discussion
- See Also
- 23.12. Making Your Keyboard Lights Blink
- Problem
- Solution
- Discussion
- See Also
- 23.13. Creating a GUI Application with Tk
- Problem
- Solution
- Discussion
- See Also
- 23.14. Creating a GUI Application with wxRuby
- Problem
- Solution
- Discussion
- See Also
- 23.15. Creating a GUI Application with Ruby/GTK
- Problem
- Solution
- Discussion
- See Also
- 23.16. Using AppleScript to Get User Input
- Problem
- Solution
- Discussion
- See Also
- 24. Extending Ruby with Other Languages
- 24.1. Writing a C Extension for Ruby
- Problem
- Solution
- Discussion
- See Also
- 24.1. Writing a C Extension for Ruby
- 24.2. Using a C Library from Ruby
- Problem
- Solution
- Discussion
- See Also
- 24.3. Calling a C Library Through SWIG
- Problem
- Solution
- Discussion
- See Also
- 24.4. Writing Inline C in Your Ruby Code
- Problem
- Solution
- Discussion
- See Also
- 24.5. Using Java Libraries with JRuby
- Problem
- Solution
- Discussion
- Convenience methods
- See Also
- 25. System Administration
- 25.1. Scripting an External Program
- Problem
- Solution
- Discussion
- See Also
- 25.1. Scripting an External Program
- 25.2. Managing Windows Services
- Problem
- Solution
- Discussion
- See Also
- 25.3. Running Code as Another User
- Problem
- Solution
- Discussion
- See Also
- 25.4. Running Periodic Tasks Without cron or at
- Problem
- Solution
- Discussion
- See Also
- 25.5. Deleting Files That Match a Regular Expression
- Problem
- Solution
- Discussion
- See Also
- 25.6. Renaming Files in Bulk
- Problem
- Solution
- Discussion
- See Also
- 25.7. Finding Duplicate Files
- Problem
- Solution
- Discussion
- See Also
- 25.8. Automating Backups
- Problem
- Solution
- Discussion
- See Also
- 25.9. Normalizing Ownership and Permissions in User Directories
- Problem
- Solution
- Discussion
- See Also
- 25.10. Killing All Processes for a Given User
- Problem
- Solution
- Discussion
- See Also
- 25.11. Using Puppet for DevOps System Administration
- Problem
- Solution
- Discussion
- See Also
- Index
O'Reilly Media - inne książki
-
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(177.65 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(160.65 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł(-15%) -
OpenTelemetry is a revolution in observability data. Instead of running multiple uncoordinated pipelines, OpenTelemetry provides users with a single integrated stream of data, providing multiple sources of high-quality telemetry data: tracing, metrics, logs, RUM, eBPF, and more. This practical gu...(143.65 zł najniższa cena z 30 dni)
152.15 zł
179.00 zł(-15%) -
Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate good development practices based on classic software design patterns and new patterns unique to embedded prog...(152.15 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
If you use Linux in your day-to-day work, then Linux Pocket Guide is the perfect on-the-job reference. This thoroughly updated 20th anniversary edition explains more than 200 Linux commands, including new commands for file handling, package management, version control, file format conversions, an...(92.65 zł najniższa cena z 30 dni)
101.15 zł
119.00 zł(-15%) -
Gain the valuable skills and techniques you need to accelerate the delivery of machine learning solutions. With this practical guide, data scientists, ML engineers, and their leaders will learn how to bridge the gap between data science and Lean product delivery in a practical and simple way. Dav...(245.65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł(-15%) -
This practical book provides a detailed explanation of the zero trust security model. Zero trust is a security paradigm shift that eliminates the concept of traditional perimeter-based security and requires you to "always assume breach" and "never trust but always verify." The updated edition off...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Decentralized finance (DeFi) is a rapidly growing field in fintech, having grown from $700 million to $100 billion over the past three years alone. But the lack of reliable information makes this area both risky and murky. In this practical book, experienced securities attorney Alexandra Damsker ...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Whether you're a startup founder trying to disrupt an industry or an entrepreneur trying to provoke change from within, your biggest challenge is creating a product people actually want. Lean Analytics steers you in the right direction.This book shows you how to validate your initial idea, find t...(126.65 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
When it comes to building user interfaces on the web, React enables web developers to unlock a new world of possibilities. This practical book helps you take a deep dive into fundamental concepts of this JavaScript library, including JSX syntax and advanced patterns, the virtual DOM, React reconc...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Ruby Cookbook. 2nd Edition Lucas Carlson, Leonard Richardson (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.