Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для 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 265-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 21 698 obunachiga ega bo‘ldi.
30 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -46 ga, so‘nggi 24 soatda esa -4 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 17.05% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.93% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 3 700 marta ko‘riladi; birinchi sutkada odatda 1 720 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 31 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.
.github/ и внутри неё — copilot-instructions.md.
В шапке указываете, к каким файлам применить правила, а дальше описываете свои стандарты
➡️ Dev блог Microsoft
🐸Библиотека шарписта #бустCtrl + Alt + Shift + InsertИ IDE создаст вам временный файл, который не будет добавлен в контекст проекта. Просто, быстро и без боли. 🐸Библиотека шарписта #буст
Когда я начинал, мне рассказали, что многозадачность — это ключ к быстродействующим приложениям, и я потратил кучу времени, изучая все тонкости асинхронности. В итоге понял, что в реальных проектах асинхронность скорее игрушка, чем нужный инструмент.💬 Есть ли у вас знания, которые так и не пригодились в работе? Делитесь в комментариях 👇 P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму. 🐸Библиотека шарписта #междусобойчик
You are a fun-loving and creative C# developer, brimming with enthusiasm for coding and always eager to explore new and exciting projects. Your goal is to brainstorm a list of engaging and manageable pet-project ideas that leverage your C# skills. These projects should be fun to build, relatively self-contained, and offer opportunities for learning and experimentation. Finally, you will choose the most appealing project and outline the initial steps for getting started.Это отличный способ не только генерировать идеи, но и подойти к созданию чего-то нового нестандартным способом. Занимаетесь пет проектами? Поставьте 👍, если да и 👾, если нет. 🐸Библиотека шарписта #буст
IAsyncEnumerable позволяют эффективно обрабатывать последовательности данных, поступающих с задержками. В целом это положительно влияет на пользовательский опыт и скорость работы приложения
1. Базовый синтаксис:
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
static async IAsyncEnumerable<int> GenerateSequenceAsync(int count, [EnumeratorCancellation] CancellationToken token = default)
{
for (int i = 0; i < count; i++)
{
// Симулируем асинхронную задержку
await Task.Delay(100, token);
yield return i;
}
}
static async Task ConsumeAsync()
{
await foreach (var item in GenerateSequenceAsync(5))
{
Console.WriteLine($"Получено значение: {item}");
}
}
• Ключевое слово async перед IAsyncEnumerable<T>.
• yield return внутри асинхронного метода.
• await foreach для потребления.
2. Обработка отмены и ошибок:
using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(1));
try
{
await foreach (var item in GenerateSequenceAsync(10, cts.Token).WithCancellation(cts.Token))
{
Console.WriteLine(item);
}
}
catch (OperationCanceledException)
{
Console.WriteLine("Операция была отменена.");
}
• Передаём CancellationToken через атрибут [EnumeratorCancellation].
• Используем метод расширения .WithCancellation(token) для явной поддержки отмены в await foreach.
3. Советы по применению
• Всегда учитывайте семантику отмены: пробрасывайте CancellationToken до источника потока.
• Избегайте долгих синхронных операций внутри цикла генерации — это сведёт на нет преимущества асинхронности.
• При больших объёмах данных комбинируйте с буферизацией через Channel<T> для сглаживания пиковой нагрузки.
💬 Нужны более продвинутые сценарии по использованию асинхронности? Пишите свои хотелки в комментариях, а мы их обязательно исполним 👇
🐸Библиотека шарписта #бустgit log
Команда git log позволяет понять, как эволюционировал код — просмотреть последовательность коммитов и метаданные.
Просмотр истории:
git log
История коммитов построчно:
git log --oneline
Граф веток + метки (ветки, теги) для всех веток:
git log --graph --decorate --all
Показать diff последних двух коммитов:
git log -p -2
Коммиты за последние 2 недели от указанного автора:
git log --since="2 weeks ago" --author="ProgLib"
Настраиваемый формат: короткий хеш, дата, сообщение, автор:
git log --pretty=format:"%h %ad | %s%d [%an]" --date=short
💬 Вы смотрите историю log'ом или используете сторонние инструменты?
🐸Библиотека шарписта #бустgit log и git diff
Команды git log и git diff позволяют понять, как эволюционировал код: первая — просмотреть последовательность коммитов и метаданные, вторая — сравнить содержимое файлов между состояниями.
Просмотр истории:
git log
История коммитов построчно:
git log --oneline
Граф веток + метки (ветки, теги) для всех веток:var в C# — удобство или маска
С появлением ключевого слова var нам дали возможность уменьшить количество шаблонного кода и писать более компактные выражения.
Вместо явного написания громоздких типов можно писать лаконичный код:
// Вместо List<Dictionary<string, List<Tuple<int, DateTime>>>> data = ... var data = GetComplexData();Также
var не делает переменную динамической, это всё тот же строго типизируемый код.
Но есть и сильный аргумент против использования var. На примере кода выше:
// Вместо List<Dictionary<string, List<Tuple<int, DateTime>>>> data = ...
var data = GetComplexData(); // каков тип data? int, string, CustomType?
Тип, получаемый из функции неочевиден и это в разы ухудшает читаемость кода.
var — полезный инструмент, но требует дисциплины. При очевидном типе он упрощает код, при неочевидном — мешает пониманию.
💬 Вы используете var в коде или сторонник явного? Делитесь мыслями в комментариях 👇
🐸Библиотека шарписта #междусобойчик