Reactive Programming for .NET Developers

Reactive Programming for .NET Developers

Author: Antonio Esposito

Publisher: Packt Publishing Ltd

Published: 2016-07-29

Total Pages: 271

ISBN-13: 1785888498

DOWNLOAD EBOOK

Get up and running with reactive programming paradigms to build fast, concurrent, and powerful applications About This Book Get to grips with the core design principles of reactive programming Learn about Reactive Extensions for .NET through real-world examples Improve your problem-solving ability by applying functional programming Who This Book Is For If you are a .NET developer who wants to implement all the reactive programming paradigm techniques to create better and more efficient code, then this is the book for you. No prior knowledge of reactive programming is expected. What You Will Learn Create, manipulate, and aggregate sequences in a functional-way Query observable data streams using standard LINQ query operators Program reactive observers and observable collections with C# Write concurrent programs with ease, scheduling actions on various workers Debug, analyze, and instrument Rx functions Integrate Rx with CLR events and custom scheduling Learn Functional Reactive Programming with F# In Detail Reactive programming is an innovative programming paradigm focused on time-based problem solving. It makes your programs better-performing, easier to scale, and more reliable. Want to create fast-running applications to handle complex logics and huge datasets for financial and big-data challenges? Then you have picked up the right book! Starting with the principles of reactive programming and unveiling the power of the pull-programming world, this book is your one-stop solution to get a deep practical understanding of reactive programming techniques. You will gradually learn all about reactive extensions, programming, testing, and debugging observable sequence, and integrating events from CLR data-at-rest or events. Finally, you will dive into advanced techniques such as manipulating time in data-flow, customizing operators and providers, and exploring functional reactive programming. By the end of the book, you'll know how to apply reactive programming to solve complex problems and build efficient programs with reactive user interfaces. Style and approach This is a concise reference manual for reactive programming with Rx for C# and F# using real-world, practical examples.


Rx.NET in Action

Rx.NET in Action

Author: Tamir Dresher

Publisher: Simon and Schuster

Published: 2017-04-20

Total Pages: 549

ISBN-13: 163835703X

DOWNLOAD EBOOK

Summary Rx.NET in Action teaches developers how to build event-driven applications using the Reactive Extensions (Rx) library. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Modern applications must react to streams of data such as user and system events, internal messages, and sensor input. Reactive Extensions (Rx) is a .NET library containing more than 600 operators that you can compose together to build reactive client- and server-side applications to handle events asynchronously in a way that maximizes responsiveness, resiliency, and elasticity. About the Book Rx.NET in Action teaches developers how to build event-driven applications using the Rx library. Starting with an overview of the design and architecture of Rx-based reactive applications, you'll get hands-on with in-depth code examples to discover firsthand how to exploit the rich query capabilities that Rx provides and the Rx concurrency model that allows you to control both the asynchronicity of your code and the processing of event handlers. You'll also learn about consuming event streams, using schedulers to manage time, and working with Rx operators to filter, transform, and group events. What's Inside Introduction to Rx in C# Creating and consuming streams of data and events Building complex queries on event streams Error handling and testing Rx code About the Reader Readers should understand OOP concepts and be comfortable coding in C#. About the Author Tamir Dresher is a senior software architect at CodeValue and a prominent member of Israel's Microsoft programming community. Table of Contents PART 1 - GETTING STARTED WITH REACTIVE EXTENSIONS Reactive programming Hello, Rx Functional thinking in C# PART 2 - CORE IDEAS Creating observable sequences Creating observables from .NET asynchronous types Controlling the observer-observable relationship Controlling the observable temperature Working with basic query operators Partitioning and combining observables Working with Rx concurrency and synchronization Error handling and recovery APPENDIXES Writing asynchronous code in .NET The Rx Disposables library Testing Rx queries and operators


Real-World Functional Programming

Real-World Functional Programming

Author: Tomas Petricek

Publisher: Simon and Schuster

Published: 2009-11-30

Total Pages: 989

ISBN-13: 1638353794

DOWNLOAD EBOOK

