Библиотека шарписта | 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
⚡️ В Rider завезли поддержку .NET Aspire

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

// Create a distributed application builder given the command line arguments.
var builder = DistributedApplication.CreateBuilder(args);

// Add a Redis server to the application.
var cache = builder.AddRedis("cache");

// Add the frontend project to the application and configure it to use the
// Redis server, defined as a referenced dependency.
builder.AddProject<Projects.MyFrontend>("frontend")
.WithReference(cache);


Плагин Rider для .NET Aspire позволяет использовать функции .NET Aspire непосредственно в IDE. Под катом — внутренние механизмы плагина и детали его взаимодействие с .NET Aspire.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥236👍21
❤️ Каждый язык программирования обладает своими уникальными особенностями, которые влияют на выбор паттернов проектирования. C# — не исключение.

💬 Расскажите, какой паттерн проектирования вы нашли наиболее полезным в вашем последнем проекте? Почему выбрали именно его? Были ли какие-то специфические проблемы, которые решил этот паттерн?

#интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😁3
🛠 Серия статей о профилировщике .NET под капотом от Datadog

🔸 Первая часть посвящена архитектуре и внедрению профилировщика. Вы узнаете про основные аспекты профилирования, включая CPU, wall time, exceptions, lock contention и allocations.
🔸 Во второй части рассматривается реализация профилирования CPU и wall time. Описывается, как профилировщик мониторит и семплирует потоки приложения, а также подробно объясняется реализация сбора стеков вызовов в Linux и Windows. Статья также включает пример внутреннего использования CPU профилировщика для снижения потребления CPU.
👍7
🤩 С большим опозданием публикуем полную коллекцию докладов с конференции DotNext 2022 Autumn

🌐 Сергей Васильев — Анализ C# кода на Roslyn: от теории к практике
🌐 Денис Цветцих — Rich Model и Anemic Model: враги или друзья
🌐 Проблемы обучения от 0+
🌐 Дмитрий Таболич — Думай как архитектор: майндшифт инженера
🌐 Дмитрий Нестерук — Интересные подходы в реализации паттернов проектирования
🌐 Андрей Парамонов, Антон Оникийчук — MediatR не нужен
🌐 Интервью с Романом Неволиным
🌐 Марк Шевченко — Пишем функционально на C# и F#
🌐 Дмитрий Сошников — Как научить вашего ребенка программировать (и не только)
🌐 Анатолий Жмур — Пиши, как тиктокер, а не как дед. Новые конструкции языка C# в бою
🌐 Олег Сафонов — Пишем код, когда пишем код: source generator'ы
🌐 Андрей Цветцих — Zero-downtime deployment и базы данных
🌐 Интервью с Вадимом Мартыновым
🌐 Роман Просин — SkillsFlow: разработка системы управления навыками и компетенциями
🌐 Объединяем .NET-разработчиков: как запустить и развить гильдии в компании
🌐 Гурий Самарин — Тестируем код, взаимодействующий с базой данных
🌐 Интервью с Дмитрием Таболичем
🌐 Best practices для разработки Application Layer
🌐 Роман Неволин — Пишем приложения, которые не ломаются в продакшене
🌐 Андрей Акиньшин — Поговорим об описательной статистике перформанс-распределений
🌐 Игорь Лабутин — Что нового в .NET 7 и C# 11
🌐 Евгений Пешков — Алгоритмы троттлинга запросов
🌐 Вадим Мартынов — Как работает конвейер в современных процессорах
🌐 Станислав Сидристый — lock(_sync): иллюзия идеального выбора
🌐 Ольга Щербакова — Open source с точки зрения юриста
🌐 Игорь Шаталкин — Загадочный EF Core, или Как написать свое расширение
🌐 Андрей Ганичев — Архитектурные тесты
🌐 Александр Катин — [Test] + T = ❤️
🌐 Вагиф Абилов — Распределенный трейсинг OpenTelemetry вместо логирования всего подряд
🌐 Александр Кузнецов — Введение в Microsoft SignalR
Please open Telegram to view this post
VIEW IN TELEGRAM
👏227👍7😁4❤‍🔥3
🎙 Подкаст DotNet & More: эволюция модульных тестов и не только

🕘 Таймкоды:

00:00:00 — Вступление
00:05:30 — Что такое тесты?
00:13:20 — Как зародились модульные тесты?
00:29:00 — FIRST принцип
00:38:00 — Развитие «после модульных тестов»
00:44:00 — Что такое «модуль»?
00:53:20 — Тестирование приватных методов
01:05:40 — Как тестировать конвертеры System.Test.Json?
01:10:10 — Mock vs Stub
01:24:00 — Random в тестах: зло или «почему нет»?

⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка

#подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍75
🆚 Task.Run vs. TaskCompletionSource + ThreadPool.QueueUserWorkItem

Сергей Тепляков раскопал шаблон (эпохи .NET 4.0) для запуска кода в пуле потоков

#dotnet #csharp #benchmarks
👍20😁4
Использование именованных пайпов с ASP.NET Core и HttpClient: гайд от Эндрю Лока

В рамках .NET 8 в ASP.NET Core была добавлена прямая поддержка именованных пайпов в Kestrel, что позволяет использовать все те же функции и модель программирования ASP.NET Core, что и с TCP.

📌 Настройка приложения для прослушивания именованных пайпов: настраиваем Kestrel с использованием ListenNamedPipe() или устананавливаем URL-адреса приложения на https://pipe:/<pipename>.

📌 HttpClient для отправки запросов: для этого необходимо настроить HttpClient с пользовательским ConnectCallback(), который создаст экземпляр NamedPipeClientStream и подключится к серверу.

👉 Подробнее читайте в гайде
🔥4👍1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🐱🎨🙏🤖 10 самых странных языков программирования, о которых вы никогда не слышали

Эзотерические языки разрабатывают в концептуальных, экспериментальных и развлекательных целях. Их общая черта — максимально запутанный и странный синтаксис, понятный только посвященным. В этой подборке — языки, которые выбрали бы Ходор, доктор Лектер, Малевич, Джеймс Бонд, Терминатор и Луи Армстронг, если бы решили войти в айти.

👉 Читать статью
👉 Зеркало
🥱62😁2👾1
🤦‍♂️ Silverlight забыли

#maui #жиза
👍46😁17👾6👏4🎉1
💬 Представьте ситуацию, что вы можете стабильно получать одинаковые деньги как в стартапе, так и в большой компании. Что бы вы выбрали?

🤩 — стартап, горящие глаза и вот это всё
👍 — большую компанию! Там можно быстрее набраться коммерческого опыта
🤔 — свой вариант (напишу в комментариях)

#холивар
👍118🤩33
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👾2👍1🌚1
🤖Как использовать AI Assistant для создания тестовых данных в .NET

Khalid Abuhakmeh, Developer Advocate в JetBrains, делится опытом работы с xUnit и JetBrains Annotations, и демонстрирует, как AI Assistant может помочь в создании и поддержке тестов, улучшая изоляцию тестов и повышая ценность тестового набора.

P. S. Несмотря на то, что автор упоминает примеры работы с ИИ-помощником от JetBrains, его подходы можно использовать с любым подобным инструментом.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💯2