fa
Feedback
Библиотека шарписта | C#, F#, .NET, ASP.NET

Библиотека шарписта | C#, F#, .NET, ASP.NET

رفتن به کانال در Telegram

Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

نمایش بیشتر

📈 تحلیل کانال تلگرام Библиотека шарписта | C#, F#, .NET, ASP.NET

کانال Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 21 860 مشترک است و جایگاه 6 187 را در دسته فناوری و برنامه‌ها و رتبه 30 800 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 21 860 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 14 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -44 و در ۲۴ ساعت گذشته برابر 5 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 12.77% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 7.38% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 2 793 بازدید دریافت می‌کند. در اولین روز معمولاً 1 614 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 8 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند .net, шарписта, навигация, await, string تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 15 ژوئن, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

21 860
مشترکین
+524 ساعت
-207 روز
-4430 روز
آرشیو پست ها
Какие методы отслеживания здоровья вы используете?
Anonymous voting

😊 Привет, шарписты! Мы собираем данные о том, какие методы биохакинга действительно помогают разрабам улучшить качество жизн
😊 Привет, шарписты! Мы собираем данные о том, какие методы биохакинга действительно помогают разрабам улучшить качество жизни и повысить продуктивность. Поделитесь своим опытом — это поможет другим сделать осознанный выбор в мире биохакинга.

⚙️ Пайпы в F#: как писать чистый и читаемый код Если вы работаете с F#, то наверняка слышали о пайпах (pipes). Это инструмент
⚙️ Пайпы в F#: как писать чистый и читаемый код Если вы работаете с F#, то наверняка слышали о пайпах (pipes). Это инструмент языка, который помогает писать код в стиле "конвейера", делая код читаемым и выразительным. Давайте разберем, как они работают и зачем их использовать. ❓Что такое пайпы? Пайпы — это операторы, которые передают результат одной функции в качестве входного аргумента другой. В F# есть два оператора:Прямой пайп (|>) — передает значение слева в функцию справа. • Обратный пайп (<|) — передает значение справа в функцию слева. 1️⃣ Прямой пайп (|>) — этот оператор используется чаще всего. Он делает код более линейным и похожим на "конвейер". Пример:
let add x y = x + y
let multiplyBy2 x = x * 2

// Без пайпа
let result1 = multiplyBy2 (add 3 4) // 3 + 4 = 7, затем 7 * 2 = 14

// С пайпом
let result2 = add 3 4 |> multiplyBy2 // То же самое, но более читаемо
2️⃣ Обратный пайп (<|) — этот оператор менее популярен, но не менее полезен для улучшения читаемости. Пример:
let result = multiplyBy2 <| add 3 4 // То же, что и multiplyBy2 (add 3 4)
3. Зачем использовать пайпы? Код становится линейным и понятным. Не нужно вкладывать вызовы функций в скобки. Пайпы подчеркивают функциональную природу F#. 🐸Библиотека шарписта

🔄 Meadow v2: что изменилось Команда Wilderness Labs выпустила долгожданную Meadow v2 — крупное обновление платформы для разр
🔄 Meadow v2: что изменилось Команда Wilderness Labs выпустила долгожданную Meadow v2 — крупное обновление платформы для разработки IoT-устройств на базе .NET! 🚀 Если вы занимаетесь созданием умных устройств или встраиваемых систем, этот релиз точно заслуживает вашего внимания. Давайте разберем, что нового: ➡️ Meadow v2 получил серьезные улучшения в работе операционной системы, что повышает стабильность и производительность устройств. ➡️ Добавлены новые API для работы с периферией, сенсорами и другими компонентами, что упрощает разработку сложных IoT-решений. ➡️ Теперь Meadow лучше работает с различными аппаратными компонентами, что расширяет возможности для создания уникальных устройств. ➡️ Множество багов и проблем, обнаруженных в предыдущих версиях, были устранены, что делает платформу более надежной. ➡️ Wilderness Labs постарались улучшить документацию, чтобы разработчикам было проще начать работу с платформой. 📎 Полный список изменений доступен на официальной странице релиза 🐸Библиотека шарписта #новость

