Библиотека шарписта | 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 685 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 5 992-o'rinni va Rossiya mintaqasida 30 427-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 21 685 obunachiga ega bo‘ldi.
01 Sentabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -45 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 17.50% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.83% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 3 794 marta ko‘riladi; birinchi sutkada odatda 1 697 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 02 Sentabr, 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.
git clone https://github.com/microsoft/documentdb.git
3. Создайте Docker-образ и запустите контейнер:
docker build . -f .devcontainer/Dockerfile -t documentdb
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
4. Соберите и установите бинарные файлы:
cd code
make
sudo make install
5. Запустите сервер DocumentDB:
./scripts/start_oss_server.sh -t documentdb
6. Подключитесь к серверу через psql:
psql -p 9712 -h localhost -d postgres
📎 Официальный анонс
🐸Библиотека шарписта #новость// Плохо: аллокация на каждый вызов
var buffer = new byte[1024];
// Лучше: переиспользуем память
var pool = MemoryPool<byte>.Shared;
using (var owner = pool.Rent(1024))
{
var buffer = owner.Memory;
// Работа с буфером
}
2️⃣ Блокировка асинхронного кода
Проблема: Использование .Result или .Wait() блокирует текущий поток, что может привести к дедлокам, особенно в UI-приложениях.
Решение:
• Цепочка async/await должна идти от начала до конца.
• В библиотечных методах используйте .ConfigureAwait(false).
Пример:
// Плохо: блокировка потока
public string GetData() => FetchDataAsync().Result;
// Лучше: полная асинхронность
public async Task<string> GetDataAsync() => await FetchDataAsync();
3️⃣ Неэффективные запросы к БД
Проблема:
• N+1 запросы в ORM (например, Entity Framework).
• Отсутствие индексов или выборка лишних данных.
Решение:
• Используйте .Include() для жадной загрузки связанных данных.
• Применяйте пагинацию (Skip/Take) и индексы.
// Плохо: N+1 запросов
var orders = context.Orders.ToList();
foreach (var order in orders)
{
var customer = context.Customers.Find(order.CustomerId);
}
// Лучше: один запрос с JOIN
var orders = context.Orders.Include(o => o.Customer).ToList();
➡️ Эти 3 антипаттерна — частые «узкие места». Проверьте их в своём коде, а остальные 7 примеров смотрите в статье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#.
🐸Библиотека шарпистаservices.Scan(scan => scan
.FromAssemblyOf<Startup>() // Сканирование текущей сборки
.AddClasses() // Добавление всех классов
.AsImplementedInterfaces() // Регистрация их как интерфейсов
.WithScopedLifetime()); // Установка времени жизни
💡 Основные возможности
• Автоматическая регистрация классов.
• Фильтрация классов по правилам (например, по имени или пространству имён).
• Настройка времени жизни (Transient, Scoped, Singleton).
• Регистрация классов с пользовательскими интерфейсами или без них.
📎 GitHub библиотеки
🐸Библиотека шарписта