Take a look at our Buyer's Guides books. Shulph carries a great selection of Buyer's Guides books, and we are always adding more.
A practical guide for developing end-to-end serverless microservices in Python for developers, DevOps, and architects. Key Features Create a secure, cost-effective, and scalable serverless data API Use identity management and authentication for a user-specific and secure web application Go beyond traditional web hosting to explore the full range of cloud hosting options Book Description Over the last few years, there has been a massive shift from monolithic architecture to microservices, thanks to their small and independent deployments that allow increased flexibility and agile delivery. Traditionally, virtual machines and containers were the principal mediums for deploying microservices, but they involved a lot of operational effort, configuration, and maintenance. More recently, serverless computing has gained popularity due to its built-in autoscaling abilities, reduced operational costs, and increased productivity. Building Serverless Microservices in Python begins by introducing you to serverless microservice structures. You will then learn how to create your first serverless data API and test your microservice. Moving on, you'll delve into data management and work with serverless patterns. Finally, the book introduces you to the importance of securing microservices. By the end of the book, you will have gained the skills you need to combine microservices with serverless computing, making their deployment much easier thanks to the cloud provider managing the servers and capacity planning. What you will learn Discover what microservices offer above and beyond other architectures Create a serverless application with AWS Gain secure access to data and resources Run tests on your configuration and code Create a highly available serverless microservice data API Build, deploy, and run your serverless configuration and code Who this book is for If you are a developer with basic knowledge of Python and want to learn how to build, test, deploy, and secure microservices, then this book is for you. No prior knowledge of building microservices is required.
A fast-paced guide to putting your GeoServer-based application into fast, user-friendly, and secure production Key Features Resolve bottlenecks, optimize data stores, and cluster server resources Use identity management and authentication for a user-specific, secure web application Go beyond traditional web hosting to explore the full range of hosting options in the cloud Book Description GeoServer is open source, server-side software written in Java that allows users to share and edit geospatial data. In this book, you'll start by learning how to develop a spatial analysis platform with web processing services. Then you'll see how to develop an algorithm by chaining together geospatial analysis processes, which you can share with anyone in the world. Next you'll delve into a very important technique to improve the speed of your map application—tile caching. Here, you'll understand how tile caching works, how to develop an effective tile cache-supported web service, and how to leverage tile caching in your OpenLayers web application. Further on, you'll explore important tweaks to produce a performant GeoServer-backed web mapping application. Moving on, you'll enable authentication on the frontend and backend to protect sensitive map data, and deliver sensitive data to your end user. Finally, you'll see how to put your web application into production in a secure and user-friendly way. You'll go beyond traditional web hosting to explore the full range of hosting options in the cloud, and maintain a reliable server instance. What you will learn Develop a WPS-processing service to allow web-based geospatial data processing Get to know important techniques to improve the speed of your web map application—tile caching, raster data optimization, and server clustering Find out which GeoServer settings resolve bottlenecks Develop an algorithm by chaining geospatial analysis processes together Put your application into production with hosting, monitoring, and automated backup and recovery Understand how to develop an effective tile cache-supported web service Master techniques that ensure resilient server deployment Who this book is for This book is for anyone who wants to learn about advanced interfaces, security, and troubleshooting techniques in GeoServer. A basic understanding of GeoServer is required
Understand basic to advanced deep learning algorithms, the mathematical principles behind them, and their practical applications. Key Features Get up-to-speed with building your own neural networks from scratch Gain insights into the mathematical principles behind deep learning algorithms Implement popular deep learning algorithms such as CNNs, RNNs, and more using TensorFlow Book Description Deep learning is one of the most popular domains in the AI space, allowing you to develop multi-layered models of varying complexities. This book introduces you to popular deep learning algorithms—from basic to advanced—and shows you how to implement them from scratch using TensorFlow. Throughout the book, you will gain insights into each algorithm, the mathematical principles behind it, and how to implement it in the best possible manner. The book starts by explaining how you can build your own neural networks, followed by introducing you to TensorFlow, the powerful Python-based library for machine learning and deep learning. Moving on, you will get up to speed with gradient descent variants, such as NAG, AMSGrad, AdaDelta, Adam, and Nadam. The book will then provide you with insights into RNNs and LSTM and how to generate song lyrics with RNN. Next, you will master the math for convolutional and capsule networks, widely used for image recognition tasks. Then you learn how machines understand the semantics of words and documents using CBOW, skip-gram, and PV-DM. Afterward, you will explore various GANs, including InfoGAN and LSGAN, and autoencoders, such as contractive autoencoders and VAE. By the end of this book, you will be equipped with all the skills you need to implement deep learning in your own projects. What you will learn Implement basic-to-advanced deep learning algorithms Master the mathematics behind deep learning algorithms Become familiar with gradient descent and its variants, such as AMSGrad, AdaDelta, Adam, and Nadam Implement recurrent networks, such as RNN, LSTM, GRU, and seq2seq models Understand how machines interpret images using CNN and capsule networks Implement different types of generative adversarial network, such as CGAN, CycleGAN, and StackGAN Explore various types of autoencoder, such as Sparse autoencoders, DAE, CAE, and VAE Who this book is for If you are a machine learning engineer, data scientist, AI developer, or simply want to focus on neural networks and deep learning, this book is for you. Those who are completely new to deep learning, but have some experience in machine learning and Python programming, will also find the book very helpful.
A comprehensive guide that will get you up and running with embedded software development using Qt5 Key Features Learn to create fluid, cross-platform applications for embedded devices Achieve optimum performance in your applications with QT Lite project Explore the implementation of Qt with IoT using QtMqtt, QtKNX, and QtWebSockets Book Description Qt is an open-source toolkit suitable for cross-platform and embedded application development. This book uses inductive teaching to help you learn how to create applications for embedded and Internet of Things (IoT) devices with Qt 5. You'll start by learning to develop your very first application with Qt. Next, you'll build on the first application by understanding new concepts through hands-on projects and written text. Each project will introduce new features that will help you transform your basic first project into a connected IoT application running on embedded hardware. In addition to practical experience in developing an embedded Qt project, you will also gain valuable insights into best practices for Qt development, along with exploring advanced techniques for testing, debugging, and monitoring the performance of Qt applications. Through the course of the book, the examples and projects are demonstrated in a way so that they can be run both locally and on an embedded platform. By the end of this book, you will have the skills you need to use Qt 5 to confidently develop modern embedded applications. What you will learn Understand how to develop Qt applications using Qt Creator under Linux Explore various Qt GUI technologies to build resourceful and interactive applications Understand Qt's threading model to maintain a responsive UI Get to grips with remote target load and debug under Qt Creator Become adept at writing IoT code using Qt Learn a variety of software best practices to ensure that your code is efficient Who this book is for This book is for software and hardware professionals with experience in different domains who are seeking new career opportunities in embedded systems and IoT. Working knowledge of the C++ Linux command line will be useful to get the most out of this book.
Build efficient and fast Qt applications, target performance problems, and discover solutions to refine your code Key Features Build efficient and concurrent applications in Qt to create cross-platform applications Identify performance bottlenecks and apply the correct algorithm to improve application performance Delve into parallel programming and memory management to optimize your code Book Description Achieving efficient code through performance tuning is one of the key challenges faced by many programmers. This book looks at Qt programming from a performance perspective. You'll explore the performance problems encountered when using the Qt framework and means and ways to resolve them and optimize performance. The book highlights performance improvements and new features released in Qt 5.9, Qt 5.11, and 5.12 (LTE). You'll master general computer performance best practices and tools, which can help you identify the reasons behind low performance, and the most common performance pitfalls experienced when using the Qt framework. In the following chapters, you'll explore multithreading and asynchronous programming with C++ and Qt and learn the importance and efficient use of data structures. You'll also get the opportunity to work through techniques such as memory management and design guidelines, which are essential to improve application performance. Comprehensive sections that cover all these concepts will prepare you for gaining hands-on experience of some of Qt's most exciting application fields - the mobile and embedded development domains. By the end of this book, you'll be ready to build Qt applications that are more efficient, concurrent, and performance-oriented in nature What you will learn Understand classic performance best practices Get to grips with modern hardware architecture and its performance impact Implement tools and procedures used in performance optimization Grasp Qt-specific work techniques for graphical user interface (GUI) and platform programming Make Transmission Control Protocol (TCP) and Hypertext Transfer Protocol (HTTP) performant and use the relevant Qt classes Discover the improvements Qt 5.9 (and the upcoming versions) holds in store Explore Qt's graphic engine architecture, strengths, and weaknesses Who this book is for This book is designed for Qt developers who wish to build highly performance applications for desktop and embedded devices. Programming Experience with C++ is required.
Learn how to use RxClojure to deal with stateful computations Key Features Leverage the features of Functional Reactive Programming using Clojure Create dataflow-based systems that are the building blocks of Reactive Programming Use different Functional Reactive Programming frameworks, techniques, and patterns to solve real-world problems Book Description Reactive Programming is central to many concurrent systems, and can help make the process of developing highly concurrent, event-driven, and asynchronous applications simpler and less error-prone. This book will allow you to explore Reactive Programming in Clojure 1.9 and help you get to grips with some of its new features such as transducers, reader conditionals, additional string functions, direct linking, and socket servers. Hands-On Reactive Programming with Clojure starts by introducing you to Functional Reactive Programming (FRP) and its formulations, as well as showing you how it inspired Compositional Event Systems (CES). It then guides you in understanding Reactive Programming as well as learning how to develop your ability to work with time-varying values thanks to examples of reactive applications implemented in different frameworks. You'll also gain insight into some interesting Reactive design patterns such as the simple component, circuit breaker, request-response, and multiple-master replication. Finally, the book introduces microservices-based architecture in Clojure and closes with examples of unit testing frameworks. By the end of the book, you will have gained all the knowledge you need to create applications using different Reactive Programming approaches. What you will learn Understand how to think in terms of time-varying values and event streams Create, compose, and transform observable sequences using Reactive extensions Build a CES framework from scratch using core.async as its foundation Develop a simple ClojureScript game using Reagi Integrate Om and RxJS in a web application Implement a reactive API in Amazon Web Services (AWS) Discover helpful approaches to backpressure and error handling Get to grips with futures and their applications Who this book is for If you're interested in using Reactive Programming to build asynchronous and concurrent applications, this is the book for you. Basic knowledge of Clojure programming is necessary to understand the concepts covered in this book.
A step-by-step guide that will help you design, develop, scale, and deploy RESTful APIs with TypeScript 3 and Node.js Key Features Gain in-depth knowledge of OpenAPI and Swagger to build scalable web services Explore a variety of test frameworks and test runners such as Stryker, Mocha, and Chai Create a pipeline by Dockerizing your environment using Travis CI, Google Cloud Platform, and GitHub Book Description In the world of web development, leveraging data is the key to developing comprehensive applications, and RESTful APIs help you to achieve this systematically. This book will guide you in designing and developing web services with the power of TypeScript 3 and Node.js. You'll design REST APIs using best practices for request handling, validation, authentication, and authorization. You'll also understand how to enhance the capabilities of your APIs with ODMs, databases, models and views, as well as asynchronous callbacks. This book will guide you in securing your environment by testing your services and initiating test automation with different testing approaches. Furthermore, you'll get to grips with developing secure, testable, and more efficient code, and be able to scale and deploy TypeScript 3 and Node.js-powered RESTful APIs on cloud platforms such as the Google Cloud Platform. Finally, the book will help you explore microservices and give you an overview of what GraphQL can allow you to do. By the end of this book, you will be able to use RESTful web services to create your APIs for mobile and web apps and other platforms. What you will learn Explore various methods to plan your services in a scalable way Understand how to handle different request types and the response status code Get to grips with securing web services Delve into error handling and logging your web services for improved debugging Uncover the microservices architecture and GraphQL Create automated CI/CD pipelines for release and deployment strategies Who this book is for If you're a developer who has a basic understanding of REST concepts and want to learn how to design and develop RESTful APIs, this book is for you. Prior knowledge of TypeScript will help you make the most out of this book.
Explore the fundamentals of systems programming starting from kernel API and filesystem to network programming and process communications Key Features Learn how to write Unix and Linux system code in Golang v1.12 Perform inter-process communication using pipes, message queues, shared memory, and semaphores Explore modern Go features such as goroutines and channels that facilitate systems programming Book Description System software and applications were largely created using low-level languages such as C or C++. Go is a modern language that combines simplicity, concurrency, and performance, making it a good alternative for building system applications for Linux and macOS. This Go book introduces Unix and systems programming to help you understand the components the OS has to offer, ranging from the kernel API to the filesystem, and familiarize yourself with Go and its specifications. You'll also learn how to optimize input and output operations with files and streams of data, which are useful tools in building pseudo terminal applications. You'll gain insights into how processes communicate with each other, and learn about processes and daemon control using signals, pipes, and exit codes. This book will also enable you to understand how to use network communication using various protocols, including TCP and HTTP. As you advance, you'll focus on Go's best feature-concurrency helping you handle communication with channels and goroutines, other concurrency tools to synchronize shared resources, and the context package to write elegant applications. By the end of this book, you will have learned how to build concurrent system applications using Go What you will learn Explore concepts of system programming using Go and concurrency Gain insights into Golang's internals, memory models and allocation Familiarize yourself with the filesystem and IO streams in general Handle and control processes and daemons' lifetime via signals and pipes Communicate with other applications effectively using a network Use various encoding formats to serialize complex data structures Become well-versed in concurrency with channels, goroutines, and sync Use concurrency patterns to build robust and performant system applications Who this book is for If you are a developer who wants to learn system programming with Go, this book is for you. Although no knowledge of Unix and Linux system programming is necessary, intermediate knowledge of Go will help you understand the concepts covered in the book
Learn best practices for testing with Jira and model industry workflows that can be used during the software development lifecycle Key Features Integrate Jira with test management tools such as Zephyr, Test Management, and SynapseRT Understand test case management, traceability, and test execution with reports Implement continuous integration using Jira, Jenkins, and automated testing tools Book Description Hands-On Test Management with Jira begins by introducing you to the basic concepts of Jira and takes you through real-world software testing processes followed by various organizations. As you progress through the chapters, the book explores and compares the three most popular Jira plugins—Zephyr, Test Management, and synapseRT. With this book, you'll gain a practical understanding of test management processes using Jira. You'll learn how to create and manage projects, create Jira tickets to manage customer requirements, and track Jira tickets. You'll also understand how to develop test plans, test cases, and test suites, and create defects and requirement traceability matrices, as well as generating reports in Jira. Toward the end, you'll understand how Jira can help the SQA teams to use the DevOps pipeline for automating execution and managing test cases. You'll get to grips with configuring Jira with Jenkins to execute automated test cases in Selenium. By the end of this book, you'll have gained a clear understanding of how to model and implement test management processes using Jira. What you will learn Understand QMS to effectively implement quality systems in your organization Explore a business-driven structured approach to Test Management using TMap NEXT Implement different aspects of test planning, test strategy, and test execution Organize and manage Agile projects in Scrum and Kanban Uncover Jira plugins available in the Atlassian Marketplace for testing and project management Configure a DevOps pipeline for continuous integration using Jira with Jenkins Who this book is for If you're a quality assurance professional, software project manager, or test manager interested in learning test management best practices in your team or organization, this book is for you. Prior knowledge of test management and Jenkins will be beneficial in understanding the concepts covered in this book.
Explore the new and improved Jira 8 features such as agile board and advanced search for efficient project management Key Features Work on agile projects in Jira from both the administrator and end user's perspective Explore the improved Scrum and Kanban board and backlog Work through exercises at the end of each chapter to reinforce your skills Book Description Atlassian Jira enables effective bug tracking for your software and mobile applications and provides tools to track and manage tasks for your projects. Jira Essentials is a comprehensive guide, now updated to Jira 8 to include enhanced features such as updates to Scrum and Kanban UI, additional search capabilities, and changes to Jira Service Desk. The book starts by explaining how to plan and set up a new Jira 8 instance from scratch before getting you acquainted with key features such as emails, workflows, business processes, and much more. You'll then understand Jira's data hierarchy and how to design and work with projects. Since Jira is used for issue management, this book delves into the different issues that can arise in your projects. You'll explore fields, including custom fields, and learn to use them for more effective data collection. You'll create new screens from scratch and customize them to suit your requirements. The book also covers workflows and business processes, and guides you in setting up incoming and outgoing mail servers. Toward the end, you'll study Jira's security model and Jira Service Desk, which allows you to run Jira as a support portal. By the end of this Jira book, you will be able to implement Jira 8 in your projects with ease. What you will learn Understand Jira's data hierarchy and how to design and work with projects in Jira Use Jira for agile software projects, business process management, customer service support, and more Understand issues and work with them Design both system and custom fields to behave differently under different contexts Create and design your own screens and apply them to different project and issue types Gain an understanding of the workflow and its various components Set up both incoming and outgoing mail servers to work with e-mails Who this book is for This book will be especially useful for project managers but it's also intended for other Jira users, including developers, and any other industry besides software development, who would like to leverage Jira's powerful task management and workflow features to better manage their business processes.