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

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

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

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

نمایش بیشتر

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

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

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

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

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

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

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

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

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

21 705
مشترکین
+524 ساعت
-57 روز
-3730 روز
آرشیو پست ها
✋ Хватит плохих новостей Такое ощущение, что плохих новостей вокруг уже больше, чем уведомлений от коллег. Наткнулись на кана
Хватит плохих новостей Такое ощущение, что плохих новостей вокруг уже больше, чем уведомлений от коллег. Наткнулись на канал с позитивными новостями и это как антидот к новостному шуму и думскроллингу, где можно сознательно переключиться в режим у мира ещё есть шансы. 🤌 Бонусы для подписчиков:Скидка 40% на все курсы АкадемииРозыгрыш Apple MacBookБесплатный тест на знание математики 🐸Библиотека шарписта

📰 Последняя неделя ноября Ноябрь вот-вот закончится, а мы подводим итоги недели. — Куда катится .NET Microsoft выкатили боль
📰 Последняя неделя ноября Ноябрь вот-вот закончится, а мы подводим итоги недели. Куда катится .NET Microsoft выкатили большой лонгрид про то, как .NET в .NET 10 окончательно переезжает на Unified Build — виртуальный монорепозиторий и вертикальные сборки, чтобы быстрее и предсказуемее собирать весь продукт. — Ивент про ИИ .NET‑команда анонсировала бесплатный онлайн‑ивент .NET Day on Agentic Modernization, который пройдёт 9 декабря 2025 — Redis 8.4 Redis выкатили версию, которая одновременно ускоряет кэш, упрощает жизнь кластерам и делает Redis куда более удобным движком для AI и гибридного поиска — GitHub Copilot TestingПерестаньте ждать, пока вас найдутКарьерная «страховка» для IT‑шника 🫶 Бонусы для подписчиков:Скидка 40% на все курсы АкадемииРозыгрыш Apple MacBookБесплатный тест на знание математики 🐸Библиотека шарписта #async_news

🔥 Хочешь строить свои AI-модели, а не просто запускать чужие? Proglib.academy открывает курс «Математика для разработки AI-моделей» — программу, которая превращает понимание ML из «черного ящика» в осознанную инженерную работу. 📌 Почему без математики в AI никуда: → Чтобы пройти собеседование. Это первый фильтр: линал, матстат, оптимизация — спрашивают везде. → Чтобы понимать процесс изнутри. Инженер AI должен понимать, почему и как работает модель, а не просто жать fit(). 🎓 Что будет на курсе: → 3 практических задания на Python + финальный проект с разбором от специалистов; → программа обновлена в ноябре 2025; → за 2 месяца пройдёшь весь фундамент, нужный для работы с моделями; → преподаватели — гуру математики, методисты и исследователи из ВШЭ и индустрии. 🎁 Бонусы ноября: — 40% скидка; — получаешь курс «Школьная математика» в подарок; — короткий тест и узнать свой уровень. 🔗 Подробнее о курсе

👨‍💻 DbContext в ASP.NET Core лучше оставлять scoped В ASP.NET Core есть негласное правило DbContext живет ровно столько, сколько живет HTTP запрос. Эту модель Microsoft прямо закладывает в документацию, ведь DbContext задуман как короткоживущий объект под одну единицу работы одну бизнес операцию и один вызов SaveChanges. Когда вы регистрируете контекст так:
builder.Services.AddDbContext<AppDb>(opt =>
    opt.UseNpgsql(connString));
контейнер DI по умолчанию регистрирует AppDb с временем жизни Scoped. Это значит новый экземпляр создается на каждый запрос и шарится только между сервисами внутри этого запроса. Если сделать DbContext Singleton вы получите общий экземпляр на все запросы сразу и это прямой путь к гонкам, утечкам и странным багам. 🤌 Бонусы для подписчиков:Скидка 40% на все курсы АкадемииРозыгрыш Apple MacBookБесплатный тест на знание математики 🐸Библиотека шарписта #sharp_view

