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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
💡Polly — библиотека для проектов .NET, которая помогает обрабатывать сбои и повышать устойчивость ваших приложений.

☑️ С помощью Polly вы можете легко определять и применять такие стратегии, как Retry, Circuit Breaker, Hedging, Timeout, Rate Limiter и Fallback.

👉 Документация

#dotnet #tools
👍282
dotnet-versions.pdf
108.4 KB
📝 Хронология развития C# и .NET с учетом последних версий

#инфографика
🔥19👍2🤔2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
❤️🙏 Путь к мечте: как инвалидность не помешала стать разработчиком и продолжить борьбу за здоровье

Автор «Библиотеки программиста» Станислав Герасимов, инвалид с детства, делится жизненной историей становления профессиональным разработчиком.

В жизни Стаса было всё, но, возможно, именно путь к мечте помог справиться со всеми жизненными трудностями и добиться поставленной цели.

🔗 Читать статью
🔗 Зеркало
13👍9🔥5
🧐 Помните недавно рассказывали про анонс .NET Aspire?

😎 Ник Чапсас уже попрактиковался с новым проектом и записал два видео. Заходите и смотрите, если вам интересна эта тема:

1️⃣ Что такое .NET Aspire?
2️⃣ Деплой приложений с помощью .NET Aspire
👍9🤔4
⚡️Подборка за неделю c Code Maze:

Как получить строку базы данных в формате JSON с помощью Dapper: поиск и сериализация данных в контексте проекта ASP.NET Core Web API
Стандартные и кастомные numeric format strings в .NET: обзор различий на практике
Использование статических анонимных функций в C#: особенности работы с фичей, добавленной в C# 9
ConcurrentStack в C#: знакомство с потокобезопасной коллекцией LIFO для параллельных задач

#dotnet #csharp #codemaze #матчасть
👍6
🤔 Зачем писать свой велосипед? Возьми готовую либу и пользуйся! За тебя уже все написали

Вы наверняка слышали эту фразу от других разработчиков. Наличие инструмента/проекта/библиотеки для любой задачи — это одновременно как достоинство, так и недостаток современной разработки.

С одной стороны, они облегчают жизнь разработчикам и целым командам, а с другой — могут стать источником больших проблем: размер и скорость работы приложения, поддерживаемость кода, время на изучение библиотеки, баги, уязвимости и многое другое.

💬 А как в вашей команде обстоят дела со сторонними библиотеками? По каким критериям вы принимаете решение о внедрении их в проект?

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

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍31
mskdotnet_meetup_55_обобщенная_математика.pdf
11.7 MB
«Как в C# 11 появилась обобщённая математика?» — доклад ведущего C#-разработчика Степана Минина на MskDotNet Meetup #55

Степан с нуля рассмотрел концепцию обобщённой математики, как она выглядит в C# 11, как могла выглядеть в предыдущих версиях языка и почему вообще появилась.

📺 Смотреть
👍72
💡 В ASP.NET Core 8 завезли middleware для поддержки тайм-аутов запросов

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

#aspnet #tip by Nabi Karampoor
👍51🔥201
💬 Подкаст RadioDotNet: Async practices, breaking changes, time provider

😎О борьбе с ненадежными тестами с помощью TimeProvider и ITimer, асинхронном программировании, изменении правил совместимости, книге «Blazor в действии» и других интересных темах на русском.

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

#подкасты
12👍4
Давайте пофантазируем! Если отмотать время назад и вернуться к моменту, когда вы только выбрали C#/.NET для дальнейшего изучения и построения карьеры, ваше итоговое решение могло измениться?

💬 Вы выбрали бы C#? Может быть Java? Или Go/C/C++/...?

👍 — C#
🤔 — другой ЯП

#холивар
👍324🤔47
🔧 Все, что вам нужно знать о конфигурации и управлении секретами в .NET

Конфигурация .NET кардинально изменилась с момента появления .NET Core. Времена использования нескольких файлов Web.config прошли, теперь у нас гораздо более гибкая система.

Однако гибкая система также может быть сложной системой. О том, как работает система конфигурации .NET и как ее можно оптимально использовать, читайте в руководстве.

