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 Ingebrigtsen, Einar Ingebrigtsen
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!