😂 Я ставлю X. Ваш ход 🐸Библиотека шарписта #garbage_collector
😂 Я ставлю X. Ваш ход 🐸Библиотека шарписта #garbage_collector

💻 Поддержка паттерна discard в use! в F# 10 Раньше в use! вычислительных выражениях нельзя было указать _ для игнорирования результата, что заставляло создавать ненужные имена переменных, например, __ или _ignored. Теперь можно прямо написать:
use! _ = acquireResourceAsync()
Это обозначает, что ресурс используется только для управления временем жизни, и его значение не будет задействовано в коде. 🤌 Бонусы для подписчиков:Скидка 40% на все курсы АкадемииРозыгрыш Apple MacBookБесплатный тест на знание математики 🐸Библиотека шарписта #sharp_view

💳 Как выбить зарплату побольше Собрали для вас в карточках 5 стратегий для торгов на собеседовании. Есть ещё несколько, кото
+5
💳 Как выбить зарплату побольше Собрали для вас в карточках 5 стратегий для торгов на собеседовании. Есть ещё несколько, которые подробно описаны в статье. 🤌 Бонусы для подписчиков:Скидка 40% на все курсы АкадемииРозыгрыш Apple MacBookБесплатный тест на знание математики 🐸Библиотека шарписта

⚡️ Batch-обработка с помощью Chunk Если нужно обработать коллекцию по частям — например, выгрузить данные пакетами, есть решение: метод Chunk. Он создаёт из исходного списка последовательность подсписков одинакового размера. Пример:
foreach (var batch in items.Chunk(100))
{
    await SaveBatch(batch);
}
} Chunk тут удобен тем, что не требует писать циклы с индексами и сложную логику по разбиению. Просто задайте размер пакета, и метод сделает всё за вас. 🔹 Практический интенсив «Архитектуры и шаблоны проектирования» 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸Библиотека шарписта #sharp_view

💡 Tail-call оптимизация в вычислительных выражениях F# 10 В F# 10 появилась важная возможность оптимизировать использование вычислительных выражений с помощью поддержки tail-call оптимизации для ключевых вызовов return!, yield! и do!. Теперь компилятор распознаёт, когда эти вызовы находятся в хвостовой позиции, и, если реализация билдера поддерживает специальные методы ReturnFromFinal, YieldFromFinal и им подобные, он применяет оптимизацию tail call. Это позволяет выполнять вызовы без дополнительного роста стека. 🔹 Основы IT для непрограммистов 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека шарписта #sharp_view

Коллекции .NET: взгляд изнутри Как устроены стандартные коллекции в .NET и почему понимание их внутренней логики помогает пис
Коллекции .NET: взгляд изнутри Как устроены стандартные коллекции в .NET и почему понимание их внутренней логики помогает писать более производительный код? На открытом вебинаре курса OTUS «C# Developer. Advanced» Антон Герасименко покажет, что происходит «под капотом» List, Dictionary и других структур данных. 🗓 4 декабря, 20:00 Коллекции .NET: взгляд изнутри: — разберём устройство стандартных коллекций — заглянем в исходный код и объясним, почему они работают именно так — обсудим, когда стоит реализовать собственную структуру данных Вебинар будет полезен разработчикам уровня Junior и выше, которые хотят глубже понимать, как устроены базовые механизмы .NET и как использовать их эффективнее. 👉 Зарегистрируйтесь: https://clc.to/8-oWYg Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

💼 Карьерная «страховка» для IT‑шника Рынок IT сильно изменился за последние годы. После бурного роста начались крупные сокра
💼 Карьерная «страховка» для IT‑шника Рынок IT сильно изменился за последние годы. После бурного роста начались крупные сокращения и оптимизация команд. Сегодня никто не может быть уверен в стабильности работы — даже опытные разработчики сталкиваются с риском внезапного увольнения. Поэтому важно задуматься о своей карьерной страховке — простых шагах и инструментах, которые помогут защитить себя и сохранить финансовую устойчивость в любой ситуации. ➡️ Собрать свою страховку 🔸 ML для старта в Data Science 🔸 Получить консультацию менеджера 🔸 Сайт Академии 🔸 Сайт Proglib 🐸Библиотека шарписта

