C#
Abhishek Kumar, Srinivasa Mahendrakar
With more enterprises adapting cloud-based and API-based solutions, application integration has become more relevant and significant than ever before. Parallelly, Serverless Integration has gained popularity, as it helps agile organizations to build integration solutions quickly without having to worry about infrastructure costs. With Microsoft Azure’s serverless offerings, such as Logic Apps, Azure Functions, API Management, Azure Event Grid and Service Bus, organizations can build powerful, secure, and scalable integration solutions with ease.The primary objective of this book is to help you to understand various serverless offerings included within Azure Integration Services, taking you through the basics and industry practices and patterns. This book starts by explaining the concepts of services such as Azure Functions, Logic Apps, and Service Bus with hands-on examples and use cases. After getting to grips with the basics, you will be introduced to API Management and building B2B solutions using Logic Apps Enterprise Integration Pack.This book will help readers to understand building hybrid integration solutions and touches upon Microsoft Cognitive Services and leveraging them in modern integration solutions. Industry practices and patterns are brought to light at appropriate opportunities while explaining various concepts.
Einar Ingerbrigsten
This book is designed for software developers, primarily those with knowledge of C#, .NET, and JavaScript. Good knowledge and understanding of SignalR is assumed to allow efficient programming of core elements and applications in SignalR.
Roberto Vespa
This book contains illustrated code examples to help you create real-time, asynchronous, and bi-directional client-server applications. Each recipe will concentrate on one specific aspect of application development with SignalR showing you how that aspect can be used proficiently. Different levels of developers will find this book useful. Beginners will be able to learn all the fundamental concepts of SignalR, quickly becoming productive in a difficult arena. Experienced programmers will find in this book a handy and useful collection of ready-made solutions to common use cases, which they will be able to enhance as needed. Developers can also use the book as a quick reference to the most important SignalR features. No previous practical experience either with SignalR or with real-time communication in general is required.
Einar Ingerbrigsten
With technology trends, demands on software have changed with more and more skilled users. Over the past few years, with services such as Facebook, Twitter and push notifications on smartphones, users are now getting used to being up to date with everything that happens all the time. With SignalR, the applications stay connected and will generate notifications when something happens either from the system or by other users thus giving new opportunities to enter into this new, exciting world of real-time application development.This is a step-by-step guide that follows a practical approach helping you as a developer getting to get started with SignalR by learning its fundamentals. It will help you through building real-time applications using the new methods and functions in the SignalR framework. Starting from getting persistent connections with the server, you will learn the basics of connecting a client to the server and how the messaging works. This will be followed by setting up a hub on the server and consuming it from a JavaScript client. Next you will be taught how you can group connections together to send messages. We will then go on to know how you can have state in the client to handle specific operations like connecting or disconnecting. Then, moving on you will learn how to secure your SignalR connections using OWIN and scaling SignalR across multiple servers. Next you will learn building a client for WPF and building a client using Xamarin that targets Windows Phone, iPhone and Android. Lastly, you will learn how to monitor the traffic in SignalR using Fiddler, Charles and hosting SignalR using OWIN.
Gabriel Baptista, Francesco Abbruzzese
Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. This fully revised and expanded third edition, featuring the latest features of .NET 6 and C# 10, enables you to acquire the key skills, knowledge, and best practices required to become an effective software architect.Software Architecture with C# 10 and .NET 6, Third Edition features new chapters that describe the importance of the software architect, microservices with ASP.NET Core, and analyzing the architectural aspects of the front-end in the applications, including the new approach of .NET MAUI. It also includes a new chapter focused on providing a short introduction to artificial intelligence and machine learning using ML.NET, and updated chapters on Azure Kubernetes Service, EF Core, and Blazor.You will begin by understanding how to transform user requirements into architectural needs and exploring the differences between functional and non-functional requirements. Next, you will explore how to choose a cloud solution for your infrastructure, taking into account the factors that will help you manage a cloud-based app successfully. Finally, you will analyze and implement software design patterns that will allow you to solve common development problems.By the end of this book, you will be able to build and deliver highly scalable enterprise-ready apps that meet your business requirements.
Gabriel Baptista, Francesco Abbruzzese
Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. This fully revised and expanded second edition, featuring the latest features of .NET 5 and C# 9, enables you to acquire the key skills, knowledge, and best practices required to become an effective software architect.This second edition features additional explanation of the principles of Software architecture, including new chapters on Azure Service Fabric, Kubernetes, and Blazor. It also includes more discussion on security, microservices, and DevOps, including GitHub deployments for the software development cycle.You will begin by understanding how to transform user requirements into architectural needs and exploring the differences between functional and non-functional requirements. Next, you will explore how to carefully choose a cloud solution for your infrastructure, along with the factors that will help you manage your app in a cloud-based environment.Finally, you will discover software design patterns and various software approaches that will allow you to solve common problems faced during development.By the end of this book, you will be able to build and deliver highly scalable enterprise-ready apps that meet your organization’s business requirements.
Struktury danych i algorytmy w języku C#. Projektowanie efektywnych aplikacji
Marcin Jamro
C# jest nowoczesnym i elastycznym językiem programowania. Aby w pełni skorzystać z jego zalet, trzeba płynnie posługiwać się dostępnymi w nim strukturami danych i algorytmami, pozwalają one bowiem na efektywnie organizowanie danych i mają znaczący wpływ na wydajność aplikacji. Z punktu widzenia programisty kluczowe jest ich właściwe zaimplementowanie: wybór właściwej struktury danych i związanego z nią algorytmu stanowi o jakości tworzonego kodu. Na przykład w celu wykonywania wysokowydajnych operacji na zbiorach warto użyć zbioru haszowanego. Inne konstrukcje umożliwiają rozwiązywanie kolejnych problemów. Dzięki tej książce nauczysz się używania struktur danych i implementacji najważniejszych algorytmów w języku C#. Najpierw zapoznasz się z najprostszymi strukturami danych o swobodnym dostępie - z tablicami oraz listami. Wyjaśniono tu również działanie struktur danych o dostępie sekwencyjnym, opartych na stosach i kolejkach. Przedstawiono zastosowanie słowników, dzięki którym można mapować klucze na wartości i prowadzić szybkie wyszukiwanie. Przystępnie opisano korzystanie z najbardziej zaawansowanych konstrukcji, takich jak drzewo binarne, binarne drzewo poszukiwań, drzewo samorównoważące się i kopiec. W końcowej części książki znajdziesz ciekawą analizę stosowania grafów i związanych z nimi algorytmów, takich jak przeszukiwanie grafu, minimalne drzewo rozpinające, kolorowanie węzłów oraz znajdowanie najkrótszej ścieżki. Najciekawsze zagadnienia ujęte w książce: różne typy danych w C#: wartościowe i referencyjne tablice i listy oraz algorytmy sortowania operacje na zbiorach oraz wbudowany typ HashSet struktury drzewiaste i kopce: binarne, dwumianowe oraz Fibonacciego algorytmy oparte na grafach, w tym algorytm Dijkstry C#. Liczy się algorytm i odpowiednia struktura danych!
Marcin Jamro
Projektowanie aplikacji jest wymagającym zadaniem, zwłaszcza jeśli trzeba rozwiązywać złożone problemy. W takich przypadkach należy mieć na uwadze również wydajność kodu, aby program działał płynnie na urządzeniach o ograniczonych zasobach. Takie zadania bywają naprawdę trudne i wymagają wiedzy, w tym dotyczącej struktur danych i algorytmów. Tę praktyczną książkę docenią programiści C#. Zaczniesz od zapoznania się z zasadami działania algorytmów, aby później przejść do różnych struktur danych: tablic, list, stosów, kolejek, słowników i zbiorów. Poszczególne przykłady zostały zilustrowane fragmentami kodu i rysunkami. Opanujesz także sortowanie tablic przy użyciu rozmaitych algorytmów, co solidnie ugruntuje Twoje umiejętności. Następnie poznasz bardziej złożone struktury danych i algorytmy służące do różnych zadań, jak wyznaczanie najkrótszej ścieżki w grafie czy rozwiązywanie łamigłówek. W ten sposób nauczysz się budować w języku C# komponenty algorytmiczne, które bez problemu zastosujesz w rozmaitych aplikacjach, również internetowych i na platformy mobilne. Z tą książką nauczysz się: podstaw algorytmów i ich klasyfikacji przechowywać dane w ustrukturyzowany sposób budować aplikacje wzbogacone o stosy, kolejki, tablice z haszowaniem, słowniki i zbiory tworzyć wydajne aplikacje z użyciem algorytmów związanych z drzewami podnosić wydajność swoich rozwiązań przy użyciu grafów implementować algorytmy pozwalające rozwiązywać łamigłówki i generować fraktale Kilkusetkrotne zwiększenie wydajności kodu na wyciągnięcie ręki!