Wydawca: 8
Vikash Sharma
Scala jest językiem programowania ogólnego przeznaczenia, który łączy cechy języków funkcyjnych i obiektowych. Jego twórcy postawili sobie za cel skalowalność napisanych w nim aplikacji - stąd wzięła się nazwa Scala. Scala jest oparta na wirtualnej maszynie Javy, umożliwia programowanie funkcyjne i oferuje bogaty wybór typów. Dzięki tym cechom można tworzyć kod mniej podatny na występowanie błędów w trakcie działania programu. Po uzyskaniu pewnej biegłości w kodowaniu praca z tym językiem staje się prawdziwą przyjemnością, nawet podczas tworzenia frameworków czy bibliotek. Ten przystępny podręcznik przeznaczono dla programistów, którzy chcą poznać język Scala, aby wykorzystywać go do pisania współbieżnych, skalowalnych i reaktywnych aplikacji. Przedstawiono tu podstawy niezbędne do rozpoczęcia kodowania w Scali: składnię języka, podstawowe typy danych, literały czy zmienne. Następnie omówiono struktury danych w Scali i sposoby korzystania z funkcji wyższego rzędu. Zaprezentowano również takie koncepcje jak dopasowanie wzorca, klasy przypadku oraz zagadnienia związane z programowaniem funkcyjnym i programowaniem zorientowanym obiektowo. Opisano techniki programowania asynchronicznego i reaktywnego. Znalazło się tu także obszerne wprowadzenie do frameworka Akka. W tej książce między innymi: paradygmaty programowania a korzystanie ze Scali kolekcje modyfikowalne i niemodyfikowalne koncepcja domniemania i praca z wyjątkami programowanie równoległe, asynchroniczne i reaktywne programowanie sterowane testami w Scali Scala: nowoczesność i prostota w każdej skali!
Joshua Suereth D.
Scala to słowo, które ostatnio nie schodzi z ust programistów Javy. Pod tą nazwą kryje się język łączący światy programowania funkcyjnego i obiektowego. Jego ogromną zaletą jest działanie w oparciu o wirtualną maszynę Javy. Pozwala to między innymi na bezproblemową komunikację i współdzielenie kodu między oboma językami. James Gosling, twórca Javy, zapytany o to, jakiego języka oprogramowania działającego w ten sposób użyłby obecnie (gdyby nie mógł wykorzystać Javy), odparł bez zastanowienia: „Scala!”. To chyba najlepszy dowód na to, że ten język wart jest Twojego czasu! Dzięki tej książce opanujesz Scalę szybko i bezboleśnie, więc będziesz mógł wykorzystać jej zalety już w najbliższym projekcie. W trakcie lektury poznasz składnię, fundamentalne zasady tworzenia oprogramowania w Scali oraz konwencje kodowania w tym języku. W kolejnych rozdziałach dowiesz się, czym są niejawne widoki, jakie typy danych masz do dyspozycji i jakie są ich ograniczenia. Co jeszcze? Integracja Scali z Javą to niezwykle istotny temat, dający Ci pole do popisu! Ponadto poznasz wzorce stosowane w programowaniu funkcyjnym. Słowo wstępne do tej niezwykłej książki napisał sam Martin Odersky - twórca języka Scala! Niniejsza książka jest najlepszym kompendium wiedzy na temat programowania w tym języku. Musisz ją mieć! Poznaj: konwencje obowiązujące w Scali składnię języka najlepsze wzorce projektowe stosowane w programowaniu funkcyjnym potencjał języka Scala! Poznaj i wykorzystaj potęgę programowania funkcyjnego!
Mikael Valot, Nicolas Jorand
Scala Programming Projects is a comprehensive project-based introduction for those who are new to Scala. Complete with step-by-step instructions and easy-to-follow tutorials that demonstrate best practices when building applications, this Scala book will have you building real-world projects in no time.Starting with the fundamentals of software development, you’ll begin with simple projects, such as developing a financial independence calculator, and then advance to more complex projects, such as a building a shopping application and a Bitcoin transaction analyzer. You’ll explore a variety of Scala features, including its OOP and FP capabilities, and learn how to write concise, reactive, and concurrent applications in a type-safe manner. You’ll also understand how to use libraries such as Akka and Play. Furthermore, you’ll be able to integrate your Scala apps with Kafka, Spark, and Zeppelin, along with deploying applications on a cloud platform.By the end of the book, you’ll have a firm foundation in Java programming that’ll enable you to solve a variety of real-world problems, and you’ll have built impressive projects to add to your professional portfolio.
Rambabu Posa
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.
Scala Test-Driven Development. Write clean scala code that works
Gaurav Sood
Test-driven development (TDD) produces high-quality applications in less time than is possible with traditional methods. Due to the systematic nature of TDD, the application is tested in individual units as well as cumulatively, right from the design stage, to ensure optimum performance and reduced debugging costs. This step-by-step guide shows you how to use the principles of TDD and built-in Scala testing modules to write clean and fully tested Scala code and give your workflow the change it needs to let you create better applications than ever before. After an introduction to TDD, you will learn the basics of ScalaTest, one of the most flexible and most popular testing tools around for Scala, by building your first fully test-driven application. Building on from that you will learn about the ScalaTest API and how to refactor code to produce high-quality applications. We’ll teach you the concepts of BDD (Behavior-driven development) and you’ll see how to add functional tests to the existing suite of tests. You’ll be introduced to the concepts of Mocks and Stubs and will learn to increase test coverage using properties. With a concluding chapter on miscellaneous tools, this book will enable you to write better quality code that is easily maintainable and watch your apps change for the better.
Scala:Applied Machine Learning. Master the art of Machine Learning in Scala
Patrick R. Nicolas, Alex Kozlov, Pascal Bugnion
This Learning Path aims to put the entire world of machine learning with Scala in front of you. Scala for Data Science, the first module in this course, is a tutorial guide that provides tutorials on some of the most common Scala libraries for data science, allowing you to quickly get up to speed building data science and data engineering solutions.The second course, Scala for Machine Learning guides you through the process of building AI applications with diagrams, formal mathematical notation, source code snippets, and useful tips. A review of the Akka framework and Apache Spark clusters concludes the tutorial.The next module, Mastering Scala Machine Learning, is the final step in this course. It will take your knowledge to next level and help you use the 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.By the end of this course, you will be a master at Scala machine learning and have enough expertise to be able to build complex machine learning projects using Scala.This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:? Scala for Data Science, Pascal Bugnion? Scala for Machine Learning, Patrick Nicolas? Mastering Scala Machine Learning, Alex Kozlov
Pacifique Linjanja
In this book, Pacifique Linjanja, a globally recognized software engineer and open-source contributor, shares his deep technical expertise and practical insights from his extensive experience delivering enterprise-level applications to unpack the full potential of NestJS, the cutting-edge Node.js framework.This book covers the core concepts, design patterns, and best practices for building scalable, high-performance applications with NestJS. You’ll learn REST API and GraphQL implementations, harness the power of microservices, and explore real-world case studies, including e-commerce, social networking, and ERP systems. The chapters provide step-by-step guidance for setting up your development environment with TypeScript and npm, structuring projects effectively, and using the Apollo Federation architecture to create efficient GraphQL APIs. This book offers hands-on guidance for testing and debugging APIs, handling exceptions, and validating data using pipes and guards, all while helping you build a complete NestJS application from scratch.By the end, you'll be ready to apply DevOps principles for continuous integration and deployment, as well as secure your NestJS applications using advanced techniques.*Email sign-up and proof of purchase required
Jason Myerscough
Azure Data Explorer (ADX) enables developers and data scientists to make data-driven business decisions. This book will help you rapidly explore and query your data at scale and secure your ADX clusters.The book begins by introducing you to ADX, its architecture, core features, and benefits. You'll learn how to securely deploy ADX instances and navigate through the ADX Web UI, cover data ingestion, and discover how to query and visualize your data using the powerful Kusto Query Language (KQL). Next, you'll get to grips with KQL operators and functions to efficiently query and explore your data, as well as perform time series analysis and search for anomalies and trends in your data. As you progress through the chapters, you'll explore advanced ADX topics, including deploying your ADX instances using Infrastructure as Code (IaC). The book also shows you how to manage your cluster performance and monthly ADX costs by handling cluster scaling and data retention periods. Finally, you'll understand how to secure your ADX environment by restricting access with best practices for improving your KQL query performance.By the end of this Azure book, you'll be able to securely deploy your own ADX instance, ingest data from multiple sources, rapidly query your data, and produce reports with KQL and Power BI.