Programming Android with KotlinDeveloping applications for the Android mobile operating system can seem daunting, particularly if it requires learning a new programming language: Kotlin, now Androidâ??s officialdevelopment language. With this practical book, Android developers will learn how to make the transition from Java to Kotlin, including how Kotlin provides a true advantage for gaining control over asynchronous computations.
Authors Pierre-Olivier Laurence, Amanda Hinchman-Dominguez, G. Blake Meike, and Mike Dunn explore implementations of the most common tasks in native Android development, and show you how Kotlin can help you solve concurrency problems. With a focus on structured concurrency, a new asynchronous programming paradigm, this book will guide you through one of Kotlin's most powerful constructs, coroutines.
Learn about Kotlin essentials and the Kotlin Collections Framework; Explore Android fundamentals: the operating system and the application container and its components; Learn about thre ...
Ethical HackingEthical Hacking is a crash course in modern hacking techniques. It's already being used to prepare the next generation of offensive security experts. In its many hands-on labs, you'll explore crucial skills for any aspiring penetration tester, security researcher, or malware analyst.
You'll begin with the basics: capturing a victim's network traffic with an ARP spoofing attack and then viewing it in Wireshark. From there, you'll deploy reverse shells that let you remotely run commands on a victim's computer, encrypt files by writing your own ransomware in Python, and fake emails like the ones used in phishing attacks. In advanced chapters, you'll learn how to fuzz for new vulnerabilities, craft trojans and rootkits, exploit websites with SQL injection, and escalate your privileges to extract credentials, which you'll use to traverse a private network.
You'll work with a wide range of professional penetration testing tools - and learn to write your own tools in Python - as you pra ...
Pro Microservices in .NET 6Know the fundamentals of creating and deploying microservices using .NET 6 and gain insight from prescriptive guidance in this book on the when and why to incorporate them.
The microservices architecture is a way of distributing process workloads to independent applications. This distribution allows for the independent applications to scale and evolve separately. It also enables developers to dismantle large applications into smaller, easier-to-maintain, scalable parts. While the return is valuable and the concept straightforward, applying it to an application is far more complicated. Where do you start? How do you find the optimal dividing point for your app, and strategically, how should your app be parceled out into separate services?
Pro Microservices in .NET 6 will introduce you to all that and more. The authors get you started with an overview of microservices, .NET 6, event storming, and domain-driven design. You will use that foundational information to build a reference ...
Build Your Own 2D Game Engine and Create Great Web Games, 2nd EditionDevelop a 2D game engine that will give you the experience and core understanding of foundational concepts for building complex and fun 2D games that can be played across the Internet via popular web browsers. This book is organized so that the chapters follow logical steps of building a game engine and integrates concepts accordingly.
Build Your Own 2D Game Engine and Create Great Web Games isolates and presents relevant concepts from software engineering, computer graphics, mathematics, physics, game development and game design in the context of building a 2D game engine from scratch. In this edition, all the code is based on updated versions of JavaScript with HTML5 and WebGL2: you will analyze the source code needed to create a game engine that is suitable for implementing typical casual 2D videogames. You will also learn about physics and particle system. The discussion of physics component includes rotations and popular physical materials such as wood, mud, and ice. The discus ...
Pro Data Visualization Using R and JavaScript, 2nd EditionUse R 4, RStudio, Tidyverse, and Shiny to interrogate and analyze your data, and then use the D3 JavaScript library to format and display that data in an elegant, informative, and interactive way. You will learn how to gather data effectively, and also how to understand the philosophy and implementation of each type of chart, so as to be able to represent the results visually.
With the popularity of the R language, the art and practice of creating data visualizations is no longer the preserve of mathematicians, statisticians, or cartographers. As technology leaders, we can gather metrics around what we do and use data visualizations to communicate that information. Pro Data Visualization Using R and JavaScript combines the power of the R language with the simplicity and familiarity of JavaScript to display clear and informative data visualizations.
Gathering and analyzing empirical data is the key to truly understanding anything. We can track operational metrics to quantify the h ...
Cloud Native DevOps with KubernetesKubernetes has become the operating system of today's cloud native world, providing a reliable and scalable platform for running containerized workloads. In this friendly, pragmatic book, cloud experts Justin Domingus and John Arundel show you what Kubernetes can do-and what you can do with it.
This updated second edition guides you through the growing Kubernetes ecosystem and provides practical solutions to everyday problems with software tools currently in use. You'll walk through an example containerized application running in Kubernetes step-by-step, from the development environment through the continuous deployment pipeline, exploring patterns you can use for your own applications. Make your development teams lean, fast, and effective by adopting Kubernetes and DevOps principles.
- Understand containers and Kubernetes-no experience necessary;
- Run your own applications on managed cloud Kubernetes services or on-prem environments;
- Design your own cloud native services an ...
The Hardware Hacking HandbookEmbedded devices are chip-size microcomputers small enough to be included in the structure of the object they control, and they're everywhere - in phones, cars, credit cards, laptops, medical equipment, even critical infrastructure. This means understanding their security is critical. The Hardware Hacking Handbook takes you deep inside different types of embedded systems, revealing the designs, components, security limits, and reverse-engineering challenges you need to know for executing effective hardware attacks.
Written with wit and infused with hands-on lab experiments, this handbook puts you in the role of an attacker interested in breaking security to do good. Starting with a crash course on the architecture of embedded devices, threat modeling, and attack trees, you'll go on to explore hardware interfaces, ports and communication protocols, electrical signaling, tips for analyzing firmware images, and more. Along the way, you'll use a home testing lab to perform fault-injecti ...
Machine Learning with PyTorch and Scikit-LearnMachine Learning with PyTorch and Scikit-Learn is a comprehensive guide to machine learning and deep learning with PyTorch. It acts as both a step-by-step tutorial and a reference you'll keep coming back to as you build your machine learning systems.
Packed with clear explanations, visualizations, and examples, the book covers all the essential machine learning techniques in depth. While some books teach you only to follow instructions, with this machine learning book, we teach the principles allowing you to build models and applications for yourself.
Why PyTorch?
PyTorch is the Pythonic way to learn machine learning, making it easier to learn and simpler to code with. This book explains the essential parts of PyTorch and how to create models using popular libraries, such as PyTorch Lightning and PyTorch Geometric.
You will also learn about generative adversarial networks (GANs) for generating new data and training intelligent agents with reinforcement learning. Finally, th ...
Full Stack Development with Angular and GraphQLAngular is one of the most popular JavaScript frameworks in modern web app development allowing developers to not only build apps and reuse the code but also develop apps for any deployment target. For web, mobile web, native mobile, and native desktop, GraphQL is the modern and REST alternative for querying web APIs. Using Angular, TypeScript and GraphQL will give you a future-proof and scalable stack you can start building apps around.
This book shows you how to build apps using cutting-edge technologies. You'll learn how to solve common web development problems with GraphQL and Apollo, such as database access, authentication, and image uploads.
The book starts by introducing you to building full stack apps with Angular and GraphQL. Next, you'll learn how to create a monorepo project with Lerna and NPM Workspaces and configure a Node.js app to use GraphQL with Express and Apollo Server. You'll also understand the basics of Angular architecture and routing. Later, the book demon ...
Learning DevOps, 2nd EditionIn the implementation of DevOps processes, the choice of tools is crucial to the sustainability of projects and collaboration between developers and ops. This book presents the different patterns and tools for provisioning and configuring an infrastructure in the cloud, covering mostly open source tools with a large community contribution, such as Terraform, Ansible, and Packer, which are assets for automation.
This DevOps book will show you how to containerize your applications with Docker and Kubernetes and walk you through the construction of DevOps pipelines in Jenkins as well as Azure pipelines before covering the tools and importance of testing. You'll find a complete chapter on DevOps practices and tooling for open source projects before getting to grips with security integration in DevOps using Inspec, Hashicorp Vault, and Azure Secure DevOps kit. You'll also learn about the reduction of downtime with blue-green deployment and feature flags techniques before finally covering ...