Concurrency in .NETUnlock the incredible performance built into your multi-processor machines. Concurrent applications run faster because they spread work across processor cores, performing several tasks at the same time. Modern tools and techniques on the .NET platform, including parallel LINQ, functional programming asynchronous programming and the Task Parallel Library, offer powerful alternatives to traditional thread-based concurrency.
Concurrency in .NET teaches you to write code that delivers the speed you need for performance-sensitive applications. Featuring examples in both C# and F#, this book guides you through concurrent and parallel designs that emphasize functional programming in theory and practice. You'll start with the foundations of concurrency and master essential techniques and design practices to optimize code running on modern multiprocessor systems. ...
Modern Data Access with Entity Framework CoreC# developers, here's your opportunity to learn the ins-and-outs of Entity Framework Core, Microsoft's recently redesigned object-relational mapper. Benefit from hands-on learning that will teach you how to tackle frustrating database challenges, such as workarounds to missing features in Entity Framework Core, and learn how to optimize the performance of your applications, head-on!
Modern Data Access with Entity Framework Core teaches best practices, guidance, and shortcuts that will significantly reduce the amount of resources you internally dedicate to programming data access code. The proven methods and tools taught in this book, such as how to get better performance, and the ability to select the platform of your choice, will save you valuable time and allow you to create seamless data access. Dive into succinct guidance that covers the gamut - from installing Entity Framework Core, reverse engineering, forward engineering (including schema migrations), and data reading an ...
Programming 101Understand the importance of programming even if you've never programmed before! This book will teach you the basics of programming using the Processing programming language. You will create your own Processing sketches, using personal images, themes, or hobbies that you enjoy.
The chapters in the book will demonstrate the process of programming starting with formulating an idea, planning, building on past projects, and refining the work, similar to writing an essay or composing a song. This approach will guide you to make use of logic and mathematics to produce beautiful effects.
The term for program in Processing is sketch, though the sketches featured in this book are far more than static drawings; they incorporate interaction, animation, video, audio, and accessing files on the local computer and on the Web. Technical features are introduced and explained in the context of complete examples: games (Snake, Hangman, jigsaw, slingshot), making a col ...
Hands-On Functional Programming in RustFunctional Programming allows developers to divide programs into smaller, reusable components that ease the creation, testing, and maintenance of software as a whole. Combined with the power of Rust, you can develop robust and scalable applications that fulfill modern day software requirements. This book will help you discover all the Rust features that can be used to build software in a functional way.
We begin with a brief comparison of the functional and object-oriented approach to different problems and patterns. We then quickly look at the patterns of control flow, data the abstractions of these unique to Functional Programming. The next part covers how to create functional apps in Rust; mutability and ownership, which are exclusive to Rust, are also discussed. Pure functions are examined next and you'll master closures, their various types, and currying. We also look at implementing concurrency through functional design principles and metaprogramming using macros ...
C++ Reactive ProgrammingReactive programming is an effective way to build highly responsive applications with an easy-to-maintain code base. This book covers the essential functional reactive concepts that will help you build highly concurrent, event-driven, and asynchronous applications in a simpler and less error-prone way.
C++ Reactive Programming begins with a discussion on how event processing was undertaken by different programming systems earlier. After a brisk introduction to modern C++ (C++17), you'll be taken through language-level concurrency and the lock-free programming model to set the stage for our foray into the Functional Programming model. Following this, you'll be introduced to RxCpp and its programming model. You'll be able to gain deep insights into the RxCpp library, which facilitates reactive programming. You'll learn how to deal with reactive programming using Qt/C++ (for the desktop) and C++ microservices for the Web.
By the end o ...
Learn Python Programming, 2nd EditionLearn Python Programming creates a foundation for those who are interested in developing their skills in Python programming. The book starts with the fundamentals of programming with Python and ends by exploring different topics such as GUIs and real-world apps.
You will begin by exploring the foundations of and fundamental topics on Python and learn to manipulate them. Then, you'll explore different programming paradigms that will allow you to find the best approach to a situation, and you'll also understand how to carry out performance optimization as well as effective debugging.
As you make your way through the chapters, you'll control the flow of a program, and persist and utilize an interchange format to exchange data. You'll also walk through cryptographic services in Python and understand secure tokens. Throughout, the book covers various types of applications, and it concludes with building real-world applications based on all the concepts that you le ...
Practical Contiki-NGExplore how to develop and implement wireless server networks (WSN) using Contiki-NG, branded as the operating system for the IoT. The book explains Contiki-NG's advantages in sensing, communication, and energy optimization and enables you to begin solving problems in automation with WSN.
Practical Contiki-NG is a guide to getting started with Contiki-NG programming featuring projects that demonstrate a variety of applications. This book takes a practical and content-driven approach to the latest technologies, including Raspberry Pi, IoT and cloud servers. Readers will go through step-by-step guides and sample scenarios such as sensing, actuating, connectivity, building middleware, and utilizing IoT and cloud-based technologies.
If you're looking to go from zero to hero in using Contiki-NG to build Wireless Sensor Network (WSN) applications then this is the book for you.
Prepare and set up Contiki-NG development; Review the basics of the Contiki-NG platform to build Wir ...
Secret Recipes of the Python NinjaThis book covers the unexplored secrets of Python, delve into its depths, and uncover its mysteries.
You'll unearth secrets related to the implementation of the standard library, by looking at how modules actually work. You'll understand the implementation of collections, decimals, and fraction modules. If you haven't used decorators, coroutines, and generator functions much before, as you make your way through the recipes, you'll learn what you've been missing out on.
We'll cover internal special methods in detail, so you understand what they are and how they can be used to improve the engineering decisions you make. Next, you'll explore the CPython interpreter, which is a treasure trove of secret hacks that not many programmers are aware of. We'll take you through the depths of the PyPy project, where you'll come across several exciting ways that you can improve speed and concurrency.
Finally, we'll take time to explore the PEPs of the latest versions to discover some intere ...
Hands-On MQTT Programming with PythonMQTT is a lightweight messaging protocol for small sensors and mobile devices. This book explores the features of the latest versions of MQTT for IoT and M2M communications, how to use them with Python 3, and allow you to interact with sensors and actuators using Python.
The book begins with the specific vocabulary of MQTT and its working modes, followed by installing a Mosquitto MQTT broker. You will use different utilities and diagrams to understand the most important concepts related to MQTT. You will learn to make all the necessary configuration to work with digital certificates for encrypting all data sent between the MQTT clients and the server. You will also work with the different Quality of Service levels and later analyze and compare their overheads.
You will write Python 3.x code to control a vehicle with MQTT messages delivered through encrypted connections (TLS 1.2), and learn how leverage your knowledge of the MQTT protocol to build a solution based on requirements. ...
Learn Swift by Building ApplicationsSwift Language is now more powerful than ever; it has introduced new ways to solve old problems and has gone on to become one of the fastest growing popular languages. It is now a de-facto choice for iOS developers and it powers most of the newly released and popular apps. This practical guide will help you to begin your journey with Swift programming through learning how to build iOS apps.
You will learn all about basic variables, if clauses, functions, loops, and other core concepts; then structures, classes, and inheritance will be discussed. Next, you'll dive into developing a weather app that consumes data from the internet and presents information to the user. The final project is more complex, involving creating an Instagram like app that integrates different external libraries. The app also uses CocoaPods as its package dependency manager, to give you a cutting-edge tool to add to your skillset. By the end of the book, you will have learned how to model real-world app ...
Robot Operating System (ROS) for Absolute BeginnersLearn how to get started with robotics programming using Robot Operation System (ROS). Targeted for absolute beginners in ROS, Linux, and Python, this short guide shows you how to build your own robotics projects.
ROS is an open-source and flexible framework for writing robotics software. With a hands-on approach and sample projects, Robot Operating System for Absolute Beginners will enable you to begin your first robot project. You will learn the basic concepts of working with ROS and begin coding with ROS APIs in both C++ and Python.
Install ROS; Review fundamental ROS concepts; Work with frequently used commands in ROS; Build a mobile robot from scratch using ROS. ...