Search results for: scala-reactive-programming

Scala Reactive Programming

Author : Rambabu Posa
File Size : 49.85 MB
Format : PDF, ePub, Docs
Download : 672
Read : 611
Download »
Build fault-tolerant, robust, and distributed applications in Scala Key Features - Understand and use the concepts of reactive programming to build distributed systems running on multiple nodes. - Learn how reactive architecture reduces complexity throughout the development process. - Get to grips with functional reactive programming and Reactive Microservices. Book Description Reactive programming is a scalable, fast way to build applications, and one that helps us write code that is concise, clear, and readable. It can be used for many purposes such as GUIs, robotics, music, and others, and is central to many concurrent systems. This book will be your guide to getting started with Reactive programming in Scala. You will begin with the fundamental concepts of Reactive programming and gradually move on to working with asynchronous data streams. You will then start building an application using Akka Actors and extend it using the Play framework. You will also learn about reactive stream specifications, event sourcing techniques, and different methods to integrate Akka Streams into the Play Framework. This book will also take you one step forward by showing you the advantages of the Lagom framework while working with reactive microservices. You will also learn to scale applications using multi-node clusters and test, secure, and deploy your microservices to the cloud. By the end of the book, you will have gained the knowledge to build robust and distributed systems with Scala and Akka. What you will learn Understand the fundamental principles of Reactive and Functional programming Develop applications utilizing features of the Akka framework Explore techniques to integrate Scala, Akka, and Play together Learn about Reactive Streams with real-time use cases Develop Reactive Web Applications with Play, Scala, Akka, and Akka Streams Develop and deploy Reactive microservices using the Lagom framework and ConductR Who this book is for This book is for Scala developers who would like to build fault-tolerant, scalable distributed systems. No knowledge of Reactive programming is required.

Reactive Programming with Scala and Akka

Author : Prasanna Kumar Sathyanarayanan
File Size : 81.49 MB
Format : PDF, Mobi
Download : 824
Read : 383
Download »
Harness reactive programming to build scalable and fault-tolerant distributed systems using Scala and AkkaAbout This Book- Use the concepts of reactive programming to build distributed systems running on multiple nodes- Get to grips with the full range of Akka features including the upcoming and cutting edge experimental modules- A comprehensive coverage of the principles of FRP with real-world use cases to solve scalability issues Who This Book Is ForIf you are a developer who is passionate about building fault-tolerant, scalable distributed applications using Scala and Akka, then this book will give you a jump start. You should be familiar with Scala, but no prior knowledge of Akka and reactive programming is required.What You Will Learn- Explore functional programming using Scala- Design an asynchronous, non-blocking shopping cart application using Futures- Understand the Akka actor model and the relationship between actors and threads- Use the Actor Supervision feature to build a fault tolerant and resilient application- Create your own distributed system framework using an Akka cluster- Take a look under the hood to gain perspective on the Akka engine- See a comprehensive case study of a key value store with concurrent reads and writes- Model a finite state machine using state-driven actorsIn DetailToday's web-based applications need to scale quickly to tackle the demands of modern users. Reactive programming is the solution developed to ensure the fault tolerant and robust scaling that is essential for professional applications. Reactive programming in Scala and Akka provides a great platform to develop low latency resilient, concurrent Internet scale applications on the Java Virtual Machine.This comprehensive guide will help you get to grips with the concepts of reactive programming in order to build a robust distributed system in Scala and Akka. Written in two parts, you will first take a walkthrough of the reactive, asynchronous, and functional concepts in Scala before focusing on Akka and getting to grips with the details of real-world use cases.Begin with an introduction into functional reactive programming, before moving on to writing asynchronous application with non-blocking constructs in Scala. Get familiar with the concept of actor-based concurrency using Akka, and features such as Akka remoting, routing, and persistence capabilities to build distributed applications. Learn to scale applications using a multi-node Akka cluster and unit test Akka actors and get to grips with state machines and how to implement state-driven actors using Akka. Finally, put your skills to the test with a case study where you will concurrently and asynchronously store and retrieve data from a key value store. By progressively working through the Akka concepts, you will not only be able to write your own distributed system, but also appreciate the hidden complexity within the Akka ecosystem.Style and approachThis comprehensive guide walks you through the basics of reactive programming in Scala and Akka, explaining some of the most frequently used constructs to the most advanced features, and taking you through building a full-blown distributed system with the help of real-world examples.