👋 Привет, шарписты! Есть идеи для пет-проектов? А может уже что-то делаете? Поделитесь своими задумками с сообществом! 👇 Ве
👋 Привет, шарписты! Есть идеи для пет-проектов? А может уже что-то делаете? Поделитесь своими задумками с сообществом! 👇 Ведь это субботний #интерактив! Не стесняйтесь делиться своими идеями и прогрессом в их реализации. Мы уверены, что среди вас много талантливых разработчиков, которые могут создать что-то уникальное и интересное. 🐸Библиотека шарписта

⚡️ Автоматическая регистрация зависимостей в C# Scrutor — это библиотека для упрощения регистрации зависимостей в контейнере
⚡️ Автоматическая регистрация зависимостей в C# Scrutor — это библиотека для упрощения регистрации зависимостей в контейнере инверсии управления (IoC) Microsoft.Extensions.DependencyInjection. Она позволяет автоматически сканировать сборки и регистрировать классы по заданным правилам, избавляя от необходимости вручную прописывать каждую зависимость. 💻 Пример использования С помощью Scrutor можно зарегистрировать все классы в сборке, реализующие интерфейсы, в несколько строк:
services.Scan(scan => scan
    .FromAssemblyOf<Startup>() // Сканирование текущей сборки
    .AddClasses()              // Добавление всех классов
    .AsImplementedInterfaces() // Регистрация их как интерфейсов
    .WithScopedLifetime());    // Установка времени жизни
💡 Основные возможности • Автоматическая регистрация классов. • Фильтрация классов по правилам (например, по имени или пространству имён). • Настройка времени жизни (Transient, Scoped, Singleton). • Регистрация классов с пользовательскими интерфейсами или без них. 📎 GitHub библиотеки 🐸Библиотека шарписта

С Новым годом и Годом Змеи! 🐍 Пусть этот год принесет вам успех, рост и меньше усилий для достижения больших целей. Мы в Pro
С Новым годом и Годом Змеи! 🐍 Пусть этот год принесет вам успех, рост и меньше усилий для достижения больших целей. Мы в Proglib Academy пришли с хорошими новостями в начале года. 🌟 Обновления курсов! Мы работаем над тем, чтобы ваше обучение было проще и эффективнее. Вот что мы уже улучшили: 📈 Data Science: улучшили блок «Геометрическая прогрессия и векторная алгебра» — ключевой этап курса, который идет сразу после теории множеств. Он закладывает фундамент для работы с данными: от анализа роста и убывания величин (геометрическая прогрессия) до понимания многомерных пространств и операций с векторами. Знания которых пригодятся в машинном обучения и аналитики. 🐍 Python: обновили курс с учетом последней версии Python 3.9.5, добавив актуальные материалы и улучшив структуру. Чтобы вы могли лучше закрепить пройденный материал, мы добавили новые интересные задачи и практические примеры. Учебный процесс стал еще удобнее и эффективнее, а вы сможете быстрее освоить современные инструменты и техники программирования Общие обновления: - Перезаписали демо-курсы и презентации. Чтобы вы точно одурели с этой прикормки. - Сократили время проверки домашних заданий, ответы теперь приходят быстрее. - Видео теперь без перекрытий, презентации стали четче, а задания логичнее. Но главное — мы растем для вас и с вами. Ваша обратная связь помогает нам становиться лучше. Делитесь идеями, и вместе мы создадим лучший образовательный продукт для вас! 💡 С 27.01.25 цены изменятся на 10%. Пример: Математика для DS (Базовый): 20,990 → 23,090 ₽. Это позволяет нам делать курсы еще круче. Давайте сделаем 2025 год годом вашего профессионального успеха! 🚀 Выбрать курс

👀 Трансляция о .NET и работе с данными Недавно прошла трансляция «.NET Data Community Standup» , на которой эксперты обсудил
👀 Трансляция о .NET и работе с данными Недавно прошла трансляция «.NET Data Community Standup» , на которой эксперты обсудили ключевые подходы и инструменты для оптимизации работы с данными в .NET. 🔉 Что обсудили? ➡️ Context Pooling: • Рассказали, как эффективно управлять контекстами данных в .NET. • Обсуждали оптимизацию ресурсов, улучшение производительности приложений и типичные случаи использования пуллинга. ➡️ Метод FromSql: • Объяснили, как использовать необработанные SQL-запросы в Entity Framework. • Разобрали, когда FromSql может быть полезен, а когда его лучше избегать. ➡️ Скомпилированные запросы: • Показали, как предварительная компиляция запросов снижает накладные расходы. • Поделились примерами, где скомпилированные запросы позволяют ускорить повторное выполнение запросов. 📎 Смотреть запись трансляции 🐸Библиотека шарписта

