IT eBooks
Download, Read, Use
Effective Software Testing
Effective Software Testing

Effective Software Testing teaches you a systematic approach to software testing that will ensure the quality of your code. It's full of techniques drawn from proven research in software engineering, and each chapter puts a new technique into practice. Follow the real-world use cases and detailed code samples, and you'll soon be engineering tests that find bugs in edge cases and parts of code you'd never think of testing! Along the way, you'll develop an intuition for testing that can save years of learning by trial and error. Effective testing ensures that you'll deliver quality software. For software engineers, testing is a key part of the development process. Mastering specification-based testing, boundary testing, structural testing, and other core strategies is essential to writing good tests and catching bugs before they hit production. Effective Software Testing is a hands-on guide to creating bug-free software. Written for developers, it guides you through all the differe ...
Linux Device Driver Development, 2nd Edition
Linux Device Driver Development, 2nd Edition

Linux is by far the most-used kernel on embedded systems. Thanks to its subsystems, the Linux kernel supports almost all of the application fields in the industrial world. This updated second edition of Linux Device Driver Development is a comprehensive introduction to the Linux kernel world and the different subsystems that it is made of, and will be useful for embedded developers from any discipline. You'll learn how to configure, tailor, and build the Linux kernel. Filled with real-world examples, the book covers each of the most-used subsystems in the embedded domains such as GPIO, direct memory access, interrupt management, and I2C/SPI device drivers. This book will show you how Linux abstracts each device from a hardware point of view and how a device is bound to its driver(s). You'll also see how interrupts are propagated in the system as the book covers the interrupt processing mechanisms in-depth and describes every kernel structure and API involved. This new edition also a ...
Test-Driven iOS Development with Swift, 4th Edition
Test-Driven iOS Development with Swift, 4th Edition

Test-driven development (TDD) is a proven way to find software bugs earlier on in software development. Writing tests before you code improves the structure and maintainability of your apps, and so using TDD in combination with Swift 5.5's improved syntax leaves you with no excuse for writing bad code. Developers working with iOS will be able to put their knowledge to work with this practical guide to TDD in iOS. This book will help you grasp the fundamentals and show you how to run TDD with Xcode. You'll learn how to test network code, navigate between different parts of the app, run asynchronous tests, and much more. Using practical, real-world examples, you'll begin with an overview of the TDD workflow and get to grips with unit testing concepts and code cycles. You'll then develop an entire iOS app using TDD while exploring different strategies for writing tests for models, view controllers, and networking code. Additionally, you'll explore how to test the user interface and bus ...
Computer Networks
Computer Networks

Computer Networks: A Systems Approach, Sixth Edition, explores the key principles of computer networking, using real world examples from network and protocol design. Using the Internet as the primary example, this best-selling classic textbook explains various protocols and networking technologies. The systems-oriented approach encourages students to think about how individual network components fit into a larger, complex system of interactions. This sixth edition contains completely updated content with expanded coverage of the topics of utmost importance to networking professionals and students, as provided by numerous contributors via a unique open source model developed jointly by the authors and publisher. Hallmark features of the book are retained, including chapter problem statements, which introduce issues to be examined; shaded sidebars that elaborate on a topic or introduce a related advanced topic; What's Next? discussions that deal with emerging issues in research, the c ...
Beginning Rust, 2nd Edition
Beginning Rust, 2nd Edition

Learn to program with Rust 2021 Edition, in an easy, step-by-step manner on Unix, the Linux shell, macOS, and the Windows command line. As you read this book, you'll build on the knowledge you gained in previous chapters and see what Rust has to offer. Beginning Rust starts with the basics of Rust, including how to name objects, control execution flow, and handle primitive types. You'll see how to do arithmetic, allocate memory, use iterators, and handle input/output. Once you have mastered these core skills, you'll work on handling errors and using the object-oriented features of Rust to build robust Rust applications in no time. Only a basic knowledge of programming is required, preferably in C or C++. To understand this book, it's enough to know what integers and floating-point numbers are, and to distinguish identifiers from string literals. After reading this book, you'll be ready to build Rust applications. ...
Practical AI for Healthcare Professionals
Practical AI for Healthcare Professionals

Artificial Intelligence (AI) is a buzzword in the healthcare sphere today. However, notions of what AI actually is and how it works are often not discussed. Furthermore, information on AI implementation is often tailored towards seasoned programmers rather than the healthcare professional/beginner coder. This book gives an introduction to practical AI in the medical sphere, focusing on real-life clinical problems, how to solve them with actual code, and how to evaluate the efficacy of those solutions. You'll start by learning how to diagnose problems as ones that can and cannot be solved with AI. You'll then learn the basics of computer science algorithms, neural networks, and when each should be applied. Then you'll tackle the essential parts of basic Python programming relevant to data processing and making AI programs. The Tensorflow/Keras library along with Numpy and Scikit-Learn are covered as well. Once you've mastered those basic computer science and programming concepts, you ...
Python Brain Teasers
Python Brain Teasers

We geeks love puzzles and solving them. The Python programming language is a simple one, but like all other languages it has quirks. This book uses those quirks as teaching opportunities via 30 simple Python programs that challenge your understanding of Python. The teasers will help you avoid mistakes, see gaps in your knowledge, and become better at what you do. Use these teasers to impress your co-workers or just to pass the time in those boring meetings. Teasers are fun! Here's how to approach the puzzles. Read through the code. Before moving on to the answer and the explanation, go ahead and guess the output. After guessing the output, run the code and see the output yourself. Finally proceed to read the solution and the explanation. The puzzles are short enough to solve on a coffee break, so carry them with you, have fun, and share them with co-workers. People who make mistakes during the learning process learn better than people who don't. If you use this approach at work w ...
Pandas Brain Teasers
Pandas Brain Teasers

This 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 ...
Portable Python Projects
Portable Python Projects

Discover easy ways to control your home with the powerful new Raspberry Pi hardware. Program short Python scripts that will detect changes in your home and react with the instructions you code. Use new add-on accessories to monitor a variety of measurements, from light intensity and temperature to motion detection and water leakage. Expand the base projects with your own custom additions to perfectly match your own home setup. Most projects in the book can be completed in under an hour, giving you more time to enjoy and tweak your autonomous creations. No breadboard or electronics knowledge required! Get to know the latest Raspberry Pi hardware, and create awesome automation solutions for home or work that don't require an electronics degree, cumbersome add-ons, or expensive third-party subscription services. Create easy-to-run Python scripts on your own that make your Pi do things that would have required a team of automation experts to build only a few years ago. Connect to and ...
Effective Remote Work
Effective Remote Work

The office isn't as essential as it used to be. Flexible working hours and distributed teams are replacing decades of on-site, open-plan office culture. Wherever you work from nowadays, your colleagues are likely to be somewhere else. No more whiteboards. No more water coolers. And certainly no Ping-Pong. So how can you organize yourself, ship software, communicate, and be impactful as part of a globally distributed workforce? We'll show you how. It's time to adopt a brand new mindset. Remote working is here to stay. Come and join us. Remote working is on the rise. Whether or not we are remote workers, it is likely we are all part of a global workforce. We need to learn to interact remotely, because we are all remote from someone in some way. Rather than simply simulating the way we'd usually work together via digital means, we have to learn new communication skills and adopt a different mindset in order to work remotely effectively, efficiently, and, most importantly, healthily. ...
← Prev       Next →
Reproduction of site books is authorized only for informative purposes and strictly for personal, private use.
Only Direct Download
IT eBooks Group © 2011-2025