Pandas Brain TeasersThis book contains 25 short programs that will challenge your understanding of Pandas. Like any big project, the Pandas developers had to make some design decisions that at times seem surprising. This book uses those quirks as a teaching opportunity. By understanding the gaps in your knowledge, you'll become better at what you do. Some of the teasers are from the author's experience shipping bugs to production, and some from others doing the same. Teasers and puzzles are fun, and learning how to solve them can teach you to avoid programming mistakes and maybe even impress your colleagues and future employers.
Working with data is central to nearly everything we do, from disease contact tracing and analyzing health records to smart meters that track utility consumption behavior. With the power of Python's pandas library, you can process and analyze this data in a highly efficient and simple-to-understand way. And with 25 brain teasers designed to turn this technology's quirks into a ...
Rust Brain TeasersThe Rust programming language is consistent and does its best to avoid surprising the programmer. Like all languages, though, Rust still has its quirks. But these quirks present a teaching opportunity. In this book, you'll work through a series of brain teasers that will challenge your understanding of Rust. By understanding the gaps in your knowledge, you can become better at what you do and avoid mistakes. Many of the teasers in this book come from the author's own experience creating software. Others derive from commonly asked questions in the Rust community. Regardless of their origin, these brain teasers are fun, and let's face it: who doesn't love a good puzzle, right?
What better way to exercise your brain and increase your Rust programming knowledge than with a collection of dynamic brain teasers? As you read through each of these puzzles and try to work out the answers, you'll not only learn about Rust's unique quirks and peculiarities, you'll also have loads of fun along t ...
Build a Weather Station with Elixir and NervesThe Elixir programming language has become a go-to tool for creating reliable, fault-tolerant, and robust server-side applications. Thanks to Nerves, those same exact benefits can be realized in embedded applications. This book will teach you how to structure, build, and deploy production grade Nerves applications to network-enabled devices. The weather station sensor hub project that you will be embarking upon will show you how to create a full stack IoT solution in record time. You will build everything from the embedded Nerves device to the Phoenix backend and even the Grafana time-series data visualizations.
Elixir as a programming language has found its way into many different software domains, largely in part to the rock-solid foundation of the Erlang virtual machine. Thanks to the Nerves framework, Elixir has also found success in the world of embedded systems and IoT. Having access to all of the Elixir and OTP constructs such as concurrency, supervision, and immutability mak ...
Python Testing with pytest, 2nd EditionTest applications, packages, and libraries large and small with pytest, Python's most powerful testing framework. pytest helps you write tests quickly and keep them readable and maintainable. In this fully revised edition, explore pytest's superpowers - simple asserts, fixtures, parametrization, markers, and plugins - while creating simple tests and test suites against a small database application. Using a robust yet simple fixture model, it's just as easy to write small tests with pytest as it is to scale up to complex functional testing. This book shows you how.
pytest is undeniably the best choice for testing Python projects. It's a full-featured, flexible, and extensible testing framework. pytest's fixture model allows you to share test data and setup procedures across multiple layers of tests. The pytest framework gives you powerful features such as assert rewriting, parametrization, markers, plugins, parallel test execution, and clear test failure reporting - with no boilerpla ...
Powerful Command-Line Applications in GoWrite your own fast, reliable, and cross-platform command-line tools with the Go programming language. Go might be the fastest - and perhaps the most fun - way to automate tasks, analyze data, parse logs, talk to network services, or address other systems requirements. Create all kinds of command-line tools that work with files, connect to services, and manage external processes, all while using tests and benchmarks to ensure your programs are fast and correct.
Go is a modern programming language that combines the reliability of compiled languages with the ease of use and flexibility of dynamic typed languages. With Go, you can develop cross-platform command-line tools that are fast and reliable. Work through practical examples to develop elegant and efficient tools by applying Go's rich standard library, its built-in support for concurrency, and its expressive syntax. Use Go's integrated testing capabilities to automatically test your tools, ensuring they work reliably, even across ...
Professional Scrum Development with Azure DevOpsThis guide can help any development team plan, track, and manage work far more effectively, by combining today's leading agile framework (Scrum) and Microsoft's ALM/DevOps toolset (Azure DevOps). Renowned Scrum expert Richard Hundhausen thoroughly covers team formation, backlogs, Sprints, test plans, collaboration, flow, continuous improvement, Azure Boards, Azure Test Plans, and the real-world tradeoffs associated with DevOps. Throughout, you'll find practical, in-the-trenches tips from experienced Professional Scrum Developers. To make this guide even more valuable, Hundhausen has organized it to complement Scrum.org's popular Professional Scrum Developer (PSD) program, which he created with Scrum.org's Ken Schwaber, author of this book's Foreword.
Professional Scrum Trainer Richard Hundhausen shows how to: Deepen your understanding of the Scrum framework and Professional Scrum as based on the 2020 Scrum Guide; Provide proven work item planning and tracking, and quickly drive valu ...
Programming ML.NETML.NET brings the power of machine learning to all .NET developers and Programming ML.NET helps you apply it in real production solutions. Modeled on Dino Espositos best-selling Programming ASP.NET, this book takes the same scenario-based approach Microsofts team used to build ML.NET itself. After a foundational overview of ML.NETs libraries, the authors illuminate mini-frameworks (ML Tasks) for regression, classification, ranking, anomaly detection, and more. For each ML Task, they offer insights for overcoming common real-world challenges. Finally, going far beyond shallow learning, the authors thoroughly introduce ML.NET neural networking. They present a complete example application demonstrating advanced Microsoft Azure cognitive services and a handmade custom Keras network showing how to leverage popular Python tools within .NET.
14-time Microsoft MVP Dino Esposito and son Francesco Esposito show how to: Build smarter machine learning solutions that are closer to your users nee ...
Cryptography and Cryptanalysis in JavaHere is your in-depth guide to cryptography and cryptanalysis in Java. This book includes challenging cryptographic solutions that are implemented in Java 17 and Jakarta EE 10. It provides a robust introduction to Java 17's new features and updates, a roadmap for Jakarta EE 10 security mechanisms, a unique presentation of the "hot points" (advantages and disadvantages) from the Java Cryptography Architecture (JCA), and more.
The book dives into the classical simple cryptosystems that form the basis of modern cryptography, with fully working solutions (encryption/decryption operations). Pseudo-random generators are discussed as well as real-life implementations. Hash functions are covered along with practical cryptanalysis methods and attacks, asymmetric and symmetric encryption systems, signature and identification schemes.
The book wraps up with a presentation of lattice-based cryptography and the NTRU framework library. Modern encryption schemes for cloud and big data environme ...
Spring Data Programming CookbookSpring Data's mission is to provide a familiar and consistent, Spring-based programming model for data access while still retaining the special traits of the underlying data store.
It makes it easy to use data access technologies, relational and non-relational databases, map-reduce frameworks, and cloud-based data services. This is an umbrella project which contains many subprojects that are specific to a given database. The projects are developed by working together with many of the companies and developers that are behind these exciting technologies.
In this open book, we provide a compilation of Spring Data examples that will help you kick-start your own projects. We cover a wide range of topics, from setting up the environment and creating a basic project, to handling the various modules (e.g. JPA, MongoDB, Redis etc.). With our straightforward tutorials, you will be able to get your own projects up and running in minimum time. ...
Python for CybersecurityPython For Cybersecurity: Using Python for Cyber Offense and Defense delivers an intuitive and hands-on explanation of using Python for cybersecurity. It relies on the MITRE ATT&CK framework to structure its exploration of cyberattack techniques, attack defenses, and the key cybersecurity challenges facing network administrators and other stakeholders today.
Offering downloadable sample code, the book is written to help you discover how to use Python in a wide variety of cybersecurity situations, including: Reconnaissance, resource development, initial access, and execution; Persistence, privilege escalation, defense evasion, and credential access; Discovery, lateral movement, collection, and command and control; Exfiltration and impact.
Each chapter includes discussions of several techniques and sub-techniques that could be used to achieve an attacker's objectives in any of these use cases. The ideal resource for anyone with a professional or personal interest in cybersecurity, ...