وبلاگ بلیان

Hands-On Microservices with JavaScript: Build Scalable Web Applications with JavaScript, Node. js, and Docker

معرفی کتاب «Hands-On Microservices with JavaScript: Build Scalable Web Applications with JavaScript, Node. js, and Docker» نوشتهٔ Tural Suleymani;، منتشرشده توسط نشر Packt Publishing در سال 2024. این کتاب در 5 صفحه، فرمت epub، زبان انگلیسی ارائه شده است. «Hands-On Microservices with JavaScript: Build Scalable Web Applications with JavaScript, Node. js, and Docker» در دستهٔ بدون دسته‌بندی قرار دارد.

Build scalable web applications with JavaScrBuild, test, and deploy scalable, cloud-ready apps using modern tools and solve complex real-world problems with case studies Key Features Learn microservices architecture for scalable, cloud-ready applications Build hands-on projects with Node.js, Express.js, NestJS, and Kafka Master CI/CD pipelines, security, and monitoring for robust microservices Book Description Keep up with the ever-evolving web development landscape by mastering JavaScript microservices with expert guidance from Tural Suleymani—a full-stack software engineer, architect, software development teacher, Microsoft MVP, and three-time C# Corner MVP. He distills over a decade of experience crafting high-performance, scalable solutions into this guide. He’ll walk you through the fundamentals of microservices, providing a solid foundation in architecture, design principles, and the necessary tools and technologies. From beginners to seasoned developers, this book offers a clear pathway to mastering microservices with JavaScript. With the help of hands-on tasks that simulate real-world scenarios, you’ll learn how to build reliable and scalable microservices. You’ll explore synchronous and asynchronous communication, real-time data streaming, and how to secure and monitor your services. The book’s emphasis on a design-first approach ensures that your microservices are maintainable and future-proof. Detailed case studies from industry experts will enhance your learning experience and provide practical insights into building microservices in production environments. By the end of this book, you'll be ready to create cloud-ready, high-performing microservices using cutting-edge JavaScript frameworks and tools and tackle real-world challenges, ensuring your applications are secure and efficient. What you will learn Understand synchronous and asynchronous communication between microservices Discover how to decouple microservices using Message Broker Build real-time data streaming microservices with JS frameworks Understand logging and monitoring in microservices Explore common architectural patterns for microservices Cover microservices with unit, and integration tests Apply CI/CD for microservices and learn to Dockerize and deploy them Who this book is for This book is for backend developers, full-stack developers, software architects, and frontend developers who want to venture into the world of microservices. A fundamental understanding of the JavaScript ecosystem will be helpful but not necessary, as this book will cover the essentials of microservices architecture, JavaScript programming, and modern frameworks and tools for building scalable, maintainable applications.ipt, Node.js, and Docker Hands-On Microservices with JavaScript Contributors About the author About the reviewer(s) Preface Who this book is for What this book covers To get the most out of this book Download the example code files Conventions used Get in touch Share Your Thoughts Download a free PDF copy of this book Part 1:Fundamentals of Microservices Architecture 1 Introduction to Microservices Introducing microservices Moving toward microservices Understanding a big ball of mud Understanding the software development process Exploring the monolith approach What is service-oriented architecture? The differences between SOA and microservices Advantages of microservices Disadvantages of microservices Summary 2 Diving into Microservices Internals Solidifying the communication Microservice communication techniques Introduction to APIs What exactly is REST? HTTP-based REST implementation HTTP response status codes Introduction to GraphQL Remote Procedure Call Synchronous microservice communication Asynchronous microservice communication Essential communication patterns Message brokers Summary 3 What Do You Need Before Getting Started? Technical requirements JavaScript essentials JavaScript engine JavaScript runtime Callback-based asynchronous JavaScript The way to promises Promise API Async/await in JavaScript Microtask queue Node.js essentials Summary 4 Stack Development Technologies Technical requirements Node.js and its installation Installing Node.js for Windows Installing Node.js for macOS and Linux Node.js frameworks Express.js NestJS Choosing between Express.js and Node.js Choosing the right IDE Understanding and installing Docker Understanding and installing Apache Kafka Understanding and installing Git Installing Postman Installing MongoDB Summary Part 2:Building and Managing Microservices 5 Basic CRUD Microservices Technical requirements Understanding business requirements Tools to develop a basic microservice Preparing our first project Understanding the concept of packages Understanding the package.json file Understanding index.js files Installing the required packages Defining the internal architecture of our microservice MVC architectural pattern Integrating MVC into our Node.js project Hands-on account microservice development Implementing our data-access functionalities Implementing the M in MVC Storing configuration Implementing the business layer Implementing the controller Simple data validation for your API Implementing routing Constructing our web application Combining all the elements Running and testing our first microservice Creating a new account Getting an account by ID Updating an account by ID Gettings all accounts Deleting account by ID Summary 6 Synchronous Microservices Technical requirements Understanding the requirements for the transaction microservice Tools to develop the transaction microservice NestJS Docker Prisma ORM Hands-on transaction microservice development Dockerizing your PostgreSQL instance Modeling the data Seeding test data Implementing the transaction service Configuring Swagger Working on transaction implementation Establishing synchronous communication with the account microservice Summary 7 Asynchronous Microservices Technical requirements Understanding the requirements Exploring asynchronous communication Implementing an asynchronous transaction microservice Getting started with Kafka for NestJS Cluster and brokers in Kafka Topic and partition concepts in Apache Kafka Configuring Apache Kafka Adding an asynchronous nature to a transaction microservice Adapting an account service to new requirements Testing our microservices together Summary 8 Real-Time Data Streaming Using Microservices Technical requirements What is real-time streaming? Why real-time data is essential Understanding use cases Relationship between real-time streaming and microservices Microservices we will develop Getting started with an earthquake streaming API Implementing the earthquake stream consumer Summary Part 3:Securing, Testing, and Deploying Microservices 9 Securing Microservices Technical requirements Security, authentication, and authorization in microservices Understanding security Exploring authentication Defining authorization Best practices for authorization Difference between authentication and authorization Getting started with JWTs Implementing an Authentication microservice Integrating token-based authentication for the account microservice Summary 10 Monitoring Microservices Technical requirements Importance of observability Introduction to logging Logging levels and node libraries Log formats Best practices for logging Implementing logging in your microservices Centralized logging with Elasticsearch, Logstash, and Kibana (ELK) stack A brief introduction to Logstash A brief introduction to Elasticsearch A brief introduction to Kibana Summary 11 Microservices Architecture Technical requirements Getting started with an API gateway How an API Gateway works Single versus multiple API gateways Implementing microservices using an API gateway CQRS and event sourcing Understanding CQRS Event sourcing Event store Implementing CQRS and event sourcing Commands and handlers Implementing an aggregate root Implementing projection Implementing API functionalities Testing an application Service Registry and discovery in microservices Understanding Service Registry and discovery Approaches for implementing Service Registry and Discovery Implementing Service Registry Summary 12 Testing Microservices Technical requirements Understanding testing in a microservice architecture Understanding unit tests Introducing unit testing packages What should we test in unit testing? Implementing unit tests for the account microservice Writing unit tests for the transaction microservice Comparing mocks, stubs, and spies in unit tests Mocks Stubs Spies Understanding and implementing integration tests Summary 13 A CI/CD Pipeline for Your Microservices The essentials of CI/CD processes Understanding CI Understanding CD Integrating CI/CD into microservices Working with Azure Cloud Working with GitHub Actions Understanding Secrets Building a pipeline Summary Index Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts Download a free PDF copy of this book Step into the world of design patterns through modern JavaScript paradigms to supercharge your applications on the web and beyondKey FeaturesExplore various JavaScript design patterns, delving deep into their intricacies, benefits, and best practicesUnderstand the decision-making process guiding the selection of specific design patternsBuild a solid foundation to learn advanced topics in JavaScript and web performancePurchase of the print or Kindle book includes a free PDF eBookBook DescriptionUnlock the potential of JavaScript design patterns, the foundation for development teams seeking structured and reusable solutions to common software development challenges in this guide to improving code maintainability, scalability, and performance. Discover how these patterns equip businesses with cleaner and more maintainable code, promote team collaboration, reduce errors, and save time and costs. This book provides a comprehensive view of design patterns in modern (ES6+) JavaScript with real-world examples of their deployment in professional settings. You'll start by learning how to use creational, structural, and behavioral design patterns in idiomatic JavaScript, and then shift focus to the architecture and UI patterns. Here, you'll learn how to apply patterns for libraries such as React and extend them further to general web frontend and micro frontend approaches. The last section of the book introduces and illustrates sets of performance and security patterns, including messaging and events, asset and JavaScript loading strategies, and asynchronous programming performance patterns. Throughout the book, examples featuring React and Next.js, in addition to JavaScript and Web API examples, will help you choose and implement proven design patterns across diverse web ecosystems, transforming the way you approach development.What you will learnFind out how patterns are classified into creational, structural, and behavioralImplement the right set of patterns for different business scenariosExplore diverse frontend architectures and different rendering approachesIdentify and address common asynchronous programming performance pitfallsLeverage event-driven programming in the browser to deliver fast and secure applicationsBoost application performance using asset loading strategies and offloading JavaScript executionWho this book is forThis book is for developers and software architects who want to leverage JavaScript and the web platform for enhanced productivity, superior software quality, and optimized application performance. Prior experience with JavaScript and web development is assumed. Some of the more advanced topics in the book will be of interest to developers with intermediate experience in building for the web with JavaScript. Apply functional programming techniques to write testable terser code for frontend and backend development with improved clarity, concurrency, and performancePurchase of the print or Kindle book includes a free PDF eBookKey FeaturesApply functional programming concepts and techniques to everyday JavaScript or TypeScript programmingMaster functional programming in JavaScript and TypeScript to solve real-world development problemsApply functional programming to get better testable programs with higher modularity and reusabilityBook DescriptionFunctional programming is a programming paradigm that uses functions for developing software. This book is filled with examples that enable you to leverage the latest JavaScript and TypeScript versions to produce modern and clean code, as well as teach you to how apply functional programming techniques to develop more efficient algorithms, write more concise code, and simplify unit testing.This book provides comprehensive coverage of the major topics in functional programming to produce shorter, clearer, and testable programs. You'll begin by getting to grips with writing and testing pure functions, reducing side effects, as well as other key features to make your applications functional in nature. The book specifically explores techniques to simplify coding, apply recursion, perform high-level coding, learn ways to achieve immutability, implement design patterns, and work with data types.By the end of this book, you'll have developed the practical programming skills needed to confidently enhance your applications by adding functional programming to wherever it's most suitable.What you will learnUnderstand when to use functional programming versus classic object-oriented programmingUse declarative coding instead of imperative coding for clearer, more understandable codeKnow how to avoid side effects and create more reliable code with closures and immutable dataUse recursion to help design and implement more understandable solutions to complex problemsDefine functional programing data types with or without TypeScript, add type checking, and implement immutabilityApply advanced containers to get better structures to tackle errors and implement async programmingWho this book is forIf you are a JavaScript or TypeScript developer looking to enhance your programming skills, then this book is for you. The book applies to both frontend developers working with frameworks such as React, Vue, or Angular as well as backend developers using Node.js or Deno. Embark on an exciting journey into the world of design patterns from a fresh paradigm to revolutionize your JavaScript programs on the web JavaScript design patterns are crucial for businesses as they offer structured and reusable solutions to common software development problems, leading to code maintainability, scalability, and efficiency. By following established patterns, businesses can ensure cleaner and more maintainable code, promote team collaboration, reduce errors, and save time and costs. This book provides a cohesive and comprehensive view of design patterns in modern (ES6+) JavaScript with real-world examples of how to deploy them in a professional setting. We will begin the first part of the book by looking at how to leverage creational, structural, and behavioral design patterns in idiomatic JavaScript. The second part of the book dives into the architecture and UI patterns. Here you will learn how to apply these types of patterns for libraries such as React or Vue and extend it further to general web frontend and micro frontend approaches. The concluding section of the book will introduce and illustrate sets of performance and security patterns including leveraging messaging and events, asset and JavaScript loading strategies and asynchronous programming performance patterns. Throughout the book, you will get to see React and Next.js examples in addition to JavaScript and Web API examples to demonstrate how different patterns can be leveraged in different web ecosystems. This book is for developers and software architects who want to leverage JavaScript and the web platform to increase productivity, software quality and performance of their applications. Prior experience with JavaScript and web development is assumed. Some of the more advanced topics in the book will be of interest to developers with intermediate experience building for the web with JavaScript. Apply functional programming techniques to write testable terser code for frontend and backend development with improved clarity, concurrency, and performance Purchase of the print or Kindle book includes a free PDF eBook Functional programming is a programming paradigm that uses functions for developing software. This book is filled with examples that enable you to leverage the latest JavaScript and TypeScript versions to produce modern and clean code, as well as teach you to how apply functional programming techniques to develop more efficient algorithms, write more concise code, and simplify unit testing. This book provides comprehensive coverage of the major topics in functional programming to produce shorter, clearer, and testable programs. Youll begin by getting to grips with writing and testing pure functions, reducing side effects, as well as other key features to make your applications functional in nature. The book specifically explores techniques to simplify coding, apply recursion, perform high-level coding, learn ways to achieve immutability, implement design patterns, and work with data types. By the end of this book, youll have developed the practical programming skills needed to confidently enhance your applications by adding functional programming to wherever its most suitable. If you are a JavaScript or TypeScript developer looking to enhance your programming skills, then this book is for you. The book applies to both frontend developers working with frameworks such as React, Vue, or Angular as well as backend developers using Node.js or Deno. Functional programming is a programming paradigm for software development based on functions. FP lets you confidently write terser code with greater concurrency. You'll learn all about writing and testing pure functions, reducing side effects, and developing new programming skills to enhance your code by adding FP wherever it's most suitable.
دانلود کتاب Hands-On Microservices with JavaScript: Build Scalable Web Applications with JavaScript, Node. js, and Docker