Learn Scala Programming

Author : Slava Schmidt
File Size : 89.38 MB
Format : PDF
Download : 327
Read : 923
Download »
A step-by-step guide in building high-performance scalable applications with the latest features of Scala. Key Features Develop a strong foundation in functional programming and Scala's Standard Library (STL) Get a detailed coverage of Lightbend Lagom—the latest microservices framework from Lightbend Understand the Akka framework and learn event-based Programming with Scala Book Description The second version of Scala has undergone multiple changes to support features and library implementations. Scala 2.13, with its main focus on modularizing the standard library and simplifying collections, brings with it a host of updates. Learn Scala Programming addresses both technical and architectural changes to the redesigned standard library and collections, along with covering in-depth type systems and first-level support for functions. You will discover how to leverage implicits as a primary mechanism for building type classes and look at different ways to test Scala code. You will also learn about abstract building blocks used in functional programming, giving you sufficient understanding to pick and use any existing functional programming library out there. In the concluding chapters, you will explore reactive programming by covering the Akka framework and reactive streams. By the end of this book, you will have built microservices and learned to implement them with the Scala and Lagom framework. What you will learn Acquaint yourself with the new standard library of Scala 2.13 Get to grips with the Grok functional paradigms Get familiar with type system to express domain constraints Understand the actor model and different Akka libraries Grasp the concept of building microservices using Lagom framework Deep dive into property-based testing and its practical applications Who this book is for This book is for beginner to intermediate level Scala developers who would like to advance and gain knowledge of the intricacies of the Scala language, expand their functional programming tools, and explore actor-based concurrency models.

Learning Scala Programming

Author : Vikash Sharma
File Size : 45.63 MB
Format : PDF, Kindle
Download : 373
Read : 265
Download »
Learn how to write scalable and concurrent programs in Scala, a language that grows with you. Key Features Get a grip on the functional features of the Scala programming language Understand and develop optimal applications using object-oriented and functional Scala constructs Learn reactive principles with Scala and work with the Akka framework Book Description Scala is a general-purpose programming language that supports both functional and object-oriented programming paradigms. Due to its concise design and versatility, Scala's applications have been extended to a wide variety of fields such as data science and cluster computing. You will learn to write highly scalable, concurrent, and testable programs to meet everyday software requirements. We will begin by understanding the language basics, syntax, core data types, literals, variables, and more. From here you will be introduced to data structures with Scala and you will learn to work with higher-order functions. Scala's powerful collections framework will help you get the best out of immutable data structures and utilize them effectively. You will then be introduced to concepts such as pattern matching, case classes, and functional programming features. From here, you will learn to work with Scala's object-oriented features. Going forward, you will learn about asynchronous and reactive programming with Scala, where you will be introduced to the Akka framework. Finally, you will learn the interoperability of Scala and Java. After reading this book, you'll be well versed with this language and its features, and you will be able to write scalable, concurrent, and reactive programs in Scala. What you will learn Get to know the reasons for choosing Scala: its use and the advantages it provides over other languages Bring together functional and object-oriented programming constructs to make a manageable application Master basic to advanced Scala constructs Test your applications using advanced testing methodologies such as TDD Select preferred language constructs from the wide variety of constructs provided by Scala Make the transition from the object-oriented paradigm to the functional programming paradigm Write clean, concise, and powerful code with a functional mindset Create concurrent, scalable, and reactive applications utilizing the advantages of Scala Who this book is for This book is for programmers who choose to get a grip over Scala to write concurrent, scalable, and reactive programs. No prior experience with any programming language is required to learn the concepts explained in this book. Knowledge of any programming language would help the reader understanding concepts faster though.

Reactive Web Applications

Author : Manuel Bernhardt
File Size : 64.6 MB
Format : PDF, ePub, Docs
Download : 357
Read : 395
Download »
The emerging reactive model is ideal for high-performance web applications that need to manage the unpredictably-bursty behavior of the web, along with the potential instability of running on networks not fully controlled. By using application components that communicate asynchronously as they react to user and system events, reactive applications are more scalable, responsive, and fault-tolerant than standard monolithic applications. For web developers working in Java or Scala, the Play framework makes it easy to implement reactive applications without taking on the overhead of building everything from scratch. Reactive Web Applications teaches web developers how to benefit from the reactive application architecture and presents hands-on examples using the Play framework. It introduces Play as a framework to handle the plumbing of applications. The book alternates between chapters that introduce reactive ideas like asynchronous programming, managing distributed state, and fault tolerance and examples that show how to build such applications using Play. Readers new to Play will be able to learn from the ground up. Those already using Play will get a deeper look at how to implement reactive web applications effectively. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Building Applications with Scala

