Network Programming with Go Language, 2nd EditionDive into key topics in network architecture implemented with the Google-backed open source Go programming language. Networking topics such as data serialization, application level protocols, character sets and encodings are discussed and demonstrated in Go. This book has been updated to the Go version 1.18 which includes modules, generics, and fuzzing along with updated and additional examples.
Beyond the fundamentals, Network Programming with Go, Second Edition covers key networking and security issues such as HTTP protocol changes, validation and templates, remote procedure call (RPC) and REST comparison, and more. Additionally, authors Ronald Petty and Jan Newmarch guide you in building and connecting to a complete web server based on Go. Along the way, use of a Go web toolkit (Gorilla) will be employed.
This book can serve as both an essential learning guide and reference on networking concepts and implementation in Go. Free source code is available on Github for this book u ...
Embracing Modern C++ SafelyEmbracing Modern C++ Safely shows you how to make effective use of the new and enhanced language features of modern C++ without falling victim to their potential pitfalls.
Based on their years of experience with large, mission-critical projects, four leading C++ authorities divide C++11/14 language features into three categories: Safe, Conditionally Safe, and Unsafe. Safe features offer compelling value, are easy to use productively, and are relatively difficult to misuse. Conditionally Safe features offer significant value but come with risks that require significant expertise and familiarity before use. Unsafe features have an especially poor risk/reward ratio, are easy to misuse, and are beneficial in only the most specialized circumstances.
This book distills the C++ community's years of experience applying C++11 and C++14 features and will help you make effective and safe design decisions that reflect real-world, economic engineering tradeoffs in large-scale, diverse softwar ...
A Network Architect's Guide to 5GAs 5G transforms mobile usage and services, network professionals will need to significantly evolve their transport network architectures towards greater sophistication and stronger integration with radio networks, and facilitate transition towards cloud-native 5G mobile core. Until now, however, most 5G guides have foregrounded RF/radio and mobile core innovations, not its implications for data networks. A Network Architects Guide to 5G fills the gap, giving network architects, designers, and engineers essential knowledge for designing and planning their own 5G networks.
Drawing on decades of experience with global service providers and enterprise networks, the authors illuminate new and evolving network technologies necessary for building 5G-capable networks, such as segment routing, network slicing, timing and synchronization, edge computing, distributed data centers, integration with public cloud, and more. They explain how 5G blurs boundaries between mobile core, radio access, ...
Learn Enough Developer Tools to Be DangerousThree of the core tools needed for modern software development are the Unix command line, a text editor, and version control with Git. But you don't need to learn "everything" about them, just how to use them efficiently to solve real problems. In Learn Enough Developer Tools to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need so you can learn to write apps, get hired, collaborate, and maybe even launch your own company.
Even if you've never used (or even heard of) these tools before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Focused exercises help you internalize what matters, without wasting time on details pros don't care about. Soon, it'll be like you were born knowing this stuff-and youll be suddenly, seriously dangerous.
Learn enough about: Running a terminal, entering and editing commands, and using man pages; Manipulating and inspecting files: from basic cop ...
Learn Enough JavaScript to Be DangerousJavaScript plays a key role in modern software development, not only because it is the only language that runs inside virtually all web browsers, but also because it has become widely used for back-end and general-purpose development as well. Although JavaScript is a big language, you don't need to learn "everything" about it to get started, just how to use it efficiently to solve real problems. In Learn Enough JavaScript to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need to be professionally productive.
Even if you've never programmed before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Treating JavaScript as a general-purpose language right from the start, Hartl offers examples for creating dynamic effects in browsers and for writing scripts and modules using Node.js. Focused exercises help you internalize what matters, without wasting time on details pros don't care a ...
Becoming an Enterprise Django DeveloperDjango is a powerful framework but choosing the right add-ons that match the scale and scope of your enterprise projects can be tricky. This book will help you explore the multifarious options available for enterprise Django development. Countless organizations are already using Django and more migrating to it, unleashing the power of Python with many different packages and dependencies, including AI technologies.
This practical guide will help you understand practices, blueprints, and design decisions to put Django to work the way you want it to. You'll learn various ways in which data can be rendered onto a page and discover the power of Django for large-scale production applications. Starting with the basics of getting an enterprise project up and running, you'll get to grips with maintaining the project throughout its lifecycle while learning what the Django application lifecycle is.
By the end of this book, you'll have learned how to build and deploy a Django project to the ...
In-Memory Analytics with Apache ArrowApache Arrow is designed to accelerate analytics and allow the exchange of data across big data systems easily.
In-Memory Analytics with Apache Arrow begins with a quick overview of the Apache Arrow format, before moving on to helping you to understand Arrow's versatility and benefits as you walk through a variety of real-world use cases. You'll cover key tasks such as enhancing data science workflows with Arrow, using Arrow and Apache Parquet with Apache Spark and Jupyter for better performance and hassle-free data translation, as well as working with Perspective, an open source interactive graphical and tabular analysis tool for browsers. As you advance, you'll explore the different data interchange and storage formats and become well-versed with the relationships between Arrow, Parquet, Feather, Protobuf, Flatbuffers, JSON, and CSV. In addition to understanding the basic structure of the Arrow Flight and Flight SQL protocols, you'll learn about Dremio's usage of Apache Arrow to e ...
Time Series Analysis with Python CookbookTime series data is everywhere, available at a high frequency and volume. It is complex and can contain noise, irregularities, and multiple patterns, making it crucial to be well-versed with the techniques covered in this book for data preparation, analysis, and forecasting.
This book covers practical techniques for working with time series data, starting with ingesting time series data from various sources and formats, whether in private cloud storage, relational databases, non-relational databases, or specialized time series databases such as InfluxDB. Next, you'll learn strategies for handling missing data, dealing with time zones and custom business days, and detecting anomalies using intuitive statistical methods, followed by more advanced unsupervised ML models. The book will also explore forecasting using classical statistical models such as Holt-Winters, SARIMA, and VAR. The recipes will present practical techniques for handling non-stationary data, using power transforms, A ...
DevOps in Python, 2nd EditionTake advantage of Python to automate complex systems with readable code. This new edition will help you move from operations/system administration into easy-to-learn coding.
You'll start by writing command-line scripts and automating simple DevOps-style tasks followed by creating reliable and fast unit tests designed to avoid incidents caused by buggy automation. You'll then move on to more advanced cases, like using Jupyter as an auditable remote-control panel and writing Ansible and Salt extensions.
The updated information in this book covers best practices for deploying and updating Python applications. This includes Docker, modern Python packaging, and internal Python package repositories. You'll also see how to use the AWS API, and the Kubernetes API, and how to automate Docker container image building and running. Finally, you'll work with Terraform from Python to allow more flexible templating and customization of environments. ...
Getting Started with Open Source TechnologiesUsing real life examples, learn how open source projects are consumed and explore the nuances within different industries in adopting open source technologies.
After gaining a basic understanding of open source and open standards, understand how licensing helps turn community code into an enterprise worthy component. It also helps you understand future governance of the open source software. Once in effect, continuous security becomes a challenge for open source components so we'll examine its ongoing security aspects.
This book will also cover different open source domains and industries and discuss how an enterprise can transform itself by applying key open source principles. In the end Getting Started with Open Source Technologies will provide a 360-degree view of open source and show you how to apply it. ...