Debugging with GDBThe GNU Debugger allows you to see what is going on "inside" a program while it executes - or what a program was doing at the moment it crashed. GDB supports C, C++, Java, Fortran and Assembly among other languages; it is also designed to work closely with the GNU Compiler Collection (GCC). The GNU Debugger Program has four special features that helps you catch bugs in the act: It starts your program for you, specifying anything that might affect it's behavior. Makes your program stop under specified conditions. Examines what happened when the program stopped. Allows you to experiment with changes to see what effect they have on the program. This book will show you: setting and clearing breakpoints examining the stack, source files and data examining the symbol table altering program execution specifying a target for debugging how to control the debugger how to use canned command sequences how to install GDB and much more! This manual is written for programmers. It is designed so someo ...
Beej's Guide to Network ProgrammingBack in the mid 90s, Beej got tired of all his friends asking him how to do this stuff with networking programming in C, so he put pen to paper on the early World Wide Web and wrote down everything he knew just to get them off his back. Since then, the Guide has expanded significantly, with plenty of examples, and covers IPv6. Inside you'll find such diverse topics as: Sockets programming in the C programming language, client/server, IPv4 and IPv6, data encoding, lots of manual pages rewritten in a friendlier format with examples, and goats! Actually no goats, but goats will be with you in spirit! ...
Elasticsearch 8.x Cookbook, 5th EditionElasticsearch is a Lucene-based distributed search engine at the heart of the Elastic Stack that allows you to index and search unstructured content with petabytes of data. With this updated fifth edition, you'll cover comprehensive recipes relating to what's new in Elasticsearch 8.x and see how to create and run complex queries and analytics.
The recipes will guide you through performing index mapping, aggregation, working with queries, and scripting using Elasticsearch. You'll focus on numerous solutions and quick techniques for performing both common and uncommon tasks such as deploying Elasticsearch nodes, using the ingest module, working with X-Pack, and creating different visualizations. As you advance, you'll learn how to manage various clusters, restore data, and install Kibana to monitor a cluster and extend it using a variety of plugins. Furthermore, you'll understand how to integrate your Java, Scala, Python, and big data applications such as Apache Spark and Pig with Ela ...
C++20 STL CookbookFast, efficient, and flexible, the C++ programming language has come a long way and is used in every area of the industry to solve many problems. The latest version C++20 will see programmers change the way they code as it brings a whole array of features enabling the quick deployment of applications. This book will get you up and running with using the STL in the best way possible.
Beginning with new language features in C++20, this book will help you understand the language's mechanics and library features and offer insights into how they work. Unlike other books, the C++20 STL Cookbook takes an implementation-specific, problem-solution approach that will help you overcome hurdles quickly. You'll learn core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more, while working on real-world recipes. This book is a reference guide for using the C++ STL with its latest capabilities and exploring the cutting-edge features in functional p ...
Developing High-Frequency Trading SystemsThe world of trading markets is complex, but it can be made easier with technology. Sure, you know how to code, but where do you start? What programming language do you use? How do you solve the problem of latency? This book answers all these questions. It will help you navigate the world of algorithmic trading and show you how to build a high-frequency trading (HFT) system from complex technological components, supported by accurate data.
Starting off with an introduction to HFT, exchanges, and the critical components of a trading system, this book quickly moves on to the nitty-gritty of optimizing hardware and your operating system for low-latency trading, such as bypassing the kernel, memory allocation, and the danger of context switching. Monitoring your system's performance is vital, so you'll also focus on logging and statistics. As you move beyond the traditional HFT programming languages, such as C++ and Java, you'll learn how to use Python to achieve high levels of performa ...
Advanced Analytics with PySparkThe amount of data being generated today is staggering and growing. Apache Spark has emerged as the de facto tool to analyze big data and is now a critical part of the data science toolbox. Updated for Spark 3.0, this practical guide brings together Spark, statistical methods, and real-world datasets to teach you how to approach analytics problems using PySpark, Spark's Python API, and other best practices in Spark programming.
Data scientists Akash Tandon, Sandy Ryza, Uri Laserson, Sean Owen, and Josh Wills offer an introduction to the Spark ecosystem, then dive into patterns that apply common techniques-including classification, clustering, collaborative filtering, and anomaly detection, to fields such as genomics, security, and finance. This updated edition also covers NLP and image processing.
If you have a basic understanding of machine learning and statistics and you program in Python, this book will get you started with large-scale data analysis.
Familiarize yourself wi ...
Q# Pocket GuideReady to build quantum computing applications using Q# and the Microsoft Quantum Development Kit? This is the book for you. Q# is a domain-specific language for expressing quantum algorithms that combines familiar "classical" language constructs with quantum-specific ones. Ideal for any developer familiar with (or willing to learn) the basics of quantum computing and looking to get started with quantum programming, this pocket guide quickly helps you find syntax and usage information for unfamiliar aspects of Q#.
You'll explore the quantum software development lifecycle from implementing the program to running it on quantum simulators to testing and debugging it. You'll learn to use the tools provided by Microsoft's Quantum Development Kit for each step of the process.
You'll explore: Q# language details, including data types, statements, and operators; Guidelines for organizing Q# code and invoking it from different environments; Information on simulators and tools in the Micros ...
Programming for Computations - MATLAB/OctaveThis book presents computer programming as a key method for solving mathematical problems. There are two versions of the book, one for MATLAB and one for Python. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style is more accessible and concise, in keeping with the needs of engineering students. The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows the students to write simple programs for solving common mathematical problems with numerical methods in engineering and science courses. The emphasis is on generic algorithms, clean design of programs, use of functions, and automatic tests for verification. ...
Retro Gaming with Raspberry Pi, 2nd EditionDiscover how to set up Raspberry Pi to play classic games in the brand new version of our retro gaming guide. In this 164-page book, you'll learn how to build a portable games machine, assemble a full-sized arcade cabinet, and emulate classic computers and consoles. Our step-by-step guides make each build easy! Plus you'll even learn to program your own versions of classic arcade games using Python and Pygame.
Inside Retro Gaming with Raspberry Pi:
- Set up Raspberry Pi for retro gaming;
- Emulate classic computers and consoles;
- Learn to program retro-style games;
- Build a portable console, arcade cabinet, and pinball machine;
- And much, much more! ...
Introduction to Windows ContainersWith the introduction of container support in Windows Server 2016, we open a world of opportunities that takes traditional monolithic applications on a journey to modernize them for better agility. Containers are a stepping stone that can help IT organizations understand what key items in modern IT environments, such as DevOps, Agile, Scrum, Infrastructure as Code, Continuous Integration, and Continuous Deployment, to name just a few, can do and how these organizations can adopt all of these elements and more to their enterprises.
As a result of Microsoft's strong strategic partnership with Docker - the de facto standard in container management software - enterprises can minimize the time required to onboard and run Windows Containers. Docker presents a single API surface and standardizes tooling for working across public and private container solutions as well as Linux and Windows Container deployments.
This is the next phase in IT evolution in which a direct replatform of code ...