Author : Diego Pacheco
File Size : 51.78 MB
Format : PDF, Mobi
Download : 945
Read : 1159
Download »
Write modern, scalable, and reactive applications in ScalaAbout This Book*Craft a completely reactive functional application from front end to back end*Step-by-step instructions, examples, and hands-on practices designed to help you learn the key secrets and intricacies of Scala app development*Comprehensive coverage of all the most popular tools in the Scala ecosystemWho This Book Is ForIf you are a Java or JVM developer who wants to use Scala to build reactive functional applications for the JVM platform, then this book is for you. Prior knowledge of Java or functional programing would help. No Scala knowledge is required.What You Will Learn*Use Akka to create a chat service for your app*Equip yourself with the techniques and tools to build reports and build database persistence with Scala and Slick*Develop a customer-facing Rest API that makes use of Scala and Spray*Make use of the Scala web development principles and scale up the architecture of your application*Get familiar with the core principles and concepts of Functional Programming*Use the Play framework to create models, controllers, and views*Develop reactive backing frameworks by writing code with RxScala*Discover what proper testing entails with Scala using behavior-driven developmentIn DetailScala is known for incorporating both object-oriented and functional programming into a concise and extremely powerful package. However, creating an app in Scala can get a little tricky because of the complexity. This book will help you dive straight into app development by creating a real, reactive, and functional application. We will provide you with practical examples and instructions using a hands-on approach that will give you a firm grounding in reactive functional principles.The book will take you through all the fundamentals of app development within Scala as you build an application piece by piece. We've made sure to incorporate everything you need from setting up to building reports and scaling architecture. This book also covers the most useful tools available in the Scala ecosystem, such as Slick, Play, and Akka, and a whole lot more. It will help you unlock the secrets of building your own up-to-date Scala application while maximizing performance and scalability.

Functional and Reactive Domain Modeling

Author : Debasish Ghosh
File Size : 23.38 MB
Format : PDF, Mobi
Download : 974
Read : 841
Download »
Functional and Reactive Domain Modeling teaches readers how to think of the domain model in terms of pure functions and how to compose them to build larger abstractions. It begins with the basics of functional programming and gradually progresses to the advanced concepts and patterns needed to implement complex domain models. The book demonstrates how advanced FP patterns like algebraic data types, typeclass based design, and isolation of side-effects can make models compose for readability and verifiability. On the subject of reactive modeling, the book focuses on higher order concurrency patterns like actors and futures. It uses the Akka framework as the reference implementation and demonstrates how advanced architectural patterns like event sourcing and CQRS can be put to great use in implementing scalable models. It offers techniques that are radically different from the standard RDBMS based applications that are based on mutation of records. It also shares important patterns like using asynchronous messaging for interaction based on non blocking concurrency and model persistence, which delivers the speed of in- memory processing along with suitable guarantees of reliability.

Reactive Design Patterns

Author : Roland Kuhn
File Size : 87.55 MB
Format : PDF, Kindle
Download : 711
Read : 443
Download »
Modern distributed applications must deliver near-realtime performance while simultaneously managing big data and high user loads spread across environments ranging from cloud systems to mobile devices. Unlike traditional enterprise applications which focus on decoupling their internal components by defining programming interfaces, reactive applications go one step further and decouple their components also at runtime. This makes it possible to react effectively and efficiently to failures, varying user demands, and changes in the application's execution environment. The resulting systems are highly concurrent and fault-tolerant, with minimal dependencies among individual system components. Reactive Design Patterns is a clearly-written guide for building message-driven distributed systems that are resilient, responsive, and elastic. It contains patterns for messaging, flow control, resource management, and concurrency, along with practical issues like test-friendly designs. All patterns include concrete examples using Scala and Akka—in some cases, Java, JavaScript, and Erlang. Software engineers and architects will learn patterns that address day-to-day distributed development problems in a fault-tolerant and scalable way. Project leaders and CTOs will gain a deeper understanding of the reactive design philosophy. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Reactive Enterprise with Actor Model

