Microservices with Clojure
¥81.74
The common patterns and practices of the microservice architecture and their application using the Clojure programming language. About This Book ? Relevance of the microservice architecture and benefits of Clojure's functional and simple features to implement it. ? Learn best practices and common principles to avoid common pitfalls while developing microservices. ? Learn how to use Pedestal to build your next microservices, secure them using JWT, and monitor them using the ELK stack Who This Book Is For You should have a working knowledge of programming in Clojure. However, no knowledge of RESTful architecture, microservices, or web services is expected. If you are looking to apply techniques to your own projects, taking your first steps into microservice architecture, this book is for you. What You Will Learn ? Explore the pros and cons of monolithic and microservice architectures ? Use Clojure to effectively build a reallife application using Microservices ? Gain practical knowledge of the Clojure Pedestal framework and how to use it to build Microservices ? Explore various persistence patterns and learn how to use Apache Kafka to build event-driven microservice architectures ? Secure your Microservices using JWT ? Monitor Microservices at scale using the ELK stack ? Deploy Microservices at scale using container orchestration platforms such as Kubernetes In Detail 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. Style and approach This book highlights the merits of the microservice architecture and its implementation with Clojure. Learn to implement microservices by migrating a monolithic application to a microservice-based architecture.
Learning Scala Programming
¥81.74
Learn how to write scalable and concurrent programs in Scala, a language that grows with you. About This Book ? 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 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. 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 In Detail 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. Style and approach This book is for programmers who want to master Scala to write concurrent, scalable, and reactive programs. Though no experience with any programming language is needed, some basic knowledge would help understand concepts faster.
Microservice Patterns and Best Practices
¥81.74
Explore the concepts and tools you need to discover the world of microservices with various design patterns About This Book ? Get to grips with the microservice architecture and build enterprise-ready microservice applications ? Learn design patterns and the best practices while building a microservice application ? Obtain hands-on techniques and tools to create high-performing microservices resilient to possible fails Who This Book Is For This book is for architects and senior developers who would like implement microservice design patterns in their enterprise application development. The book assumes some prior programming knowledge. What You Will Learn ? How to break monolithic application into microservices ? Implement caching strategies, CQRS and event sourcing, and circuit breaker patterns ? Incorporate different microservice design patterns, such as shared data, aggregator, proxy, and chained ? Utilize consolidate testing patterns such as integration, signature, and monkey tests ? Secure microservices with JWT, API gateway, and single sign on ? Deploy microservices with continuous integration or delivery, Blue-Green deployment In Detail Microservices are a hot trend in the development world right now. Many enterprises have adopted this approach to achieve agility and the continuous delivery of applications to gain a competitive advantage. This book will take you through different design patterns at different stages of the microservice application development along with their best practices. Microservice Patterns and Best Practices starts with the learning of microservices key concepts and showing how to make the right choices while designing microservices. You will then move onto internal microservices application patterns, such as caching strategy, asynchronism, CQRS and event sourcing, circuit breaker, and bulkheads. As you progress, you'll learn the design patterns of microservices. The book will guide you on where to use the perfect design pattern at the application development stage and how to break monolithic application into microservices. You will also be taken through the best practices and patterns involved while testing, securing, and deploying your microservice application. At the end of the book, you will easily be able to create interoperable microservices, which are testable and prepared for optimum performance. Style and approach Comprehensive guide that uses architectural patterns with the best choices involved in application development
Hands-On GUI Application Development in Go
¥81.74
Discover Golang's GUI libraries such as Go-GTK (GIMP Toolkit) and Go-Qt and build beautiful, performant, and responsive graphical applications Key Features * Conceptualize and build state-of-art GUI applications with Golang (Go) * Tackle the complexity of varying GUI application sizes with a structured and scalable approach * Get hands-on experience of GUI development with Shiny, and labs/ui, Fyne, and Walk Book Description Go is often compared to C++ when it comes to low-level programming and implementations that require faster processing, such as Graphical User Interfaces (GUIs). In fact, many claim that Go is superior to C++ in terms of its concurrency and ease of use. Most graphical application toolkits, though, are still written using C or C++, and so they don't enjoy the benefits of using a modern programming language such as Go. This guide to programming GUIs with Go 1.11 explores the various toolkits available, including UI, Walk, Shiny, and Fyne. The book compares the vision behind each project to help you pick the right approach for your project. Each framework is described in detail, outlining how you can build performant applications that users will love. To aid you further in creating applications using these emerging technologies, you'll be able to easily refer to code samples and screenshots featured in the book. In addition to toolkit-specific discussions, you'll cover more complex topics, such as how to structure growing graphical applications, and how cross-platform applications can integrate with each desktop operating system to create a seamless user experience. By delving into techniques and best practices for organizing and scaling Go-based graphical applications, you'll also glimpse Go's impressive concurrency system. In the concluding chapters, you'll discover how to distribute to the main desktop marketplaces and distribution channels. By the end of this book, you'll be a confident GUI developer who can use the Go language to boost the performance of your applications. What you will learn * Understand the benefits and complexities of building native graphical applications * Gain insights into how Go makes cross-platform graphical application development simple * Build platform-native GUI applications using andlabs/ui * Develop graphical Windows applications using Walk * Create multiplatform GUI applications using Shiny, Nuklear, and Fyne * Use Go wrappers for GTK and Qt for GUI application development * Streamline your requirements to pick the correct toolkit strategy Who this book is for This book is designed for Go developers who are interested in building native graphical applications for desktop computers and beyond. Some knowledge of building applications using Go is useful, but not essential. Experience in developing GUIs is not required as the book explores the benefits and challenges they pose. This book will also be beneficial for GUI application developers who are interested in trying Go.
Mastering Microservices with Java
¥81.74
Master the art of implementing scalable and reactive microservices in your production environment with Java 11 Key Features * Use domain-driven designs to build microservices * Explore various microservices design patterns such as service discovery, registration, and API Gateway * Use Kafka, Avro, and Spring Streams to implement event-based microservices Book Description Microservices are key to designing scalable, easy-to-maintain applications. This latest edition of Mastering Microservices with Java, works on Java 11. It covers a wide range of exciting new developments in the world of microservices, including microservices patterns, interprocess communication with gRPC, and service orchestration. This book will help you understand how to implement microservice-based systems from scratch. You'll start off by understanding the core concepts and framework, before focusing on the high-level design of large software projects. You'll then use Spring Security to secure microservices and test them effectively using REST Java clients and other tools. You will also gain experience of using the Netflix OSS suite, comprising the API Gateway, service discovery and registration, and Circuit Breaker. Additionally, you'll be introduced to the best patterns, practices, and common principles of microservice design that will help you to understand how to troubleshoot and debug the issues faced during development. By the end of this book, you'll have learned how to build smaller, lighter, and faster services that can be implemented easily in a production environment. What you will learn * Use domain-driven designs to develop and implement microservices * Understand how to implement microservices using Spring Boot * Explore service orchestration and distributed transactions using the Sagas * Discover interprocess communication using REpresentational State Transfer (REST) and events * Gain knowledge of how to implement and design reactive microservices * Deploy and test various microservices Who this book is for This book is designed for Java developers who are familiar with microservices architecture and now want to effectively implement microservices at an enterprise level. Basic knowledge and understanding of core microservice elements and applications is necessary.
Spring 5.0 Projects
¥81.74
Discover the latest features of Spring framework by building robust, fast, and reactive web applications Key Features * Take advantage of all the features of Spring 5.0 with third party tools to build a robust back end * Secure Spring based web application using Spring Security framework with LDAP and OAuth protocol * Develop robust and scalable microservice based applications on Spring Cloud, using Spring Boot Book Description Spring makes it easy to create RESTful applications, merge with social services, communicate with modern databases, secure your system, and make your code modular and easy to test. With the arrival of Spring Boot, developers can really focus on the code and deliver great value, with minimal contour. This book will show you how to build various projects in Spring 5.0, using its features and third party tools. We'll start by creating a web application using Spring MVC, Spring Data, the World Bank API for some statistics on different countries, and MySQL database. Moving ahead, you'll build a RESTful web services application using Spring WebFlux framework. You'll be then taken through creating a Spring Boot-based simple blog management system, which uses Elasticsearch as the data store. Then, you'll use Spring Security with the LDAP libraries for authenticating users and create a central authentication and authorization server using OAuth 2 protocol. Further, you'll understand how to create Spring Boot-based monolithic application using JHipster. Toward the end, we'll create an online book store with microservice architecture using Spring Cloud and Net?ix OSS components, and a task management system using Spring and Kotlin. By the end of the book, you'll be able to create coherent and ?exible real-time web applications using Spring Framework. What you will learn * Build Spring based application using Bootstrap template and JQuery * Understand the Spring WebFlux framework and how it uses Reactor library * Interact with Elasticsearch for indexing, querying, and aggregating data * Create a simple monolithic application using JHipster * Use Spring Security and Spring Security LDAP and OAuth libraries for Authentication * Develop a microservice-based application with Spring Cloud and Netflix * Work on Spring Framework with Kotlin Who this book is for This book is for competent Spring developers who wish to understand how to develop complex yet flexible applications with Spring. You must have a good knowledge of Java programming and be familiar with the basics of Spring.
Hands-On Application Penetration Testing with Burp Suite
¥81.74
Test, fuzz, and break web applications and services using Burp Suite’s powerful capabilities Key Features * Master the skills to perform various types of security tests on your web applications * Get hands-on experience working with components like scanner, proxy, intruder and much more * Discover the best-way to penetrate and test web applications Book Description Burp suite is a set of graphic tools focused towards penetration testing of web applications. Burp suite is widely used for web penetration testing by many security professionals for performing different web-level security tasks. The book starts by setting up the environment to begin an application penetration test. You will be able to configure the client and apply target whitelisting. You will also learn to setup and configure Android and IOS devices to work with Burp Suite. The book will explain how various features of Burp Suite can be used to detect various vulnerabilities as part of an application penetration test. Once detection is completed and the vulnerability is confirmed, you will be able to exploit a detected vulnerability using Burp Suite. The book will also covers advanced concepts like writing extensions and macros for Burp suite. Finally, you will discover various steps that are taken to identify the target, discover weaknesses in the authentication mechanism, and finally break the authentication implementation to gain access to the administrative console of the application. By the end of this book, you will be able to effectively perform end-to-end penetration testing with Burp Suite. What you will learn * Set up Burp Suite and its configurations for an application penetration test * Proxy application traffic from browsers and mobile devices to the server * Discover and identify application security issues in various scenarios * Exploit discovered vulnerabilities to execute commands * Exploit discovered vulnerabilities to gain access to data in various datastores * Write your own Burp Suite plugin and explore the Infiltrator module * Write macros to automate tasks in Burp Suite Who this book is for If you are interested in learning how to test web applications and the web part of mobile applications using Burp, then this is the book for you. It is specifically designed to meet your needs if you have basic experience in using Burp and are now aiming to become a professional Burp user.
Bayesian Analysis with Python
¥81.74
Bayesian modeling with PyMC3 and exploratory analysis of Bayesian models with ArviZ Key Features *A step-by-step guide to conduct Bayesian data analyses using PyMC3 and ArviZ *A modern, practical and computational approach to Bayesian statistical modeling *A tutorial for Bayesian analysis and best practices with the help of sample problems and practice exercises. Book Description The second edition of Bayesian Analysis with Python is an introduction to the main concepts of applied Bayesian inference and its practical implementation in Python using PyMC3, a state-of-the-art probabilistic programming library, and ArviZ, a new library for exploratory analysis of Bayesian models. The main concepts of Bayesian statistics are covered using a practical and computational approach. Synthetic and real data sets are used to introduce several types of models, such as generalized linear models for regression and classification, mixture models, hierarchical models, and Gaussian processes, among others. By the end of the book, you will have a working knowledge of probabilistic modeling and you will be able to design and implement Bayesian models for your own data science problems. After reading the book you will be better prepared to delve into more advanced material or specialized statistical modeling if you need to. What you will learn *Build probabilistic models using the Python library PyMC3 *Analyze probabilistic models with the help of ArviZ *Acquire the skills required to sanity check models and modify them if necessary *Understand the advantages and caveats of hierarchical models *Find out how different models can be used to answer different data analysis questions *Compare models and choose between alternative ones *Discover how different models are unified from a probabilistic perspective *Think probabilistically and benefit from the flexibility of the Bayesian framework Who this book is for If you are a student, data scientist, researcher, or a developer looking to get started with Bayesian data analysis and probabilistic programming, this book is for you. The book is introductory so no previous statistical knowledge is required, although some experience in using Python and NumPy is expected.
Hands-On Deep Learning with Apache Spark
¥81.74
Speed up the design and implementation of deep learning solutions using Apache Spark Key Features * Explore the world of distributed deep learning with Apache Spark * Train neural networks with deep learning libraries such as BigDL and TensorFlow * Develop Spark deep learning applications to intelligently handle large and complex datasets Book Description Deep learning is a subset of machine learning where datasets with several layers of complexity can be processed. Hands-On Deep Learning with Apache Spark addresses the sheer complexity of technical and analytical parts and the speed at which deep learning solutions can be implemented on Apache Spark. The book starts with the fundamentals of Apache Spark and deep learning. You will set up Spark for deep learning, learn principles of distributed modeling, and understand different types of neural nets. You will then implement deep learning models, such as convolutional neural networks (CNNs), recurrent neural networks (RNNs), and long short-term memory (LSTM) on Spark. As you progress through the book, you will gain hands-on experience of what it takes to understand the complex datasets you are dealing with. During the course of this book, you will use popular deep learning frameworks, such as TensorFlow, Deeplearning4j, and Keras to train your distributed models. By the end of this book, you'll have gained experience with the implementation of your models on a variety of use cases. What you will learn * Understand the basics of deep learning * Set up Apache Spark for deep learning * Understand the principles of distribution modeling and different types of neural networks * Obtain an understanding of deep learning algorithms * Discover textual analysis and deep learning with Spark * Use popular deep learning frameworks, such as Deeplearning4j, TensorFlow, and Keras * Explore popular deep learning algorithms Who this book is for If you are a Scala developer, data scientist, or data analyst who wants to learn how to use Spark for implementing efficient deep learning models, Hands-On Deep Learning with Apache Spark is for you. Knowledge of the core machine learning concepts and some exposure to Spark will be helpful.
Hands-On Machine Learning for Algorithmic Trading
¥81.74
Explore effective trading strategies in real-world markets using NumPy, spaCy, pandas, scikit-learn, and Keras Key Features *Implement machine learning algorithms to build, train, and validate algorithmic models *Create your own algorithmic design process to apply probabilistic machine learning approaches to trading decisions *Develop neural networks for algorithmic trading to perform time series forecasting and smart analytics Book Description The explosive growth of digital data has boosted the demand for expertise in trading strategies that use machine learning (ML). This book enables you to use a broad range of supervised and unsupervised algorithms to extract signals from a wide variety of data sources and create powerful investment strategies. This book shows how to access market, fundamental, and alternative data via API or web scraping and offers a framework to evaluate alternative data. You’ll practice the ML work?ow from model design, loss metric definition, and parameter tuning to performance evaluation in a time series context. You will understand ML algorithms such as Bayesian and ensemble methods and manifold learning, and will know how to train and tune these models using pandas, statsmodels, sklearn, PyMC3, xgboost, lightgbm, and catboost. This book also teaches you how to extract features from text data using spaCy, classify news and assign sentiment scores, and to use gensim to model topics and learn word embeddings from financial reports. You will also build and evaluate neural networks, including RNNs and CNNs, using Keras and PyTorch to exploit unstructured data for sophisticated strategies. Finally, you will apply transfer learning to satellite images to predict economic activity and use reinforcement learning to build agents that learn to trade in the OpenAI Gym. What you will learn *Implement machine learning techniques to solve investment and trading problems *Leverage market, fundamental, and alternative data to research alpha factors *Design and fine-tune supervised, unsupervised, and reinforcement learning models *Optimize portfolio risk and performance using pandas, NumPy, and scikit-learn *Integrate machine learning models into a live trading strategy on Quantopian *Evaluate strategies using reliable backtesting methodologies for time series *Design and evaluate deep neural networks using Keras, PyTorch, and TensorFlow *Work with reinforcement learning for trading strategies in the OpenAI Gym Who this book is for Hands-On Machine Learning for Algorithmic Trading is for data analysts, data scientists, and Python developers, as well as investment analysts and portfolio managers working within the finance and investment industry. If you want to perform efficient algorithmic trading by developing smart investigating strategies using machine learning algorithms, this is the book for you. Some understanding of Python and machine learning techniques is mandatory.
Python Machine Learning Blueprints
¥81.74
Discover a project-based approach to mastering machine learning concepts by applying them to everyday problems using libraries such as scikit-learn, TensorFlow, and Keras Key Features * Get to grips with Python's machine learning libraries including scikit-learn, TensorFlow, and Keras * Implement advanced concepts and popular machine learning algorithms in real-world projects * Build analytics, computer vision, and neural network projects Book Description Machine learning is transforming the way we understand and interact with the world around us. This book is the perfect guide for you to put your knowledge and skills into practice and use the Python ecosystem to cover key domains in machine learning. This second edition covers a range of libraries from the Python ecosystem, including TensorFlow and Keras, to help you implement real-world machine learning projects. The book begins by giving you an overview of machine learning with Python. With the help of complex datasets and optimized techniques, you’ll go on to understand how to apply advanced concepts and popular machine learning algorithms to real-world projects. Next, you’ll cover projects from domains such as predictive analytics to analyze the stock market and recommendation systems for GitHub repositories. In addition to this, you’ll also work on projects from the NLP domain to create a custom news feed using frameworks such as scikit-learn, TensorFlow, and Keras. Following this, you’ll learn how to build an advanced chatbot, and scale things up using PySpark. In the concluding chapters, you can look forward to exciting insights into deep learning and you'll even create an application using computer vision and neural networks. By the end of this book, you’ll be able to analyze data seamlessly and make a powerful impact through your projects. What you will learn * Understand the Python data science stack and commonly used algorithms * Build a model to forecast the performance of an Initial Public Offering (IPO) over an initial discrete trading window * Understand NLP concepts by creating a custom news feed * Create applications that will recommend GitHub repositories based on ones you’ve starred, watched, or forked * Gain the skills to build a chatbot from scratch using PySpark * Develop a market-prediction app using stock data * Delve into advanced concepts such as computer vision, neural networks, and deep learning Who this book is for This book is for machine learning practitioners, data scientists, and deep learning enthusiasts who want to take their machine learning skills to the next level by building real-world projects. The intermediate-level guide will help you to implement libraries from the Python ecosystem to build a variety of projects addressing various machine learning domains. Knowledge of Python programming and machine learning concepts will be helpful.
Mastering OpenCV 4 with Python
¥81.74
Create advanced applications with Python and OpenCV, exploring the potential of facial recognition, machine learning, deep learning, web computing and augmented reality. Key Features * Develop your computer vision skills by mastering algorithms in Open Source Computer Vision 4 (OpenCV 4)and Python * Apply machine learning and deep learning techniques with TensorFlow, Keras, and PyTorch * Discover the modern design patterns you should avoid when developing efficient computer vision applications Book Description OpenCV is considered to be one of the best open source computer vision and machine learning software libraries. It helps developers build complete projects in relation to image processing, motion detection, or image segmentation, among many others. OpenCV for Python enables you to run computer vision algorithms smoothly in real time, combining the best of the OpenCV C++ API and the Python language. In this book, you'll get started by setting up OpenCV and delving into the key concepts of computer vision. You'll then proceed to study more advanced concepts and discover the full potential of OpenCV. The book will also introduce you to the creation of advanced applications using Python and OpenCV, enabling you to develop applications that include facial recognition, target tracking, or augmented reality. Next, you'll learn machine learning techniques and concepts, understand how to apply them in real-world examples, and also explore their benefits, including real-time data production and faster data processing. You'll also discover how to translate the functionality provided by OpenCV into optimized application code projects using Python bindings. Toward the concluding chapters, you'll explore the application of artificial intelligence and deep learning techniques using the popular Python libraries TensorFlow, and Keras. By the end of this book, you'll be able to develop advanced computer vision applications to meet your customers' demands. What you will learn * Handle files and images, and explore various image processing techniques * Explore image transformations, including translation, resizing, and cropping * Gain insights into building histograms * Brush up on contour detection, filtering, and drawing * Work with Augmented Reality to build marker-based and markerless applications * Work with the main machine learning algorithms in OpenCV * Explore the deep learning Python libraries and OpenCV deep learning capabilities * Create computer vision and deep learning web applications Who this book is for This book is designed for computer vision developers, engineers, and researchers who want to develop modern computer vision applications. Basic experience of OpenCV and Python programming is a must.
Reactive Programming with Swift 4
¥81.74
Learn how to solve blocking user experience and build event based reactive applications with Swift. About This Book ? Build fast and scalable apps with RxSwift ? Apply reactive programming to solve complex problems and build efficient programs with reactive user interfaces ? Take expressiveness, scalability, and maintainability of your Swift code to the next level with this practical guide Who This Book Is For This book is for the developers who are familiar with Swift and iOS application development and are looking out to reduce the complexity of their apps. Prior experience of reactive programming is not necessary. What You Will Learn ? Understand the practical benefits of Rx on a mobile platform ? Explore the building blocks of Rx, and Rx data flows with marble diagrams ? Learn how to convert an existing code base into RxSwift code base ? Learn how to debug and test your Rx Code ? Work with Playgrounds to transform sequences by filtering them using map, flatmap and other operators ? Learn how to combine different operators to work with Events in a more controlled manner. ? Discover RxCocoa and convert your simple UI elements to Reactive components ? Build a complete RxSwift app using MVVM as design pattern In Detail RxSwift belongs to a large family of Rx implementations in different programming languages that share almost identical syntax and semantics. Reactive approach will help you to write clean, cohesive, resilient, scalable, and maintainable code with highly configurable behavior. This book will introduce you to the world of reactive programming, primarily focusing on mobile platforms. It will tell how you can benefit from using RxSwift in your projects, existing or new. Further on, the book will demonstrate the unbelievable ease of configuring asynchronous behavior and other aspects of the app that are traditionally considered to be hard to implement and maintain. It will explain what Rx is made of, and how to switch to reactive way of thinking to get the most out of it. Also, test production code using RxTest and the red/ green approach. Finally, the book will dive into real-world recipes and show you how to build a real-world app by applying the reactive paradigm. By the end of the book, you’ll be able to build a reactive swift application by leveraging all the concepts this book takes you through. Style and approach This book is a definite tutorial in FRP with Swift filled with well-described examples.
Hands-On Microservices with Kotlin
¥81.74
Build smart, efficient, and fast enterprise-grade web implementation of the microservices architecture that can be easily scaled. About This Book ? Write easy-to-maintain lean and clean code with Kotlin for developing better microservices ? Scale your Microserivces in your own cloud with Docker and Docker Swarm ? Explore Spring 5 functional reactive web programming with Spring WebFlux Who This Book Is For If you are a Kotlin developer with a basic knowledge of microservice architectures and now want to effectively implement these services on enterprise-level web applications, then this book is for you What You Will Learn ? Understand microservice architectures and principles ? Build microservices in Kotlin using Spring Boot 2.0 and Spring Framework 5.0 ? Create reactive microservices that perform non-blocking operations with Spring WebFlux ? Use Spring Data to get data reactively from MongoDB ? Test effectively with JUnit and Kotlin ? Create cloud-native microservices with Spring Cloud ? Build and publish Docker images of your microservices ? Scaling microservices with Docker Swarm ? Monitor microservices with JMX ? Deploy microservices in OpenShift Online In Detail With Google's inclusion of first-class support for Kotlin in their Android ecosystem, Kotlin's future as a mainstream language is assured. Microservices help design scalable, easy-to-maintain web applications; Kotlin allows us to take advantage of modern idioms to simplify our development and create high-quality services. With 100% interoperability with the JVM, Kotlin makes working with existing Java code easier. Well-known Java systems such as Spring, Jackson, and Reactor have included Kotlin modules to exploit its language features. This book guides the reader in designing and implementing services, and producing production-ready, testable, lean code that's shorter and simpler than a traditional Java implementation. Reap the benefits of using the reactive paradigm and take advantage of non-blocking techniques to take your services to the next level in terms of industry standards. You will consume NoSQL databases reactively to allow you to create high-throughput microservices. Create cloud-native microservices that can run on a wide range of cloud providers, and monitor them. You will create Docker containers for your microservices and scale them. Finally, you will deploy your microservices in OpenShift Online. Style and approach This book guides the reader in designing and implementing services, achieving production- ready, testable, easy-to-maintain, lean code that's shorter and simpler than a traditional Java implementation.
C++ High Performance
¥81.74
Write code that scales across CPU registers, multi-core, and machine clusters About This Book ? Explore concurrent programming in C++ ? Identify memory management problems ? Use SIMD and STL containers for performance improvement Who This Book Is For If you're a C++ developer looking to improve the speed of your code or simply wanting to take your skills up to the next level, then this book is perfect for you. What You Will Learn ? Find out how to use exciting new tools that will help you improve your code ? Identify bottlenecks to optimize your code ? Develop applications that utilize GPU computation ? Reap the benefits of concurrent programming ? Write code that can protect against application errors using error handling ? Use STL containers and algorithms effciently ? Extend your toolbox with Boost containers ? Achieve effcient memory management by using custom memory allocators In Detail C++ is a highly portable language and can be used to write complex applications and performance-critical code. It has evolved over the last few years to become a modern and expressive language. This book will guide you through optimizing the performance of your C++ apps by allowing them to run faster and consume fewer resources on the device they're running on. The book begins by helping you to identify the bottlenecks in C++. It then moves on to measuring performance, and you'll see how this affects the way you write code. Next, you'll see the importance of data structure optimization and how it can be used efficiently. After that, you'll see which algorithm should be used to achieve faster execution, followed by how to use STL containers. Moving on, you'll learn how to improve memory management in C++. You'll get hands on experience making use of multiple cores to enable more efficient and faster execution. The book ends with a brief overview of utilizing the capabilities of your GPU by using Boost Compute and OpenCL. Style and approach This easy-to-follow guide is full of examples and self-sufficient code snippets that help you with high performance programming with C++. You’ll get your hands dirty with this all-inclusive guide that uncovers hidden performance improvement areas for any C++ code.
Scala Reactive Programming
¥81.74
Build fault-tolerant, robust, and distributed applications in Scala About This Book ? 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. 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. 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 In Detail 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. Style and approach The book takes a pragmatic approach, showing you how to build a scalable distributed system using Scala and Akka.
Mastering High Performance with Kotlin
¥81.74
Find out how to write Kotlin code without overhead and how to use different profiling tools and bytecode viewer to inspect expressions of Kotlin language. About This Book ? Apply modern Kotlin features to speed up processing and implement highly efficient and reliable codes. ? Learn memory optimization, concurrency, multi-threading, scaling, and caching techniques to achieve high performance. ? Learn how to prevent unnecessary overhead and use profiling tools to detect performance issues. Who This Book Is For This book is for Kotlin developers who would like to build reliable and high-performance applications. Prior Kotlin programming knowledge is assumed. What You Will Learn ? Understand the importance of high performance ? Learn performance metrics ? Learn popular design patterns currently being used in Kotlin ? Understand how to apply modern Kotlin features to data processing ? Learn how to use profling tools ? Discover how to read bytecode ? Learn to perform memory optimizations ? Uncover approaches to the multithreading environment In Detail The ease with which we write applications has been increasing, but with it comes the need to address their performance. A balancing act between easily implementing complex applications and keeping their performance optimal is a present-day requirement In this book, we explore how to achieve this crucial balance, while developing and deploying applications with Kotlin. The book starts by analyzing various Kotlin specifcations to identify those that have a potentially adverse effect on performance. Then, we move on to monitor techniques that enable us to identify performance bottlenecks and optimize performance metrics. Next, we look at techniques that help to us achieve high performance: memory optimization, concurrency, multi threading, scaling, and caching. We also look at fault tolerance solutions and the importance of logging. We'll also cover best practices of Kotlin programming that will help you to improve the quality of your code base. By the end of the book, you will have gained some insight into various techniques and solutions that will help to create high-performance applications in the Kotlin environment Style and approach This book guides you through how to use profiling tools to detect performance issues and build high-performance applications in the Kotlin environment.
Google Cloud Platform for Architects
¥81.74
Get acquainted with GCP and manage robust, highly available, and dynamic solutions to drive business objective About This Book ? Identify the strengths, weaknesses and ideal use-cases for individual services offered on the Google Cloud Platform ? Make intelligent choices about which cloud technology works best for your use-case ? Leverage Google Cloud Platform to analyze and optimize technical and business processes Who This Book Is For If you are a Cloud architect who is responsible to design and manage robust cloud solutions with Google Cloud Platform, then this book is for you. System engineers and Enterprise architects will also find this book useful. A basic understanding of distributed applications would be helpful, although not strictly necessary. Some working experience on other public cloud platforms would help too. What You Will Learn ? Set up GCP account and utilize GCP services using the cloud shell, web console, and client APIs ? Harness the power of App Engine, Compute Engine, Containers on the Kubernetes Engine, and Cloud Functions ? Pick the right managed service for your data needs, choosing intelligently between Datastore, BigTable, and BigQuery ? Migrate existing Hadoop, Spark, and Pig workloads with minimal disruption to your existing data infrastructure, by using Dataproc intelligently ? Derive insights about the health, performance, and availability of cloud-powered applications with the help of monitoring, logging, and diagnostic tools in Stackdriver In Detail Using a public cloud platform was considered risky a decade ago, and unconventional even just a few years ago. Today, however, use of the public cloud is completely mainstream - the norm, rather than the exception. Several leading technology firms, including Google, have built sophisticated cloud platforms, and are locked in a fierce competition for market share. The main goal of this book is to enable you to get the best out of the GCP, and to use it with confidence and competence. You will learn why cloud architectures take the forms that they do, and this will help you become a skilled high-level cloud architect. You will also learn how individual cloud services are configured and used, so that you are never intimidated at having to build it yourself. You will also learn the right way and the right situation in which to use the important GCP services. By the end of this book, you will be able to make the most out of Google Cloud Platform design. Style and approach A clear, concise, and straightforward book which will enable to develop and manage optimum solutions for your infrastructure
Java 9 Dependency Injection
¥81.74
Create clean code with Dependency Injection principles About This Book ? Use DI to make your code loosely coupled to manage and test your applications easily on Spring 5 and Google Guice ? Learn the best practices and methodologies to implement DI ? Write more maintainable Java code by decoupling your objects from their implementations Who This Book Is For This book is for Java developers who would like to implement DI in their application. Prior knowledge of the Spring and Guice frameworks and Java programming is assumed. What You Will Learn ? Understand the benefits of DI and fo from a tightly coupled design to a cleaner design organized around dependencies ? See Java 9’s new features and modular framework ? Set up Guice and Spring in an application so that it can be used for DI ? Write integration tests for DI applications ? Use scopes to handle complex application scenarios ? Integrate any third-party library in your DI-enabled application ? Implement Aspect-Oriented Programming to handle common cross-cutting concerns such as logging, authentication, and transactions ? Understand IoC patterns and anti-patterns in DI In Detail Dependency Injection (DI) is a design pattern that allows us to remove the hard-coded dependencies and make our application loosely coupled, extendable, and maintainable. We can implement DI to move the dependency resolution from compile-time to runtime. This book will be your one stop guide to write loosely coupled code using the latest features of Java 9 with frameworks such as Spring 5 and Google Guice. We begin by explaining what DI is and teaching you about IoC containers. Then you’ll learn about object compositions and their role in DI. You’ll find out how to build a modular application and learn how to use DI to focus your efforts on the business logic unique to your application and let the framework handle the infrastructure work to put it all together. Moving on, you’ll gain knowledge of Java 9’s new features and modular framework and how DI works in Java 9. Next, we’ll explore Spring and Guice, the popular frameworks for DI. You’ll see how to define injection keys and configure them at the framework-specific level. After that, you’ll find out about the different types of scopes available in both popular frameworks. You’ll see how to manage dependency of cross-cutting concerns while writing applications through aspect-oriented programming. Towards the end, you’ll learn to integrate any third-party library in your DI-enabled application and explore common pitfalls and recommendations to build a solid application with the help of best practices, patterns, and anti-patterns in DI. Style and approach This book will take an easy-to-understand, step-by-step approach providing hands-on examples at every stage.
Mastering Kubernetes
¥81.74
Exploit design, deployment, and management of large-scale containers About This Book ? Explore the latest features available in Kubernetes 1.10 ? Ensure that your clusters are always available, scalable, and up to date ? Master the skills of designing and deploying large clusters on various cloud platforms Who This Book Is For Mastering Kubernetes is for you if you are a system administrator or a developer who has an intermediate understanding of Kubernetes and wish to master its advanced features. Basic knowledge of networking would also be helpful. In all, this advanced-level book provides a smooth pathway to mastering Kubernetes. What You Will Learn ? Architect a robust Kubernetes cluster for long-time operation ? Discover the advantages of running Kubernetes on GCE, AWS, Azure, and bare metal ? Understand the identity model of Kubernetes, along with the options for cluster federation ? Monitor and troubleshoot Kubernetes clusters and run a highly available Kubernetes ? Create and configure custom Kubernetes resources and use third-party resources in your automation workflows ? Enjoy the art of running complex stateful applications in your container environment ? Deliver applications as standard packages In Detail Kubernetes is an open source system that is used to automate the deployment, scaling, and management of containerized applications. If you are running more containers or want automated management of your containers, you need Kubernetes at your disposal. To put things into perspective, Mastering Kubernetes walks you through the advanced management of Kubernetes clusters. To start with, you will learn the fundamentals of both Kubernetes architecture and Kubernetes design in detail. You will discover how to run complex stateful microservices on Kubernetes including advanced features such as horizontal pod autoscaling, rolling updates, resource quotas, and persistent storage backend. Using real-world use cases, you will explore the options for network configuration, and understand how to set up, operate, and troubleshoot various Kubernetes networking plugins. In addition to this, you will get to grips with custom resource development and utilization in automation and maintenance workflows. To scale up your knowledge of Kubernetes, you will encounter some additional concepts based on the Kubernetes 1.10 release, such as Promethus, Role-based access control, API aggregation, and more. By the end of this book, you’ll know everything you need to graduate from intermediate to advanced level of understanding Kubernetes. Style and approach Delving into the design of the Kubernetes platform, the reader will be exposed to Kubernetes advanced features and best practices. This advanced-level book will provide a pathway to mastering Kubernetes.
Hands-On GUI Programming with C++ and Qt5
¥81.74
Create visually appealing and feature-rich applications by using Qt 5 and the C++ language About This Book ? Explore Qt 5’s powerful features to easily design your GUI application ? Leverage Qt 5 to build attractive cross-platform applications ? Work with Qt modules for multimedia, networking, and location, to customize your Qt applications Who This Book Is For This book will appeal to developers and programmers who would like to build GUI-based applications. Basic knowledge of C++ is necessary and the basics of Qt would be helpful. What You Will Learn ? Implement tools provided by Qt 5 to design a beautiful GUI ? Understand different types of graphs and charts supported by Qt 5 ? Create a web browser using the Qt 5 WebEngine module and web view widget ? Connect to the MySQL database and display data obtained from it onto the Qt 5 GUI ? Incorporate the Qt 5 multimedia and networking module in your application ? Develop Google Map-like applications using Qt 5’s location module ? Discover cross-platform development by exporting the Qt 5 application to different platforms ? Uncover the secrets behind debugging Qt 5 and C++ applications In Detail Qt 5, the latest version of Qt, enables you to develop applications with complex user interfaces for multiple targets. It provides you with faster and smarter ways to create modern UIs and applications for multiple platforms. This book will teach you to design and build graphical user interfaces that are functional, appealing, and user-friendly. In the initial part of the book, you will learn what Qt 5 is and what you can do with it. You will explore the Qt Designer, discover the different types of widgets generally used in Qt 5, and then connect your application to the database to perform dynamic operations. Next, you will be introduced to Qt 5 chart which allows you to easily render different types of graphs and charts and incorporate List View Widgets in your application. You will also work with various Qt modules, like QtLocation, QtWebEngine, and the networking module through the course of the book. Finally, we will focus on cross-platform development with QT 5 that enables you to code once and run it everywhere, including mobile platforms. By the end of this book, you will have successfully learned about high-end GUI applications and will be capable of building many more powerful, cross-platform applications. Style and approach This is a comprehensive guide that explores the essential Qt features and implement them in building real-world cross-platform GUI applications