👨‍💻 Обработка ошибок в .NET minimal API При разработке API важно правильно и понятно передавать клиентам информацию о возникших ошибках. Одним из удобных способов сделать это в .NET minimal API является использование встроенного метода Results.Problem. Он возвращает объект с подробностями ошибки в стандарте ProblemDetails, что упрощает клиентам обработку ответа. Пример:
app.MapGet("/users/{id}", async (string id, IUserRepo repo) =>
{
    if (!Guid.TryParse(id, out var guid))
        return Results.Problem("Invalid id", statusCode: 400);

    var user = await repo.Find(guid);
    return user is null ? Results.NotFound() : Results.Ok(user);
});
В этом коде при неверном формате id возвращается ProblemDetails с кодом 400, если пользователь не найден — 404, иначе 200 с данными. 🐸Библиотека шарписта #sharp_view

🤩 Типизированные вычислительные выражения в F# 10 без скобок В F# 10 упростили синтаксис для аннотирования типов в вычислительных выражениях. Теперь можно добавлять типы в let!, use! и and! без необходимости использовать дополнительные скобки вокруг идентификаторов. ньше для указания типа в вычислительном выражении приходилось писать так:
let! (x: int) = fetchValue()
Сейчас можно написать короче:
let! x: int = fetchValue()
Если вы часто работаете с async, task или другими вычислениями, это изменение вы оцените. 🔹 Алгоритмы и структуры данных 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸Библиотека шарписта #sharp_view

🔥 На рынке сейчас математика — снова король: AI растёт быстрее, чем вузы успевают обновлять программы. Мы же перестраиваем к
🔥 На рынке сейчас математика — снова король: AI растёт быстрее, чем вузы успевают обновлять программы. Мы же перестраиваем курс под индустрию мгновенно. Хочешь наконец разобраться в математике для DS, а не гуглить «что такое градиент» перед собесом? Новый курс «Математика для разработки AI-моделей» — это 8 недель плотной подготовки, свежая программа и только актуальные темы, которые реально нужны в ML. Что в курсе: → линал, производные, градиенты, вероятности, статистика; → практика на Python и 3 большие ДЗ; → живые вебинары + разбор ваших вопросов; → финальный мини-проект, который можно положить в портфолио; → доступ к материалам и чат с экспертами. Для старта нужны только школьная математика и базовый Python. 🎁 Бонусы ноября: — скидка 40% до 30 ноября; — «Базовая математика» в подарок при оплате; → бесплатный тест уровня математики. 👉 Записывайся на курс

🤝 Перестаньте ждать, пока вас найдут Обычный сценарий поиска работы в ИТ до сих пор у многих сводится к загрузке резюме на н
🤝 Перестаньте ждать, пока вас найдут Обычный сценарий поиска работы в ИТ до сих пор у многих сводится к загрузке резюме на несколько площадок и ожиданию, пока система кого то заинтересует. При этом автоматические правила, внутренние фильтры и массовая обработка откликов оставляют кандидата без ответа. Альтернатива в том, чтобы не ограничиваться джоббордами и целенаправленно выходить на людей, которые управляют инженерными командами. Общение с CTO, тимлидами и фаундерами превращает поиск работы в прямой профессиональный разговор, а не попытку пройти через набор формальных стадий. ➡️ Действуйте, ищите, откликайтесь 🔸 Практический интенсив «Архитектуры и шаблоны проектирования» 🔸 Получить консультацию менеджера 🔸 Сайт Академии 🔸 Сайт Proglib 🐸 Библиотека шарписта

⭐️ Логирование исключений с помощью фильтров Фильтры исключений позволяют выполнить код при срабатывании catch, но при этом не перехватывать исключение. Пример:
try 
{
    await work();
}
catch (Exception ex) when (Log(ex))
{
    // этот блок не выполняется, так как Log возвращает false
}

static bool Log(Exception ex)
{
    // логируем исключение
    return false;
}
Метод Log вызывается один раз при исключении, логирует его и возвращает false, чтобы исключение продолжило всплывать дальше без перехвата. 🔹 Алгоритмы и структуры данных 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸Библиотека шарписта #sharp_view