Functional programming languages like F#, Erlang, and Scala are attractingattention as an efficient way to handle the new requirements for programmingmulti-processor and high-availability applications. Microsoft's new F# is a truefunctional language and C# uses functional language features for LINQ andother recent advances. Real-World Functional Programming is a unique tutorial that explores thefunctional programming model through the F# and C# languages. The clearlypresented ideas and examples teach readers how functional programming differsfrom other approaches. It explains how ideas look in F#-a functionallanguage-as well as how they can be successfully used to solve programmingproblems in C#. Readers build on what they know about .NET and learn wherea functional approach makes the most sense and how to apply it effectively inthose cases. The reader should have a good working knowledge of C#. No prior exposure toF# or functional programming is required. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.


Programming C# 8.0

Programming C# 8.0

Author: Ian Griffiths

Publisher: "O'Reilly Media, Inc."

Published: 2019-11-26

Total Pages: 775

ISBN-13: 1492056766

DOWNLOAD EBOOK

C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you’ll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 8.0 fundamentals and techniques for building cloud, web, and desktop applications. Designed for experienced programmers, this book provides many code examples to help you work with the nuts and bolts of C#, such as generics, LINQ, and asynchronous programming features. You’ll get up to speed on .NET Core and the latest C# 8.0 additions, including asynchronous streams, nullable references, pattern matching, default interface implementation, ranges and new indexing syntax, and changes in the .NET tool chain. Discover how C# supports fundamental coding features, such as classes, other custom types, collections, and error handling Learn how to write high-performance memory-efficient code with .NET Core’s Span and Memory types Query and process diverse data sources, such as in-memory object models, databases, data streams, and XML documents with LINQ Use .NET’s multithreading features to exploit your computer’s parallel processing capabilities Learn how asynchronous language features can help improve application responsiveness and scalability


Reactive Applications with Akka.NET

Reactive Applications with Akka.NET

Author: Anthony Brown

Publisher: Simon and Schuster

Published: 2019-03-05

Total Pages: 395

ISBN-13: 1638355657

DOWNLOAD EBOOK

Summary Reactive Applications with Akka.NET is a hands-on book that builds on fundamental concepts to teach you how to create reliable and resilient applications in the reactive style. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Enterprise-scale software needs to be unfailingly reliable, consistently performant under unpredictable loads, and easy to scale and maintain. Reactive applications guarantee these qualities through clear isolation of system components and message-based communication. Akka.NET ports the battle-tested Akka Actors toolkit from the JVM, radically simplifying the concurrency and asynchronous message handling at the heart of a reactive system. About the Book Reactive Applications with Akka.NET teaches you to write high-performance, concurrent systems without explicitly managing threads and locking. You'll experience the power of Akka.NET and the Actors concurrency model by exploring a real-world case study in each chapter. As you go further, you'll start to grok the power of asynchronous communication in a distributed environment and take on practical tasks like deploying, debugging, and establishing performance guarantees. What's Inside Reactive application design Dealing with application-level failures Integrating Akka.NET with other frameworks Applying reactive programming to the real world About the Reader Readers should be comfortable with C# or F# and the .NET framework. About the Author Anthony Brown is a .NET consultant specializing in F# and reactive systems. Table of Contents PART 1 THE ROAD TO REACTIVE Why reactive? Reactive application design PART 2 DIGGING IN Your first Akka.NET application State, behavior, and actors Configuration, dependency injection, and logging Failure handling Scaling in reactive systems Composing actor systems PART 3 REAL-LIFE USAGE Testing Akka.NET actors Integrating Akka.NET Storing actor state with Akka.Persistence Building clustered applications with Akka.Cluster Akka.NET and reactive programming in production


Reactive Spring

Reactive Spring

Author: Josh Long

Publisher:

Published: 2020-09-15

Total Pages:

ISBN-13: 9781732910416

DOWNLOAD EBOOK

Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn't be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we'd still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better.Join Spring Developer Advocate Josh Long for an introduction to reactive programming in the Spring ecosystem, leveraging the reactive streams specification, Reactor, Spring Boot, Spring Cloud and so much more.This book will cover important concepts in reactive programming including project Reactor and the reactive streams specification, data access, web programming, RPC with protocols like RSocket, testing, and integration and composition, and more.


Get Programming with F#

Get Programming with F#

Author: Isaac Abraham

Publisher: Simon and Schuster

Published: 2018-02-26

Total Pages: 832

