- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 802
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Scala Cookbook. 2nd Edition
Save time and trouble building object-oriented, functional, and concurrent applications with Scala. The latest edition of this comprehensive cookbook is packed with more than 250 ready-to-use recipes and 1,000 code examples to help you solve the most common problems when working with Scala 3 and its popular libraries.
Scala changes the way you think about programming--and that's a good thing. Whether you're working on web, big data, or distributed applications, this cookbook provides recipes based on real-world scenarios for both experienced Scala developers and programmers just learning to use this JVM language. Author Alvin Alexander includes practical solutions from his experience using Scala for component-based, highly scalable applications that support concurrency and distribution.
Recipes cover:
- Strings, numbers, and control structures
- Classes, methods, objects, traits, packaging, and imports
- Functional programming techniques
- Scala's wealth of collections classes and methods
- Building and publishing Scala applications with sbt
- Actors and concurrency with Scala Future and Akka Typed
- Popular libraries, including Spark, Scala.js, Play Framework, and GraalVM
- Types, such as variance, givens, intersections, and unions
- Best practices, including pattern matching, modules, and functional error handling
Wybrane bestsellery
-
To dziewiąte wydanie znakomitego podręcznika programowania dla początkujących, starannie zaktualizowane i uzupełnione o informacje dotyczące Java Platform, Standard Edition 17. Książka rozpoczyna się od solidnej dawki wiedzy o kompilacji i uruchamianiu programu w Javie, słowach kluczowych i istot...(77.40 zł najniższa cena z 30 dni)
90.30 zł
129.00 zł(-30%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(52.20 zł najniższa cena z 30 dni)60.90 zł
87.00 zł(-30%) -
Java. Podręcznik na start to pozycja idealna dla każdego, kto chce podjąć takie kroki. W przystępny sposób zaznajamia nie tylko z językiem, ale też z podstawowymi koncepcjami stosowanymi podczas programowania - w obrazowy sposób przyrównuje je do sytuacji znanych spoza świata wirtualnego. Autor n...(41.40 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
Build Your Own Programming Language provides a hands-on approach to designing and implementing programming language features in a simple compiler and programming environment. This book will help you create new or domain-specific languages.
Build Your Own Programming Language. A developer's comprehensive guide to crafting, compiling, and implementing programming languages - Second Edition Build Your Own Programming Language. A developer's comprehensive guide to crafting, compiling, and implementing programming languages - Second Edition
-
Java należy do najpopularniejszych języków programowania na świecie. Używana przez miliony programistów, jest na tyle uniwersalna, że znajduje zastosowanie zarówno w aplikacjach desktopowych, mobilnych, jak i serwerowych, a także w zaawansowanych systemach zarządzania bazami danych. Z jej zalet k...
Java 21. Kurs video. Od "Hello World!" do programowania obiektowego Java 21. Kurs video. Od "Hello World!" do programowania obiektowego
(39.60 zł najniższa cena z 30 dni)54.45 zł
99.00 zł(-45%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(53.40 zł najniższa cena z 30 dni)
62.30 zł
89.00 zł(-30%) -
Kariera zawodowa programisty jest związana z nieustanną nauką i doskonaleniem zdobytych umiejętności. Jednym z podstawowych etapów rozwoju programisty Java jest zaznajomienie się z dobrymi praktykami programistycznymi, co obejmuje także wzorce projektowe – i to im właśnie poświęcony jest te...
Wzorce projektowe w Javie. Kurs video. Programowanie efektywnych rozwiązań Wzorce projektowe w Javie. Kurs video. Programowanie efektywnych rozwiązań
(39.90 zł najniższa cena z 30 dni)81.95 zł
149.00 zł(-45%) -
Oto zaktualizowane i uzupełnione wydanie zwięzłego wprowadzenia do Javy SE 17, przeznaczonego dla profesjonalnych programistów Javy. Przedstawiono w nim wszystkie istotne zagadnienia, łącznie z takimi koncepcjami jak wyrażenia lambda i strumienie, nowoczesnymi konstrukcjami, jak rekordy i klasy z...
Java. Przewodnik doświadczonego programisty. Wydanie III Java. Przewodnik doświadczonego programisty. Wydanie III
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
This practical guide teaches inexperienced Java programmers and web developers how to design, develop, test, and deploy highly scalable and maintainable APIs using REST, gRPC, GraphQL, and reactive programming paradigms with Java and Spring Boot. Complete with real-world examples, it will guide y...
Modern API Development with Spring 6 and Spring Boot 3. Design scalable, viable, and reactive APIs with REST, gRPC, and GraphQL using Java 17 and Spring Boot 3 - Second Edition Modern API Development with Spring 6 and Spring Boot 3. Design scalable, viable, and reactive APIs with REST, gRPC, and GraphQL using Java 17 and Spring Boot 3 - Second Edition
-
Ideal for working programmers new to Java, this best-selling book guides you through the language features and APIs of Java 21. Through fun, compelling, and realistic examples, authors Marc Loy, Patrick Niemeyer, and Dan Leuck introduce you to Java's fundamentals, including its class libraries, p...(245.65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł(-15%)
Ebooka "Scala 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 "Scala 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 "Scala 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-920-5149-7, 9781492051497
- Data wydania ebooka:
- 2021-08-10 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:
- 3.5MB
- Rozmiar pliku Mobi:
- 11.2MB
Spis treści ebooka
- Preface
- Conventions Used in This Book
- Using Code Examples
- OReilly Online Learning
- How to Contact Us
- 1. Command-Line Tasks
- 1.1. Getting Started with the Scala REPL
- 1.2. Loading Source Code and JAR Files into the REPL
- 1.3. Getting Started with the Ammonite REPL
- 1.4. Compiling with scalac and Running with scala
- 1.5. Disassembling and Decompiling Scala Code
- 1.6. Running JAR Files with Scala and Java
- 2. Strings
- 2.1. Testing String Equality
- 2.2. Creating Multiline Strings
- 2.3. Splitting Strings
- 2.4. Substituting Variables into Strings
- 2.5. Formatting String Output
- 2.6. Processing a String One Character at a Time
- 2.7. Finding Patterns in Strings
- 2.8. Replacing Patterns in Strings
- 2.9. Extracting Parts of a String That Match Patterns
- 2.10. Accessing a Character in a String
- 2.11. Creating Your Own String Interpolator
- 2.12. Creating Random Strings
- 3. Numbers and Dates
- 3.1. Parsing a Number from a String
- 3.2. Converting Between Numeric Types (Casting)
- 3.3. Overriding the Default Numeric Type
- 3.4. Replacements for ++ and
- 3.5. Comparing Floating-Point Numbers
- 3.6. Handling Large Numbers
- 3.7. Generating Random Numbers
- 3.8. Formatting Numbers and Currency
- 3.9. Creating New Date and Time Instances
- 3.10. Calculating the Difference Between Two Dates
- 3.11. Formatting Dates
- 3.12. Parsing Strings into Dates
- 4. Control Structures
- for Loops and for Expressions
- if/then/else-if Expressions
- match Expressions and Pattern Matching
- try/catch/finally Blocks
- while Loops
- Control Structures as a Defining Feature of Programming Languages
- 4.1. Looping over Data Structures with for
- 4.2. Using for Loops with Multiple Counters
- 4.3. Using a for Loop with Embedded if Statements (Guards)
- 4.4. Creating a New Collection from an Existing Collection with for/yield
- 4.5. Using the if Construct Like a Ternary Operator
- 4.6. Using a Match Expression Like a switch Statement
- 4.7. Matching Multiple Conditions with One Case Statement
- 4.8. Assigning the Result of a Match Expression to a Variable
- 4.9. Accessing the Value of the Default Case in a Match Expression
- 4.10. Using Pattern Matching in Match Expressions
- 4.11. Using Enums and Case Classes in match Expressions
- 4.12. Adding if Expressions (Guards) to Case Statements
- 4.13. Using a Match Expression Instead of isInstanceOf
- 4.14. Working with a List in a Match Expression
- 4.15. Matching One or More Exceptions with try/catch
- 4.16. Declaring a Variable Before Using It in a try/catch/finally Block
- 4.17. Creating Your Own Control Structures
- 5. Classes
- Classes and Case Classes
- 5.1. Choosing from Domain Modeling Options
- 5.2. Creating a Primary Constructor
- 5.3. Controlling the Visibility of Constructor Fields
- 5.4. Defining Auxiliary Constructors for Classes
- 5.5. Defining a Private Primary Constructor
- 5.6. Providing Default Values for Constructor Parameters
- 5.7. Handling Constructor Parameters When Extending a Class
- 5.8. Calling a Superclass Constructor
- 5.9. Defining an equals Method (Object Equality)
- 5.10. Preventing Accessor and Mutator Methods from Being Generated
- 5.11. Overriding Default Accessors and Mutators
- 5.12. Assigning a Block or Function to a (lazy) Field
- 5.13. Setting Uninitialized var Field Types
- 5.14. Generating Boilerplate Code with Case Classes
- 5.15. Defining Auxiliary Constructors for Case Classes
- 6. Traits and Enums
- 6.1. Using a Trait as an Interface
- 6.2. Defining Abstract Fields in Traits
- 6.3. Using a Trait Like an Abstract Class
- 6.4. Using Traits as Mixins
- 6.5. Resolving Method Name Conflicts and Understanding super
- 6.6. Marking Traits So They Can Only Be Used by Subclasses of a Certain Type
- 6.7. Ensuring a Trait Can Only Be Added to a Type That Has a Specific Method
- 6.8. Limiting Which Classes Can Use a Trait by Inheritance
- 6.9. Working with Parameterized Traits
- 6.10. Using Trait Parameters
- 6.11. Using Traits to Create Modules
- 6.12. How to Create Sets of Named Values with Enums
- 6.13. Modeling Algebraic Data Types with Enums
- 7. Objects
- 7.1. Casting Objects
- 7.2. Passing a Class Type with the classOf Method
- 7.3. Creating Singletons with object
- 7.4. Creating Static Members with Companion Objects
- 7.5. Using apply Methods in Objects as Constructors
- 7.6. Implementing a Static Factory with apply
- 7.7. Reifying Traits as Objects
- 7.8. Implementing Pattern Matching with unapply
- 8. Methods
- 8.1. Controlling Method Scope (Access Modifiers)
- 8.2. Calling a Method on a Superclass or Trait
- 8.3. Using Parameter Names When Calling a Method
- 8.4. Setting Default Values for Method Parameters
- 8.5. Creating Methods That Take Variable-Argument Fields
- 8.6. Forcing Callers to Leave Parentheses Off Accessor Methods
- 8.7. Declaring That a Method Can Throw an Exception
- 8.8. Supporting a Fluent Style of Programming
- 8.9. Adding New Methods to Closed Classes with Extension Methods
- 9. Packaging and Imports
- 9.1. Packaging with the Curly Braces Style Notation
- 9.2. Importing One or More Members
- 9.3. Renaming Members on Import
- 9.4. Hiding a Class During the Import Process
- 9.5. Importing Static Members
- 9.6. Using Import Statements Anywhere
- 9.7. Importing Givens
- 10. Functional Programming
- 10.1. Using Function Literals (Anonymous Functions)
- 10.2. Passing Functions Around as Variables
- 10.3. Defining a Method That Accepts a Simple Function Parameter
- 10.4. Declaring More Complex Higher-Order Functions
- 10.5. Using Partially Applied Functions
- 10.6. Creating a Method That Returns a Function
- 10.7. Creating Partial Functions
- 10.8. Implementing Functional Error Handling
- 10.9. Real-World Example: Passing Functions Around in an Algorithm
- 10.10. Real-World Example: Functional Domain Modeling
- 11. Collections: Introduction
- Understanding the Collections Hierarchy
- 11.1. Choosing a Collections Class
- 11.2. Understanding the Performance of Collections
- 11.3. Understanding Mutable Variables with Immutable Collections
- 11.4. Creating a Lazy View on a Collection
- 12. Collections: Common Sequence Classes
- 12.1. Making Vector Your Go-To Immutable Sequence
- 12.2. Creating and Populating a List
- 12.3. Adding Elements to a List
- 12.4. Deleting Elements from a List (or ListBuffer)
- 12.5. Creating a Mutable List with ListBuffer
- 12.6. Using LazyList, a Lazy Version of a List
- 12.7. Making ArrayBuffer Your Go-To Mutable Sequence
- 12.8. Deleting Array and ArrayBuffer Elements
- 12.9. Creating and Updating an Array
- 12.10. Creating Multidimensional Arrays
- 12.11. Sorting Arrays
- 13. Collections: Common Sequence Methods
- Predicate
- Anonymous Functions
- Implied Loops
- Recipes in This Chapter
- 13.1. Choosing a Collection Method to Solve a Problem
- 13.2. Looping Over a Collection with foreach
- 13.3. Using Iterators
- 13.4. Using zipWithIndex or zip to Create Loop Counters
- 13.5. Transforming One Collection to Another with map
- 13.6. Flattening a List of Lists with flatten
- 13.7. Using filter to Filter a Collection
- 13.8. Extracting a Sequence of Elements from a Collection
- 13.9. Splitting Sequences into Subsets
- 13.10. Walking Through a Collection with the reduce and fold Methods
- 13.11. Finding the Unique Elements in a Sequence
- 13.12. Merging Sequential Collections
- 13.13. Randomizing a Sequence
- 13.14. Sorting a Collection
- 13.15. Converting a Collection to a String with mkString and addString
- 14. Collections: Using Maps
- 14.1. Creating and Using Maps
- 14.2. Choosing a Map Implementation
- 14.3. Adding, Updating, and Removing Immutable Map Elements
- 14.4. Adding, Updating, and Removing Elements in Mutable Maps
- 14.5. Accessing Map Values (Without Exceptions)
- 14.6. Testing for the Existence of a Key or Value in a Map
- 14.7. Getting the Keys or Values from a Map
- 14.8. Finding the Largest (or Smallest) Key or Value in a Map
- 14.9. Traversing a Map
- 14.10. Sorting an Existing Map by Key or Value
- 14.11. Filtering a Map
- 15. Collections: Tuple, Range, Set,
Stack, and Queue
- 15.1. Creating Heterogeneous Lists with Tuples
- 15.2. Creating Ranges
- 15.3. Creating a Set and Adding Elements to It
- 15.4. Deleting Elements from Sets
- 15.5. Storing Values in a Set in Sorted Order
- 15.6. Creating and Using a Stack
- 15.7. Creating and Using a Queue
- 16. Files and Processes
- 16.1. Reading Text Files
- 16.2. Writing Text Files
- 16.3. Reading and Writing Binary Files
- 16.4. Pretending That a String Is a File
- 16.5. Serializing and Deserializing Objects to Files
- 16.6. Listing Files in a Directory
- 16.7. Executing External Commands
- 16.8. Executing External Commands and Reading Their STDOUT
- 16.9. Handling Both STDOUT and STDERR of Commands
- 16.10. Building a Pipeline of External Commands
- 17. Building Projects with sbt
- 17.1. Creating a Project Directory Structure for sbt
- 17.2. Building Projects with the sbt Command
- 17.3. Understanding build.sbt Syntax Styles
- 17.4. Compiling, Running, and Packaging a Scala Project
- 17.5. Understanding Other sbt Commands
- 17.6. Continuous Compiling and Testing
- 17.7. Managing Dependencies with sbt
- 17.8. Controlling Which Version of a Managed Dependency Is Used
- 17.9. Generating Project API Documentation
- 17.10. Specifying a Main Class to Run with sbt
- 17.11. Deploying a Single Executable JAR File
- 17.12. Publishing Your Library
- 18. Concurrency with Scala Futures and Akka Actors
- 18.1. Creating a Future
- 18.2. Using Callback and Transformation Methods with Futures
- 18.3. Writing Methods That Return Futures
- 18.4. Running Multiple Futures in Parallel
- 18.5. Creating OOP-Style Actors
- 18.6. Creating FP-Style Actors
- 18.7. Sending Messages to Actors
- 18.8. Creating Actors That Have Multiple States (FSM)
- 19. Play Framework and Web Services
- 19.1. Creating a Play Framework Project
- 19.2. Creating a New Play Framework Endpoint
- 19.3. Returning JSON from a GET Request with Play
- 19.4. Serializing a Scala Object to a JSON String
- 19.5. Deserializing JSON into a Scala Object
- 19.6. Using the Play JSON Library Outside of the Play Framework
- 19.7. Using the sttp HTTP Client
- 20. Apache Spark
- 20.1. Getting Started with Spark
- 20.2. Reading a File into a Spark RDD
- 20.3. Reading a CSV File into a Spark RDD
- 20.4. Using Spark Like a Database with DataFrames
- 20.5. Reading Data Files into a Spark DataFrame
- 20.6. Using Spark SQL Queries Against Multiple Files
- 20.7. Creating a Spark Batch Application
- 21. Scala.js, GraalVM, and jpackage
- 21.1. Getting Started with Scala.js
- 21.2. Responding to Events with Scala.js
- 21.3. Building Single-Page Applications with Scala.js
- 21.4. Building Native Executables with GraalVM
- 21.5. Bundling Your Application with jpackage
- 22. Integrating Scala with Java
- 22.1. Using Java Collections in Scala
- 22.2. Using Scala Collections in Java
- 22.3. Using Java Optional Values in Scala
- 22.4. Using Scala Option Values in Java
- 22.5. Using Scala Traits in Java
- 22.6. Using Java Interfaces in Scala
- 22.7. Adding Exception Annotations to Scala Methods
- 22.8. Annotating varargs Methods to Work with Java
- 22.9. Using @SerialVersionUID and Other Annotations
- 23. Types
- 23.1. Creating a Method That Takes a Simple Generic Type
- 23.2. Creating Classes That Use Simple Generic Types
- 23.3. Making Immutable Generic Parameters Covariant
- 23.4. Creating a Class Whose Generic Elements Can Be Mutated
- 23.5. Creating a Class Whose Parameters Implement a Base Type
- 23.6. Using Duck Typing (Structural Types)
- 23.7. Creating Meaningful Type Names with Opaque Types
- 23.8. Using Term Inference with given and using
- 23.9. Simulating Dynamic Typing with Union Types
- 23.10. Declaring That a Value Is a Combination of Types
- 23.11. Controlling How Classes Can Be Compared with Multiversal Equality
- 23.12. Limiting Equality Comparisons with the CanEqual Typeclass
- 24. Best Practices
- 24.1. Writing Pure Functions
- 24.2. Using Immutable Variables and Collections
- 24.3. Writing Expressions (Instead of Statements)
- 24.4. Using Match Expressions and Pattern Matching
- 24.5. Eliminating null Values from Your Code
- 24.6. Using Scalas Error-Handling Types (Option, Try, and Either)
- 24.7. Building Modular Systems
- 24.8. Handling Option Values with Higher-Order Functions
- 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: Scala Cookbook. 2nd Edition Alvin Alexander (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.