Author : Vaughn Vernon
File Size : 34.18 MB
Format : PDF, ePub
Download : 955
Read : 1122
Download »
Use Actor Model to Build Simpler Systems with Better Performance and Scalability Enterprise software development has been much more difficult and failure-prone than it needs to be. Now, veteran software engineer Vaughn Vernon offers an easier and more rewarding means to succeeding with Actor model. Vernon shows how the reactive enterprise approach, Actor model, Scala, and Akka can help you overcome previous limits of performance and scalability, and skillfully address even the most challenging non-functional requirements. Reflecting his own cutting-edge work, Vernon shows architects and developers how to translate the longtime promises of Actor model into practical reality. First, he introduces the tenets of reactive software, and shows how the message-driven Actor model addresses all of them-making it possible to build systems that are more responsive, resilient, and elastic. Next, he presents a practical Scala bootstrap tutorial, a thorough introduction to Akka and Akka Cluster, and a full chapter on maximizing performance and scalability with Scala and Akka. Building on this foundation, you'll learn to apply enterprise application and integration patterns to establish message channels and endpoints; efficiently construct, route, and transform messages; and build robust systems that are simpler and far more successful. Coverage includes How reactive architecture replaces complexity with simplicity throughout the core, middle, and edges The characteristics of actors and actor systems, and how Akka makes them more powerful Building systems that perform at scale on one or many computing nodes Establishing channel mechanisms, and choosing appropriate channels for each application and integration challenge Constructing messages to clearly convey a sender's intent in communicating with a receiver Implementing a Process Manager for your domain-driven designs Decoupling a message's source and destination, and integrating appropriate business logic into its router Understanding the transformations a message may experience in applications and integrations Implementing advanced system management and infrastructure tools for reactive environments

Reactive Application Development

Author : Duncan DeVore
File Size : 69.21 MB
Format : PDF, Mobi
Download : 891
Read : 1155
Download »
The traditional patterns and practices for enterprise application development simply can't deliver the millisecond response times and near-perfect reliability these systems require. Reactive applications meet these demands by employing a loosely-coupled system of independent, isolated components that communicate via asynchronous message passing. Reactive Application Development teaches readers how to build reactive applications using the Typesafe stack. Along the way, they'll learn how to build distributed domain models for reactive applications and clustered actor systems for elasticity and resilience, as well as how to integrate reactive systems with traditional architectures. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Mastering Reactive JavaScript

Author : Erich de Souza Oliveira
File Size : 46.24 MB
Format : PDF, ePub, Mobi
Download : 719
Read : 1116
Download »
Expand your boundaries by creating applications empowered with real-time data using RxJs without compromising performance About This Book Handle an infinite stream of incoming data using RxJs without going crazy Explore important RxJs operators that can help you improve your code readability Get acquainted with the different techniques and operators used to handle data traffic, which occurs when you receive data faster than you can process Who This Book Is For If you're a web developer with some basic JavaScript programming knowledge who wants to implement the reactive programming paradigm with JavaScript, then this book is for you. What You Will Learn Get to know the basics of functional reactive programming using RxJs Process a continuous flow of data with linear memory consumption Filter, group, and react to changes in your system Discover how to deal with data traffic Compose operators to create new operators and use them in multiple observables to avoid code repetition Explore transducers and see how they can improve your code readability Detect and recover from errors in observables using Retry and Catch operators Create your own reactive application: a real-time webchat In Detail If you're struggling to handle a large amount of data and don't know how to improve your code readability, then reactive programming is the right solution for you. It lets you describe how your code behaves when changes happen and makes it easier to deal with real-time data. This book will teach you what reactive programming is, and how you can use it to write better applications. The book starts with the basics of reactive programming, what Reactive Extensions is, and how can you use it in JavaScript along with some reactive code using Bacon. Next, you'll discover what an Observable and an Observer are and when to use them.You'll also find out how you can query data through operators, and how to use schedulers to react to changes. Moving on, you'll explore the RxJs API, be introduced to the problem of data traffic (backpressure), and see how you can mitigate it. You'll also learn about other important operators that can help improve your code readability, and you'll see how to use transducers to compose operators. At the end of the book, you'll get hands-on experience of using RxJs, and will create a real-time web chat using RxJs on the client and server, providing you with the complete package to master RxJs. Style and approach This easy-to-follow guide is full of hands-on examples of reactive programming. Each topic is explained and placed in context, and for the more inquisitive there are more details of the concepts used, ending with an application using the concepts learned through the book.