🌵🕵️‍♂️ Git-квест: 10 испытаний для повелителя репозиториев Привет, шарписты! Вы пишете код, который собирается в проекты, п
🌵🕵️‍♂️ Git-квест: 10 испытаний для повелителя репозиториев Привет, шарписты! Вы пишете код, который собирается в проекты, покоряющие мир, но знаете ли вы, как не запушить .env в мастер? Этот тест — шанс доказать, что вы не только мастер LINQ, но и ветвлений в Git ✏️ Пройти тест

🎵 «Кодю под windows - да, это легко» Предлагаем послушать авторский айти ремикс о нашем любимом C#! Без наездов на джавистов
🎵 «Кодю под windows - да, это легко» Предлагаем послушать авторский айти ремикс о нашем любимом C#! Без наездов на джавистов не обошлось. 🎧 Слушать 🐸Библиотека шарписта

👨‍💻 Кроссплатформенная разработка с .NET MAUI и Blazor Hybrid 💡 .NET MAUI и Blazor Hybrid предоставляют возможность исполь
👨‍💻 Кроссплатформенная разработка с .NET MAUI и Blazor Hybrid 💡 .NET MAUI и Blazor Hybrid предоставляют возможность использовать единую кодовую базу для создания приложений, работающих на мобильных устройствах, настольных системах и в вебе. Это решение для тех, кто хочет оптимизировать процесс разработки. 🎯 Чем это удобно? • Переиспользование Razor-компонентов между вебом, мобильными и настольными приложениями. • Единый стиль работы для разработчиков, знакомых с экосистемой .NET Если вы хотите понять, как это работает на практике, рекомендуем ознакомиться с одной из статей, где подробно описывается процесс создания кроссплатформенного приложения на основе .NET MAUI и Blazor Hybrid. 📎 Посмотреть как разработать мультиплатформенное приложение 🐸Библиотека шарписта

⚙️ Мини-гайд по реализации MFA в .NET Многофакторная аутентификация (MFA) — это важный инструмент для повышения безопасности
⚙️ Мини-гайд по реализации MFA в .NET Многофакторная аутентификация (MFA) — это важный инструмент для повышения безопасности приложений. Она требует подтверждения личности пользователя через два или более независимых фактора, таких как пароль и одноразовый код из приложения-аутентификатора (например, Google Authenticator). Как это работает: ➡️Для каждого пользователя создается уникальный секретный ключ. Этот ключ используется для генерации одноразовых паролей (TOTP). ➡️Секретный ключ кодируется в формате QR-кода. Пользователь сканирует этот код своим приложением-аутентификатором, чтобы настроить MFA. ➡️После настройки приложение генерирует коды, которые действуют в течение ограниченного времени. ➡️При входе в приложение пользователь вводит код из аутентификатора. Сервер проверяет его, сравнивая с тем, что должно быть сгенерировано для данного пользователя. Основные этапы реализации в .NET: 1️⃣ Настройте библиотеку для работы с TOTP и генерации QR-кодов. 2️⃣ Реализуйте процесс генерации секретного ключа и сохранения в базе данных. 3️⃣ Организуйте валидацию кода на сервере при каждом входе. 📎 Пример реализации с кодом 🐸Библиотека шарписта

⚡️ Работа с gRPC API в .NET 8 ❓Что такое gRPC? gRPC — это фреймворк удаленных вызовов процедур, который использует HTTP/2 для
⚡️ Работа с gRPC API в .NET 8 ❓Что такое gRPC? gRPC — это фреймворк удаленных вызовов процедур, который использует HTTP/2 для передачи данных между приложениями. Он выделяется высокой производительностью благодаря бинарному формату Protocol Buffers. 🧑‍💻Реализация API В статье из C#Corner пошагово описан процесс реализации API в .NET 8: 1️⃣ Всё начинается с создания нового проекта с использованием шаблона "gRPC Service". 2️⃣ Затем внимание уделяется определению Proto-файла, который задает структуру запросов и ответов, а также созданию методов API. 3️⃣ Далее рассматривается, как написать серверную логику, обрабатывающую CRUD-операции, и настроить маршруты для работы API. 4️⃣ Заключительный этап — тестирование с использованием Postman, который позволит отправить gRPC-запросы и проверить функциональность сервиса. 📎 Пошаговое руководство для gRPC API 🐸Библиотека шарписта