ISBN-13: 1638355983

DOWNLOAD EBOOK

Summary Get Programming with F#: A guide for .NET developers teaches F# through 43 example-based lessons with built-in exercises so you can learn the only way that really works: by practicing. The book upgrades your .NET skills with a touch of functional programming in F#. You'll pick up core FP principles and learn techniques for iron-clad reliability and crystal clarity. You'll discover productivity techniques for coding F# in Visual Studio, functional design, and integrating functional and OO code. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Your .NET applications need to be good for the long haul. F#'s unique blend of functional and imperative programming is perfect for writing code that performs flawlessly now and keeps running as your needs grow and change. It takes a little practice to master F#'s functional-first style, so you may as well get programming! What's Inside Learn how to write bug-free programs Turn tedious common tasks into quick and easy ones Use minimal code to work with JSON, CSV, XML, and HTML data Integrate F# with your existing C# and VB.NET applications Create web-enabled applications About the Reader Written for intermediate C# and Visual Basic .NET developers. No experience with F# is assumed. Table of Contents Unit 1 - F# AND VISUAL STUDIO Lesson 1 - The Visual Studio experience Lesson 2 - Creating your first F# program Lesson 3 - The REPL-changing how we develop Unit 2 - HELLO F# Lesson 4 - Saying a little, doing a lot Lesson 5 - Trusting the compiler Lesson 6 - Working with immutable data Lesson 7 - Expressions and statements Lesson 8 Capstone 1 Unit 3 - TYPES AND FUNCTIONS Lesson 9 - Shaping data with tuples Lesson 10 - Shaping data with records Lesson 11 - Building composable functions Lesson 12 - Organizing code without classes Lesson 13 - Achieving code reuse in F# Lesson 14 - Capstone 2 Unit 4 - COLLECTIONS IN F# Lesson 15 - Working with collections in F# Lesson 16 - Useful collection functions Lesson 17 - Maps, dictionaries, and sets Lesson 18 - Folding your way to success Lesson 19 - Capstone 3 Unit 5 - THE PIT OF SUCCESS WITH THE F# TYPE SYSTEM Lesson 20 - Program flow in F# Lesson 21 - Modeling relationships in F# Lesson 22 - Fixing the billion-dollar mistake Lesson 23 - Business rules as code Lesson 24 - Capstone 4 Unit 6 - LIVING ON THE .NET PLATFORM Lesson 25 - Consuming C# from F# Lesson 26 - Working with NuGet packages Lesson 27 - Exposing F# types and functionsto C# Lesson 28 - Architecting hybrid language applications Lesson 29 - Capstone 5 Unit 7 - WORKING WITH DATA Lesson 30 - Introducing type providers Lesson 31 - Building schemas from live data Lesson 32 - Working with SQL Lesson 33 - Creating type provider-backed APIs Lesson 34 - Using type providers in the real world Lesson 35 - Capstone 6 Unit 8 - WEB PROGRAMMING Lesson 36 - Asynchronous workflows Lesson 37 - Exposing data over HTTP Lesson 38 - Consuming HTTP data Lesson 39 - Capstone 7 Unit 9 - UNIT TESTING Lesson 40 - Unit testing in F# Lesson 41 - Property-based testing in F# Lesson 42 - Web testing Lesson 43 - Capstone 8 Unit 10 - WHERE NEXT? Appendix A - The F# community Appendix B - F# in my organization Appendix C - Must-visit F# resources Appendix D - Must-have F# libraries Appendix E - Other F# language feature


Concurrency in .NET

Concurrency in .NET

Author: Riccardo Terrell

Publisher: Simon and Schuster

Published: 2018-06-05

Total Pages: 852

ISBN-13: 1638355649

DOWNLOAD EBOOK