Scala Beginner Programming Recipes

Author : Antonio Salazar Cardozo
File Size : 35.76 MB
Format : PDF
Download : 609
Read : 790
Download »
"Scala is a powerful multi-purpose programming language that is much appreciated for its simple object-oriented, functional style. This video starts with recipes that explore core language principles--covering topics such as strings, classes, types, methods, and arrays--before getting into concepts such as Object Oriented Programming. From there, you'll learn about functional programming techniques and how to handle files and processes. You'll go on to master concurrency in Scala, making use of the Akka framework. You'll learn about working with databases, and then about Reactive programming in Scala and how to use it to build robust microservices and distributed systems. You'll also use the Scala REPL to achieve a better feedback mechanism."--Resource description page.

Akka Cookbook

Author : Hector Veiga Ortiz
File Size : 69.91 MB
Format : PDF, ePub, Mobi
Download : 734
Read : 351
Download »
Learn how to use the Akka framework to build effective applications in ScalaAbout This Book* Covers a discussion on Lagom-the newest launched Akka framework that is built to create complex microservices easily* The recipe approach of the book allows the reader to know important and independent concepts of Scala and Akka in a seamless manner* Provides a comprehensive understanding of the Akka actor model and implementing it to create reactive web applicationsWho This Book Is ForIf you are a Scala developer who wants to build scalable and concurrent applications, then this book is for you. Basic knowledge of Akka will help you take advantage of this book.What You Will Learn* Control an actor using the ContolAware mailbox* Test a fault-tolerant application using the Akka test kit* Create a parallel application using futures and agents* Package and deploy Akka application inside Docker* Deploy remote actors programmatically on different nodes* Integrate Streams with Akka actors* Install Lagom and create a Lagom projectIn DetailAkka is an open source toolkit that simplifies the construction of distributed and concurrent applications on the JVM. This book will teach you how to develop reactive applications in Scala using the Akka framework.This book will show you how to build concurrent, scalable, and reactive applications in Akka. You will see how to create high performance applications, extend applications, build microservices with Lagom, and more.We will explore Akka's actor model and show you how to incorporate concurrency into your applications. The book puts a special emphasis on performance improvement and how to make an application available for users. We also make a special mention of message routing and construction.By the end of this book, you will be able to create a high-performing Scala application using the Akka framework.Style and approachThis highly practical recipe-based approach will allow you to build scalable, robust, and reactive applications using the Akka framework.

Reactive Programming

Author : Vitor Vieira
File Size : 58.16 MB
Format : PDF, Mobi
Download : 494
Read : 395
Download »
Learn reactive programming by building a modern, message-driven, resilient, responsive, and elastic systemAbout This Book*Explore the advanced concepts such as data flow, event-based programming, and higher order reactive programming*Get to grips with reactive programming for improved event handling and code resilience*Create a scalable application from scratch using Scala and Akka through this step-by-step guideWho This Book Is ForIf you are a software engineer who is familiar with functional or object-oriented programming languages such as Erlang, Haskell, C#, or Java, and want to learn about the reactive programming paradigm, this book is for you. It would be helpful to have some familiarity with basic functional programming concepts, but no prior reactive programming experience is required.What You Will Learn*Understand the difference between event-driven and thread-based concurrency and where the message-driven pattern succeeds*Explore various production-ready technologies, languages, and libraries you can use in your projects*Create a scalable REST API using the Actor concurrency model implemented by Akka*Manipulate and handle events applying the Observer and Future patterns using Akka Stream Gain the best strategies and hierarchy designs to recover from failure*Implement reactive persistence to enable restart and recovery from an application crash*Expand the monitoring capabilities to a complex and distributed supervision hierarchy using child Actors*Distribute the system between clusters using remote nodes to scale the message exchange between ActorsIn DetailReactive programming principles allow you to scale your existing application or develop a new product by constructing or modifying your components. A message-driven pattern is the one-stop-shop for either simple or complex software systems as it solves many problems natively.This book starts with an introduction to message-driven architecture. Then, we go through Scala, Haskel, and other languages and identify the right tools to develop our system. Moving on, you will learn to create a scalable REST API and deep dive into reactive event handling by developing an aggregation service using Akka Stream and Observer Pattern. Following this, we provide you with strategies to identify tactics to provide fault tolerance and recover from errors. Next, we'll show you reactive persistence, which will help you implement persistent actors in the aggregation service. The last part of the book will show you how to implement the resiliency and responsiveness aspect of reactive programming, and create replicated components simulating a scalable environment.By the end of the book, you will be able to implement the knowledge gathered through this book using the languages you already know or using Reactive libraries.