🔢 Числовая сортировка строк в .NET Спустя 10 лет дискуссий сообщество .NET наконец-то получит поддержку числовой сортировки
🔢 Числовая сортировка строк в .NET Спустя 10 лет дискуссий сообщество .NET наконец-то получит поддержку числовой сортировки строк. Теперь строки с числами, например "file2" и "file10", сортируются логично с учётом чисел. Это стало возможным благодаря новому флагу CompareOptions.NumericOrdering, добавленному в PR#109861. Вопрос впервые подняли ещё в 2015 году в issue#13979, и с тех пор разработчики искали безопасный и универсальный способ его решения. 🎉Эта долгожданная функция будет доступна в будущих версиях .NET, улучшая работу со строками в файлах, версиях и других данных. #новость 🐸Библиотека шарписта

🤨 Неочевидная проблема FirstOrDefault Метод FirstOrDefault в LINQ может стать источником путаницы. Он возвращает первый элем
🤨 Неочевидная проблема FirstOrDefault Метод FirstOrDefault в LINQ может стать источником путаницы. Он возвращает первый элемент последовательности или значение по умолчанию для типа, если элементов нет. Для ссылочных типов и Nullable<T> это null, а для значимых типов (например, int) — это их дефолтное значение (0, false и т.д.). ✏️ Например, вызов FirstOrDefault для пустого списка List<int> вернёт 0, что может быть неожиданно, если 0 имеет смысловое значение в вашем коде.
var numbers = new List<int> { };
var result = numbers.FirstOrDefault();
Console.WriteLine(result); // Вывод: 0
❗️Чтобы избежать ошибок, рекомендуется явно проверять коллекцию на пустоту перед вызовом метода или использовать DefaultIfEmpty, чтобы задать своё значение по умолчанию. Например:
var result = numbers.DefaultIfEmpty(null).FirstOrDefault();
Это гарантирует, что даже для пустой коллекции результат будет null, а не дефолтное значение типа. Такой подход делает код понятным и избавляет от скрытых проблем с обработкой "пустых" результатов. 🐸Библиотека шарписта #tip

💡Лучшие практики работы с HttpClient в C# HttpClient — это часто неочевидная область, где мелкие ошибки могут обернуться бол
💡Лучшие практики работы с HttpClient в C# HttpClient — это часто неочевидная область, где мелкие ошибки могут обернуться большими проблемами, такими как утечки ресурсов, игнорирование изменений DNS или перегрузка сети. Вот несколько ключевых уроков, которые помогут вам эффективно управлять HTTP-запросами в ваших приложениях. 1️⃣ Никогда не создавайте HttpClient в цикле Каждый раз, когда вы создаёте новый экземпляр HttpClient, в операционной системе открывается новый TCP-сокет. Если вы забыли правильно утилизировать его (или создаёте их слишком много за короткий промежуток времени), это может привести к исчерпанию доступных портов и замедлению работы приложения. 2️⃣ Используйте IHttpClientFactory Вместо создания HttpClient вручную, внедряйте фабрику IHttpClientFactory. Она решает проблемы утечки сокетов, управляет временем жизни клиентов и правильно обрабатывает изменения DNS. 3️⃣ Используйте политику повторных попыток Сетевые запросы могут иногда прерываться. Настройте стратегию повторных попыток через библиотеку Polly, к примеру.
services.AddHttpClient("RetryClient")
    .AddTransientHttpErrorPolicy(policy =>
        policy.WaitAndRetryAsync(3, _ => TimeSpan.FromSeconds(2)));
📎Если вы хотите погрузиться глубже, разобраться с именованными и типизированными клиентами, управлением DNS и правильной утилизацией, то рекомендуем статью к прочтению

💡 Совет по паттерн-матчингу Когда вы работаете с switch или проверяете объекты через is, не забывайте про символ _. Это унив
💡 Совет по паттерн-матчингу Когда вы работаете с switch или проверяете объекты через is, не забывайте про символ _. Это универсальный паттерн, который подходит для любого значения. Например, в switch он удобно используется для обработки случаев «по умолчанию»:
string DescribeDay(string day) => day switch
{
    "Monday" => "Начало недели",
    "Friday" => "Пятница, ура!",
    _ => "Обычный день" // Все остальные случаи
};