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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

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

Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 21 698 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 5 943-o'rinni va Rossiya mintaqasida 30 267-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 21 698 obunachiga ega bo‘ldi.

29 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -48 ga, so‘nggi 24 soatda esa -6 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 16.72% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.84% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 3 628 marta ko‘riladi; birinchi sutkada odatda 1 702 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 23 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent .net, шарписта, навигация, await, string kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

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

Yuqori yangilanish chastotasi (oxirgi ma’lumot 30 Avgust, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

21 698
Obunachilar
-624 soatlar
-57 kunlar
-4830 kunlar
Postlar arxiv
🤩 ТОП-9 популярных AI-агентов для разработки ИИ-агенты перестали быть экспериментом и превратились в полноценный инструмент
🤩 ТОП-9 популярных AI-агентов для разработки ИИ-агенты перестали быть экспериментом и превратились в полноценный инструмент для разработчиков. Они пишут код, проверяют ошибки, помогают с архитектурой и ускоряют рутинные задачи. К 2025 году сформировался список решений, которые стали самыми востребованными в работе программистов. Одни берут скоростью, другие — точностью, третьи — умением интегрироваться в экосистему команды. ➡️ Выбрать своего агента 🐸 Библиотека шарписта

⚡️ Быстрый in-memory кеш для .NET BitFaster.Caching — это библиотека для in-memory кеша с акцентом на работу в многопоточной
⚡️ Быстрый in-memory кеш для .NET BitFaster.Caching — это библиотека для in-memory кеша с акцентом на работу в многопоточной среде. В отличие от стандартного MemoryCache, она предлагает больше контроля над политиками вытеснения и поведением при высокой нагрузке. Что умеет: • Потокобезопасные кеши без глобальных блокировок. • Поддержка LRU и LFU (включая TinyLFU) для выбора стратегии вытеснения. • Атомарное вычисление значений, чтобы избежать шторма запросов. • Настраиваемые политики истечения: по времени доступа или записи. • API-билдер для конфигурации размера и параметров кеша. Пример:
var cache = CacheBuilder
    .NewLru<string, MyObject>()
    .WithCapacity(1000)
    .ExpireAfterAccess(TimeSpan.FromMinutes(5))
    .Build();

var value = cache.GetOrAdd("key", k => new MyObject(k));
➡️ Попробовать либу 🐸 Библиотека шарписта #sharp_view

🔥 Избавляемся от if-else деревьев Когда логика программы разрастается, мы часто пишем целые деревья if-else или switch. Но такой код тяжело читать и сопровождать. Вместо if-ветвей можно использовать паттерн State. Он выносит каждое состояние в отдельный класс. Объект делегирует своё поведение текущему состоянию, а переходы происходят прозрачно. Код с if'ами:
public class Document
{
    public string State { get; set; } = "Draft";

    public void Publish()
    {
        if (State == "Draft") State = "Moderation";
        else if (State == "Moderation") State = "Published";
        else Console.WriteLine("Документ уже опубликован");
    }
}
Код со State:
public interface IDocumentState
{
    void Publish(Document doc);
}

public class Draft : IDocumentState
{
    public void Publish(Document doc) => doc.State = new Moderation();
}

public class Moderation : IDocumentState
{
    public void Publish(Document doc) => doc.State = new Published();
}

public class Published : IDocumentState
{
    public void Publish(Document doc) => Console.WriteLine("Уже опубликован");
}

public class Document
{
    public IDocumentState State { get; set; } = new Draft();
    public void Publish() => State.Publish(this);
}
Теперь добавление нового состояния — просто новый класс, без переписывания всей логики. 🐸 Библиотека шарписта #sharp_view

🤖 Курс «ИИ-агенты для DS-специалистов» Последняя возможность в этом году освоить ИИ-агентов с Proglib— старт живых вебинаров
🤖 Курс «ИИ-агенты для DS-специалистов» Последняя возможность в этом году освоить ИИ-агентов с Proglib— старт живых вебинаров на курсе уже 3 октября! Уже 24 студента изучают 5 лонгридов подготовительного модуля, чтобы сформировать базу к старту живых вебинаров с Никитой Зелинским. 📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой. 🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽. 🔗 Записаться на курс и узнать подробности

🐘 PostgreSQL 18 — быстрее, умнее, надёжнее Вышла новая версия PostgreSQL 18. Главное новшество — асинхронный ввод-вывод. Так
🐘 PostgreSQL 18 — быстрее, умнее, надёжнее Вышла новая версия PostgreSQL 18. Главное новшество — асинхронный ввод-вывод. Также ускорили апгрейды: теперь статистика оптимизатора сохраняется между версиями, и база работает быстрее сразу после обновления. Для разработчиков добавили виртуальные вычисляемые колонки, генерацию UUIDv7 для оптимальной индексации и поддержку SSO через OAuth 2.0. В текстовых операциях появился быстрый PG_UNICODE_FAST для Unicode-сравнений и новые возможности для полнотекстового поиска. ➡️ Анонс обновления 🐸 Библиотека шарписта #async_news

⚡️ Nullable vs null-check работа с null всегда была источником ошибок. Каждый хоть раз ловил NullReferenceException в рантайме. Есть два подхода: старый — вручную проверять null, и новый — использовать nullable reference types с поддержкой компилятора. Код с ручной проверкой на null:
public string GetUserName(User? user)
{
    if (user == null)
        return "Anonymous";

    return user.Name;
}
Плюсы: • просто и понятно • работает везде Минусы: • легко забыть проверить • ошибки проявятся только в рантайме С включённой фичей #nullable enable компилятор начинает помогать:
public string GetUserName(User? user)
{
    return user?.Name ?? "Anonymous";
}
User? явно говорит: объект может быть null • компилятор подсветит, если забыли проверить • меньше бойлерплейта, больше читаемости 🐸 Библиотека шарписта #sharp_view

🤖 Курс «ИИ-агенты для DS-специалистов» Последняя возможность в этом году освоить ИИ-агентов — курс стартует уже 3 октября! П
🤖 Курс «ИИ-агенты для DS-специалистов» Последняя возможность в этом году освоить ИИ-агентов — курс стартует уже 3 октября! Первый вебинар пройдёт в день старта, а подробности вебинара можно найти на сайте. 📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой. 🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽. 🔗 Записаться на курс и узнать подробности

📀 Record-типы в C# record в C# — это удобный способ описывать объекты данных без лишнего кода. Они сравниваются по значению, остаются неизменяемыми и отлично подходят для DTO или моделей в DDD. Если раньше приходилось писать десятки строк с Equals, GetHashCode, ToString и конструкторами, то теперь всё это даёт одна строчка:
public record User(string Name, int Age);
Отличие от классов Class сравнивается по ссылке. Два объекта с одинаковыми данными — разные сущности. Record сравнивается по значению. Два объекта с одинаковыми полями — эквивалентны.
var u1 = new User("Alice", 25);
var u2 = new User("Alice", 25);

Console.WriteLine(u1 == u2); // true
Дополнительные фишки Записи неизменяемы, но их удобно клонировать с изменением:
var u1 = new User("Alice", 25);
var u2 = u1 with { Age = 26 };

Console.WriteLine(u2); // User { Name = Alice, Age = 26 }
Можно наследовать record-тип:
public record User(string Name, int Age);
public record Admin(string Name, int Age, string Role) : User(Name, Age);
record — это синтаксический сахар, который сокращает код и делает модели данных чище и понятнее. 🐸 Библиотека шарписта #il_люминатор

🤩 Придумали ещё задачку Вопросы и задачи на знание языка, баз данных и алгоритмов позади и рекрутер задаёт такой вопрос: Твиттер или Х? Как бы вы ответили? К слову, подписывайтесь на наши каналы в обоих соц. сетях. Там мемы и полезные материалы. 🐸 Библиотека шарписта

🚩 Задача с собеса: пират и сундуки Представьте, что вы пират и у вас есть 12 закрытых сундуков. Все они полны золотых монет, но один — фейковый: в нём только песок. Золото тяжелее, песок легче. У вас есть большие весы без гирь, и всего три взвешивания, чтобы вычислить пустышку. Как решить эту задачу: 1. Делим сундуки на группы по 6 штук. Взвешиваем. Берём ту группу, где вес меньше. 2. Снова делим на группы, но теперь по 3. Взвешиваем. Берём ту тройку, где легче. 3. Сравниваем внутри этой тройки два сундука. Лёгкий сундук и будет с песком. Если сундуки одинаковые по весу, но с песком тот, что остался. Задача решается простым бинарным поиском. 🐸 Библиотека шарписта #dotnet_challenge

🤟 Шарповый взгляд Привет, шарписты! Как вам контент на этой неделе? Отзыв и предложения принимаются в комментах 👇 🐸 Библиотека шарписта

⏳ Последние часы со скидкой! Мы уже закрыли вебинар «ИИ-агенты: новая фаза развития AI», но запись всё ещё доступна. А дальше
⏳ Последние часы со скидкой! Мы уже закрыли вебинар «ИИ-агенты: новая фаза развития AI», но запись всё ещё доступна. А дальше остаётся только практика. На курсе «ИИ-агенты для DS-специалистов» ты научишься разрабатывать агентов, собирать RAG-системы и адаптировать LLM под бизнес. ⏰ Сегодня цена ещё 57.000 ₽ с промокодом datarascals. Завтра — 69.000 ₽. 👉 Успеть оплатить до полуночи

😘 Дайджест недели Собрали для вас новости и материалы последней недели. — WinUI Gallery 2.7 Вышла новая версия WinUI Gallery
😘 Дайджест недели Собрали для вас новости и материалы последней недели. — WinUI Gallery 2.7 Вышла новая версия WinUI Gallery — приложения для изучения и тестирования контролов WinUI. В версии 2.7 появились вкладки истории и избранного. Добавлены новые и обновлённые сэмплы: от TitleBar до ThemeShadow. — Google Play переходит на 16 KB .NET MAUI 9 уже совместим с новым требованием Google. Достаточно обновиться до .NET 9, проверить пакеты в проекте и заменить те, что не поддерживают новые страницы. — XAML Live PreviewГде заказать курсовую по программированиюБиблиотека для величин — UnitsNet.NET Aspire 9.5 🐸Библиотека шарписта #async_news

🔥 Сегодня последний день скидки! На недавнем вебинаре «ИИ-агенты: новая фаза развития AI» мы показали, как агенты уже меняют
🔥 Сегодня последний день скидки! На недавнем вебинаре «ИИ-агенты: новая фаза развития AI» мы показали, как агенты уже меняют работу Data Scientists и инженеров. Что тебя ждёт на курсе: ⚡️ создашь своего ИИ-агента с нуля ⚡️ соберёшь RAG-систему ⚡️ научишься адаптировать LLM под реальные данные бизнеса ⏳ До конца этого дня цена на курс 57 000 ₽. Уже завтра будет 69 000 ₽. Успевай записаться (используй промокод datarascals). 🔗 Записаться на курс

👨‍💻 Каналы в .NET Когда в приложении нужно обрабатывать поток данных от продюсеров к потребителям, первым делом вспоминают про очереди или ConcurrentQueue. Но в асинхронном мире этого мало. Поэтому в .NET есть каналы. Канал устроен как пара из продюсера и потребителя. Когда продюсер пишет элемент в канал, он либо сразу уходит к потребителю, либо ждёт, если очередь переполнена. Потребитель, в свою очередь, может ждать новые элементы без блокировки потоков — всё работает на async/await. Главная сила каналов — балансировка нагрузки. Ограниченные каналы позволяют держать под контролем количество элементов. Это защищает приложение от перегрузки: если продюсер работает быстрее, чем потребитель, система сама притормозит поток данных. Неограниченные каналы — вариант попроще, они всегда принимают новые элементы, но это может обернуться непредсказуемым ростом памяти. Мини-пример:
var channel = Channel.CreateBounded<int>(5);

// producer
_ = Task.Run(async () =>
{
    for (int i = 0; i < 10; i++)
    {
        await channel.Writer.WriteAsync(i);
        Console.WriteLine($"Produced {i}");
    }
    channel.Writer.Complete();
});

// consumer
await foreach (var item in channel.Reader.ReadAllAsync())
{
    Console.WriteLine($"Consumed {item}");
}
Почему это лучше, чем ConcurrentQueue? Потому что Channel создан сразу с учётом асинхронности. Вам не нужно городить блокировки и таймеры ожидания — достаточно написать await reader.ReadAsync(), и код будет сам по себе масштабироваться без блокировки потоков. 🐸Библиотека шарписта #sharp_view

❓ Что выведет код Пишите свои ответы в комментариях 👇 Для любознательных ответ такой: 333 #dotnet_challenge
Что выведет код Пишите свои ответы в комментариях 👇 Для любознательных ответ такой: 333 #dotnet_challenge

🤫 Курс «ИИ-агенты для DS-специалистов» Каждый технологический скачок оставляет позади тех, кто «подождал ещё чуть-чуть». ИИ-
🤫 Курс «ИИ-агенты для DS-специалистов» Каждый технологический скачок оставляет позади тех, кто «подождал ещё чуть-чуть». ИИ-агенты — это новый рывок. Уже через пару лет именно они будут драйвить аналитику и автоматизацию. Хотите остаться на гребне? 🖥️ На курсе «ИИ-агенты для DS-специалистов» мы разберём: — создание AI-агентов с нуля — сборку собственной RAG-системы — интеграцию LLM под задачи бизнеса 📌 Курс подходит: → ML/AI инженерам (middle+ / senior) → Data Scientists → Backend и platform-инженерам → Advanced CS/DS студентам ⚡️ Старт уже скоро — 3 октября. 💰 До 28 сентября действует скидка — 57.000 ₽ вместо 69.000 ₽ (по промокоду datarascals). 🔗 Узнать больше о курсе и записаться З.ы. если вы не успели на вебинар «ИИ-агенты: новая фаза развития искусственного интеллекта» — запись уже доступна

🔄 Апдейт .NET Aspire Microsoft представила .NET Aspire 9.5 — свежий релиз для разработки распределённых приложений. Главное
🔄 Апдейт .NET Aspire Microsoft представила .NET Aspire 9.5 — свежий релиз для разработки распределённых приложений. Главное новшество — file-based AppHost: теперь можно описать всё приложение в одном файле apphost.cs, без громоздких .csproj. Добавление ресурсов и сервисов делается буквально одной строкой. Ещё появились улучшения в CLI, новая команда aspire update, упрощающая апгрейд SDK и интеграций, а также обновлённый дэшборд. ➡️ Блог разработчиков 🐸Библиотека шарписта #async_news