Java
Dział Java to obszerne i szczegółowe kompendium wiedzy na temat jednego z najpopularniejszych obiektowych języków programowania. Książki zawarte w tej kategorii zawierają nieocenioną pomoc dotyczącą zasad i mechanizmów programowania w Javie oraz możliwości wykorzystania tego języka na dowolnych platformach sprzętowych i systemowych.
Dowiecie się jak zapewnić niezmienność obiektu lub jak stosować wyjątki przechwytywalne lub wyjątki czasu wykonania. Poznacie typy ogólne i wyliczeniowe, interfejsy czy zalety stosowania statycznych klas składowych oraz nauczycie się jak tworzyć i usuwać wybrane obiekty, a także dokumentować bezpieczeństwo dla wątków.
Marián Varga, Pedro Henrique Pereira de Andrade,...
REST powers the modern web, yet developers grapple with architectural missteps that lead to poorly designed REST endpoints, inadequate error handling, security vulnerabilities, and maintenance headaches. Written by five software engineering and Java experts, Mastering RESTful Web Services with Java helps you overcome these pitfalls with a deep, practical understanding of REST architecture, HTTP protocols, and modern API design principles.This hands-on guide introduces foundational concepts based on Roy Fielding’s principles and the Richardson Maturity Model and shows you how to apply them in your API development projects. You’ll build a Product API from scratch, progressively enhancing it with documentation, versioning, and security features, and then advance to creating an Order Management API that interacts with the Product API, while implementing advanced testing and performance optimization techniques. Each chapter delivers step-by-step explanations and practical examples, ensuring you develop production-ready skills that translate directly to your daily work.By the end of the book, you’ll be ready to deliver production-grade RESTful services and become the API expert your team turns to for critical application development projects.
Boni Garcia
When building an application it is of utmost importance to have clean code, a productive environment and efficient systems in place. Having automated unit testing in place helps developers to achieve these goals. The JUnit testing framework is a popular choice among Java developers and has recently released a major version update with JUnit 5.This book shows you how to make use of the power of JUnit 5 to write better software. The book begins with an introduction to software quality and software testing. After that, you will see an in-depth analysis of all the features of Jupiter, the new programming and extension model provided by JUnit 5. You will learn how to integrate JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker.After the technical features of JUnit 5, the final part of this book will train you for the daily work of a software tester. You will learn best practices for writing meaningful tests. Finally, you will learn how software testing fits into the overall software development process, and sits alongside continuous integration, defect tracking, and test reporting.
Ranga Rao Karanam
Spring 5.0 is due to arrive with a myriad of new and exciting features that will change the way we’ve used the framework so far. This book will show you this evolution—from solving the problems of testable applications to building distributed applications on the cloud.The book begins with an insight into the new features in Spring 5.0 and shows you how to build an application using Spring MVC. You will realize how application architectures have evolved from monoliths to those built around microservices. You will then get a thorough understanding of how to build and extend microservices using Spring Boot. You will also understand how to build and deploy Cloud-Native microservices with Spring Cloud. The advanced features of Spring Boot will be illustrated through powerful examples. We will be introduced to a JVM language that’s quickly gaining popularity - Kotlin. Also, we will discuss how to set up a Kotlin project in Eclipse.By the end of the book, you will be equipped with the knowledge and best practices required to develop microservices with the Spring Framework.
Mastering Spring Boot 2.0. Build modern, cloud-native, and distributed systems using Spring Boot
Dinesh Rajput
Spring is one of the best frameworks on the market for developing web, enterprise, and cloud ready software. Spring Boot simplifies the building of complex software dramatically by reducing the amount of boilerplate code, and by providing production-ready features and a simple deployment model.This book will address the challenges related to power that come with Spring Boot's great configurability and flexibility. You will understand how Spring Boot configuration works under the hood, how to overwrite default configurations, and how to use advanced techniques to prepare Spring Boot applications to work in production. This book will also introduce readers to a relatively new topic in the Spring ecosystem – cloud native patterns, reactive programming, and applications. Get up to speed with microservices with Spring Boot and Spring Cloud. Each chapter aims to solve a specific problem or teach you a useful skillset. By the end of this book, you will be proficient in building and deploying your Spring Boot application.
Ahmet Meric
Mastering Spring Boot 3.0 is your gateway to building scalable and robust backend systems using the latest techniques. Penned by a seasoned software developer with 20+ years of experience in the tech industry, this book follows a hands-on, step-by-step approach to helping you understand Spring Boot concepts and apply them to real-world projects.You’ll start by exploring key architectural patterns such as DDD, CQRS, and event sourcing. Next, you’ll focus on the nuances of reactive REST development, delve into advanced testing strategies, and fortify your applications' security. You’ll also discover the power of containerization and orchestration with Spring Boot 3.0 and unlock its potential for smooth deployments. Additionally, by integrating Kafka, you’ll be able to build robust event-driven systems.By the end of this book, you’ll have become proficient in architectural patterns, testing strategies, and application security. Whether you’re an architect, backend developer, or DevOps engineer, this book will help you leverage the advanced features of Spring Boot 3.0 for secure and efficient backend development.
Piotr Mińkowski
Developing, deploying, and operating cloud applications should be as easy as local applications. This should be the governing principle behind any cloud platform, library, or tool. Spring Cloud–an open-source library–makes it easy to develop JVM applications for the cloud. In this book, you will be introduced to Spring Cloud and will master its features from the application developer's point of view. This book begins by introducing you to microservices for Spring and the available feature set in Spring Cloud. You will learn to configure the Spring Cloud server and run the Eureka server to enable service registration and discovery. Then you will learn about techniques related to load balancing and circuit breaking and utilize all features of the Feign client. The book now delves into advanced topics where you will learn to implement distributed tracing solutions for Spring Cloud and build message-driven microservice architectures. Before running an application on Docker container s, you will master testing and securing techniques with Spring Cloud.
Matematyka dla programistów Java
Jacek Piechota
Matematyka w Javie? Nic trudnego! Przypomnij sobie reguły i działania matematyczne Poznaj w praktyce funkcje matematyczne języka Java Zamieniaj wzory i problemy matematyczne na algorytmy Naucz się wizualizować wyniki swoich obliczeń Matematyka nie jest ulubioną dziedziną wiedzy większości ludzi, a społeczność informatyczna nie stanowi tu wyjątku. Funkcje matematyczne, obliczenia statystyczne, działania na macierzach - każda z tych czynności może wywołać popłoch nawet wśród najbardziej doświadczonych programistów, z wieloletnim stażem w zawodzie. Jest tak, mimo że zarówno zasada działania komputerów, jak i języki programowania opierają się właśnie na królowej nauk. Na szczęście na rynku jest ta książka! Szybko wprowadzi Cię ona w świat obliczeń matematycznych wykonywanych za pomocą komputera. Na praktycznych przykładach, opracowanych w popularnym języku Java, przedstawia sposoby przeprowadzania różnych działań i przekształceń, stosowania algorytmów i wizualizowania otrzymanych wyników. Przestań się więc martwić i zostań prawdziwym matematycznym ninja! Podstawy matematyki i teorii informacji Działania na liczbach binarnych i heksadecymalnych Kombinatoryka i prawdopodobieństwo Działania na wektorach i macierzach Przetwarzanie liczb zespolonych Wykresy krzywych Chaos, fraktale i paradoksy Działania matematyczne? Obliczenia naukowe? Wypróbuj to w Javie!
Prabath Siriwardena
Maven is the #1 build tool used by developers and it has been around for more than a decade. Maven stands out among other build tools due to its extremely extensible architecture, which is built on of the concept of convention over configuration. It’s widely used by many open source Java projects under Apache Software Foundation, Sourceforge, Google Code, and more.Maven Essentials is a fast-paced guide to show you the key concepts in Maven and build automation. We get started by introducing you to Maven and exploring its core concepts and architecture. Next, you will learn about and write a Project Object Model (POM) while creating your own Maven project. You will also find out how to create custom archetypes and plugins to establish the most common goals in build automation. After this, you’ll get to know how to design the build to prevent any maintenance nightmares, with proper dependency management. We then explore Maven build lifecycles and Maven assemblies. Finally, you will discover how to apply the best practices when designing a build system to improve developer productivity.
Anuj Kumar
The microservice architecture is sweeping the world as the de facto pattern with which to design and build scalable, easy-tomaintain web applications. This book will teach you common patterns and practices, and will show you how to apply these using the Clojure programming language.This book will teach you the fundamental concepts of architectural design and RESTful communication, and show you patterns that provide manageable code that is supportable in development and at scale in production. We will provide you with examples of how to put these concepts and patterns into practice with Clojure. This book will explain and illustrate, with practical examples, how teams of all sizes can start solving problems with microservices.You will learn the importance of writing code that is asynchronous and non-blocking and how Pedestal helps us do this. Later, the book explains how to build Reactive microservices in Clojure that adhere to the principles underlying the Reactive Manifesto. We finish off by showing you various ways to monitor, test, and secure your microservices. By the end, you will be fully capable of setting up, modifying, and deploying a microservice with Clojure and Pedestal.
Magnus Larsson
Do you want to build and deploy microservices but are unsure where to begin? Check out the fully updated 2025 edition of Microservices with Spring Boot and Spring Cloud. Drawing from Magnus’ decades of experience, you’ll start with simple microservices and progress to complex distributed applications, learning essential functionality and deploying microservices using Kubernetes and Istio along the way. This book covers Java 24, Spring Boot 3.5, and Spring Cloud 2025, featuring updated code examples and replacing deprecated APIs. You’ll get a clear understanding of Spring’s Ahead of Time (AOT) module, observability, distributed tracing, and Helm for Kubernetes packaging. The chapters show you how to use Docker Compose to run microservices with databases and messaging services and deploy microservices on Kubernetes with Istio. You’ll also explore persistence, resilience, reactive microservices, and API documentation with OpenAPI, as well as learn service discovery with Netflix Eureka, edge servers with Spring Cloud Gateway, and monitoring with Prometheus, Grafana, and the EFK stack. By the end of this book, you’ll be able to confidently build scalable microservices using Spring Boot and Spring Cloud.
Magnus Larsson
Want to build and deploy microservices, but don’t know where to start? Welcome to Microservices with Spring Boot and Spring Cloud.This edition features the most recent versions of Spring, Java, Kubernetes, and Istio, demonstrating faster and simpler handling of Spring Boot, local Kubernetes clusters, and Istio installation. The expanded scope includes native compilation of Spring-based microservices, support for Mac and Windows with WSL2, and an introduction to Helm 3 for packaging and deployment. A revamped security chapter now follows the OAuth 2.1 specification and makes use of the newly launched Spring Authorization Server from the Spring team.You’ll start with a set of simple cooperating microservices, then add persistence and resilience, make your microservices reactive, and document their APIs using OpenAPI.Next, you’ll learn how fundamental design patterns are applied to add important functionality, such as service discovery with Netflix Eureka and edge servers with Spring Cloud Gateway. You’ll deploy your microservices using Kubernetes and adopt Istio, then explore centralized log management using the Elasticsearch, Fluentd, and Kibana (EFK) stack, and then monitor microservices using Prometheus and Grafana.By the end of this book, you'll be building scalable and robust microservices using Spring Boot and Spring Cloud.
Mikrousługi w Javie. Poradnik eksperta
Sourabh Sharma
Chmury obliczeniowe otworzyły nowe możliwości projektowania aplikacji korporacyjnych. Obecnie konstruuje się je z małych, lekkich i zorientowanych na proces komponentów, nazywanych mikrousługami. Tworzone w ten sposób aplikacje są skalowalne i łatwe do zarządzania, a przy tym niezwykle elastyczne i wykorzystujące dostępne zasoby w wyjątkowo efektywny sposób. Jak łatwo się przekonać, projektowanie i implementacja mikrousług otwierają przed programistami Javy bardzo obiecujące perspektywy! Niniejsza książka jest przeznaczona dla programistów Javy, którzy znają podstawowe pojęcia dotyczące mikrousług i chcą tworzyć funkcjonalne aplikacje biznesowe w tej technologii. Przedstawiono tu najważniejsze zasady realizacji dużych projektów, zaprezentowano ważne szczegóły dotyczące konfiguracji środowiska programistycznego i ciągłej integracji, które ułatwią wdrażanie mikrousług. Opisano zalety i sposoby wykorzystania biblioteki Spring Security. Przedstawiono dobre praktyki projektowania mikrousług, a także techniki ich debugowania, tak aby bez problemu można było zaprojektować i wdrożyć aplikację w środowisku korporacyjnym. Niektóre zagadnienia omówione w książce: środowiska programistyczne i narzędzia do projektowania mikrousług różne technologie wdrażania mikrousług zabezpieczanie mikrousług, w tym uwierzytelnianie i autoryzacja testowanie mikrousług za pomocą klientów REST tworzenie interfejsów użytkownika w technologii Angular JS typowe problemy związane z projektowaniem mikrousług i ich rozwiązywanie Mikrousługi — sprytne rozwiązania biznesowe dla dużych korporacji! Sourabh Sharma tworzy aplikacje od ponad 10 lat. Jest cenionym ekspertem w dziedzinie tworzenia, wdrażania i testowania wielowarstwowych aplikacji internetowych. Opracował i wdrożył wiele rozwiązań samodzielnych i chmurowych dla klientów z listy Fortune 500. Jest autorem wielu systemów opartych na mikrousługach. Sharma jest pasjonatem Javy. Uwielbia analizowanie skomplikowanych problemów i poszukiwanie niestandardowych rozwiązań.
Mobile Test Automation with Appium. Mobile application testing made easy
Nishant Verma
Appium is an open source test automation framework for mobile applications. It allows you to test all three types of mobile applications: native, hybrid, and mobile web. It allows you to run the automated tests on actual devices, emulators, and simulators. Today, when every mobile app is made on at least two platforms, iOS and Android, you need a tool that allows you to test across platforms. Having two different frameworks for the same app increases the cost of the product and time to maintain it as well. Appium helps save this cost.With mobile app growth exploding, mobile app automation is mainstream now. In this book, author Nishant Verma provides you with a firm grounding in the concepts of Appium while diving into how to set up appium & Cucumber-jvm test automation framework, implement page object design pattern, automate gestures, test execution on emulators and physical devices, and implement continuous integration with Jenkins. The mobile app we have referenced in this book is Quikr because of its relatively lower learning curve to understand the application. It's a local classifieds shopping app.
Sourabh Sharma
Spring is a powerful and widely adopted framework for building scalable and reliable web applications in Java, complemented by Spring Boot, a popular extension to the framework that simplifies the setup and configuration of Spring-based applications. This book is an in-depth guide to harnessing Spring 6 and Spring Boot 3 for web development, offering practical knowledge of building modern robust web APIs and services.The book covers a wide range of topics that are essential for API development, including RESTful web service fundamentals, Spring concepts, and API specifications. It also explores asynchronous API design, security, designing user interfaces, testing APIs, and the deployment of web services. In addition to its comprehensive coverage, this book offers a highly contextual real-world sample app that you can use as a reference for building different types of APIs for real-world applications. This sample app will lead you through the entire API development cycle, encompassing design and specification, implementation, testing, and deployment.By the end of this book, you’ll have learned how to design, develop, test, and deploy scalable and maintainable modern APIs using Spring 6 and Spring Boot 3, along with best practices for bolstering the security and reliability of your applications and improving your application's overall functionality.
Sourabh Sharma
The philosophy of API development has evolved over the years to serve the modern needs of enterprise architecture, and developers need to know how to adapt to these modern API design principles. Apps are now developed with APIs that enable ease of integration for the cloud environment and distributed systems. With this Spring book, you'll discover various kinds of production-ready API implementation using REST APIs and explore async using the reactive paradigm, gRPC, and GraphQL.You'll learn how to design evolving REST-based APIs supported by HATEOAS and ETAGs and develop reactive, async, non-blocking APIs. After that, you'll see how to secure REST APIs using Spring Security and find out how the APIs that you develop are consumed by the app's UI. The book then takes you through the process of testing, deploying, logging, and monitoring your APIs. You'll also explore API development using gRPC and GraphQL and design modern scalable architecture with microservices. The book helps you gain practical knowledge of modern API implementation using a sample e-commerce app. By the end of this Spring book, you'll be able to develop, test, and deploy highly scalable, maintainable, and developer-friendly APIs to help your customers to transform their business.
Ilango gurusamy
Scala is both a functional programming and object-oriented programming language designed to express common programming patterns in a concise, readable, and type-safe way. Complete with step-by-step instructions, Modern Scala Projects will guide you in exploring Scala capabilities and learning best practices. Along the way, you'll build applications for professional contexts while understanding the core tasks and components.You’ll begin with a project for predicting the class of a flower by implementing a simple machine learning model. Next, you'll create a cancer diagnosis classification pipeline, followed by tackling projects delving into stock price prediction, spam filtering, fraud detection, and a recommendation engine. The focus will be on application of ML techniques that classify data and make predictions, with an emphasis on automating data workflows with the Spark ML pipeline API. The book also showcases the best of Scala’s functional libraries and other constructs to help you roll out your own scalable data processing frameworks.By the end of this Scala book, you’ll have a firm foundation in Scala programming and have built some interesting real-world projects to add to your portfolio.
Koushik Srinivas Kothagal
The Java 9 module system is an important addition to the language that affects the way we design, write, and organize code and libraries in Java. It provides a new way to achieve maintainable code by the encapsulation of Java types, as well as a way to write better libraries that have clear interfaces. Effectively using the module system requires an understanding of how modules work and what the best practices of creating modules are.This book will give you step-by-step instructions to create new modules as well as migrate code from earlier versions of Java to the Java 9 module system. You'll be working on a fully modular sample application and add features to it as you learn about Java modules. You'll learn how to create module definitions, setup inter-module dependencies, and use the built-in modules from the modular JDK. You will also learn about module resolution and how to use jlink to generate custom runtime images.We will end our journey by taking a look at the road ahead. You will learn some powerful best practices that will help you as you start building modular applications. You will also learn how to upgrade an existing Java 8 codebase to Java 9, handle issues with libraries, and how to test Java 9 applications.
Akshata Sawant, Arul Christhuraj Alphonse
Salesforce developers often need help with complex integrations to manage multi-cloud environments, data mapping, data security, API scalability, and real-time integration issues. Written by industry veterans with 20+ years of experience, this revised edition will help you overcome these challenges and unlock data with MuleSoft.In this second edition, you’ll learn about MuleSoft’s newest IDE (aka Anypoint Code Builder) and its tools and capabilities. The chapters will show you how to use AI-enabled APIs to maximize productivity, integration of Data Cloud with MuleSoft, Mule APIs with AI agents, and Mule AI Chain connectors. You’ll grasp the fundamentals of APIs and integration and confidently design your APIs, while also utilizing a no-code visual editor for API design to build your Mule applications using MuleSoft’s Anypoint Code Builder. The chapters will teach you about data transformation, API management, deployment models, and MuleSoft’s security features. Progressively, you’ll leverage MuleSoft connectors to integrate with Salesforce, Data Cloud, and other systems. You’ll explore AI-driven integrations and automation, and get practical tips to ace MuleSoft interviews and achieve MCD Level 1 certification.By the end of this book, you’ll be able to implement the entire API lifecycle and manage complex integrations with MuleSoft like a pro.
Myśl w języku Java! Nauka programowania
Allen B. Downey, Chris Mayfield
Myśl w języku Java! Nauka programowania Zacznij myśleć jak programista! Naucz się łączyć umiejętności płynące z różnych dziedzin: matematyki, inżynierii i nauk przyrodniczych. Różnorodna wiedza ułatwi Ci pokonywanie przeszkód w pracy programisty — dzięki niej zdefiniujesz problem i sformułujesz jasne i precyzyjne rozwiązanie. Jak się okazuje, te wszystkie trudne umiejętności można sobie przyswoić, ucząc się programowania. Znajomość języka Java stanie się dodatkową korzyścią — jest to język o ugruntowanej pozycji, lubiany, dojrzały i najzwyczajniej bardzo przydatny. Trzymasz w ręku zwięzły podręcznik programowania napisany z myślą o osobach mających niewielkie lub zerowe doświadczenie w tej materii. Przedstawiono w nim najbardziej podstawowe zagadnienia, a poszczególne koncepcje zaprezentowano w logicznej kolejności. Sam język Java nie został może wyczerpująco opisany, jednak ważniejsze konstrukcje, strategie i techniki programistyczne zostały pokazane w bardzo zrozumiały i przystępny sposób. Poszczególne koncepcje zilustrowano praktycznymi przykładami kodu. Ten starannie przemyślany układ treści sprawi, że „myślenie jak informatyk” bardzo szybko przestanie być Twoim problemem! Poznawaj po jednym zagadnieniu naraz: opanuj skomplikowane tematy, rozbijając je na szereg drobnych kroków popartych przykładami. Zrozum sposób formułowania problemów, myśl kreatywnie o rozwiązaniach i pisz programy klarownie i precyzyjnie. Wybierz techniki programowania, które najlepiej sprawdzą się w Twojej sytuacji i przećwicz ważną umiejętność debugowania kodu. Odkryj relacje pomiędzy danymi wejściowymi i wyjściowymi oraz poznaj instrukcje decyzyjne i pętle, klasy i metody, łańcuchy znakowe i tablice. Wykonaj ćwiczenia związane z grami słownymi, grafiką komputerową, zagadkami i grami karcianymi. Java — już wkrótce zaczniesz myśleć jak informatyk!
Myśl w języku Java! Nauka programowania. Wydanie II
Allen B. Downey, Chris Mayfield
Java jest językiem dojrzałym i jednocześnie bardzo nowoczesnym. Skupiona wokół niego społeczność cały czas dynamicznie go rozwija, sprawiając, że wszechstronność i innowacyjność Javy budzi podziw. Jest to też język idealny do nauki programowania - początkujący programiści, którzy wybierają Javę jako swój pierwszy język, w naturalny sposób nabierają dobrych nawyków, dzięki czemu później stosowanie się do najlepszych praktyk programistycznych nie sprawia im problemu. Ważne jest tylko, aby wraz z nauką programowania adept sztuki tworzenia kodu przyswoił choćby najważniejsze prawidła informatyki. Pozwala to uniknąć w przyszłości wielu kłopotów z niewydajnym, niezrozumiałym i trudnym do utrzymania kodem. Oto zaktualizowane i uzupełnione wydanie znakomitego podręcznika dla początkujących, dzięki któremu zdobędziesz solidne podstawy informatyki i programowania w Javie. Wyjaśniono tu szereg skomplikowanych tematów, rozłożonych na mniejsze zagadnienia, z których każde zostało opatrzone zrozumiałymi przykładami. Książka zawiera mnóstwo ćwiczeń, które sprawią, że zaczniesz kreatywnie podchodzić do programowania, a odkrywanie relacji między danymi wejścia i wyjścia, klasami, metodami i obiektami przyniesie Ci prawdziwą satysfakcję. Duży nacisk położono na właściwe słownictwo i... właśnie tworzenie programów. Zapoznasz się więc z różnymi strategiami projektowania, pisania, testowania i debugowania programów. Liczne przykłady kodu, ćwiczenia, podsumowania, porady i wskazówki stanowią wspaniałe uzupełnienie prezentowanych treści. W tej książce między innymi: podstawowe koncepcje programowania zmienne, wartości, zarządzanie pamięcią, operacje wejścia-wyjścia operacje logiczne, pętle i referencje obiekty, tablice, klasy i ich projektowanie konstruktory, interfejsy, detektory zdarzeń
Richard M. Reese
Natural Language Processing (NLP) has become one of the prime technologies for processing very large amounts of unstructured data from disparate information sources. This book includes a wide set of recipes and quick methods that solve challenges in text syntax, semantics, and speech tasks. At the beginning of the book, you'll learn important NLP techniques, such as identifying parts of speech, tagging words, and analyzing word semantics. You will learn how to perform lexical analysis and use machine learning techniques to speed up NLP operations. With independent recipes, you will explore techniques for customizing your existing NLP engines/models using Java libraries such as OpenNLP and the Stanford NLP library. You will also learn how to use NLP processing features from cloud-based sources, including Google and Amazon Web Services (AWS). You will master core tasks, such as stemming, lemmatization, part-of-speech tagging, and named entity recognition. You will also learn about sentiment analysis, semantic text similarity, language identification, machine translation, and text summarization. By the end of this book, you will be ready to become a professional NLP expert using a problem-solution approach to analyze any sort of text, sentence, or semantic word.