Since its initial debut in 2015, this critically acclaimed quick-start guide to programming has taught millions of people all over the world to write clean code, solve problems, and build custom applications in the popular language of Python. The highly anticipated third edition of Python Crash Course has been completely revised with updated code, practices, and projects-making it the ultimate launchpad for beginners to start their engines and code in Python 3!
If you work with embedded systems, you're bound to encounter the ubiquitous Inter-Integrated Circuit bus (IIC, I2C, or I2C) - a serial protocol for connecting integrated circuits in a computer system. In The Book of I2C, the first comprehensive guide to this bus, bestselling author Randall Hyde draws on 40 years of industry experience to get you started designing and programming I2C systems.
Containers ensure that software runs reliably no matter where it's deployed, and Kubernetes lets you manage all of your containers from a single control plane. In this comprehensive tour of the open-source platform, each chapter includes a set of example scripts with just enough automation to start your container exploration with ease. Beginning with an overview of modern architecture and the benefits of orchestration, you'll quickly learn how to create containers; how to deploy, administer and debug Kubernetes clusters all the way down to the OS.
A swift and practical introduction to building interactive data visualization apps in Python, known as dashboards. You've seen dashboards before; think election result visualizations you can update in real time, or population maps you can filter by demographic. With the Python Dash library you'll create analytic dashboards that present data in effective, usable, elegant ways in just a few lines of code. A swift and practical introduction to building interactive data visualization apps in Python, known as dashboards
AVR Workshop is a comprehensive introduction to working with the Microchip AVR 8-bit family of microcontrollers - made famous through their use in Arduino and other compatible boards. Whether you're an absolute beginner or longtime electronics enthusiast, this book gives you the latest coding and hardware knowledge required to build over 55 projects. After the author guides you through the basic C programming skills you need to work directly with ATmega328P-PU and ATtiny85 microcontrollers, your operation will be up and running. You'll go from building blinking LEDs and handling various types of user input, to creating real-time clocks, digital thermometers, and even controlling small, motorised devices.
This accessible and entertaining book provides an in-depth introduction to computational thinking through the lens of data structures a critical component in any programming endeavour. You'll learn how to work with more than 15 key data structures, from arrays, stacks, and queues, to caches, bloom filters, skip lists, and graphs. You'll also master linked lists by virtually standing in line at a cafe, hash tables by cataloguing the history of the summer Olympics, and QuadTrees by neatly organizing your kitchen cabinets, all while becoming familiar with basic computer science concepts, like recursion and running time analysis.
Python for Kids brings Python to life and brings kids (and their parents) into the wonderful world of programming. Author Jason R. Briggs guides readers through the basics, experimenting with unique (and often hilarious) example programs that feature ravenous monsters, secret agents, thieving ravens, and more. Full-colour illustrations keep things fun and engaging throughout! This second edition has been completely updated and revised to reflect the latest Python version and programming practices, with new puzzles to inspire readers to take their code farther than ever before.
Doing Science With Python introduces readers to the most popular coding tools for scientific research, such as Anaconda, Spyder, Jupyter Notebooks, and JupyterLab, as well as dozens of important Python libraries for working with data, including NumPy, matplotlib, and pandas. No prior programming experience is required! You'll be guided through setting up a professional coding environment, then get a crash course on programming with Python, and explore the many tools and libraries ideal for working with data, designing visualisations, simulating natural events, and more.
You've just gotten a LEGO robotics kit. Now what? Getting Started with LEGO Robotics teaches you everything you need to know to go from beginner to proficient robotics engineer, using examples compatible with the LEGO MINDSTORMS Robot Inventor and SPIKE Prime sets. You'll be making interactive games, competition-ready autonomous vehicles, and practical inventions like motorized grabbers and recycling sorters in no time. Loads of challenges and open-ended projects will inspire you to try out what you've learned.
This is a crash course in the hard and soft components of any computer system. In introductory-level computer science classes, it'll guide readers to understand computers at various layers of abstraction. Early chapters begin with the basics of the C programming language and the inner workings of operating systems. Later, how to optimize code for various architectures, how memory management works in multi-core CPUs and much more is also covered. Accessible and easy to follow, this book uses images and exercises to break down these complex topics.
This book is an easy-to-follow series of tutorials that will lead readers through different facets of protecting household or small-business networks from cyber attacks. You'll learn how to use pfSense to build a firewall, lock down wireless, segment a network into protected zones, configure a VPN (virtual private network) to hide and encrypt network traffic and communications, set up proxies to speed up network performance and hide the source of traffic, block ads, install and configure an antivirus, back up your data securely, and even how to monitor your network for unauthorized activity and alert you to intrusion.
A lightning-fast guide to Python for programmers who already know the basics.
Python is an ideal choice for accessing, manipulating, and gaining insights from data of all kinds. Python for Data Science introduces you to the Pythonic world of data analysis with a learn-by-doing approach rooted in practical examples and hands-on activities. You'll learn how to write Python code to obtain, transform, and analyse data, practicing state-of-the-art data processing techniques for use cases in business management, marketing, and decision support.
Our phones, computers, and appliances are made of hundreds of internal components, each precisely engineered, but none intended to be seen. Through painstakingly executed, vividly detailed cross-section photography, Open Circuits reveals the surprising beauty hiding inside the electronic components that drive our everyday devices. From resistors to LEDs, USB cables to headphone jacks, the book's arresting imagery transforms more than 130 components into delightful works of art. As you visually dissect the components' insides, you'll learn about how they work and how they were made.
Explore the wonderful, wild, and often weird world of esoteric programming languages. Beginning with the history and theory of programming languages, addressing concepts like Turing machines and Turing completeness. Then a tour of three 'atypical' programming languages, real languages that are unusual and require out of the box thinking. Then, five chapters on existing esoteric languages (esolangs). Finally, the remaining chapters detail the development and use of two entirely new programming languages.
Recursion, and recursive algorithms, have a reputation for being intimidating. But there's nothing magical about recursion. Its fearsome reputation is more a product of poor teaching than of the complexity of recursion itself. This book teaches the basics of recursion, exposes the ways it's often poorly taught, and clarifies the fundamental principles behind all recursive algorithms. It is project-based, containing complete, runnable programs in both Python and JavaScript, and covers several recursive algorithms for common tasks.
This revised and expanded second edition of the bestselling The Game Console contains brand new content, with coverage of 50 more consoles, variants, and accessories in 50 added pages. The Game Console 2.0 is a gorgeous coffee table book for geeks and gamers that brings together highly detailed photos of more than 100 video game consoles and their electronic interiors spanning nearly five decades.
Second edition of the best-selling Practical SQL. An approachable guide to programming in SQL (Structured Query Language) that will teach even beginning programmers how to build powerful databases and analyze data to find meaningful information.
A fast-paced, no-nonsense guide to programming in Python.
In 2004, Android was two people who wanted to build camera software but couldn't get investors interested. Today, Android is a large team at Google, delivering an operating system (including camera software) to over 3 billion devices worldwide. This is the inside story, told by the people who made it happen. This is a first-hand chronological account of how the start-up began, how the team came together, and how they all built an operating system from the kernel level to its applications and everything in between.
You'll learn how REST and GraphQL APIs work in the wild and set up a streamlined API testing lab with Burp Suite and Postman. Then you'll master tools useful for reconnaissance, endpoint analysis, and fuzzing, such as Kiterunner. Next, you'll learn to perform common attacks, like those targeting an API's authentication mechanisms and the injection vulnerabilities commonly found in web applications. You'll also learn techniques for bypassing protections against these attacks so that you can uncover API bugs other hackers aren't finding and improve the security of applications on the web.
This book introduces fundamental concepts software developers need to know to flourish in a modern DevOps environment including infrastructure as code, configuration management, security, containerization and orchestration, monitoring and alerting, and troubleshooting. Readers will follow along with hands-on examples to learn how to tackle common DevOps tasks.
Most software developers waste thousands of hours working with overly complex code. The eight core principles in The Art of Clean Coding will teach you how to write clear, maintainable code without compromising functionality. The book's guiding principle is simplicity: reduce and simplify, then reinvest energy in the important parts to save you countless hours and ease the often-onerous task of code maintenance. Bestselling author Christian Mayer leverages his experience helping thousands perfect their coding skills in this new book.
Today, companies find themselves targeted by sophisticated nation state cyber attackers armed with the resources to craft scarily effective campaigns. This book is a detailed guide to understanding the major players, the techniques they use, and the process of analysing their advanced attacks. Whether you're an individual researcher or part of a team within a Security Operations Center (SoC), you'll learn to approach, track, and attribute attacks to these advanced actors. Jon DiMaggio demonstrates some of the techniques he has employed to uncover crucial information about the 2021 Colonial Pipeline attacks, among others.