Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «Библиотека шарписта | C#, F#, .NET, ASP.NET»

Библиотека шарписта | C#, F#, .NET, ASP.NET
6.7K
13.3K
1.3K
267
51.1K
Все самое полезное для C#-разработчика в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Подписчики
Всего
21 563
Сегодня
+2
Просмотров на пост
Всего
2 252
ER
Общий
10.44%
Суточный
8%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 6 657 постов
Смотреть все посты
Пост от 26.10.2026 12:04
584
0
1
🧠 FSharp.Core сокращает выделения памяти для лямбд в операциях с коллекциями

Лямбда использует значение из окружающей области:

let sumWithOffset k xs =
List.fold
(fun total value -> total + value + k)
0
xs

Такие захваты могут требовать создания замыкания. В FSharp.Core из .NET 11 RC2 больше функций обхода List и Array умеют встраивать переданные лямбды, убирая часть этих выделений памяти.

В измерениях автора изменений для отдельных вызовов List.fold, List.exists, Array.fold и Array.fold2 с захватывающими лямбдами расход снизился с 24 байт до нуля по сравнению с FSharp.Core 9.0.100.

⏬ Ноль байт относится к конкретным измерениям

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

Практический вывод: перед ручной заменой функционального кода на цикл проверьте горячий участок на новой версии. Часть расходов уже может убрать компилятор и библиотека.

.NET 11 пока в RC; измерения лучше повторить на своём сценарии.

🔗 Источник

#il_люминатор

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека шарписта
👍 1
Пост от 25.10.2026 20:28
264
0
0
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.

В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.

Например, можно совместить два направления по работе с ИИ:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.

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

А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.

Акция действует до 31 октября включительно ⏳

⏮️ Пора прокачать свой стек
Пост от 25.10.2026 12:01
352
0
1
🧩 Экспериментальные компоненты Blazor показывают ответ и действия ИИ-агента

Обычного списка сообщений мало, когда агент вызывает инструменты, ждёт подтверждения и меняет данные приложения. Пользователю нужно видеть, что происходит прямо сейчас.

Microsoft представила экспериментальный пакет Microsoft.AspNetCore.Components.AI. Начать можно с готового компонента:

<ChatPage Agent="_agent"
Placeholder="Что нужно сделать?" />

В основе — UIAgent, который работает с IChatClient и превращает поток обновлений ответа в наблюдаемые блоки содержимого. Компоненты могут отображать текст, вызовы инструментов и запросы подтверждения по мере их поступления.

Есть и более низкоуровневые части: MessageList, MessageInput и BlockRenderer. Из них можно собрать собственный интерфейс вместо готовой страницы.

⏬ Что остаётся приложению

Пакет экспериментальный; инструкция в статье использует .NET 11 RC1 и предварительную версию пакета. Разрешения на вызов инструментов, серверные проверки и обработку файлов или аудио приложение организует само.

Это заготовки интерфейса и состояния. Подключение красивого чата само по себе не даёт агенту безопасного доступа к вашим данным.

🔗 Источник

#async_news

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека шарписта
❤ 2
Пост от 24.10.2026 12:04
298
0
4
⚙️ WinForms в .NET 11 восстанавливает перерисовку после массового обновления через using

Меняете шрифт контейнера, затем отступы дочерних элементов — и интерфейс несколько раз пересчитывает разметку. Чем сложнее дерево, тем заметнее лишняя работа.

В .NET 11 RC2 для такого обновления можно использовать область приостановки:

using System.Windows.Forms;

using (container.SuspendPainting(
LayoutSuspendTraversal.TargetAndDescendants))
{
container.Font = newFont;

foreach (Control child in container.Controls)
{
child.Margin = new Padding(8);
}
}

Область приостанавливает перерисовку контейнера и перерасчёт разметки для него и потомков. При выходе из using всё возобновляется, даже если внутри возникло исключение.

⏬ У перегрузок разное поведение

Вызов SuspendPainting() без аргументов приостанавливает только перерисовку целевого элемента. Перерасчёт разметки он не останавливает.

TargetAndDescendants относится к обходу дерева для приостановки разметки: это не отдельная блокировка рисования каждого потомка.

Открывайте область до изменения свойств, которые запускают перерасчёт, и выполняйте обновление в UI-потоке. Код рассчитан на .NET 11, пока это RC.

🔗 Источник

#sharp_view

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека шарписта
👍 1
Пост от 23.10.2026 12:02
799
0
1
🧩 NuGet в .NET 11 позволяет отложить выбор недавно опубликованных пакетов

Новая версия зависимости появилась час назад. Хотите дать ей немного времени, прежде чем автоматическое обновление принесёт её в проект?

В .NET 11 RC2 минимальный возраст версии можно задать через CLI:

dotnet nuget add source https://api.nuget.org/v3/index.json --name public --min-publish-age-hours 24 --configfile nuget.config

Команда записывает настройку minPublishAgeHours для источника в nuget.config. При выборе версии команды dotnet package add и dotnet package update учитывают этот срок.

Для уже добавленного источника:

dotnet nuget update source public --min-publish-age-hours 48 --configfile nuget.config

⏬ Это задержка, а не проверка безопасности

Пакет не становится безопасным автоматически через сутки. Настройка лишь даёт время обнаружить проблемы со свежим выпуском.

Не стоит считать её универсальным запретом на установку любой явно закреплённой свежей зависимости. А при восстановлении зависимостей с плавающими версиями отсутствие подходящей версии приводит к NU1020 — конфликт становится видимым.

🔗 Источник

#sharp_view

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека шарписта
Пост от 22.10.2026 20:24
1 897
0
0
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!

До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.

Например, можно совместить:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.


Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥

Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.

Акция действует до 31 октября включительно ⏳

⏬ Собрать свой учебный билд
Пост от 22.10.2026 12:03
794
0
1
⚙️ JIT в .NET 11 может заменить виртуальный вызов прямым

Переменная объявлена через базовый класс. Значит ли это, что каждый вызов метода обязательно пройдёт через таблицу виртуальных методов?

Animal animal = new Dog();
animal.Speak();

Если JIT видит конкретный тип объекта, он может вызвать метод Dog напрямую, а затем встроить его тело в вызывающий код. Это открывает дорогу другим оптимизациям: вычислению констант и удалению ненужных веток.

Для менее очевидных случаев есть динамический PGO. Среда собирает сведения о реальных типах и может создать быстрый путь для наиболее частого варианта. Проверка типа остаётся: если вместо Dog придёт Cat, выполнится корректный запасной путь.

⏬ Что меняется для разработчика

В разборе .NET 11 Стивен Тауб показывает новые оптимизации этих сценариев. Это повод измерить горячие участки на новой среде, а не переписать все интерфейсы ради скорости.

Сравнивать стоит Release-сборки через BenchmarkDotNet. Выигрыш отдельного микробенчмарка не равен ускорению всего приложения. .NET 11 пока находится на стадии RC.

🔗 Источник

#il_люминатор

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека шарписта
Смотреть все посты