万本电子书0元读

万本电子书0元读

Hands-On Design Patterns with C++
Hands-On Design Patterns with C++
Fedor G. Pikus
¥90.46
A comprehensive guide with extensive coverage on concepts such as OOP, functional programming, generic programming, and STL along with the latest features of C++ Key Features * Delve into the core patterns and components of C++ in order to master application design * Learn tricks, techniques, and best practices to solve common design and architectural challenges * Understand the limitation imposed by C++ and how to solve them using design patterns Book Description C++ is a general-purpose programming language designed with the goals of efficiency, performance, and flexibility in mind. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation. The focus of this book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++, in particular, the generic programming. Armed with the knowledge of these patterns, you will spend less time searching for a solution to a common problem and be familiar with the solutions developed from experience, as well as their advantages and drawbacks. The other use of design patterns is as a concise and an efficient way to communicate. A pattern is a familiar and instantly recognizable solution to specific problem; through its use, sometimes with a single line of code, we can convey a considerable amount of information. The code conveys: "This is the problem we are facing, these are additional considerations that are most important in our case; hence, the following well-known solution was chosen." By the end of this book, you will have gained a comprehensive understanding of design patterns to create robust, reusable, and maintainable code. What you will learn * Recognize the most common design patterns used in C++ * Understand how to use C++ generic programming to solve common design problems * Explore the most powerful C++ idioms, their strengths, and drawbacks * Rediscover how to use popular C++ idioms with generic programming * Understand the impact of design patterns on the program’s performance Who this book is for This book is for experienced C++ developers and programmers who wish to learn about software design patterns and principles and apply them to create robust, reusable, and easily maintainable apps.
Advanced JavaScript
Advanced JavaScript
Zachary Shute
¥63.21
Gain a deeper understanding of JavaScript and apply it to build small applications in backend, frontend, and mobile frameworks. Key Features * Explore the new ES6 syntax, the event loop, and asynchronous programming * Learn the test-driven development approach when building apps * Master advanced JavaScript concepts to enhance your web developments skill Book Description If you are looking for a programming language to develop flexible and efficient applications, JavaScript is an obvious choice. Advanced JavaScript is a hands-on guide that takes you through JavaScript and its many features, one step at a time. You'll begin by learning how to use the new JavaScript syntax in ES6, and then work through the many other features that modern JavaScript has to offer. As you progress through the chapters, you’ll use asynchronous programming with callbacks and promises, handle browser events, and perform Document Object Model (DOM) manipulation. You'll also explore various methods of testing JavaScript projects. In the concluding chapters, you'll discover functional programming and learn to use it to build your apps. With this book as your guide, you'll also be able to develop APIs using Node.js and Express, create front-ends using React/Redux, and build mobile apps using React/Expo. By the end of Advanced JavaScript, you will have explored the features and benefits of JavaScript to build small applications. What you will learn * Examine major features in ES6 and implement those features to build applications * Create promise and callback handlers to work with asynchronous processes * Develop asynchronous flows using Promise chaining and async/await syntax * Manipulate the DOM with JavaScript * Handle JavaScript browser events * Explore Test Driven Development and build code tests with JavaScript code testing frameworks. * List the benefits and drawbacks of functional programming compared to other styles * Construct applications with the Node.js backend framework and the React frontend framework Who this book is for This book is designed to target anyone who wants to write JavaScript in a professional environment. We expect the audience to have used JavaScript in some capacity and be familiar with the basic syntax. This book would be good for a tech enthusiast wondering when to use generators or how to use Promises and Callbacks effectively, or a novice developer who wants to deepen their knowledge on JavaScript and understand TDD.
Mastering Rust
Mastering Rust
Rahul Sharma
¥90.46
Become proficient in designing, developing and deploying effective software systems using the advanced constructs of Rust Key Features * Improve your productivity using the latest version of Rust and write simpler and easier code * Understand Rust’s immutability and ownership principle, expressive type system, safe concurrency * Deep dive into the new doamins of Rust like WebAssembly, Networking and Command line tools Book Description Rust is an empowering language that provides a rare combination of safety, speed, and zero-cost abstractions. Mastering Rust – Second Edition is filled with clear and simple explanations of the language features along with real-world examples, showing you how you can build robust, scalable, and reliable programs. This second edition of the book improves upon the previous one and touches on all aspects that make Rust a great language. We have included the features from latest Rust 2018 edition such as the new module system, the smarter compiler, helpful error messages, and the stable procedural macros. You’ll learn how Rust can be used for systems programming, network programming, and even on the web. You’ll also learn techniques such as writing memory-safe code, building idiomatic Rust libraries, writing efficient asynchronous networking code, and advanced macros. The book contains a mix of theory and hands-on tasks so you acquire the skills as well as the knowledge, and it also provides exercises to hammer the concepts in. After reading this book, you will be able to implement Rust for your enterprise projects, write better tests and documentation, design for performance, and write idiomatic Rust code. What you will learn * Write generic and type-safe code by using Rust’s powerful type system * How memory safety works without garbage collection * Know the different strategies in error handling and when to use them * Learn how to use concurrency primitives such as threads and channels * Use advanced macros to reduce boilerplate code * Create efficient web applications with the Actix-web framework * Use Diesel for type-safe database interactions in your web application Who this book is for The book is aimed at beginner and intermediate programmers who already have familiarity with any imperative language and have only heard of Rust as a new language. If you are a developer who wants to write robust, efficient and maintainable software systems and want to become proficient with Rust, this book is for you. It starts by giving a whirlwind tour of the important concepts of Rust and covers advanced features of the language in subsequent chapters using code examples that readers will find useful to advance their knowledge.
Learn Spring for Android Application Development
Learn Spring for Android Application Development
S. M. Mohi Us Sunnat
¥90.46
A hands-on guide to Android programming with Spring MVC, Spring Boot, and Spring Security Key Features * Build native Android applications with Spring for Android * Explore Reactive programming, concurrency, and multithreading paradigms for building fast and efficient applications * Write more expressive and robust code with Kotlin using its coroutines and other latest features Book Description As the new official language for Android, Kotlin is attracting new as well as existing Android developers. As most developers are still working with Java and want to switch to Kotlin, they find a combination of these two appealing. This book addresses this interest by bringing together Spring, a widely used Java SE framework for building enterprise-grade applications, and Kotlin. Learn Spring for Android Application Development will guide you in leveraging some of the powerful modules of the Spring Framework to build lightweight and robust Android apps using Kotlin. You will work with various modules, such as Spring AOP, Dependency Injection, and Inversion of Control, to develop applications with better dependency management. You’ll also explore other modules of the Spring Framework, such as Spring MVC, Spring Boot, and Spring Security. Each chapter has practice exercises at the end for you to assess your learning. By the end of the book, you will be fully equipped to develop Android applications with Spring technologies. What you will learn * Get to grips with the basics of the Spring Framework * Write web applications using the Spring Framework with Kotlin * Develop Android apps with Kotlin * Connect a RESTful web service with your app using Retrofilt * Understand JDBC, JPA, MySQL for Spring and SQLite Room for Android * Explore Spring Security fundamentals, Basic Authentication, and OAuth2 * Delve into Concurrency and Reactive programming using Kotlin * Develop testable applications with Spring and Android Who this book is for If you’re an aspiring Android developer or an existing developer who wants to learn how to use Spring to build robust Android applications in Kotlin, this book is for you. Though not necessary, basic knowledge of Spring will assist with understanding key concepts covered in this book.
Implementing AWS: Design, Build, and Manage your Infrastructure
Implementing AWS: Design, Build, and Manage your Infrastructure
Yohan Wadia
¥90.46
Work through exciting recipes to administer your AWS cloud Key Features * Build secure environments using AWS components and services * Explore core AWS features with real-world applications and best practices * Design and build Lambda functions using real-world examples Book Description With this Learning Path, you’ll explore techniques to easily manage applications on the AWS cloud. You’ll begin with an introduction to serverless computing, its advantages, and the fundamentals of AWS. The following chapters will guide you on how to manage multiple accounts by setting up consolidated billing, enhancing your application delivery skills, with the latest AWS services such as CodeCommit, CodeDeploy, and CodePipeline to provide continuous delivery and deployment, while also securing and monitoring your environment's workflow. It’ll also add to your understanding of the services AWS Lambda provides to developers. To refine your skills further, it demonstrates how to design, write, test, monitor, and troubleshoot Lambda functions. By the end of this Learning Path, you’ll be able to create a highly secure, fault-tolerant, and scalable environment for your applications. This Learning Path includes content from the following Packt products: * AWS Administration: The Definitive Guide, Second Edition by Yohan Wadia * AWS Administration Cookbook by Rowan Udell, Lucas Chan * Mastering AWS Lambda by Yohan Wadia, Udita Gupta What you will learn * Explore the benefits of serverless computing and applications * Deploy apps with AWS Elastic Beanstalk and Amazon Elastic File System * Secure environments with AWS CloudTrail, AWSConfig, and AWS Shield * Run big data analytics with Amazon EMR and Amazon Redshift * Back up and safeguard data using AWS Data Pipeline * Create monitoring and alerting dashboards using CloudWatch * Effectively monitor and troubleshoot serverless applications with AWS * Design serverless apps via AWS Lambda, DynamoDB, and API Gateway Who this book is for This Learning Path is specifically designed for IT system and network administrators, AWS architects, and DevOps engineers who want to effectively implement AWS in their organization and easily manage daily activities. Familiarity with Linux, web services, cloud computing platforms, virtualization, networking, and other administration-related tasks will assist in understanding the concepts in the book. Prior hands-on experience with AWS core services such as EC2, IAM, S3, and programming languages, such as Node.Js, Java, and C#, will also prove beneficial.
Practical Security Automation and Testing
Practical Security Automation and Testing
Tony Hsiang-Chih Hsu
¥73.02
Your one stop guide to automating infrastructure security using DevOps and DevSecOps Key Features * Secure and automate techniques to protect web, mobile or cloud services * Automate secure code inspection in C++, Java, Python, and JavaScript * Integrate security testing with automation frameworks like fuzz, BDD, Selenium and Robot Framework Book Description Security automation is the automatic handling of software security assessments tasks. This book helps you to build your security automation framework to scan for vulnerabilities without human intervention. This book will teach you to adopt security automation techniques to continuously improve your entire software development and security testing. You will learn to use open source tools and techniques to integrate security testing tools directly into your CI/CD framework. With this book, you will see how to implement security inspection at every layer, such as secure code inspection, fuzz testing, Rest API, privacy, infrastructure security, and web UI testing. With the help of practical examples, this book will teach you to implement the combination of automation and Security in DevOps. You will learn about the integration of security testing results for an overall security status for projects. By the end of this book, you will be confident implementing automation security in all layers of your software development stages and will be able to build your own in-house security automation platform throughout your mobile and cloud releases. What you will learn * Automate secure code inspection with open source tools and effective secure code scanning suggestions * Apply security testing tools and automation frameworks to identify security vulnerabilities in web, mobile and cloud services * Integrate security testing tools such as OWASP ZAP, NMAP, SSLyze, SQLMap, and OpenSCAP * Implement automation testing techniques with Selenium, JMeter, Robot Framework, Gauntlt, BDD, DDT, and Python unittest * Execute security testing of a Rest API Implement web application security with open source tools and script templates for CI/CD integration * Integrate various types of security testing tool results from a single project into one dashboard Who this book is for The book is for software developers, architects, testers and QA engineers who are looking to leverage automated security testing techniques.
Hands-On Java Deep Learning for Computer Vision
Hands-On Java Deep Learning for Computer Vision
Klevis Ramo
¥54.49
Leverage the power of Java and deep learning to build production-grade Computer Vision applications Key Features * Build real-world Computer Vision applications using the power of neural networks * Implement image classification, object detection, and face recognition * Know best practices on effectively building and deploying deep learning models in Java Book Description Although machine learning is an exciting world to explore, you may feel confused by all of its theoretical aspects. As a Java developer, you will be used to telling the computer exactly what to do, instead of being shown how data is generated; this causes many developers to struggle to adapt to machine learning. The goal of this book is to walk you through the process of efficiently training machine learning and deep learning models for Computer Vision using the most up-to-date techniques. The book is designed to familiarize you with neural networks, enabling you to train them efficiently, customize existing state-of-the-art architectures, build real-world Java applications, and get great results in a short space of time. You will build real-world Computer Vision applications, ranging from a simple Java handwritten digit recognition model to real-time Java autonomous car driving systems and face recognition models. By the end of this book, you will have mastered the best practices and modern techniques needed to build advanced Computer Vision Java applications and achieve production-grade accuracy. What you will learn * Discover neural networks and their applications in Computer Vision * Explore the popular Java frameworks and libraries for deep learning * Build deep neural networks in Java * Implement an end-to-end image classification application in Java * Perform real-time video object detection using deep learning * Enhance performance and deploy applications for production Who this book is for This book is for data scientists, machine learning developers and deep learning practitioners with Java knowledge who want to implement machine learning and deep neural networks in the computer vision domain. You will need to have a basic knowledge of Java programming.
Hands-On GUI Application Development in Go
Hands-On GUI Application Development in Go
Andrew Williams
¥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
Mastering Microservices with Java
Sourabh Sharma
¥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.
Create React App 2 Quick Start Guide
Create React App 2 Quick Start Guide
Brandon Richey
¥54.49
Integrate your React applications with React to build efficient web services. Key Features * Learn React by building applications with Create React App * Create interactive UIs exploring the latest feature of CRA 2.0 * Build Progressive Web Applications for a more seamless web Book Description If you're a power user and you aren’t happy always reusing default configurations, from previous applications with each new application, then all you need is Create React App (CRA), a tool in the React ecosystem designed to help you create boilerplate code for building a web frontend. This book will help you use CRA to write React programs without significant configuration-related difficulties. With this quick start guide, you will integrate your applications with React to build efficient professional web services.You will learn to design UIs with the features of CRA and template your React applications. By the end of the book, you will be sufficiently skilled to be able to build faster and effective React apps using CRA. What you will learn * Become familiar with React by building applications with Create React App * Make your frontend development hassle free * Create interactive UIs exploring the latest features of CRA 2 * Build modern, React projects with, SASS,and progressive web applications * Develop proxy backend servers and simulate interaction with a full backend * Keep your application fully tested and maintain confidence in your project Who this book is for The book is intended for the web developers who want to jump into building great frontend with React using easy templating solutions.
Neural Network Projects with Python
Neural Network Projects with Python
James Loy
¥73.02
Build your Machine Learning portfolio by creating 6 cutting-edge Artificial Intelligence projects using neural networks in Python Key Features * Discover neural network architectures (like CNN and LSTM) that are driving recent advancements in AI * Build expert neural networks in Python using popular libraries such as Keras * Includes projects such as object detection, face identification, sentiment analysis, and more Book Description Neural networks are at the core of recent AI advances, providing some of the best resolutions to many real-world problems, including image recognition, medical diagnosis, text analysis, and more. This book goes through some basic neural network and deep learning concepts, as well as some popular libraries in Python for implementing them. It contains practical demonstrations of neural networks in domains such as fare prediction, image classification, sentiment analysis, and more. In each case, the book provides a problem statement, the specific neural network architecture required to tackle that problem, the reasoning behind the algorithm used, and the associated Python code to implement the solution from scratch. In the process, you will gain hands-on experience with using popular Python libraries such as Keras to build and train your own neural networks from scratch. By the end of this book, you will have mastered the different neural network architectures and created cutting-edge AI projects in Python that will immediately strengthen your machine learning portfolio. What you will learn * Learn various neural network architectures and its advancements in AI * Master deep learning in Python by building and training neural network * Master neural networks for regression and classification * Discover convolutional neural networks for image recognition * Learn sentiment analysis on textual data using Long Short-Term Memory * Build and train a highly accurate facial recognition security system Who this book is for This book is a perfect match for data scientists, machine learning engineers, and deep learning enthusiasts who wish to create practical neural network projects in Python. Readers should already have some basic knowledge of machine learning and neural networks.
Spring 5.0 Projects
Spring 5.0 Projects
Nilang Patel
¥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.
Mastering Distributed Tracing
Mastering Distributed Tracing
Yuri Shkuro
¥90.46
Understand how to apply distributed tracing to microservices-based architectures Key Features * A thorough conceptual introduction to distributed tracing * An exploration of the most important open standards in the space * A how-to guide for code instrumentation and operating a tracing infrastructure Book Description Mastering Distributed Tracing will equip you to operate and enhance your own tracing infrastructure. Through practical exercises and code examples, you will learn how end-to-end tracing can be used as a powerful application performance management and comprehension tool. The rise of Internet-scale companies, like Google and Amazon, ushered in a new era of distributed systems operating on thousands of nodes across multiple data centers. Microservices increased that complexity, often exponentially. It is harder to debug these systems, track down failures, detect bottlenecks, or even simply understand what is going on. Distributed tracing focuses on solving these problems for complex distributed systems. Today, tracing standards have developed and we have much faster systems, making instrumentation less intrusive and data more valuable. Yuri Shkuro, the creator of Jaeger, a popular open-source distributed tracing system, delivers end-to-end coverage of the field in Mastering Distributed Tracing. Review the history and theoretical foundations of tracing; solve the data gathering problem through code instrumentation, with open standards like OpenTracing, W3C Trace Context, and OpenCensus; and discuss the benefits and applications of a distributed tracing infrastructure for understanding, and profiling, complex systems. What you will learn * How to get started with using a distributed tracing system * How to get the most value out of end-to-end tracing * Learn about open standards in the space * Learn about code instrumentation and operating a tracing infrastructure * Learn where distributed tracing fits into microservices as a core function Who this book is for Any developer interested in testing large systems will find this book very revealing and in places, surprising. Every microservice architect and developer should have an insight into distributed tracing, and the book will help them on their way. System administrators with some development skills will also benefit. No particular programming language skills are required, although an ability to read Java, while non-essential, will help with the core chapters.
Mastering Hadoop 3
Mastering Hadoop 3
Chanchal Singh
¥99.18
A comprehensive guide to mastering the most advanced Hadoop 3 concepts Key Features * Get to grips with the newly introduced features and capabilities of Hadoop 3 * Crunch and process data using MapReduce, YARN, and a host of tools within the Hadoop ecosystem * Sharpen your Hadoop skills with real-world case studies and code Book Description Apache Hadoop is one of the most popular big data solutions for distributed storage and for processing large chunks of data. With Hadoop 3, Apache promises to provide a high-performance, more fault-tolerant, and highly efficient big data processing platform, with a focus on improved scalability and increased efficiency. With this guide, you’ll understand advanced concepts of the Hadoop ecosystem tool. You’ll learn how Hadoop works internally, study advanced concepts of different ecosystem tools, discover solutions to real-world use cases, and understand how to secure your cluster. It will then walk you through HDFS, YARN, MapReduce, and Hadoop 3 concepts. You’ll be able to address common challenges like using Kafka efficiently, designing low latency, reliable message delivery Kafka systems, and handling high data volumes. As you advance, you’ll discover how to address major challenges when building an enterprise-grade messaging system, and how to use different stream processing systems along with Kafka to fulfil your enterprise goals. By the end of this book, you’ll have a complete understanding of how components in the Hadoop ecosystem are effectively integrated to implement a fast and reliable data pipeline, and you’ll be equipped to tackle a range of real-world problems in data pipelines. What you will learn * Gain an in-depth understanding of distributed computing using Hadoop 3 * Develop enterprise-grade applications using Apache Spark, Flink, and more * Build scalable and high-performance Hadoop data pipelines with security, monitoring, and data governance * Explore batch data processing patterns and how to model data in Hadoop * Master best practices for enterprises using, or planning to use, Hadoop 3 as a data platform * Understand security aspects of Hadoop, including authorization and authentication Who this book is for If you want to become a big data professional by mastering the advanced concepts of Hadoop, this book is for you. You’ll also find this book useful if you’re a Hadoop professional looking to strengthen your knowledge of the Hadoop ecosystem. Fundamental knowledge of the Java programming language and basics of Hadoop is necessary to get started with this book.
Introduction to DevOps with Kubernetes
Introduction to DevOps with Kubernetes
Onur Yılmaz
¥70.84
Become familiar with Kubernetes and explore techniques to manage your containerized workloads and services Key Features * Learn everything from creating a cluster to monitoring applications in Kubernetes * Understand and develop DevOps primitives using Kubernetes * Use Kubernetes to solve challenging real-life DevOps problems Book Description Kubernetes and DevOps are the two pillars that can keep your business at the top by ensuring high performance of your IT infrastructure. Introduction to DevOps with Kubernetes will help you develop the skills you need to improve your DevOps with the power of Kubernetes. The book begins with an overview of Kubernetes primitives and DevOps concepts. You'll understand how Kubernetes can assist you with overcoming a wide range of real-world operation challenges. You will get to grips with creating and upgrading a cluster, and then learn how to deploy, update, and scale an application on Kubernetes. As you advance through the chapters, you’ll be able to monitor an application by setting up a pod failure alert on Prometheus. The book will also guide you in configuring Alertmanager to send alerts to the Slack channel and trace down a problem on the application using kubectl commands. By the end of this book, you’ll be able to manage the lifecycle of simple to complex applications on Kubernetes with confidence. What you will learn * Create and manage Kubernetes clusters in on-premise systems and cloud * Exercise various DevOps practices using Kubernetes * Explore configuration, secret, and storage management, and exercise these on Kubernetes * Perform different update techniques and apply them on Kubernetes * Use the built-in scaling feature in Kubernetes to scale your applications up and down * Use various troubleshooting techniques and have a monitoring system installed on Kubernetes Who this book is for If you are a developer who wants to learn how to apply DevOps patterns using Kubernetes, then this book is for you. Familiarity with Kubernetes will be useful, but not essential.
Hands-On Game Development with WebAssembly
Hands-On Game Development with WebAssembly
Rick Battagline
¥70.84
Make your WebAssembly journey fun while making a game with it Key Features * Create a WebAssembly game that implements sprites, animations, physics, particle systems, and other game development fundamentals * Get to grips with advanced game mechanics in WebAssembly * Learn to use WebAssembly and WebGL to render to the HTML5 canvas element Book Description Within the next few years, WebAssembly will change the web as we know it. It promises a world where you can write an application for the web in any language, and compile it for native platforms as well as the web. This book is designed to introduce web developers and game developers to the world of WebAssembly by walking through the development of a retro arcade game. You will learn how to build a WebAssembly application using C++, Emscripten, JavaScript, WebGL, SDL, and HTML5. This book covers a lot of ground in both game development and web application development. When creating a game or application that targets WebAssembly, developers need to learn a plethora of skills and tools. This book is a sample platter of those tools and skills. It covers topics including Emscripten, C/C++, WebGL, OpenGL, JavaScript, HTML5, and CSS. The reader will also learn basic techniques for game development, including 2D sprite animation, particle systems, 2D camera design, sound effects, 2D game physics, user interface design, shaders, debugging, and optimization. By the end of the book, you will be able to create simple web games and web applications targeting WebAssembly. What you will learn * Build web applications with near-native performance using WebAssembly * Become familiar with how web applications can be used to create games using HTML5 Canvas, WebGL, and SDL * Become well versed with game development concepts such as sprites, animation, particle systems, AI, physics, camera design, sound effects, and shaders * Deploy C/C++ applications to the browser using WebAssembly and Emscripten * Understand how Emscripten HTML shell templates, JavaScript glue code, and a WebAssembly module interact * Debug and performance tune your WebAssembly application Who this book is for Web developers and game developers interested in creating applications for the web using WebAssembly. Game developers interested in deploying their games to the web Web developers interested in creating applications that are potentially orders of magnitude faster than their existing JavaScript web apps C/C++ developers interested in using their existing skills to deploy applications to the web
Refactoring TypeScript
Refactoring TypeScript
James Hickey
¥54.49
Discover various techniques to develop maintainable code and keep it in shape. Key Features * Learn all about refactoring - why it is important and how to do it * Discover easy ways to refactor code with examples * Explore techniques that can be applied to most other programming languages Book Description Refactoring improves your code without changing its behavior. With refactoring, the best approach is to apply small targeted changes to a codebase. Instead of doing a huge sweeping change to your code, refactoring is better as a long-term and continuous enterprise. Refactoring TypeScript explains how to spot bugs and remove them from your code. You’ll start by seeing how wordy conditionals, methods, and null checks make code unhealthy and unstable. Whether it is identifying messy nested conditionals or removing unnecessary methods, this book will show various techniques to avoid these pitfalls and write code that is easier to understand, maintain, and test. By the end of the book, you’ll have learned some of the main causes of unhealthy code, tips to identify them and techniques to address them. What you will learn * Spot and fix common code smells to create code that is easier to read and understand * Discover ways to identify long methods and refactor them * Create objects that keep your code flexible, maintainable, and testable * Apply the Single Responsibility Principle to develop less-coupled code * Discover how to combine different refactoring techniques * Learn ways to solve the issues caused by overusing primitives Who this book is for This book is designed for programmers who are looking to explore various refactoring techniques to develop healthy and maintainable code. Some experience in JavaScript and TypeScript can help you easily grasp the concepts explained in this book.
Docker High Performance
Docker High Performance
Allan Espinosa
¥44.68
Leverage Docker to unlock efficient and rapid container deployments to improve your development workflow Key Features * Reconfigure Docker hosts to create a logging system with the ElasticSearch-Logstash-Kibana (ELK) stack * Tackle the challenges of large-scale container deployment with this fast-paced guide * Benchmark the performance of your Docker containers using Apache JMeter Book Description Docker is an enterprise-grade container platform that allows you to build and deploy your apps. Its portable format lets you run your code right from your desktop workstations to popular cloud computing providers. This comprehensive guide will improve your Docker work?ows and ensure your application's production environment runs smoothly. This book starts with a refresher on setting up and running Docker and details the basic setup for creating a Docker Swarm cluster. You will then learn how to automate this cluster by using Chef Server and Cookbook. After that, you will run the Docker monitoring system with Prometheus and Grafana, and deploy the ELK stack. You will also learn some tips for optimizing Docker images. After deploying containers with the help of Jenkins, you will then move on to a tutorial on using Apache JMeter to analyze your application's performance. You will learn how to use Docker Swarm and NGINX to load-balance your application and how common debugging tools in Linux can be used to troubleshoot Docker containers. By the end of this book, you will be able to integrate all the optimizations that you have learned and put everything into practice in your applications. What you will learn * Automate provisioning and setting up nodes in a Docker Swarm cluster * Configure a monitoring system with Prometheus and Grafana * Use Apache JMeter to create workloads for benchmarking the performance of Docker containers * Understand how to load-balance an application with Docker Swarm and Nginx * Deploy strace, tcdump, blktrace, and other Linux debugging tools to troubleshoot containers * Integrate Docker optimizations for DevOps, Site Reliability Engineering, CI, and CD Who this book is for If you are a software developer with a good understanding of managing Docker services and the Linux file system and are looking for ways to optimize working with Docker containers, then this is the book for you. Developers fascinated with containers and workflow automation with benefit from this book.
TIBCO Spotfire: A Comprehensive Primer
TIBCO Spotfire: A Comprehensive Primer
Andrew Berridge
¥62.12
Create innovative informatics solutions with TIBCO Spotfire Key Features * Get to grips with a variety of TIBCO Spotfire features to create professional applications * Use different data and visualization techniques to build interactive analyses. * Simplify BI processes and understand data analysis and visualization Book Description The need for agile business intelligence (BI) is growing daily, and TIBCO Spotfire? combines self-service features with essential enterprise governance and scaling capabilities to provide best-practice analytics solutions. Spotfire is easy and intuitive to use and is a rewarding environment for all BI users and analytics developers. Starting with data and visualization concepts, this book takes you on a journey through increasingly advanced topics to help you work toward becoming a professional analytics solution provider. Examples of analyzing real-world data are used to illustrate how to work with Spotfire. Once you've covered the AI-driven recommendations engine, you'll move on to understanding Spotfire's rich suite of visualizations and when, why and how you should use each of them. In later chapters, you'll work with location analytics, advanced analytics using TIBCO Enterprise Runtime for R?, how to decide whether to use in-database or in-memory analytics, and how to work with streaming (live) data in Spotfire. You'll also explore key product integrations that significantly enhance Spotfire's capabilities.This book will enable you to exploit the advantages of the Spotfire serve topology and learn how to make practical use of scheduling and routing rules. By the end of this book, you will have learned how to build and use powerful analytics dashboards and applications, perform spatial analytics, and be able to administer your Spotfire environment efficiently What you will learn * Work with Spotfire on its web, Cloud, PC, Mac and mobile clients * Deploy Spotfire's suite of visualization types effectively and intelligently * Build user-friendly analytics frameworks and analytics applications * Explore Spotfire's predictive analytics capabilities * Use Spotfire's location analytics capabilities to create interactive spatial analyses * Write IronPython scripts with the Spotfire API * Learn the different ways Spotfire can be deployed and administered Who this book is for If you are a business intelligence or data professional, this book will give you a solid grounding in the use of TIBCO Spotfire. This book requires no prior knowledge of Spotfire or any basic data and visualization concepts.
Continuous Delivery with Docker and Jenkins
Continuous Delivery with Docker and Jenkins
Rafał Leszko
¥79.56
Create a complete Continuous Delivery process using modern DevOps tools such as Docker, Kubernetes, Jenkins, Docker Hub, Ansible, GitHub and many more. Key Features * Build reliable and secure applications using Docker containers. * Create a highly available environment to scale a Docker servers using Kubernetes * Implement advance continuous delivery process by parallelizing the pipeline tasks Book Description Continuous Delivery with Docker and Jenkins, Second Edition will explain the advantages of combining Jenkins and Docker to improve the continuous integration and delivery process of an app development. It will start with setting up a Docker server and configuring Jenkins on it. It will then provide steps to build applications on Docker files and integrate them with Jenkins using continuous delivery processes such as continuous integration, automated acceptance testing, and configuration management. Moving on, you will learn how to ensure quick application deployment with Docker containers along with scaling Jenkins using Kubernetes. Next, you will get to know how to deploy applications using Docker images and testing them with Jenkins. Towards the end, the book will touch base with missing parts of the CD pipeline, which are the environments and infrastructure, application versioning, and nonfunctional testing. By the end of the book, you will be enhancing the DevOps workflow by integrating the functionalities of Docker and Jenkins. What you will learn * Get to grips with docker fundamentals and how to dockerize an application for the CD process * Learn how to use Jenkins on the Cloud environments * Scale a pool of Docker servers using Kubernetes * Create multi-container applications using Docker Compose * Write acceptance tests using Cucumber and run them in the Docker ecosystem using Jenkins * Publish a built Docker image to a Docker Registry and deploy cycles of Jenkins pipelines using community best practices Who this book is for The book targets DevOps engineers, system administrators, docker professionals or any stakeholders who would like to explore the power of working with Docker and Jenkins together. No prior knowledge of DevOps is required for this book.
Linux Device Driver Development Cookbook
Linux Device Driver Development Cookbook
Rodolfo Giometti
¥70.84
Over 30 recipes to develop custom drivers for your embedded Linux applications. Key Features * Use Kernel facilities to develop powerful drivers * Via a practical approach, learn core concepts of developing device drivers * Program a custom character device to get access to kernel internals Book Description Linux is a unified kernel that is widely used to develop embedded systems. As Linux has turned out to be one of the most popular operating systems used, the interest in developing proprietary device drivers has also increased. Device drivers play a critical role in how the system performs and ensures that the device works in the manner intended. By offering several examples on the development of character devices and how to use other kernel internals, such as interrupts, kernel timers, and wait queue, as well as how to manage a device tree, you will be able to add proper management for custom peripherals to your embedded system. You will begin by installing the Linux kernel and then configuring it. Once you have installed the system, you will learn to use the different kernel features and the character drivers. You will also cover interrupts in-depth and how you can manage them. Later, you will get into the kernel internals required for developing applications. Next, you will implement advanced character drivers and also become an expert in writing important Linux device drivers. By the end of the book, you will be able to easily write a custom character driver and kernel code as per your requirements. What you will learn * Become familiar with the latest kernel releases (4.19+/5.x) running on the ESPRESSObin devkit, an ARM 64-bit machine * Download, configure, modify, and build kernel sources * Add and remove a device driver or a module from the kernel * Master kernel programming * Understand how to implement character drivers to manage different kinds of computer peripherals * Become well versed with kernel helper functions and objects that can be used to build kernel applications * Acquire a knowledge of in-depth concepts to manage custom hardware with Linux from both the kernel and user space Who this book is for This book will help anyone who wants to develop their own Linux device drivers for embedded systems. Having basic hand-on with Linux operating system and embedded concepts is necessary.