Professional Scala
(Sprache: Englisch)
Professional Scala provides experienced programmers with fast track coverage aimed at supporting the use of Scala in professional production applications. Skipping over the basics and fundamentals of programming, the discussion launches directly into...
Leider schon ausverkauft
versandkostenfrei
Buch
42.49 €
Produktdetails
Produktinformationen zu „Professional Scala “
Klappentext zu „Professional Scala “
Professional Scala provides experienced programmers with fast track coverage aimed at supporting the use of Scala in professional production applications. Skipping over the basics and fundamentals of programming, the discussion launches directly into practical Scala topics with the most up-to-date coverage of the rapidly-expanding language and related tools. Scala bridges the gap between functional and object-oriented programming, and this book details that link with clear a discussion on both Java compatibility and the read-eval-print loop used in functional programming. You'll learn the details of tooling for build and static analysis. You'll cover unit testing with ScalaTest, documentation with Scaladoc, how to handle concurrency, and much more as you build the in-demand skill set required to use Scala in a real-world production environment.Java-compliant with functional programming properties, Scala's popularity is growing quickly--especially in the rapidly expanding areas of big data and cluster computing. This book explains everything professional programmers need to start using Scala and its main tools quickly and effectively.Master Scala syntax, the SBT interactive build tool, and the REPL workflow* Explore functional design patterns, concurrency, and testing* Work effectively with Maven, Scaladoc, Scala.js, and more* Dive into the advanced type system* Find out about Scala.jsA working knowledge of Scala puts you in demand. As both the language and applications expand, so do the opportunities for experienced Scala programmers--and many positions are going unfilled. Twitter, Comcast, Netflix, and other major enterprises across industries are using Scala every day, in a number of different applications and capacities. Professional Scala helps you update your skills quickly to start advancing your career.
Inhaltsverzeichnis zu „Professional Scala “
INTRODUCTION xvCHAPTER 1: LANGUAGE FEATURES 1Static Types and Type Inference 2Implicit Parameters, Conversions, and Their Resolution 3Case Class, Tuples, and Case Object 5Abstract Class, Traits, and Sealed 6Pattern Matching 8Statements Are Expressions 9String Interpolation 9Scala Collections, immutable and mutable 10For Comprehension 12Packages, Companion Objects, Package Objects, and Scoping 13AnyVal, AnyRef, Any, and the Type Hierarchy 16Summary 17CHAPTER 2: FUNCTIONAL PROGRAMMING 19Immutability 20Pure Functions 22Recursion 23Higher-Order Functions 26Core Collection Methods 27Methods Returning a Collection 29Methods Returning a Value 31Currying and Partially Applied Functions 32Null Handling (Option) 34Strict versus Non-Strict Initialization 35Summary 36CHAPTER 3: JAVA COMPATIBILITY 37Scala and Java Collections 37Interfaces and Traits 40Scala/Java Enumerations 42Summary 43CHAPTER 4: SIMPLE BUILD TOOL 45Basic Usage 46Project Structure 47Single Project 47Scopes 49Custom Tasks 50Dependencies 50Resolvers 51Advanced Usage 52Advanced Dependencies 53Testing in the Console 55Release Management 56Deploying to Sonatype 56Packaging with SBT-Native-Packager 58Creating a Docker Image 59Common SBT Commands 60Useful Plugins 61Summary 62CHAPTER 5: MAVEN 63Getting Started with Maven and Scala 64Introducing scala-maven-plugin 67Adding Library Dependencies 70Using the REPL 71Getting Help 72Running Tests 72Joint Compilation with Java 74Accelerating Compilation with Zinc 76Summary 77CHAPTER 6: SCALA STYLE/LINT 79Scala with Style 79Scaliform 81Scapegoat 82WartRemover 82Scoverage 84Summary 84CHAPTER 7: TESTING 85ScalaTest 86Unit Tests 87Integration Testing 87Data-Driven Tests 88Performance Testing 89Acceptance Testing 90Mocks 92Load Testing 93Summary 94CHAPTER 8: DOCUMENTING YOUR CODE WITH SCALADOC 95Why Document Your Code? 96Revealing the Benefi ts 96Bookending the Continuum 96Choosing What to Document 96Scaladoc Structure 97Overall Layout 97Index Pane 98Content Pane 100Invoking the
... mehr
Scaladoc Tool 106Wiki Syntax 108Formatting with Inline Wiki Syntax 108Structuring with Block Elements 110Linking 113Locating Scaladoc 117Tagging 117Everyday Tagging 117Tagging for Groups 123Advanced Tagging 125Invoking scaladoc: Additional Options 132Integrating Scaladoc Creation with Your Project 133Configuring Maven 133Configuring SBT 134Publishing Scaladoc 134Tables and CSS 136Summary 138CHAPTER 9: TYPE SYSTEM 139What Is a Type System? 140Static versus Dynamic Typing 140What Static Type Systems Are Good For 141What Dynamic Type Systems Are Good For 141Scala's Unified Type System 141Value Classes 143Polymorphism 145Subtype Polymorphism 145Parametric Polymorphism 146Ad Hoc Polymorphism 146Bounds 149Context Bounds 149Upper and Lower Bounds 150Variance 151Other Niceties 155Self-Type Annotations 155Self-Recursive Types 158Abstract Type Members 159Dynamic Programming 161Structural Types 161Dynamic Trait 162Summary 164CHAPTER 10: ADVANCED FUNCTIONAL PROGRAMMING 165Higher-Kinded Types 165Functional Design Patterns 167Functor 167Applicative Functor 170Monad 172Semigroup 173Monoid 174Summary 176CHAPTER 11: CONCURRENCY 179Synchronize/Atomic Variables 181Future Composition 184Parallel Collections 187Reactive Streams 192STM 195Actors (Akka) 198Spark 200Summary 202CHAPTER 12: SCALA.JS 205Scala.js and Its Design 205Getting Started: Scala.js with SBT 206Scala.js Peculiarities 210Webjars and Dealing with the Frontend Ecosytem 211Summary 213INDEX 215
... weniger
Autoren-Porträt von Janek Bogucki, Alessandro Lacava, Aliaksandr Bedrytski, Matthew De Detrich, Benjamin Neil
Aliaksandr Bedrytski is a Big Data engineer at Worldline France.Janek Bogucki is a Co-Founder of Inferess Inc., and Principal Consultant (Scala and Data Science) at Combination One.Alessandro Lacava is a lead designer and developer who specializes in functional programming and Scala.Matthew de Detrich is a Software Engineer at Zalando.Benjamin Neil is a Full Stack Engineer at AppThis LLC.Visit us at wrox.com where you have access to free code samples, Programmer to Programmer forums, and discussions on the latest happenings in the industry from around the world.
Bibliographische Angaben
- Autoren: Janek Bogucki , Alessandro Lacava , Aliaksandr Bedrytski , Matthew De Detrich , Benjamin Neil
- 240 Seiten, Maße: 30,1 x 18,9 cm, Taschenbuch, Englisch
- Verlag: John Wiley & Sons
- ISBN-10: 1119267226
- ISBN-13: 9781119267225
- Erscheinungsdatum: 26.07.2016
Sprache:
Englisch
Kommentar zu "Professional Scala"
0 Gebrauchte Artikel zu „Professional Scala“
Zustand | Preis | Porto | Zahlung | Verkäufer | Rating |
---|
Schreiben Sie einen Kommentar zu "Professional Scala".
Kommentar verfassen