Author: Shiti Saxena
Publisher: Packt Publishing Ltd
ISBN: 1783983817
Category : Computers
Languages : en
Pages : 274
Book Description
This book is intended for those developers who are keen to master the internal workings of Play Framework to effectively build and deploy web-related apps.
Mastering Play Framework for Scala
Author: Shiti Saxena
Publisher: Packt Publishing Ltd
ISBN: 1783983817
Category : Computers
Languages : en
Pages : 274
Book Description
This book is intended for those developers who are keen to master the internal workings of Play Framework to effectively build and deploy web-related apps.
Publisher: Packt Publishing Ltd
ISBN: 1783983817
Category : Computers
Languages : en
Pages : 274
Book Description
This book is intended for those developers who are keen to master the internal workings of Play Framework to effectively build and deploy web-related apps.
Play Framework Essentials
Author: Julien Richard-Foy
Publisher: Packt Publishing Ltd
ISBN: 1783982411
Category : Computers
Languages : en
Pages : 310
Book Description
This book targets Java and Scala developers who already have some experience in web development and who want to master Play framework quickly and efficiently. This book assumes you have a good level of knowledge and understanding of efficient Java and Scala code.
Publisher: Packt Publishing Ltd
ISBN: 1783982411
Category : Computers
Languages : en
Pages : 310
Book Description
This book targets Java and Scala developers who already have some experience in web development and who want to master Play framework quickly and efficiently. This book assumes you have a good level of knowledge and understanding of efficient Java and Scala code.
Mastering Play Framework for Scala
Author: Shiti Saxena
Publisher:
ISBN: 9781783983803
Category : Computers
Languages : en
Pages : 274
Book Description
This book is intended for those developers who are keen to master the internal workings of Play Framework to effectively build and deploy web-related apps.
Publisher:
ISBN: 9781783983803
Category : Computers
Languages : en
Pages : 274
Book Description
This book is intended for those developers who are keen to master the internal workings of Play Framework to effectively build and deploy web-related apps.
Scala Programming Projects
Author: Mikael Valot
Publisher: Packt Publishing Ltd
ISBN: 1788395344
Category : Computers
Languages : en
Pages : 392
Book Description
Discover unique features and powerful capabilities of Scala Programming as you build projects in a wide range of domains Key FeaturesDevelop a range of Scala projects from web applications to big data analysisLeverage full power of modern web programming using Play FrameworkBuild real-time data pipelines in Scala with a Bitcoin transaction analysis appBook Description Scala is a type-safe JVM language that incorporates object-oriented and functional programming (OOP and FP) aspects. This book gets you started with essentials of software development by guiding you through various aspects of Scala programming, helping you bridge the gap between learning and implementing. You will learn about the unique features of Scala through diverse applications and experience simple yet powerful approaches for software development. Scala Programming Projects will help you build a number of applications, beginning with simple projects, such as a financial independence calculator, and advancing to other projects, such as a shopping application and a Bitcoin transaction analyzer. You will be able to use various Scala features, such as its OOP and FP capabilities, and learn how to write concise, reactive, and concurrent applications in a type-safe manner. You will also learn how to use top-notch libraries such as Akka and Play and integrate Scala apps with Kafka, Spark, and Zeppelin, along with deploying applications on a cloud platform. By the end of the book, you will not only know the ins and outs of Scala, but you will also be able to apply it to solve a variety of real-world problems What you will learnBuild, test, and package code using Scala Build ToolDecompose code into functions, classes, and packages for maintainabilityImplement the functional programming capabilities of ScalaDevelop a simple CRUD REST API using the Play frameworkAccess a relational database using SlickDevelop a dynamic web UI using Scala.jsSource streaming data using Spark Streaming and write a Kafka producerUse Spark and Zeppelin to analyze dataWho this book is for If you are an amateur programmer who wishes to learn how to use Scala, this book is for you. Knowledge of Java will be beneficial, but not necessary, to understand the concepts covered in this book.
Publisher: Packt Publishing Ltd
ISBN: 1788395344
Category : Computers
Languages : en
Pages : 392
Book Description
Discover unique features and powerful capabilities of Scala Programming as you build projects in a wide range of domains Key FeaturesDevelop a range of Scala projects from web applications to big data analysisLeverage full power of modern web programming using Play FrameworkBuild real-time data pipelines in Scala with a Bitcoin transaction analysis appBook Description Scala is a type-safe JVM language that incorporates object-oriented and functional programming (OOP and FP) aspects. This book gets you started with essentials of software development by guiding you through various aspects of Scala programming, helping you bridge the gap between learning and implementing. You will learn about the unique features of Scala through diverse applications and experience simple yet powerful approaches for software development. Scala Programming Projects will help you build a number of applications, beginning with simple projects, such as a financial independence calculator, and advancing to other projects, such as a shopping application and a Bitcoin transaction analyzer. You will be able to use various Scala features, such as its OOP and FP capabilities, and learn how to write concise, reactive, and concurrent applications in a type-safe manner. You will also learn how to use top-notch libraries such as Akka and Play and integrate Scala apps with Kafka, Spark, and Zeppelin, along with deploying applications on a cloud platform. By the end of the book, you will not only know the ins and outs of Scala, but you will also be able to apply it to solve a variety of real-world problems What you will learnBuild, test, and package code using Scala Build ToolDecompose code into functions, classes, and packages for maintainabilityImplement the functional programming capabilities of ScalaDevelop a simple CRUD REST API using the Play frameworkAccess a relational database using SlickDevelop a dynamic web UI using Scala.jsSource streaming data using Spark Streaming and write a Kafka producerUse Spark and Zeppelin to analyze dataWho this book is for If you are an amateur programmer who wishes to learn how to use Scala, this book is for you. Knowledge of Java will be beneficial, but not necessary, to understand the concepts covered in this book.
Play for Scala
Author: Peter Hilton
Publisher: Manning Publications
ISBN: 9781617290794
Category : Computers
Languages : en
Pages : 328
Book Description
Summary Play for Scala shows you how to build Scala-based web applications using the Play 2 framework. This book starts by introducing Play through a comprehensive overview example. Then, you'll look at each facet of a typical Play application both by exploring simple code snippets and by adding to a larger running example. Along the way, you'll deepen your knowledge of Scala as a programming language and work with tools like Akka. About this Book Play is a Scala web framework with built-in advantages: Scala's strong type system helps deliver bug-free code, and the Akka framework helps achieve hassle-free concurrency and peak performance. Play builds on the web's stateless nature for excellent scalability, and because it is event-based and nonblocking, you'll find it to be great for near real-time applications. Play for Scala teaches you to build Scala-based web applications using Play 2. It gets you going with a comprehensive overview example. It then explores each facet of a typical Play application by walking through sample code snippets and adding features to a running example. Along the way, you'll deepen your knowledge of Scala and learn to work with tools like Akka. Written for readers familiar with Scala and web-based application architectures. No knowledge of Play is assumed. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Intro to Play 2 Play's MVC structure Mastering Scala templates and forms Persisting data and using web services Using Play's advanced features About the Authors Peter Hiltonv, Erik Bakker, and Francisco Canedo, are engineers at Lunatech, a consultancy with Scala and Play expertise. They are contributors to the Play framework. Table of Contents PART 1: GETTING STARTED Introduction to Play Your first Play application PART 2: CORE FUNCTIONALITY Deconstructing Play application architecture Defining the application's HTTP interface Storing data—the persistence layer Building a user interface with view templates Validating and processing input with the forms API PART 3: ADVANCED CONCEPTS Building a single-page JavaScript application with JSON Play and more Web services, iteratees, and WebSockets
Publisher: Manning Publications
ISBN: 9781617290794
Category : Computers
Languages : en
Pages : 328
Book Description
Summary Play for Scala shows you how to build Scala-based web applications using the Play 2 framework. This book starts by introducing Play through a comprehensive overview example. Then, you'll look at each facet of a typical Play application both by exploring simple code snippets and by adding to a larger running example. Along the way, you'll deepen your knowledge of Scala as a programming language and work with tools like Akka. About this Book Play is a Scala web framework with built-in advantages: Scala's strong type system helps deliver bug-free code, and the Akka framework helps achieve hassle-free concurrency and peak performance. Play builds on the web's stateless nature for excellent scalability, and because it is event-based and nonblocking, you'll find it to be great for near real-time applications. Play for Scala teaches you to build Scala-based web applications using Play 2. It gets you going with a comprehensive overview example. It then explores each facet of a typical Play application by walking through sample code snippets and adding features to a running example. Along the way, you'll deepen your knowledge of Scala and learn to work with tools like Akka. Written for readers familiar with Scala and web-based application architectures. No knowledge of Play is assumed. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Intro to Play 2 Play's MVC structure Mastering Scala templates and forms Persisting data and using web services Using Play's advanced features About the Authors Peter Hiltonv, Erik Bakker, and Francisco Canedo, are engineers at Lunatech, a consultancy with Scala and Play expertise. They are contributors to the Play framework. Table of Contents PART 1: GETTING STARTED Introduction to Play Your first Play application PART 2: CORE FUNCTIONALITY Deconstructing Play application architecture Defining the application's HTTP interface Storing data—the persistence layer Building a user interface with view templates Validating and processing input with the forms API PART 3: ADVANCED CONCEPTS Building a single-page JavaScript application with JSON Play and more Web services, iteratees, and WebSockets
Scala for Java Developers
Author: Thomas Alexandre
Publisher: Packt Publishing Ltd
ISBN: 1783283645
Category : Computers
Languages : en
Pages : 434
Book Description
This step-by-step guide is full of easy-to-follow code taken from real-world examples explaining the migration and integration of Scala in a Java project. If you are a Java developer or a Java architect, working in Java EE-based solutions and want to start using Scala in your daily programming, this book is ideal for you. This book will get you up and running quickly by adopting a pragmatic approach with real-world code samples. No prior knowledge of Scala is required.
Publisher: Packt Publishing Ltd
ISBN: 1783283645
Category : Computers
Languages : en
Pages : 434
Book Description
This step-by-step guide is full of easy-to-follow code taken from real-world examples explaining the migration and integration of Scala in a Java project. If you are a Java developer or a Java architect, working in Java EE-based solutions and want to start using Scala in your daily programming, this book is ideal for you. This book will get you up and running quickly by adopting a pragmatic approach with real-world code samples. No prior knowledge of Scala is required.
Mastering Scala
Author: Cybellium Ltd
Publisher: Cybellium Ltd
ISBN:
Category : Computers
Languages : en
Pages : 263
Book Description
Are you ready to dive into the world of advanced programming with confidence and expertise? "Mastering Scala" is your gateway to unlocking the true power of the Scala programming language. Whether you're an experienced developer seeking to expand your horizons or a programming enthusiast ready to embark on a transformative journey, this comprehensive guide will equip you with the skills to develop elegant, scalable, and high-performance software. Key Features: 1. In-Depth Exploration of Scala Fundamentals: Immerse yourself in the core concepts of Scala programming, from its unique blend of object-oriented and functional paradigms to its expressive syntax. Build a strong foundation that enables you to tackle complex programming challenges. 2. Functional Programming Mastery: Discover the beauty of functional programming in Scala. Learn how to leverage higher-order functions, immutability, and pattern matching to create clean, maintainable code that is both concise and powerful. 3. Concurrency and Parallelism: Dive into Scala's concurrent and parallel programming capabilities. Explore actors, Futures, and parallel collections to build responsive, highly performant applications that excel in a multi-core world. 4. Advanced Data Structures and Algorithms: Elevate your programming skills by mastering advanced data structures and algorithms in Scala. From sets and maps to trees and graphs, learn how to solve intricate problems using Scala's powerful abstractions. 5. Building Robust Applications: Explore best practices for structuring and organizing your Scala projects. Gain insights into error handling, testing, and writing code that is not only functional but also robust and easy to maintain. 6. Leveraging Scala's Ecosystem: Maximize your productivity by exploring the vibrant ecosystem of Scala libraries and frameworks. From web development to data analysis, discover tools that will help you create software efficiently and effectively. 7. Type System and Advanced Language Features: Dive into Scala's sophisticated type system and explore advanced language features like implicits and type classes. Craft expressive, type-safe code that reflects the elegance of Scala. 8. Performance Optimization: Master the art of optimizing Scala applications for top-notch performance. Learn profiling techniques, memory management, and concurrency tuning to ensure your software runs efficiently. 9. Deployment and DevOps: Navigate the landscape of deploying Scala applications to various environments. Discover containerization and adopt DevOps practices that streamline your development-to-production pipeline. Who This Book Is For: "Mastering Scala" is an indispensable companion for developers of all skill levels who are passionate about mastering the Scala programming language. Whether you're a novice programmer or an experienced coder eager to embrace Scala's unique features, this book will guide you through the language's intricacies and empower you to create sophisticated, high-performance software.
Publisher: Cybellium Ltd
ISBN:
Category : Computers
Languages : en
Pages : 263
Book Description
Are you ready to dive into the world of advanced programming with confidence and expertise? "Mastering Scala" is your gateway to unlocking the true power of the Scala programming language. Whether you're an experienced developer seeking to expand your horizons or a programming enthusiast ready to embark on a transformative journey, this comprehensive guide will equip you with the skills to develop elegant, scalable, and high-performance software. Key Features: 1. In-Depth Exploration of Scala Fundamentals: Immerse yourself in the core concepts of Scala programming, from its unique blend of object-oriented and functional paradigms to its expressive syntax. Build a strong foundation that enables you to tackle complex programming challenges. 2. Functional Programming Mastery: Discover the beauty of functional programming in Scala. Learn how to leverage higher-order functions, immutability, and pattern matching to create clean, maintainable code that is both concise and powerful. 3. Concurrency and Parallelism: Dive into Scala's concurrent and parallel programming capabilities. Explore actors, Futures, and parallel collections to build responsive, highly performant applications that excel in a multi-core world. 4. Advanced Data Structures and Algorithms: Elevate your programming skills by mastering advanced data structures and algorithms in Scala. From sets and maps to trees and graphs, learn how to solve intricate problems using Scala's powerful abstractions. 5. Building Robust Applications: Explore best practices for structuring and organizing your Scala projects. Gain insights into error handling, testing, and writing code that is not only functional but also robust and easy to maintain. 6. Leveraging Scala's Ecosystem: Maximize your productivity by exploring the vibrant ecosystem of Scala libraries and frameworks. From web development to data analysis, discover tools that will help you create software efficiently and effectively. 7. Type System and Advanced Language Features: Dive into Scala's sophisticated type system and explore advanced language features like implicits and type classes. Craft expressive, type-safe code that reflects the elegance of Scala. 8. Performance Optimization: Master the art of optimizing Scala applications for top-notch performance. Learn profiling techniques, memory management, and concurrency tuning to ensure your software runs efficiently. 9. Deployment and DevOps: Navigate the landscape of deploying Scala applications to various environments. Discover containerization and adopt DevOps practices that streamline your development-to-production pipeline. Who This Book Is For: "Mastering Scala" is an indispensable companion for developers of all skill levels who are passionate about mastering the Scala programming language. Whether you're a novice programmer or an experienced coder eager to embrace Scala's unique features, this book will guide you through the language's intricacies and empower you to create sophisticated, high-performance software.
Mastering Scala Machine Learning
Author: Alex Kozlov
Publisher: Packt Publishing Ltd
ISBN: 178588526X
Category : Computers
Languages : en
Pages : 310
Book Description
Advance your skills in efficient data analysis and data processing using the powerful tools of Scala, Spark, and Hadoop About This Book This is a primer on functional-programming-style techniques to help you efficiently process and analyze all of your data Get acquainted with the best and newest tools available such as Scala, Spark, Parquet and MLlib for machine learning Learn the best practices to incorporate new Big Data machine learning in your data-driven enterprise to gain future scalability and maintainability Who This Book Is For Mastering Scala Machine Learning is intended for enthusiasts who want to plunge into the new pool of emerging techniques for machine learning. Some familiarity with standard statistical techniques is required. What You Will Learn Sharpen your functional programming skills in Scala using REPL Apply standard and advanced machine learning techniques using Scala Get acquainted with Big Data technologies and grasp why we need a functional approach to Big Data Discover new data structures, algorithms, approaches, and habits that will allow you to work effectively with large amounts of data Understand the principles of supervised and unsupervised learning in machine learning Work with unstructured data and serialize it using Kryo, Protobuf, Avro, and AvroParquet Construct reliable and robust data pipelines and manage data in a data-driven enterprise Implement scalable model monitoring and alerts with Scala In Detail Since the advent of object-oriented programming, new technologies related to Big Data are constantly popping up on the market. One such technology is Scala, which is considered to be a successor to Java in the area of Big Data by many, like Java was to C/C++ in the area of distributed programing. This book aims to take your knowledge to next level and help you impart that knowledge to build advanced applications such as social media mining, intelligent news portals, and more. After a quick refresher on functional programming concepts using REPL, you will see some practical examples of setting up the development environment and tinkering with data. We will then explore working with Spark and MLlib using k-means and decision trees. Most of the data that we produce today is unstructured and raw, and you will learn to tackle this type of data with advanced topics such as regression, classification, integration, and working with graph algorithms. Finally, you will discover at how to use Scala to perform complex concept analysis, to monitor model performance, and to build a model repository. By the end of this book, you will have gained expertise in performing Scala machine learning and will be able to build complex machine learning projects using Scala. Style and approach This hands-on guide dives straight into implementing Scala for machine learning without delving much into mathematical proofs or validations. There are ample code examples and tricks that will help you sail through using the standard techniques and libraries. This book provides practical examples from the field on how to correctly tackle data analysis problems, particularly for modern Big Data datasets.
Publisher: Packt Publishing Ltd
ISBN: 178588526X
Category : Computers
Languages : en
Pages : 310
Book Description
Advance your skills in efficient data analysis and data processing using the powerful tools of Scala, Spark, and Hadoop About This Book This is a primer on functional-programming-style techniques to help you efficiently process and analyze all of your data Get acquainted with the best and newest tools available such as Scala, Spark, Parquet and MLlib for machine learning Learn the best practices to incorporate new Big Data machine learning in your data-driven enterprise to gain future scalability and maintainability Who This Book Is For Mastering Scala Machine Learning is intended for enthusiasts who want to plunge into the new pool of emerging techniques for machine learning. Some familiarity with standard statistical techniques is required. What You Will Learn Sharpen your functional programming skills in Scala using REPL Apply standard and advanced machine learning techniques using Scala Get acquainted with Big Data technologies and grasp why we need a functional approach to Big Data Discover new data structures, algorithms, approaches, and habits that will allow you to work effectively with large amounts of data Understand the principles of supervised and unsupervised learning in machine learning Work with unstructured data and serialize it using Kryo, Protobuf, Avro, and AvroParquet Construct reliable and robust data pipelines and manage data in a data-driven enterprise Implement scalable model monitoring and alerts with Scala In Detail Since the advent of object-oriented programming, new technologies related to Big Data are constantly popping up on the market. One such technology is Scala, which is considered to be a successor to Java in the area of Big Data by many, like Java was to C/C++ in the area of distributed programing. This book aims to take your knowledge to next level and help you impart that knowledge to build advanced applications such as social media mining, intelligent news portals, and more. After a quick refresher on functional programming concepts using REPL, you will see some practical examples of setting up the development environment and tinkering with data. We will then explore working with Spark and MLlib using k-means and decision trees. Most of the data that we produce today is unstructured and raw, and you will learn to tackle this type of data with advanced topics such as regression, classification, integration, and working with graph algorithms. Finally, you will discover at how to use Scala to perform complex concept analysis, to monitor model performance, and to build a model repository. By the end of this book, you will have gained expertise in performing Scala machine learning and will be able to build complex machine learning projects using Scala. Style and approach This hands-on guide dives straight into implementing Scala for machine learning without delving much into mathematical proofs or validations. There are ample code examples and tricks that will help you sail through using the standard techniques and libraries. This book provides practical examples from the field on how to correctly tackle data analysis problems, particularly for modern Big Data datasets.
Play Framework Cookbook
Author: Alexander Reelsen
Publisher: Packt Pub Limited
ISBN: 9781849515528
Category : Computers
Languages : en
Pages : 292
Book Description
This book is in Packt's Cookbook series. A Packt Cookbook contains recipes for solutions to the most important problems you face when working with a topic. Inside the Cookbook you will find: A straightforward and easy to follow format, A selection of the most important tasks and problems, Carefully organized instructions for solving the problem efficiently, Clear explanations of what you did, Details for applying the solution to other situations. This is the ideal book for people who have already written a first application with the Play Framework or have just finished reading through the documenation. In other words - anyone who is ready to get to grips with Play! Having a basic knowledge of Java is good, as well as well as some web developer skills – HTML and JavaScript
Publisher: Packt Pub Limited
ISBN: 9781849515528
Category : Computers
Languages : en
Pages : 292
Book Description
This book is in Packt's Cookbook series. A Packt Cookbook contains recipes for solutions to the most important problems you face when working with a topic. Inside the Cookbook you will find: A straightforward and easy to follow format, A selection of the most important tasks and problems, Carefully organized instructions for solving the problem efficiently, Clear explanations of what you did, Details for applying the solution to other situations. This is the ideal book for people who have already written a first application with the Play Framework or have just finished reading through the documenation. In other words - anyone who is ready to get to grips with Play! Having a basic knowledge of Java is good, as well as well as some web developer skills – HTML and JavaScript
Scala Functional Programming Patterns
Author: Atul S. Khot
Publisher: Packt Publishing Ltd
ISBN: 1783985852
Category : Computers
Languages : en
Pages : 298
Book Description
Grok and perform effective functional programming in Scala About This Book Understand functional programming patterns by comparing them with the traditional object-oriented design patterns Write robust, safer, and better code using the declarative programming paradigm An illustrative guide for programmers to create functional programming patterns with Scala Who This Book Is For If you have done Java programming before and have a basic knowledge of Scala and its syntax, then this book is an ideal choice to help you to understand the context, the traditional design pattern applicable, and the Scala way. Having previous knowledge of design patterns will help, though it is not strictly necessary. What You Will Learn Get to know about functional programming and the value Scala's FP idioms bring to the table Solve day-to-day programming problems using functional programming idioms Cut down the boiler-plate and express patterns simply and elegantly using Scala's concise syntax Tame system complexity by reducing the moving parts Write easier to reason about concurrent code using the actor paradigm and the Akka library Apply recursive thinking and understand how to create solutions without mutation Reuse existing code to compose new behavior Combine the object-oriented and functional programming approaches for effective programming using Scala In Detail Scala is used to construct elegant class hierarchies for maximum code reuse and extensibility and to implement their behavior using higher-order functions. Its functional programming (FP) features are a boon to help you design “easy to reason about” systems to control the growing software complexities. Knowing how and where to apply the many Scala techniques is challenging. Looking at Scala best practices in the context of what you already know helps you grasp these concepts quickly, and helps you see where and why to use them. This book begins with the rationale behind patterns to help you understand where and why each pattern is applied. You will discover what tail recursion brings to your table and will get an understanding of how to create solutions without mutations. We then explain the concept of memorization and infinite sequences for on-demand computation. Further, the book takes you through Scala's stackable traits and dependency injection, a popular technique to produce loosely-coupled software systems. You will also explore how to currying favors to your code and how to simplify it by de-construction via pattern matching. We also show you how to do pipeline transformations using higher order functions such as the pipes and filters pattern. Then we guide you through the increasing importance of concurrent programming and the pitfalls of traditional code concurrency. Lastly, the book takes a paradigm shift to show you the different techniques that functional programming brings to your plate. This book is an invaluable source to help you understand and perform functional programming and solve common programming problems using Scala's programming patterns. Style and approach This is a hands-on guide to Scala's game-changing features for programming. It is filled with many code examples and figures that illustrate various Scala idioms and best practices.
Publisher: Packt Publishing Ltd
ISBN: 1783985852
Category : Computers
Languages : en
Pages : 298
Book Description
Grok and perform effective functional programming in Scala About This Book Understand functional programming patterns by comparing them with the traditional object-oriented design patterns Write robust, safer, and better code using the declarative programming paradigm An illustrative guide for programmers to create functional programming patterns with Scala Who This Book Is For If you have done Java programming before and have a basic knowledge of Scala and its syntax, then this book is an ideal choice to help you to understand the context, the traditional design pattern applicable, and the Scala way. Having previous knowledge of design patterns will help, though it is not strictly necessary. What You Will Learn Get to know about functional programming and the value Scala's FP idioms bring to the table Solve day-to-day programming problems using functional programming idioms Cut down the boiler-plate and express patterns simply and elegantly using Scala's concise syntax Tame system complexity by reducing the moving parts Write easier to reason about concurrent code using the actor paradigm and the Akka library Apply recursive thinking and understand how to create solutions without mutation Reuse existing code to compose new behavior Combine the object-oriented and functional programming approaches for effective programming using Scala In Detail Scala is used to construct elegant class hierarchies for maximum code reuse and extensibility and to implement their behavior using higher-order functions. Its functional programming (FP) features are a boon to help you design “easy to reason about” systems to control the growing software complexities. Knowing how and where to apply the many Scala techniques is challenging. Looking at Scala best practices in the context of what you already know helps you grasp these concepts quickly, and helps you see where and why to use them. This book begins with the rationale behind patterns to help you understand where and why each pattern is applied. You will discover what tail recursion brings to your table and will get an understanding of how to create solutions without mutations. We then explain the concept of memorization and infinite sequences for on-demand computation. Further, the book takes you through Scala's stackable traits and dependency injection, a popular technique to produce loosely-coupled software systems. You will also explore how to currying favors to your code and how to simplify it by de-construction via pattern matching. We also show you how to do pipeline transformations using higher order functions such as the pipes and filters pattern. Then we guide you through the increasing importance of concurrent programming and the pitfalls of traditional code concurrency. Lastly, the book takes a paradigm shift to show you the different techniques that functional programming brings to your plate. This book is an invaluable source to help you understand and perform functional programming and solve common programming problems using Scala's programming patterns. Style and approach This is a hands-on guide to Scala's game-changing features for programming. It is filled with many code examples and figures that illustrate various Scala idioms and best practices.