||Scala for Java Developers|
Master the fundamentals of Scala and understand its emphasis on functional programming that sets it apart from Java. This book will help you translate what you already know in Java to Scala to start your functional programming journey. Learn Scala is split into four parts: a tour of Scala a comparison between Java and Scala Scala-specific features and functional programming idioms, and finally a discussion about adopting Scala in existing Java teams and legacy projects.
After reading and using this tutorial, you'll come away with the skills in Scala to kick-start your productivity with this growing popular language.
Tour Scala and learn the basic syntax, constructs, and how to use the REPL; Translate Java syntax that you already know into Scala; Learn what Scala offers over and above Java; Become familiar with functional programming concepts and idioms; Gain tips and advice useful when transitioning existing Java pro ...
||Designing Distributed Systems|
In the race to compete in today's fast-moving markets, large enterprises are busy adopting new technologies for creating new products, processes, and business models. But one obstacle on the road to digital transformation is placing too much emphasis on technology, and not enough on the types of processes technology enables. What if different lines of business could build their own services and applications - and decision-making was distributed rather than centralized?
This report explores the concept of a digital business platform as a way of empowering individual business sectors to act on data in real time. Much innovation in a digital enterprise will increasingly happen at the edge, whether it involves business users (from marketers to data scientists) or IoT devices. To facilitate the process, your core IT team can provide these sectors with the digital tools they need to innovate quickly.
This report explores: Key cultural and organizational changes for developing business ...
||Cloud Native Infrastructure|
Cloud native infrastructure is more than servers, network, and storage in the cloud - it is as much about operational hygiene as it is about elasticity and scalability. In this book, you'll learn practices, patterns, and requirements for creating infrastructure that meets your needs, capable of managing the full life cycle of cloud native applications.
Justin Garrison and Kris Nova reveal hard-earned lessons on architecting infrastructure from companies such as Google, Amazon, and Netflix. They draw inspiration from projects adopted by the Cloud Native Computing Foundation (CNCF), and provide examples of patterns seen in existing tools such as Kubernetes.
Understand why cloud native infrastructure is necessary to effectively run cloud native applications; Use guidelines to decide when - and if - your business should adopt cloud native practices; Learn patterns for deploying and managing infrastructure and applications; Design tests to prove that your infrastructure works as inten ...
||Functional Programming: A PragPub Anthology|
Functional programming is on the rise because it lets you write simpler, cleaner code, and its emphasis on immutability makes it ideal for maximizing the benefits of multiple cores and distributed solutions. So far nobody's invented the perfect functional language—each has its unique strengths. In Functional Programming: A PragPub Anthology, you'll investigate the philosophies, tools, and idioms of five different functional programming languages.
See how Swift, the development language for iOS, encourages you to build highly scalable apps using functional techniques like map and reduce. Discover how Scala allows you to transition gently but deeply into functional programming without losing the benefits of the JVM, while with Lisp-based Clojure, you can plunge fully into the functional style. Learn about advanced functional concepts in Haskell, a pure functional language making powerful use of the type system with type inference and type classes. And see how functional progr ...
||Scalable Cloud Ops with Fugue|
Cloud computing represents the greatest shift in computing in more than a decade. But the promise of the cloud is unrealized. The cloud isn't just about shedding the physical data center - it's about shedding the data center mindset. Cloud infrastructure can be controlled via API calls. This means we can view it as a giant general-purpose computer - and program it. That's where the Fugue operating system and the Ludwig language come in. They automate the creation, operation, enforcement, and termination of infrastructure in the cloud.
This definitive Fugue guide starts with a simple website and moves on to a more robust application with evolving infrastructure needs as you walk through the steps to harnessing the cloud. With Amazon Web Services, launch infrastructure quickly. Debug in design time. Automate deployment and enforcement of your cloud. Centralize your change control process and automate continuous auditing. Rest easy knowing configuration drift, unwanted changes, and inf ...
||Python Testing with pytest|
For Python-based projects, pytest is the undeniable choice to test your code if you're looking for a full-featured, API-independent, flexible, and extensible testing framework. With a full-bodied fixture model that is unmatched in any other tool, the pytest framework gives you powerful features such as assert rewriting and plug-in capability—with no boilerplate code.
With simple step-by-step instructions and sample code, this book gets you up to speed quickly on this easy-to-learn and robust tool. Write short, maintainable tests that elegantly express what you're testing. Add powerful testing features and still speed up test times by distributing tests across multiple processors and running tests in parallel. Use the built-in assert statements to reduce false test failures by separating setup and test failures. Test error conditions and corner cases with expected exception testing, and use one test to run many test cases with parameterized testing. Extend pytest with plugins, conn ...
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 ...
||Designing for Scalability with Erlang/OTP|
If you need to build a scalable, fault tolerant system with requirements for high availability, discover why the Erlang/OTP platform stands out for the breadth, depth, and consistency of its features. This hands-on guide demonstrates how to use the Erlang programming language and its OTP framework of reusable libraries, tools, and design principles to develop complex commercial-grade systems that simply cannot fail.
In the first part of the book, you'll learn how to design and implement process behaviors and supervision trees with Erlang/OTP, and bundle them into standalone nodes. The second part addresses reliability, scalability, and high availability in your overall system design. If you're familiar with Erlang, this book will help you understand the design choices and trade-offs necessary to keep your system running.
Explore OTP's building blocks: the Erlang language, tools and libraries collection, and its abstract principles and design rules; Dive into the fundamentals of O ...
||Web Development with Django Cookbook, 2nd Edition|
Django is a web framework that was designed to strike a balance between rapid web development and high performance. It has the capacity to handle applications with high levels of user traffic and interaction, and can integrate with massive databases on the backend, constantly collecting and processing data in real time.
Perfect for beginners familiar with programming basics, this hands-on guide provides an easy introduction to Go, the general-purpose programming language from Google. Author Caleb Doxsey covers the language's core features with step-by-step instructions and exercises in each chapter to help you practice what you learn.
Go is a general-purpose programming language with a clean syntax and advanced features, including concurrency. This book provides the one-on-one support you need to get started with the language, with short, easily digestible chapters that build on one another. By the time you finish this book, not only will you be able to write real Go programs, you'll be ready to tackle advanced techniques. ...
||Scala High Performance Programming|
Scala is a statically and strongly typed language that blends functional and object-oriented paradigms. It has experienced growing popularity as an appealing and pragmatic choice to write production-ready software in the functional paradigm. Scala and the functional programming paradigm enable you to solve problems with less code and lower maintenance costs than the alternatives. However, these gains can come at the cost of performance if you are not careful.
Scala High Performance Programming arms you with the knowledge you need to create performant Scala applications. Starting with the basics of understanding how to define performance, we explore Scala's language features and functional programming techniques while keeping a close eye on performance throughout all the topics.
We introduce you as the newest software engineer at a fictitious financial trading company, named MV Trading. As you learn new techniques and approaches to reduce latency and im ...