Akka Cookbook

Author : Hector Veiga Ortiz
File Size : 29.98 MB
Format : PDF, ePub
Download : 446
Read : 1067
Download »
Learn how to use the Akka framework to build effective applications in Scala About This Book Covers a discussion on Lagom—the newest launched Akka framework that is built to create complex microservices easily The recipe approach of the book allows the reader to know important and independent concepts of Scala and Akka in a seamless manner Provides a comprehensive understanding of the Akka actor model and implementing it to create reactive web applications Who This Book Is For If you are a Scala developer who wants to build scalable and concurrent applications, then this book is for you. Basic knowledge of Akka will help you take advantage of this book. What You Will Learn Control an actor using the ContolAware mailbox Test a fault-tolerant application using the Akka test kit Create a parallel application using futures and agents Package and deploy Akka application inside Docker Deploy remote actors programmatically on different nodes Integrate Streams with Akka actors Install Lagom and create a Lagom project In Detail Akka is an open source toolkit that simplifies the construction of distributed and concurrent applications on the JVM. This book will teach you how to develop reactive applications in Scala using the Akka framework. This book will show you how to build concurrent, scalable, and reactive applications in Akka. You will see how to create high performance applications, extend applications, build microservices with Lagom, and more. We will explore Akka's actor model and show you how to incorporate concurrency into your applications. The book puts a special emphasis on performance improvement and how to make an application available for users. We also make a special mention of message routing and construction. By the end of this book, you will be able to create a high-performing Scala application using the Akka framework. Style and approach This highly practical recipe-based approach will allow you to build scalable, robust, and reactive applications using the Akka framework.

A Beginner s Guide to Scala Object Orientation and Functional Programming

Author : John Hunt
File Size : 86.17 MB
Format : PDF, ePub, Mobi
Download : 357
Read : 1113
Download »
Scala is now an established programming language developed by Martin Oderskey and his team at the EPFL. The name Scala is derived from Sca(lable) La(nguage). Scala is a multi-paradigm language, incorporating object oriented approaches with functional programming. Although some familiarity with standard computing concepts is assumed (such as the idea of compiling a program and executing this compiled from etc.) and with basic procedural language concepts (such as variables and allocation of values to these variables) the early chapters of the book do not assume any familiarity with object orientation nor with functional programming These chapters also step through other concepts with which the reader may not be familiar (such as list processing). From this background, the book provides a practical introduction to both object and functional approaches using Scala. These concepts are introduced through practical experience taking the reader beyond the level of the language syntax to the philosophy and practice of object oriented development and functional programming. Students and those actively involved in the software industry will find this comprehensive introduction to Scala invaluable.

Mastering Functional Programming

Author : Anatolii Kmetiuk
File Size : 74.78 MB
Format : PDF, Mobi
Download : 475
Read : 317
Download »
Learn how functional programming can help you in deploying web servers and working with databases in a declarative and pure way Key Features Learn functional programming from scratch Program applications with side effects in a pure way Gain expertise in working with array tools for functional programming Book Description In large projects, it can get difficult keeping track of all the interdependencies of the code base and how its state changes at runtime. Functional Programming helps us solve these problems. It is a paradigm specifically designed to deal with the complexity of software development. This book will show you how the right abstractions can reduce complexity and make your code easy to read and understand. Mastering Functional Programming begins by touching upon the basics such as what lambdas are and how to write declarative code with the help of functions. It then moves on to more advanced concepts such as pure functions and type classes, the problems they aim to solve, and how to use them in real-world scenarios. You will also explore some of the more advanced patterns in the world of functional programming, such as monad transformers and Tagless Final. In the concluding chapters, you will be introduced to the actor model, implement it in modern functional languages, and explore the subject of parallel programming. By the end of the book, you will have mastered the concepts entailing functional programming along with object-oriented programming (OOP) to build robust applications. What you will learn Write reliable and scalable software based on solid foundations Explore the cutting edge of computer science research Effectively solve complex architectural problems in a robust way Avoid unwanted outcomes such as errors or delays and focus on business logic Write parallel programs in a functional style using the actor model Use functional data structures and collections in your day-to-day work Who this book is for If you are from an imperative and OOP background, this book will guide you through the world of functional programming, irrespective of which programming language you use.