📌 И не забудьте сохранить этот большой труд в заметки
21🌚2
🤦‍♂️ Российская ОС — это не какое-то далекое будущее. Это настоящее!

Если у вас вдруг появится задача развернуть проект под Astra Linux, придется немного потанцевать с бубном. «Можно ведь просто использовать Docker» — скажете вы. Таки да, но бывают особенные случаи вроде этого👇

👉 Читать
😁25👍6🤔1🥱1
«Метрики в .NET на примере OpenTelemetry и Prometheus» — доклад Александра Пугача из Лаборатории Касперского с DotNext 2023

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

OpenTelemetry устанавливает общие стандарты для логов, метрик и трейсов, которые поддерживают множество платформ, что позволяет использовать все их преимущества. В докладе Александр поделился опытом по работе с метриками в .NET на примере, покажет примеры кода и демо по сбору метрики с приложения в Prometheus и визуализацией в Grafana.

Вы узнаете про OpenTelemetry в целом и особенности API в .NET, как добавлять метрики в свои приложения и какие есть варианты сбора метрик.

📺 Смотреть
👍12🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
☝️ Когда вы — новичок в экосистеме .NET/ASP .NET Core

#жиза
😁64👍7💯2🤔1
Memory alignment of doubles in C#.pdf
851.9 KB
Как выравниваются массивы чисел типа double в .NET

Автор изначально заметил, что в 64-битной среде .NET объекты выравниваются по 8-байтной границе, несмотря на 32-битный заголовок. Это наблюдение привело к обсуждению выравнивания массивов double.

Вас ждет гайд для с пикантными подробностями о контексте выделения, поддельных объектах и ​​коде C#, который определенно не стоит деплоить в прод.

👉 Читайте на Medium или в PDF
👍10
💡 Не храните HttpContext в поле, вместо этого извлекайте его из IHttpContextAccessor всякий раз, когда это необходимо, и используйте его только в области действия метода или блока кода, который его требует.

Таким образом, вы можете гарантировать, что каждый поток получит свой собственный экземпляр объекта HttpContext и что он не будет общим для потоков.

📌 Это считается лучшей практикой по нескольким причинам:

✔️ Безопасность потоков: получение HttpContext из IHttpContextAccessor при необходимости гарантирует, что каждый поток имеет свой собственный экземпляр.

✔️ Управление памятью: HttpContext имеет большое количество связанных с ним объектов и ресурсов, поэтому получение HttpContext только при необходимости позволяет избежать ненужного использования памяти.

✔️ Тестируемость: получение HttpContext с помощью IHttpContextAccessor упрощает написание модульных тестов.

#dotnet #aspnet #tip by Nabi Karampoor
👍56🤔7🥱41
🔥 -50% на курс «Алгоритмы и структуры данных»

😲 В честь черной пятницы курс «Алгоритмы и структуры данных» со скидкой 50% – https://proglib.io/w/48357c58

17 990 рублей 35 990 рублей до 30 ноября

🐣 На курсе вы на практике познакомитесь со сложными алгоритмами и научитесь писать более короткий и эффективный код. И сможете подготовиться к собеседованию крупную IT-компанию.

Что еще вас ждет на курсе:

▪️ 150 практических заданий и 47 видеолекций;

▪️ Бессрочный доступ ко всем материалам курса;

▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.

👉 А если вы сомневаетесь подходит ли вам курс, то вы можете начать изучение с бесплатных вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.

Переходите на сайт и оставляйте заявку на вводные занятия – https://proglib.io/w/48357c58

До встречи на обучении 🙌
🥱7
🛠️ Пополняемая серия статей от JetBrains про возможности C# 12 и то, как ReSharper и Rider упрощают их внедрение в вашу кодовую базу:

1️⃣ Primary Constructors
2️⃣ Interceptors
3️⃣ Alias Any Type
4️⃣ Collection Expressions

#csharp12
👍7🔥4
🤩 Обновленные примеры приложений, разработанных с использованием .NET MAUI:

Point of Sale
Weather '21 App
Calculator App
.NET Podcasts App
Navigation Samples
Beginner's Series Task App Sample

#dotnet8 #maui
🥰22👍11👏2❤‍🔥1🔥1