🛠 Структурные опциональные параметры в F# 10 В F# 10 появилась возможность использовать структурный тип ValueOption<'T> для опциональных параметров. Это позволяет избежать выделения памяти в куче. Теперь, применяя атрибут [<Struct>], можно указать компилятору использовать ValueOption<'T> — структуру, которая хранится на стеке и не требует дополнительных аллокаций. Раньше:
type X() =
    static member M(?x: string) =
        match x with
        | Some v -> printfn "Some %s" v
        | None -> printfn "None"
Теперь с F# 10:
type X() =
    static member M([<Struct>] ?x: string) =
        match x with
        | ValueSome v -> printfn "ValueSome %s" v
        | ValueNone -> printfn "ValueNone"
Такой код работает быстрее в случаях, когда параметр отсутствует, и уменьшает давление на сборщик. 🔹 Экспресс-курс «Математика для Data Science» 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸Библиотека шарписта #sharp_view

Не кодь — вайбкодь. Бесплатно 🚀 Сбер представил бесплатный агентный режим GigaCode — нового цифровой разработчика, который б
Не кодь — вайбкодь. Бесплатно 🚀 Сбер представил бесплатный агентный режим GigaCode — нового цифровой разработчика, который берет на себя рутину, чтобы вы могли сосредоточиться на крутых задачах! Что умеет GigaCode в агентном режиме? ⏩Сам находит и открывает нужные файлы ⏩Вносит изменения в код, запускает тесты, собирает проекты и оформляет коммиты в Git ⏩Работает в вашей любимой среде: JetBrains IDE, GigaIDE Desktop, а скоро еще и в VS Code Плюс, в GigaCode появилась новая модель автодополнения кода — GigaCode Inline 4.0. Она мгновенно предлагает нужные фрагменты кода для Python, Java, JavaScript и других языков. Подсказки стали еще точнее, а работа с контекстом — еще лучше. 🖱 Хотите ускорить разработку? Обновленный GigaCode уже доступен на GitVerse. Начать вайбкодить — по ссылке

🤨 Как искусственный интеллект помогает писать тесты Создание качественных модульных тестов — важный, но утомительный и затра
🤨 Как искусственный интеллект помогает писать тесты Создание качественных модульных тестов — важный, но утомительный и затратный процесс. GitHub Copilot Testing для .NET упрощает эту задачу, автоматически генерируя, собирая и выполняя тесты прямо в вашем рабочем процессе. Как начать использовать 1. Установите последнюю версию Visual Studio 2026 Insiders и получите лицензию GitHub Copilot 2. Включите функцию GitHub Copilot Testing через настройки (Tools > Options > GitHub > Copilot > Testing 3. Откройте проект или решение на C# и убедитесь, что оно успешно собирается 4. В чате Copilot напишите команду @Test #target, где #target — имя метода, класса, файла, проекта, решения или #changes для git diff 5. Copilot автоматически проанализирует код, создаст проект с тестами (если его нет), сгенерирует, соберёт и выполнит тесты. Результаты отображаются в Test Explorer и в окне чата, где вы увидите статистику по числу тестов, изменениям в покрытии кода и рекомендации по устранению «тестируемых» пробелов. 🔹 Специалист по ИИ 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека шарписта #sharp_view

✏️ Сокращаем код Collection expressions — удобный синтаксис для создания и инициализации коллекций и массивов с помощью квадратных скобок и элементов, разделённых запятыми. Можно использовать spread-элементы (..) для вставки содержимого других коллекций внутрь новой. Пример:
int[] odds = [1, 3, 5, 7];

string[] vowels = ["a", "e", "i", "o", "u"];
string[] consonants = ["b", "c", "d", "f"];
string[] alphabet = [..vowels, ..consonants, "y"];
С помощью выражений коллекций можно легко создавать массивы, списки, Span и другие коллекторные типы. Появились они в C# 12. 🔹 Экспресс-курс «Математика для Data Science» 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸Библиотека шарписта #sharp_view