Summary Concurrency in .NET teaches you how to build concurrent and scalable programs in .NET using the functional paradigm. This intermediate-level guide is aimed at developers, architects, and passionate computer programmers who are interested in writing code with improved speed and effectiveness by adopting a declarative and pain-free programming style. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Unlock 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. About the Book 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. What's Inside The most important concurrency abstractions Employing the agent programming model Implementing real-time event-stream processing Executing unbounded asynchronous operations Best concurrent practices and patterns that apply to all platforms About the Reader For readers skilled with C# or F#. About the Book Riccardo Terrell is a seasoned software engineer and Microsoft MVP who is passionate about functional programming. He has over 20 years' experience delivering cost-effective technology solutions in a competitive business environment. Table of Contents PART 1 - Benefits of functional programming applicable to concurrent programs Functional concurrency foundations Functional programming techniques for concurrency Functional data structures and immutability PART 2 - How to approach the different parts of a concurrent program The basics of processing big data: data parallelism, part 1 PLINQ and MapReduce: data parallelism, part 2 Real-time event streams: functional reactive programming Task-based functional parallelism Task asynchronicity for the win Asynchronous functional programming in F# Functional combinators for fluent concurrent programming Applying reactive programming everywhere with agents Parallel workflow and agent programming with TPL Dataflow PART 3 - Modern patterns of concurrent programming applied Recipes and design patterns for successful concurrent programming Building a scalable mobile app with concurrent functional programming


The .NET Developer's Guide to Directory Services Programming

The .NET Developer's Guide to Directory Services Programming

Author: Joe Kaplan

Publisher: Addison-Wesley Professional

Published: 2006-05-08

Total Pages: 514

ISBN-13: 0132701464

DOWNLOAD EBOOK

“If you have any interest in writing .NET programs using Active Directory or ADAM, this is the book you want to read.” —Joe Richards, Microsoft MVP, directory services Identity and Access Management are rapidly gaining importance as key areas of practice in the IT industry, and directory services provide the fundamental building blocks that enable them. For enterprise developers struggling to build directory-enabled .NET applications, The .NET Developer’s Guide to Directory Services Programming will come as a welcome aid. Microsoft MVPs Joe Kaplan and Ryan Dunn have written a practical introduction to programming directory services, using both versions 1.1 and 2.0 of the .NET Framework. The extensive examples in the book are in C#; a companion Web site includes both C# and Visual Basic source code and examples. Readers will Learn to create, rename, update, and delete objects in Active Directory and ADAM Learn to bind to and search directories effectively and efficiently Learn to read and write attributes of all types in the directory Learn to use directory services within ASP.NET applications Get concrete examples of common programming tasks such as managing Active Directory and ADAM users and groups, and performing authentication Experienced .NET developers—those building enterprise applications or simply interested in learning about directory services—will find that The .NET Developer’s Guide to Directory Services Programming unravels the complexities and helps them to avoid the common pitfalls that developers face.


Code That Fits in Your Head

Code That Fits in Your Head

Author: Mark Seemann

Publisher: Addison-Wesley Professional

Published: 2021-11-02

Total Pages: 628

ISBN-13: 0137464355

DOWNLOAD EBOOK

How to Reduce Code Complexity and Develop Software More Sustainably "Mark Seemann is well known for explaining complex concepts clearly and thoroughly. In this book he condenses his wide-ranging software development experience into a set of practical, pragmatic techniques for writing sustainable and human-friendly code. This book will be a must-read for every programmer." -- Scott Wlaschin, author of Domain Modeling Made Functional Code That Fits in Your Head offers indispensable, practical advice for writing code at a sustainable pace and controlling the complexity that causes projects to spin out of control. Reflecting decades of experience helping software teams succeed, Mark Seemann guides you from zero (no code) to deployed features and shows how to maintain a good cruising speed as you add functionality, address cross-cutting concerns, troubleshoot, and optimize. You'll find valuable ideas, practices, and processes for key issues ranging from checklists to teamwork, encapsulation to decomposition, API design to unit testing. Seemann illuminates his insights with code examples drawn from a complete sample project. Written in C#, they're designed to be clear and useful to anyone who uses any object-oriented language including Java , C++, and Python. To facilitate deeper exploration, all code and extensive commit messages are available for download. Choose mindsets and processes that work, and escape bad metaphors that don't Use checklists to liberate yourself, improving outcomes with the skills you already have Get past “analysis paralysis” by creating and deploying a vertical slice of your application Counteract forces that lead to code rot and unnecessary complexity Master better techniques for changing code behavior Discover ways to solve code problems more quickly and effectively Think more productively about performance and security If you've ever suffered through bad projects or had to cope with unmaintainable legacy code, this guide will help you make things better next time and every time. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.