Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для 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 698 مشتركاً، محتلاً المرتبة 5 943 في فئة التكنولوجيات والتطبيقات والمرتبة 30 267 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 21 698 مشتركاً.
بحسب آخر البيانات بتاريخ 29 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -48، وفي آخر 24 ساعة بمقدار -6، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 16.72%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.84% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 3 628 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 702 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 23.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل .net, шарписта, навигация, await, string.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Все самое полезное для C#-разработчика в одном канале.
Наши курсы: https://clc.to/y3LDtw
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 30 أغسطس, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
«ИИ-агенты: новая фаза развития искусственного интеллекта».На вебинаре разберёмся, почему агенты — это следующий шаг после ChatGPT, чем они отличаются от обычных моделей и как уже приносят бизнесу ROI до 80%. А дальше я покажу, как эта тема ложится в наш курс по ИИ-агентам, который разработан под руководством Никиты Зелинского. Подробности рассказываем в гс выше — включай, чтобы не пропустить.
Сгенерируй DTO класс на C# с публичными свойствами для объекта, содержащего следующие поля: {подставить полный список свойств}. Класс должен иметь комментарии для каждого свойства, описывающие его назначение. Используй стандартные соглашения оформления C# для именования классов и свойств.🐸Библиотека шарписта #буст
<!-- Directory.Build.props или csproj -->
<PropertyGroup>
<PublishReadyToRun>true</PublishReadyToRun>
<PublishTrimmed>true</PublishTrimmed>
<TrimMode>partial</TrimMode> <!-- для библиотек и DI -->
</PropertyGroup>
• PGO (Profile-Guided Optimization) + R2R
Соберите профиль и примените при crossgen2 (даёт лучший порядок/инлайнинг для «горячего» пути старта).
• NativeAOT
Полностью нативный бинарь, почти мгновенный старт. Подходит для CLI/служб с ограниченным набором фич и для «узких» сервисов или edge-эндпоинтов в вебе.
3️⃣ Минимизация загрузки и работы на старте
Уберите всё, что не нужно при старте: тяжёлые клиенты (БД, кеши, внешние SDK) создавайте лениво, после поднятия хостинга.
Прогружайте конфигурацию минимально: уберите лишние провайдеры, большие JSON-файлы, многократные AddJsonFile.
Логи на старте — только консоль/минимальный уровень, позже можно расширить.
Уберите неиспользуемые пакеты, объедините внутренние пакеты, избегайте древовидных зависимостей ради одной функции.
Встроенный контейнер быстрый, но следите за графом:
• Регайте Singleton/Scoped только когда нужно.
• Избегайте «сервисов-глобов» с большим конструктором на десятки зависимостей.
• Используйте фабрики/Lazy для тяжёлых зависимостей.
4️⃣ ASP.NET Core: быстрый подъём хоста
Минимальный хостинг и только нужные middleware:
var builder = WebApplication.CreateBuilder(args);
// Оставьте только то, что нужно для старта
builder.Services.AddRouting();
var app = builder.Build();
// Критичный middleware – ближе к началу конвейера
app.MapGet("/healthz", () => "OK");
app.Run();
Отключите всё, что делает работу на старте: избыточная авто-дискавери Swagger, отражение в валидации, сканирование сборок.
5️⃣ Инициализация после старта
Разнесите готовность принимать трафик и полную готовность всех подсистем:
• Быстрый /healthz сразу.
• Прогрев кэшей/метаданных — в фоне IHostedService с низким приоритетом.
• В оркестраторе задайте readinessProbe после минимального старта, а «тяжёлый прогрев» делайте уже на фоне.
6️⃣ Тримминг: аккуратно, но даёт эффект
PublishTrimmed=true + TrimMode=partial часто снижает размер и ускоряет загрузку.
Обязательно добавляйте DynamicDependency/UnconditionalSuppressMessage/RD.XML для сохранения типов, которые нужны через рефлексию (DI/JSON/ORM).
💬 А у вас сколько секунд уходит на холодный старт .NET сервиса?
🐸Библиотека шарписта
#буст!= и паттерн-матчингом с is not в C#.
Несмотря на схожесть, каждое из этих решений имеет свои особенности, и неправильное использование может привести к ошибкам, особенно в случаях с боксингом, проверкой на null и перегрузкой операторов. Паттерн-матчинг предоставляет более безопасное и гибкое решение, особенно для работы с типами и константами.
➡️ Смотреть видео
🐸Библиотека шарписта
#бустDictionary и HashSet, где хэш-функции используются для быстрого поиска элементов. Эти коллекции используют хэш-таблицы для того, чтобы операции поиска, добавления и удаления выполнялись за время O(1) в среднем.
Хэш-таблица использует хэш-функцию, которая принимает ключ и преобразует его в индекс, который указывает на место хранения данных в массиве.
Пример реализации собственного хэширования:
// Переопределение метода GetHashCode для обеспечения корректного хэширования
public override int GetHashCode()
{
// Простой хэш-функции, использующей значения полей объекта
// Здесь мы комбинируем хэши Name и Age для создания уникального хэш-значения
int hashName = Name == null ? 0 : Name.GetHashCode();
int hashAge = Age.GetHashCode();
// Используем формулу для комбинирования хэшей, чтобы минимизировать коллизии
return hashName ^ hashAge;
}
Когда стоит использовать хэширование
Если вам нужно быстро найти, добавить или удалить данные, хэширование может значительно ускорить эти операции. Когда вы добавляете или ищете элемент, хэш-функция преобразует его ключ в индекс, и вы сразу попадаете в нужную ячейку, не перебирая все данные.
Хэширование используется для защиты данных, например, в процессе хранения паролей. В этом случае важно использовать криптографически стойкие хэш-функции, такие как SHA-256 или bcrypt.
Хэш-функции могут использоваться для проверки, не изменились ли данные, например, для контроля над целостностью файлов.
💬 Как вы используете хэширование в своих проектах? Делитесь примерами в комментариях 👇
🐸Библиотека шарписта
#междусобойчик