万本电子书0元读

万本电子书0元读

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
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.
Learning Elastic Stack 7.0
Learning Elastic Stack 7.0
Pranav Shukla
¥62.12
A beginner's guide to storing, managing, and analyzing data with the updated features of Elastic 7.0 Key Features * Gain access to new features and updates introduced in Elastic Stack 7.0 * Grasp the fundamentals of Elastic Stack including Elasticsearch, Logstash, and Kibana * Explore useful tips for using Elastic Cloud and deploying Elastic Stack in production environments Book Description The Elastic Stack is a powerful combination of tools for techniques such as distributed search, analytics, logging, and visualization of data. Elastic Stack 7.0 encompasses new features and capabilities that will enable you to find unique insights into analytics using these techniques. This book will give you a fundamental understanding of what the stack is all about, and help you use it efficiently to build powerful real-time data processing applications. The first few sections of the book will help you understand how to set up the stack by installing tools, and exploring their basic configurations. You’ll then get up to speed with using Elasticsearch for distributed searching and analytics, Logstash for logging, and Kibana for data visualization. As you work through the book, you will discover the technique of creating custom plugins using Kibana and Beats. This is followed by coverage of the Elastic X-Pack, a useful extension for effective security and monitoring. You’ll also find helpful tips on how to use Elastic Cloud and deploy Elastic Stack in production environments. By the end of this book, you’ll be well versed with the fundamental Elastic Stack functionalities and the role of each component in the stack to solve different data processing problems. What you will learn * Install and configure an Elasticsearch architecture * Solve the full-text search problem with Elasticsearch * Discover powerful analytics capabilities through aggregations using Elasticsearch * Build a data pipeline to transfer data from a variety of sources into Elasticsearch for analysis * Create interactive dashboards for effective storytelling with your data using Kibana * Learn how to secure, monitor and use Elastic Stack’s alerting and reporting capabilities * Take applications to an on-premise or cloud-based production environment with Elastic Stack Who this book is for This book is for entry-level data professionals, software engineers, e-commerce developers, and full-stack developers who want to learn about Elastic Stack and how the real-time processing and search engine works for business analytics and enterprise search applications. Previous experience with Elastic Stack is not required, however knowledge of data warehousing and database concepts will be helpful.
Geospatial Data Science Quick Start Guide
Geospatial Data Science Quick Start Guide
Abdishakur Hassan
¥53.40
Discover the power of location data to build effective, intelligent data models with Geospatial ecosystems Key Features * Manipulate location-based data and create intelligent geospatial data models * Build effective location recommendation systems used by popular companies such as Uber * A hands-on guide to help you consume spatial data and parallelize GIS operations effectively Book Description Data scientists, who have access to vast data streams, are a bit myopic when it comes to intrinsic and extrinsic location-based data and are missing out on the intelligence it can provide to their models. This book demonstrates effective techniques for using the power of data science and geospatial intelligence to build effective, intelligent data models that make use of location-based data to give useful predictions and analyses. This book begins with a quick overview of the fundamentals of location-based data and how techniques such as Exploratory Data Analysis can be applied to it. We then delve into spatial operations such as computing distances, areas, extents, centroids, buffer polygons, intersecting geometries, geocoding, and more, which adds additional context to location data. Moving ahead, you will learn how to quickly build and deploy a geo-fencing system using Python. Lastly, you will learn how to leverage geospatial analysis techniques in popular recommendation systems such as collaborative filtering and location-based recommendations, and more. By the end of the book, you will be a rockstar when it comes to performing geospatial analysis with ease. What you will learn * Learn how companies now use location data * Set up your Python environment and install Python geospatial packages * Visualize spatial data as graphs * Extract geometry from spatial data * Perform spatial regression from scratch * Build web applications which dynamically references geospatial data Who this book is for Data Scientists who would like to leverage location-based data and want to use location-based intelligence in their data models will find this book useful. This book is also for GIS developers who wish to incorporate data analysis in their projects. Knowledge of Python programming and some basic understanding of data analysis are all you need to get the most out of this book.
Hands-On System Programming with Go
Hands-On System Programming with Go
Alex Guerrieri
¥70.84
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
Improving your Penetration Testing Skills
Improving your Penetration Testing Skills
Gilberto Najera-Gutierrez
¥88.28
Evade antiviruses and bypass firewalls with the most widely used penetration testing frameworks Key Features * Gain insights into the latest antivirus evasion techniques * Set up a complete pentesting environment using Metasploit and virtual machines * Discover a variety of tools and techniques that can be used with Kali Linux Book Description Penetration testing or ethical hacking is a legal and foolproof way to identify vulnerabilities in your system. With thorough penetration testing, you can secure your system against the majority of threats. This Learning Path starts with an in-depth explanation of what hacking and penetration testing is. You’ll gain a deep understanding of classical SQL and command injection flaws, and discover ways to exploit these flaws to secure your system. You'll also learn how to create and customize payloads to evade antivirus software and bypass an organization's defenses. Whether it’s exploiting server vulnerabilities and attacking client systems, or compromising mobile phones and installing backdoors, this Learning Path will guide you through all this and more to improve your defense against online attacks. By the end of this Learning Path, you'll have the knowledge and skills you need to invade a system and identify all its vulnerabilities. This Learning Path includes content from the following Packt products: * Web Penetration Testing with Kali Linux - Third Edition by Juned Ahmed Ansari and Gilberto Najera-Gutierrez * Metasploit Penetration Testing Cookbook - Third Edition by Abhinav Singh , Monika Agarwal, et al What you will learn * Build and analyze Metasploit modules in Ruby * Integrate Metasploit with other penetration testing tools * Use server-side attacks to detect vulnerabilities in web servers and their applications * Explore automated attacks such as fuzzing web applications * Identify the difference between hacking a web application and network hacking * Deploy Metasploit with the Penetration Testing Execution Standard (PTES) * Use MSFvenom to generate payloads and backdoor files, and create shellcode Who this book is for This Learning Path is designed for security professionals, web programmers, and pentesters who want to learn vulnerability exploitation and make the most of the Metasploit framework. Some understanding of penetration testing and Metasploit is required, but basic system administration skills and the ability to read code are a must.
Blockchain for Decision Makers
Blockchain for Decision Makers
Romain Tormen
¥63.21
Understand how blockchain works and explore a variety of strategies to implement it in your organization effectively Key Features * Become familiar with business challenges faced by companies when using blockchain * Discover how companies implement blockchain to monetize and secure their data * Study real-world examples to understand blockchain and its use in organizations Book Description In addition to cryptocurrencies, blockchain-based apps are being developed in different industries such as banking, supply chain, and healthcare to achieve digital transformation and enhance user experience. Blockchain is not only about Bitcoin or cryptocurrencies, but also about different technologies such as peer-to-peer networks, consensus mechanisms, and cryptography. These technologies together help sustain trustless environments in which digital value can be transferred between individuals without intermediaries. This book will help you understand the basics of blockchain such as consensus protocols, decentralized applications, and tokenization. You'll focus on how blockchain is used today in different industries and the technological challenges faced while implementing a blockchain strategy. The book also enables you, as a decision maker, to understand blockchain from a technical perspective and evaluate its applicability in your business. Finally, you'll get to grips with blockchain frameworks such as Hyperledger and Quorum and their usability. By the end of this book, you'll have learned about the current use cases of blockchain and be able to implement a blockchain strategy on your own. What you will learn * Become well-versed with how blockchain works * Understand the difference between blockchain and Bitcoin * Learn how blockchain is being used in different industry verticals such as finance and retail * Delve into the technological and organizational challenges of implementing blockchain * Explore the possibilities that blockchain can unlock for decision makers * Choose a blockchain framework best suited for your projects from options such as Ethereum and Hyperledger Fabric Who this book is for This book is for CXOs, business professionals, organization leaders, decision makers, technology enthusiasts, and managers who wish to understand how blockchain is implemented in different organizations, its impact, and how it can be customized according to business needs. Prior experience with blockchain is not required.
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.
Building Microservices with Spring
Building Microservices with Spring
Dinesh Rajput
¥90.46
Learn and use the design patterns and best practices in Spring to solve common design problems and build user-friendly microservices Key Features *Study the benefits of using the right design pattern in your toolkit *Manage your code easily with Spring's dependency injection pattern *Explore the features of Docker and Mesos to build successful microservices Book Description Getting Started with Spring Microservices begins with an overview of the Spring Framework 5.0, its design patterns, and its guidelines that enable you to implement responsive microservices at scale. You will learn how to use GoF patterns in application design. You will understand the dependency injection pattern, which is the main principle behind the decoupling process of the Spring Framework and makes it easier to manage your code. Then, you will learn how to use proxy patterns in aspect-oriented programming and remoting. Moving on, you will understand the JDBC template patterns and their use in abstracting database access. After understanding the basics, you will move on to more advanced topics, such as reactive streams and concurrency. Written to the latest specifications of Spring that focuses on Reactive Programming, the Learning Path teaches you how to build modern, internet-scale Java applications in no time. Next, you will understand how Spring Boot is used to deploying serverless autonomous services by removing the need to have a heavyweight application server. You’ll also explore ways to deploy your microservices to Docker and managing them with Mesos. By the end of this Learning Path, you will have the clarity and confidence for implementing microservices using Spring Framework. This Learning Path includes content from the following Packt products: *Spring 5 Microservices by Rajesh R V *Spring 5 Design Patterns by Dinesh Rajput What you will learn *Develop applications using dependency injection patterns *Build web applications using traditional Spring MVC patterns *Utilize the reactive programming pattern to build reactive web apps *Learn concurrency and handle multiple connections inside a web server *Use Spring Boot and Spring Cloud to develop microservices *Leverage reactive programming to build cloud-native applications Who this book is for Getting Started with Spring Microservices is ideal for Spring developers who want to use design patterns to solve common design problems and build cloud-ready, Internet-scale applications, and simple RESTful services.
Modern C++: Efficient and Scalable Application Development
Modern C++: Efficient and Scalable Application Development
Richard Grimes
¥90.46
Create apps in C++ and leverage its latest features using modern programming techniques. Key Features *Develop strong C++ skills to build a variety of applications *Explore features of C++17, such as containers, algorithms, and threads *Grasp the standard support for threading and concurrency and use them in basic daily tasks Book Description C++ is one of the most widely used programming languages. It is fast, flexible, and used to solve many programming problems. This Learning Path gives you an in-depth and hands-on experience of working with C++, using the latest recipes and understanding most recent developments. You will explore C++ programming constructs by learning about language structures, functions, and classes, which will help you identify the execution flow through code. You will also understand the importance of the C++ standard library as well as memory allocation for writing better and faster programs. Modern C++: Efficient and Scalable Application Development deals with the challenges faced with advanced C++ programming. You will work through advanced topics such as multithreading, networking, concurrency, lambda expressions, and many more recipes. By the end of this Learning Path, you will have all the skills to become a master C++ programmer. This Learning Path includes content from the following Packt products: *Beginning C++ Programming by Richard Grimes *Modern C++ Programming Cookbook by Marius Bancila *The Modern C++ Challenge by Marius Bancila What you will learn *Become familiar with the structure of C++ projects *Identify the main structures in the language: functions and classes *Learn to debug your programs *Leverage C++ features to obtain increased robustness and performance *Explore functions and callable objects with a focus on modern features *Serialize and deserialize JSON and XML data *Create client-server applications that communicate over TCP/IP *Use design patterns to solve real-world problems Who this book is for This Learning Path is designed for developers who want to gain a solid foundation in C++. The desire to learn how to code in C++ is all you need to get started with this Learning Path
Hands-On System Programming with C++
Hands-On System Programming with C++
Dr. Rian Quinn
¥90.46
A hands-on guide to making system programming with C++ easy Key Features *Write system-level code leveraging C++17 *Learn the internals of the Linux Application Binary Interface (ABI) and apply it to system programming *Explore C++ concurrency to take advantage of server-level constructs Book Description C++ is a general-purpose programming language with a bias toward system programming as it provides ready access to hardware-level resources, efficient compilation, and a versatile approach to higher-level abstractions. This book will help you understand the benefits of system programming with C++17. You will gain a firm understanding of various C, C++, and POSIX standards, as well as their respective system types for both C++ and POSIX. After a brief refresher on C++, Resource Acquisition Is Initialization (RAII), and the new C++ Guideline Support Library (GSL), you will learn to program Linux and Unix systems along with process management. As you progress through the chapters, you will become acquainted with C++'s support for IO. You will then study various memory management methods, including a chapter on allocators and how they benefit system programming. You will also explore how to program file input and output and learn about POSIX sockets. This book will help you get to grips with safely setting up a UDP and TCP server/client. Finally, you will be guided through Unix time interfaces, multithreading, and error handling with C++ exceptions. By the end of this book, you will be comfortable with using C++ to program high-quality systems. What you will learn *Understand the benefits of using C++ for system programming *Program Linux/Unix systems using C++ *Discover the advantages of Resource Acquisition Is Initialization (RAII) *Program both console and file input and output *Uncover the POSIX socket APIs and understand how to program them *Explore advanced system programming topics, such as C++ allocators *Use POSIX and C++ threads to program concurrent systems *Grasp how C++ can be used to create performant system applications Who this book is for If you are a fresh developer with intermediate knowledge of C++ but little or no knowledge of Unix and Linux system programming, this book will help you learn system programming with C++ in a practical way.
React Native Cookbook
React Native Cookbook
Dan Ward
¥90.46
Improve your React Native mobile development skills or transition from web development to mobile development with this practical solution-packed guide Key Features * Learn strategies and techniques to face challenges in React Native mobile development head-on * Leverage the best ways to use iOS and Android for React Native development while maximizing code reuse and cohesion * Build engaging, performant user experiences with React Native Book Description If you are a developer looking to create mobile applications with maximized code reusability and minimized cost, then React Native is here to help. With this practical guide, you will be able to build attractive UIs, tackle common mobile development-related issues, and achieve improved performance in mobile environments. This book starts with common techniques for React Native customization and helps you set up your development platforms. Over the course of the book, a wide variety of step-by-step recipes are designed with both built-in React Native and custom third-party components that you will create, style, and animate. You will create real-world browser-based authentication, build a fully functional audio player, and integrate with Google maps. You will also explore different strategies for working with data, including leveraging the popular Redux library and optimizing your app’s dataflow. You will then get an introduction to writing native device functionality for new and already existing native projects. Finally, you will learn how app deployment works, and tips and tricks for writing performant code. By the end of the book, you'll have gained enough knowledge to build full iOS and Android applications using React Native. What you will learn * Build UI features and components using React Native * Create advanced animations for UI components * Develop universal apps that run on phones and tablets * Leverage Redux to manage application flow and data * Expose both custom native UI components and application logic to React Native * Employ open-source third-party plugins to create React Native apps more efficiently Who this book is for If you're a JavaScript developer looking for a practical guide with step-by-step tutorials for developing feature rich mobile apps using React Native, then this book is for you. Though not required, some experience working with React will help you more easily understand the React Native concepts covered in this book. While React Native development can be done on a Windows machine, certain aspects, such as running your apps on iOS devices and in the iOS simulator, or editing native code with Xcode, can only be done with a Mac.
Kibana 7 Quick Start Guide
Kibana 7 Quick Start Guide
Anurag Srivastava
¥54.49
A quick start guide to visualize your Elasticsearch data Key Features * Your hands-on guide to visualizing the Elasticsearch data as well as navigating the Elastic stack * Work with different Kibana plugins and create effective machine learning jobs using Kibana * Build effective dashboards and reports without any hassle Book Description The Elastic Stack is growing rapidly and, day by day, additional tools are being added to make it more effective. This book endeavors to explain all the important aspects of Kibana, which is essential for utilizing its full potential. This book covers the core concepts of Kibana, with chapters set out in a coherent manner so that readers can advance their learning in a step-by-step manner. The focus is on a practical approach, thereby enabling the reader to apply those examples in real time for a better understanding of the concepts and to provide them with the correct skills in relation to the tool. With its succinct explanations, it is quite easy for a reader to use this book as a reference guide for learning basic to advanced implementations of Kibana. The practical examples, such as the creation of Kibana dashboards from CSV data, application RDBMS data, system metrics data, log file data, APM agents, and search results, can provide readers with a number of different drop-off points from where they can fetch any type of data into Kibana for the purpose of analysis or dashboarding. What you will learn * Explore how Logstash is configured to fetch CSV data * Understand how to create index patterns in Kibana * Become familiar with how to apply filters on data * Discover how to create ML jobs * Explore how to analyze APM data from APM agents * Get to grips with how to save, share, inspect, and edit visualizations * Understand how to find an anomaly in data Who this book is for Kibana 7 Quick Start Guide is for developers new to Kibana who want to learn the fundamentals of using the tool for visualization, as well as existing Elastic developers.
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.