Библиотека шарписта | 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
Давайте пофантазируем! Если отмотать время назад и вернуться к моменту, когда вы только выбрали 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
🔍Вопросы с собеседований и задачи по C#

У нас появились новые каналы по C#, в которых мы готовимся к собеседованиям и проверяем себя на практических задачках 🚀

Подписывайтесь:
👉Библиотека собеса по C# — тут мы готовимся к интервью
👉Библиотека задач по C# — тут решаем задачи, проходим тесты и изучаем код
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19😁13👏2🥱1
💡 Сергей Тепляков знает, о чем говорит. И это не бенчмарк, а сессия профилирования реального приложения.

👉 Источник

#csharp #tips
👍414🥱2❤‍🔥1😁1
❗️Мы запускаем серию исследований — и вы можете нам в этом помочь!

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

Помогите нам выбрать интересные темы: может быть, вы давно хотели узнать, как изменилась зарплата у тех, кто релоцировался? Или гадаете, сколько лет нужно, чтобы стать миддлом?

Присылайте интересующие вас темы в комментарии — интересные мы возьмем в работу и поделимся с вами результатами 💙
👍93🔥1
⚡️Подборка за неделю

📌 С Code Maze:

🔹
Введение в .NET и C#: различия, структура, SDK, среда выполнения, компиляция
🔹
Различия между Quartz.NET и Hangfire: обзор библиотек для выполнения отложенных задач и управления фоновыми задачами
🔹
REST vs WebSockets в C#: странное, но любопытное сравнение
🔹 Как с помощью C# проверить, используется ли файл: фундаментальные основы на пальцах

📌 С официального блога .NET:

🔸
Улучшения и изменения в Android resource generation в .NET 8
🔸 Анонс chiseled контейнеров .NET, главное преимущество которых заключается в уменьшенном размере и повышенной безопасности
🔸
Использование новых типов из .NET 8 при разработке тестов с моками:
FakeLogger, FateTimeProvider и MetricCollector
🔸
Анонс ML.NET 3.0 с улучшениями в области глубокого обучения, DataFrame, производительности и многого другого
🔸
Создание отказоустойчивых облачных сервисов с помощью .NET 8:

dotnet add package Microsoft.Extensions.Http.Resilience


#dotnet #dotnet8 #csharp #codemaze #матчасть
👍11
Представлен LINQPad 8! Новая версия поддерживает C# 12 и предназначена для .NET 8, .NET 7 и .NET 6 (с ограниченной поддержкой .NET 5 и .NET Core 3.1). Для поддержки .NET Framework запустите параллельно LINQPad 5.

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

#новости #инструменты
14
💡 Организуйте ваш файл Program.cs в проектах ASP.NET Core

Вы можете установить пакет ServiceCollectionInstaller, который служит точкой входа для вашего приложения ASP.NET Core. Это альтернатива использованию известных вам Extension Methods👇


$ dotnet add package ServiceCollectionInstaller --version 1.0.2


1️⃣ Реализуйте интерфейс IServiceCollectionInstaller для каждой части конфигураций вашего сервиса, которые вам нужны
2️⃣ Пометьте сборки с помощью интерфейса
3️⃣ Используйте метод расширения BuildIt<T> в WebApplicationBuilder
4️⃣ Запус
тите приложение, установщик автоматически найдет все классы-установщики и настроит ваши сервисы

#dotnet #aspnet #tip by Nabi Karampoor
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔22❤‍🔥6👍5🥱2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏆 Самые популярные языки программирования 2023

Популярность ЯП зависит от нескольких факторов. Мы разобрались с ними, составили сводный рейтинг и обсудили особенности, преимущества, недостатки и причины популярности каждого языка. Заходите и читайте👇

🔗 Читать статью
🔗 Зеркало
👍6