Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.26K photos
36 videos
85 files
4.42K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🚀System Design 101

Готовитесь к собеседованию по проектированию систем или просто хотите понять принцип работы сложных систем? Тогда репозиторий ByteByteGo точно для вас.

👉 GitHub
👍30
Все, что нужно знать о Middleware в ASP.NET 8: гайд для C#-разработчика

• Inline Middleware
• Class Middleware
• Factory-based Middleware

👉 Читать
👍11
От монолита к микросервисам: как помогает модульный монолит

🔸Хорошей отправной точкой является разделение по ограниченным контекстам.

🔸Ограниченные контексты определяют явные границы между модулями. Затем вам нужно решить проблему связывания: зависимости БД, коммуникация.

🔸Каждый модуль содержит согласованный набор функций и изолирован от других модулей в системе.

👉Подробнее о том, какие требования предъявляются к модулю, как именно это сделать на практике, а также добавить брокер сообщений и извлечь модули в микросервисы, читайте в очередном материале Milan Jovanović.

#dotnet #csharp #tip by Milan Jovanović
👍113
🔥 Вышли новые части в серии «Знакомство с предварительной версией .NET 8»

В 9-ой части Эндрю Лок погружается в новую поддержку рендеринга компонентов Blazor вне контекста ASP.NET Core.

10-ая часть посвящена обновлению Docker-образов в .NET 8. Вы узнаете о некоторых различиях в тегах, новых поддерживаемых типах образов, а также критические изменения в образах.

#dotnet8
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
🔥В Rider 2023.3 завезут фичу под названием Debugger Data Flow Analysis, которая позволяет предсказывать движение потока данных и показывать во время отладки, в каком направлении продолжится выполнение кода

При отладке программы вы обычно видите ее текущее состояние и можете проанализировать уже выполненный код. Поэтому, когда вы входите в функцию, вы не видите, что происходит внутри ее тела, пока не примените дополнительные пошаговые действия. С помощью новой фичи вы можете увидеть, что происходит после текущего оператора, без каких-либо шагов. Он выполняет код в фоновом режиме и предоставляет информацию.

На скрине анализ потока данных отладчика помогает сразу увидеть, что метод не будет выполнен после вызова RandomizeBool(), поскольку он выдаст ошибку NotImplementedException.

👉 Подробнее
38🔥18👍7
📖 Introducing Functional Programming Using C#: Leveraging a New Perspective for OOP Developers (2023)

Автор: Vaskaran Sarcar

Книга поможет вам изучить, проанализировать и использовать функциональные аспекты C#.

Вы научитесь писать более качественный код (и рефакторить существующий), комбинируя лучшие методы парадигм ФП и ООП, познакомитесь с функциональными механизмами обработки исключений, полезными функциональными паттеранами и многим другим.

👉 Скачать книгу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🥱52
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
Создание .NET MAUI CD пайплайна в GitHub Actions: пошаговый мини-гайд

🔸Часть 1. Разработка пайплайна GitHub Actions, который позволит создать приложение .NET MAUI для Android/iOS и отправить в магазины приложений для тестирования (общий workflow).
🔸Часть 2. Разбор особенностей пайплайна GitHub Actions, связанных с публикацией и тестированием iOS-приложения.
4👍1
Разбор по кусочкам XML external entity (XXE) из .NET 6 SDK: код, причины бага и исправления

Современный .NET даёт разработчикам защиту от XXE из коробки: парсишь себе XML и не забиваешь голову всякими DTD, сущностями и связанной с ними безопасностью. Разве не прекрасно? Однако в жизни все не так радужно👇

😎CVE-2022-34716: XXE в .NET 6 SDK, связанная с типом System.Security.Cryptography.Xml.SignedXml
👍3
💡 Использование файлов .http в Visual Studio 2022

Редактор файлов .http в VS 2022 предоставляет удобный способ тестирования проектов ASP.NET Core, особенно приложений API. Редактор предоставляет вам UI, который:

🔧Создает и обновляет файлы .http
🔧Отправляет HTTP-запросы, указанные в файлах .http
🔧Отображает ответы

📌Синтаксис:

* Строка, начинающаяся с @, определяет переменную, используя синтаксис @VariableName=Value.

* На переменные можно ссылаться в запросах с помощью фигурных скобок {{}}:

@hostname=localhost
@port=44320
GET https://{{hostname}}:{{port}}/weatherforecast


👉 Подробнее: документация & видеогайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥21
🔥Обзор нововведений в C# 12 от PVS-Studio подъехал

📌Автор подробно рассмотрел:

🔸Первичные конструкторы
🔸Краткий синтаксис работы с коллекциями
🔸Параметры анонимных функций по умолчанию
🔸Псевдонимы для любых типов
🔸Доработку nameof
🔸Inline массивы
🔸Перехват кода
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍8
💡Как использовать Testcontainers с юнит-тестами в .NET

С помощью библиотеки Testcontainers вы можете запускать и удалять Docker-контейнеры в рамках своих автоматических тестов.

Например, если вам нужна база данных, вам не нужно её имитировать: тесты на xUnit, NUnit и MSTest могут запустить настоящую базу данных.

👉 Читайте подробнее в блоге JetBrains о том, как использовать Testcontainer на практике.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5