Take a look at our Software Development & Engineering books. Shulph carries a great selection of Software Development & Engineering books, and we are always adding more.
Learn when and how to use Clojure's polymorphic features to develop efficient multithreaded applications Key Features Get to grips with the different polymorphic tools that Clojure offers Develop a taste for good Clojure designs through various engaging examples Study various design principles and learn ways to use them in your applications Book Description Clojure is a modern, dynamic language that you can use to develop robust, multithreaded programs. Clojure Polymorphism is a comprehensive guide that shows you how to use Clojure’s features to your advantage. The book begins by describing examples that show how to define and implement abstractions with plain functions and multimethods. Then you'll analyze these examples and separate the good and bad aspects of their design principles. You'll also learn how to perform data transformation abstraction with a plain function and discover how to write new cross-platform predicates while keeping the core of your abstraction free from reader conditionals. The later chapters explain the considerations to keep in mind when implementing Clojure protocols on the Java Virtual Machine (JVM). By the end of this book, you’ll know how to use the various polymorphic tools of Clojure to your advantage while designing your applications. What you will learn Explore how polymorphism is implemented in Clojure Discover what design principles to use when creating and implementing abstractions Explore different ways to implement protocols in Clojure Implement various design principles while working with the JVM Write and compare plain functions and multimethods for transforming data Analyze functions and abstractions for their performance and flexibility Learn about common “gotchas” to avoid errors when writing code Who this book is for Clojure Polymorphism is useful for all programmers who want to leverage Clojure’s polymorphic tools to build efficient applications. To get the most out of this book, you must be a moderately proficient Clojure programmer.
Harness Kubernetes' extensibility to deploy modern patterns and learn to effectively handle production issuesKey FeaturesBuild and run efficient cloud-native applications on Kubernetes using industry best practicesOperate Kubernetes in a production environment, troubleshoot clusters, and address security concernsDeploy cutting-edge Kubernetes patterns such as service mesh and serverless to your clusterBook DescriptionKubernetes is a modern cloud native container orchestration tool and one of the most popular open source projects worldwide. In addition to the technology being powerful and highly flexible, Kubernetes engineers are in high demand across the industry. This book is a comprehensive guide to deploying, securing, and operating modern cloud native applications on Kubernetes. From the fundamentals to Kubernetes best practices, the book covers essential aspects of configuring applications. You'll even explore real-world techniques for running clusters in production, tips for setting up observability for cluster resources, and valuable troubleshooting techniques. Finally, you'll learn how to extend and customize Kubernetes, as well as gaining tips for deploying service meshes, serverless tooling, and more on your cluster. By the end of this Kubernetes book, you'll be equipped with the tools you need to confidently run and extend modern applications on Kubernetes.What you will learnSet up Kubernetes and configure its authenticationDeploy your applications to KubernetesConfigure and provide storage to Kubernetes applicationsExpose Kubernetes applications outside the clusterControl where and how applications are run on KubernetesSet up observability for KubernetesBuild a continuous integration and continuous deployment (CI/CD) pipeline for KubernetesExtend Kubernetes with service meshes, serverless, and moreWho this book is forThis book is for developers, architects, DevOps engineers, or anyone interested in developing and managing cloud-native applications. Those already running cloud applications and looking for a better way to manage their platform or others interested in a career change given the recent popularity of Kubernetes will also find this book helpful. Some familiarity with cloud computing, containers and DevOps is required, but no prior knowledge of building production applications using Kubernetes is needed to get started with this book.
Learn CMake through a series of task-based recipes that provide you with practical, simple, and ready-to-use CMake solutions for your code Key Features Learn to configure, build, test, and package software written in C, C++, and Fortran Progress from simple to advanced tasks with examples tested on Linux, macOS, and Windows Manage code complexity and library dependencies with reusable CMake building blocks Book Description CMake is cross-platform, open-source software for managing the build process in a portable fashion. This book features a collection of recipes and building blocks with tips and techniques for working with CMake, CTest, CPack, and CDash. CMake Cookbook includes real-world examples in the form of recipes that cover different ways to structure, configure, build, and test small- to large-scale code projects. You will learn to use CMake's command-line tools and master modern CMake practices for configuring, building, and testing binaries and libraries. With this book, you will be able to work with external libraries and structure your own projects in a modular and reusable way. You will be well-equipped to generate native build scripts for Linux, MacOS, and Windows, simplify and refactor projects using CMake, and port projects to CMake. What you will learn Configure, build, test, and install code projects using CMake Detect operating systems, processors, libraries, files, and programs for conditional compilation Increase the portability of your code Refactor a large codebase into modules with the help of CMake Build multi-language projects Know where and how to tweak CMake configuration files written by somebody else Package projects for distribution Port projects to CMake Who this book is for If you are a software developer keen to manage build systems using CMake or would like to understand and modify CMake code written by others, this book is for you. A basic knowledge of C++, C, or Fortran is required to understand the topics covered in this book.
BRONZE RUNNER UP: Axiom Awards 2018 - Business Technology Category (1st edition)Coding is one of the most in-demand skills in the job market. Whether you're an entrepreneur, a recent graduate or a professional, you can supercharge your career simply by grasping the fundamentals, and Confident Coding is here to help.This new and improved second edition of the award-winning book gives you a step-by-step learning guide to HTML, CSS, JavaScript, Python, building iPhone and Android apps and debugging. For entrepreneurs, being able to create your own website or app can grant you valuable freedom and revolutionize your business. For aspiring developers, this book will give you the building blocks to embark on your career path. For working professionals, coding skills can add a valuable edge to your CV. Whatever your professional profile, if you want to master the fundamentals of coding and kick start your career, Confident Coding is the book for you.About the Confident series...From coding and web design to data, digital content and cyber security, the Confident books are the perfect beginner's resource for enhancing your professional life, whatever your career path.
A practical and engaging guide to help map out, plan and navigate through the journey to successful CD and DevOps adoption. Key Features Identify and overcome the issues that stifle the delivery of quality software Learn how Continuous Delivery and DevOps work together with other agile tools Real-world examples, tricks and tips that will help the successful adoption of CD & DevOps Book Description Over the past few years, Continuous Delivery (CD) and DevOps have been in the spotlight in tech media, at conferences, and in boardrooms alike. Many articles and books have been written covering the technical aspects of CD and DevOps, yet the vast majority of the industry doesn't fully understand what they actually are and how, if adopted correctly they can help organizations drastically change the way they deliver value. This book will help you figure out how CD and DevOps can help you to optimize, streamline, and improve the way you work to consistently deliver quality software. In this edition, you'll be introduced to modern tools, techniques, and examples to help you understand what the adoption of CD and DevOps entails. It provides clear and concise insights in to what CD and DevOps are all about, how to go about both preparing for and adopting them, and what quantifiable value they bring. You will be guided through the various stages of adoption, the impact they will have on your business and those working within it, how to overcome common problems, and what to do once CD and DevOps have become truly embedded. Included within this book are some real-world examples, tricks, and tips that will help ease the adoption process and allow you to fully utilize the power of CD and DevOps What you will learn Explore Continuous Delivery and DevOps in depth Discover how CD and DevOps fits in with recent trends such as DataOps, SecOps, pipelines and CI Understand the root causes of the pain points within your existing product delivery process Understand the human elements of CD and DevOps and how intrinsic they are to your success Avoid common traps, pitfalls and hurdles as you implement CD and DevOps Monitor and communicate the relative success of DevOps and CD adoption Extend and reuse CD and DevOps approaches Who this book is for Whether you are a software developer, a system administrator, an agile coach, a product manager, a project manager, a CTO, a VP, a CEO or anyone else involved in software delivery, you will have a common problem which is delivering quality software. This book has been written for anyone and everyone who wants to understand how to regularly deliver quality software to their customers without said pain.
An insightful journey to MLOps, DevOps, and Machine Learning in the real environment. Key Features - Extensive knowledge and concept explanation of Kubernetes components with examples. - An all-in-one knowledge guide to train and deploy ML pipelines using Docker and Kubernetes. - Includes numerous MLOps projects with access to proven frameworks and the use of deep learning concepts. Description 'Continuous Machine Learning with Kubeflow' introduces you to the modern machine learning infrastructure, which includes Kubernetes and the Kubeflow architecture. This book will explain the fundamentals of deploying various AI/ML use cases with TensorFlow training and serving with Kubernetes and how Kubernetes can help with specific projects from start to finish. This book will help demonstrate how to use Kubeflow components, deploy them in GCP, and serve them in production using real-time data prediction. With Kubeflow KFserving, we'll look at serving techniques, build a computer vision-based user interface in streamlit, and then deploy it to the Google cloud platforms, Kubernetes and Heroku. Next, we also explore how to build Explainable AI for determining fairness and biasness with a What-if tool. Backed with various use-cases, we will learn how to put machine learning into production, including training and serving. After reading this book, you will be able to build your ML projects in the cloud using Kubeflow and the latest technology. In addition, you will gain a solid knowledge of DevOps and MLOps, which will open doors to various job roles in companies. What you will learn - Get comfortable with the architecture and the orchestration of Kubernetes. - Learn to containerize and deploy from scratch using Docker and Google Cloud Platform. - Practice how to develop the Kubeflow Orchestrator pipeline for a TensorFlow model. - Create AWS SageMaker pipelines, right from training to deployment in production. - Build the TensorFlow Extended (TFX) pipeline for an NLP application using Tensorboard and TFMA. Who this book is for This book is for MLOps, DevOps, Machine Learning Engineers, and Data Scientists who want to continuously deploy machine learning pipelines and manage them at scale using Kubernetes. The readers should have a strong background in machine learning and some knowledge of Kubernetes is required. Table of Contents 1. Introduction to Kubeflow & Kubernetes Cloud Architecture 2. Developing Kubeflow Pipeline in GCP 3. Designing Computer Vision Model in Kubeflow 4. Building TFX Pipeline 5. ML Model Explainability & Interpretability 6. Building Weights & Biases Pipeline Development 7. Applied ML with AWS Sagemaker 8. Web App Development with Streamlit & Heroku
A book that will help you become the Mozart of Microservices Key Features - All codes tested on the latest software versions with visual illustrations. - Covers bleeding-edge DevOps skills to build a future-proof job profile. - Includes expert advice, industry insights, and logical analogies to craft a technical narrative. Description “Cracking Containers with Docker and Kubernetes” aims to be a comprehensive guide for learning and referencing all of the essential topics related to creating, managing, and running containers with Docker and Kubernetes. Students and professionals working on Containerized web applications can use this book to lay strong conceptual foundations and sharpen their skills. The first few chapters provide an overall picture of resource virtualization in computing and demonstrate the potential of containers. The intermediate chapters get to extensive detail about Docker and Kubernetes. You will gain in-demand skills such as Docker and Kubernetes CLI, as well as how to write Dockerfiles, Compose files, and Kubernetes YAML Manifests. Topics like Networking, Storage, Access Control, and Security are discussed with real-world implications. The final chapters move Kubernetes and Containers to the cloud while expanding their ecosystem with tools for Serverless deployment, logging and monitoring, CI/CD, and more for a highly available production-ready setup. After reading this book you will be able to plan your application’s migration to containers, prepare for Docker and Kubernetes Certifications, or apply for six digit DevOps jobs. What you will learn - Learn to create, manage and orchestrate Containers using Docker and Kubernetes. - Practice writing Dockerfiles, Compose Files and Kubernetes YAML Manifests. - Perform container networking, storage, authorization, security, and scaling in a production environment. - Explore shipping, CI/CD, Service Mesh, Logging & Monitoring in detail. - Get the Cracking Containers with Docker and Kubernetes know-how of hosted and Serverless Kubernetes on Cloud. Who this book is for This book is intended for students, enthusiasts, and professionals in Software Development, DevOps, and Cloud Computing who want to put their career progress on a pedestal by reducing the operational and scaling costs of their web applications and optimizing their IT infrastructure utilization. Table of Contents 1. Prologue to the Containers 2. Hello Containers! 3. Introduction to Docker 4. Writing Dockerfiles 5. Gearing up the toolbox! 6. Connectivity and Storage 7. Multi Container Applications with Docker Compose 8. Container Orchestration with Docker Swarm 9. Introduction to Kubernetes 10. Workload Orchestration with Kubernetes 11. Networking and Storage with Kubernetes 12. Advanced Orchestration with Kubernetes 13. Hosted Kubernetes on Cloud 14. Containers in Production with GKE 15. Serverless Containers 16. The Checkpoint
Enhance your cross-platform programming abilities with the powerful features and capabilities of Qt 6Key FeaturesLeverage Qt and C++ capabilities to create modern, cross-platform applications that can run on a wide variety of software applicationsExplore what's new in Qt 6 and understand core concepts in depthBuild professional customized GUI applications with the help of Qt CreatorBook DescriptionQt is a cross-platform application development framework widely used for developing applications that can run on a wide range of hardware platforms with little to no change in the underlying codebase. If you have basic knowledge of C++ and want to build desktop or mobile applications with a modern graphical user interface (GUI), Qt is the right choice for you. Cross-Platform Development with Qt 6 and Modern C++ helps you understand why Qt is one of the favorite GUI frameworks adopted by industries worldwide, covering the essentials of programming GUI apps across a multitude of platforms using the standard C++17 and Qt 6 features.Starting with the fundamentals of the Qt framework, including the features offered by Qt Creator, this practical guide will show you how to create classic user interfaces using Qt Widgets and touch-friendly user interfaces using Qt Quick. As you advance, you'll explore the Qt Creator IDE for developing applications for multiple desktops as well as for embedded and mobile platforms. You will also learn advanced concepts about signals and slots. Finally, the book takes you through debugging and testing your app with Qt Creator IDE.By the end of this book, you'll be able to build cross-platform applications with a modern GUI along with the speed and power of native apps.What you will learnWrite cross-platform code using the Qt framework to create interactive applicationsBuild a desktop application using Qt WidgetsCreate a touch-friendly user interface with Qt QuickDevelop a mobile application using Qt and deploy it on different platformsGet to grips with Model/View programming with Qt Widgets and Qt QuickDiscover Qt's graphics framework and add animations to your user interfaceWrite test cases using the Qt Test framework and debug codeBuild a translation-aware applicationFollow best practices in Qt to write high-performance codeWho this book is forThis book is for application developers who want to use C++ and Qt to create modern, responsive applications that can be deployed to multiple operating systems such as Microsoft Windows, Apple macOS, and Linux desktop platforms. Although no prior knowledge of Qt is expected, beginner-level knowledge of the C++ programming language and object-oriented programming system (OOPs) concepts will be helpful.
Successfully execute a strategic roadmap of digital transformation and modernize your enterprise with a proven API-led agile implementation approach by unlocking the full range of features in IBM API Connect Version 10Key FeaturesExplore techniques to design and deliver valuable customer-centric APIs using API ConnectManage your APIs with improved security and optimal performance across many channelsUncover hidden capabilities that help improve business agility and management within your API ecosystemBook DescriptionIBM API Connect enables organizations to drive digital innovation using its scalable and robust API management capabilities across multi-cloud and hybrid environments. With API Connect's security, flexibility, and high performance, you'll be able to meet the needs of your enterprise and clients by extending your API footprint. This book provides a complete roadmap to create, manage, govern, and publish your APIs. You'll start by learning about API Connect components, such as API managers, developer portals, gateways, and analytics subsystems, as well as the management capabilities provided by CLI commands. You'll then develop APIs using OpenAPI and discover how you can enhance them with logic policies. The book shows you how to modernize SOAP and FHIR REST services as secure APIs with authentication, OAuth2/OpenID, and JWT, and demonstrates how API Connect provides safeguards for GraphQL APIs as well as published APIs that are easy to discover and well documented. As you advance, the book guides you in generating unit tests that supplement DevOps pipelines using Git and Jenkins for improved agility, and concludes with best practices for implementing API governance and customizing API Connect components. By the end of this book, you'll have learned how to transform your business by speeding up the time-to-market of your products and increase the ROI for your enterprise.What you will learnUse API Connect to create, manage, and publish customer-centric, API-led solutionsRun CLI commands to manage API configuration and deploymentsCreate REST, SOAP, and GraphQL APIs securely using OpenAPISupport OAuth and JWT security methods using policiesCreate custom policies to supplement securityApply built-in policies to transform payloadsUse CLIs and unit testing hooks within DevOps pipelinesFind out how to customize Analytics dashboards and Portal User InterfaceWho this book is forThis book is for developers and architects who want to achieve digital transformation using IBM API Connect and successfully execute the strategic roadmap of enterprise modernization while effectively managing their API ecosystem. A solid understanding of what RESTful services and APIs can do and where to implement API security is necessary to get started. Experience in application development and basic knowledge of microservices, container orchestration, and cloud environments will help you to get the most out of this book.
Develop and build your Docker images and deploy your Docker containers securely. Key Features Learn Docker installation on different types of OS Get started with developing Docker images Use Docker with your Jenkins CI/CD system Book Description Docker is an open source software platform that helps you with creating, deploying, and running your applications using containers. This book is your ideal introduction to Docker and containerization. You will learn how to set up a Docker development environment on a Linux, Mac, or Windows workstation, and learn your way around all the commands to run and manage your Docker images and containers. You will explore the Dockerfile and learn how to build your own enterprise-grade Docker images. Then you will learn about Docker networks, Docker swarm, and Docker volumes, and how to use these features with Docker stacks in order to define, deploy, and maintain highly-scalable, fault-tolerant multi-container applications. Finally, you will learn how to leverage Docker with Jenkins to automate the building of Docker images and the deployment of Docker containers. By the end of this book, you will be well prepared when it comes to using Docker for your next project. What you will learn Set up your Docker workstation on various platforms Utilize a number of Docker commands with parameters Create Docker images using Dockerfiles Learn how to create and use Docker volumes Deploy multi-node Docker swarm infrastructure Create and use Docker local and remote networks Deploy multi-container applications that are HA and FT Use Jenkins to build and deploy Docker images Who this book is for This guide is for anyone who needs to make a quick decision about using Docker for their next project. It is for developers who want to get started using Docker right away.