Programming Scala

Author : Dean Wampler
File Size : 55.63 MB
Format : PDF, ePub, Docs
Download : 713
Read : 600
Download »
Get up to speed on Scala, the JVM language that offers all the benefits of a modern object model, functional programming, and an advanced type system. Packed with code examples, this comprehensive book shows you how to be productive with the language and ecosystem right away, and explains why Scala is ideal for today's highly scalable, data-centric applications that support concurrency and distribution. This second edition covers recent language features, with new chapters on pattern matching, comprehensions, and advanced functional programming. You’ll also learn about Scala’s command-line tools, third-party tools, libraries, and language-aware plugins for editors and IDEs. This book is ideal for beginning and advanced Scala developers alike. Program faster with Scala’s succinct and flexible syntax Dive into basic and advanced functional programming (FP) techniques Build killer big-data apps, using Scala’s functional combinators Use traits for mixin composition and pattern matching for data extraction Learn the sophisticated type system that combines FP and object-oriented programming concepts Explore Scala-specific concurrency tools, including Akka Understand how to develop rich domain-specific languages Learn good design techniques for building scalable and robust Scala applications

Scala Programming Projects

Author : Mikael Valot
File Size : 27.39 MB
Format : PDF, ePub, Docs
Download : 525
Read : 173
Download »
Discover unique features and powerful capabilities of Scala Programming as you build projects in a wide range of domains Key Features Develop a range of Scala projects from web applications to big data analysis Leverage full power of modern web programming using Play Framework Build real-time data pipelines in Scala with a Bitcoin transaction analysis app Book 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 learn Build, test, and package code using Scala Build Tool Decompose code into functions, classes, and packages for maintainability Implement the functional programming capabilities of Scala Develop a simple CRUD REST API using the Play framework Access a relational database using Slick Develop a dynamic web UI using Scala.js Source streaming data using Spark Streaming and write a Kafka producer Use Spark and Zeppelin to analyze data Who 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.

Modern Java in Action

Author : Raoul-Gabriel Urma
File Size : 59.59 MB
Format : PDF, Mobi
Download : 859
Read : 834
Download »
Summary Manning's bestselling Java 8 book has been revised for Java 9! In Modern Java in Action, you'll build on your existing Java language skills with the newest features and techniques. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Modern applications take advantage of innovative designs, including microservices, reactive architectures, and streaming data. Modern Java features like lambdas, streams, and the long-awaited Java Module System make implementing these designs significantly easier. It's time to upgrade your skills and meet these challenges head on! About the Book Modern Java in Action connects new features of the Java language with their practical applications. Using crystal-clear examples and careful attention to detail, this book respects your time. It will help you expand your existing knowledge of core Java as you master modern additions like the Streams API and the Java Module System, explore new approaches to concurrency, and learn how functional concepts can help you write code that's easier to read and maintain. What's inside Thoroughly revised edition of Manning's bestselling Java 8 in Action New features in Java 8, Java 9, and beyond Streaming data and reactive programming The Java Module System About the Reader Written for developers familiar with core Java features. About the Author Raoul-Gabriel Urma is CEO of Cambridge Spark. Mario Fusco is a senior software engineer at Red Hat. Alan Mycroft is a University of Cambridge computer science professor; he cofounded the Raspberry Pi Foundation. Table of Contents PART 1 - FUNDAMENTALS Java 8, 9, 10, and 11: what's happening? Passing code with behavior parameterization Lambda expressions PART 2 - FUNCTIONAL-STYLE DATA PROCESSING WITH STREAMS Introducing streams Working with streams Collecting data with streams Parallel data processing and performance PART 3 - EFFECTIVE PROGRAMMING WITH STREAMS AND LAMBDAS Collection API enhancements Refactoring, testing, and debugging Domain-specific languages using lambdas PART 4 - EVERYDAY JAVA Using Optional as a better alternative to null New Date and Time API Default methods The Java Module System PART 5 - ENHANCED JAVA CONCURRENCY Concepts behind CompletableFuture and reactive programming CompletableFuture: composable asynchronous programming Reactive programming PART 6 - FUNCTIONAL PROGRAMMING AND FUTURE JAVA EVOLUTION Thinking functionally Functional programming techniques Blending OOP and FP: Comparing Java and Scala Conclusions and where next for Java