Библиотека шарписта | 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 687 مشتركاً، محتلاً المرتبة 5 943 في فئة التكنولوجيات والتطبيقات والمرتبة 30 265 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 21 687 مشتركاً.
بحسب آخر البيانات بتاريخ 30 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -46، وفي آخر 24 ساعة بمقدار -4، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 17.05%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.93% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 3 700 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 720 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 23.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل .net, шарписта, навигация, await, string.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Все самое полезное для C#-разработчика в одном канале.
Наши курсы: https://clc.to/y3LDtw
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 31 أغسطس, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
Мой первый pull request. Первый проект. Я хотел показать, как умею быстро писать код. Ну и засунул абсолютно всё в контроллер: валидацию, обращение к БД, бизнес-логику, обработку ошибок. Зато как быстро я всё это наклепал! Жаль, потом по рукам надавали и сказали переделать..💬 А у вас были такие первые PR'ы, после которых стало стыдно, но полезно? Расскажите в комментах — пусть новички учатся не только на своих ошибках 👇 P.S. Если хотите задать вопрос сообществу, заполните нашу гугл-форму. 🐸Библиотека шарписта #междусобойчик
IEnumerable<T> или IQueryable<T>.
✅ Определение цели запроса
Чётко определите входные данные, что с ними будет в процессе и какие ожидаются данные на выходе.
✅ Синтаксис запроса
Перед написанием запросов стоит определить какой синтаксис будет использоваться.
• Синтаксис как метод:
var result = collection.Where(x => x.Age > 30).OrderBy(x => x.Name).ToList();
• Запрос в синтаксисе:
var result = from x in collection
where x.Age > 30
orderby x.Name
select x;
✅ Оптимизация производительности
Используйте IQueryable<T> для внешних источников данных (например, базы данных), чтобы запрос выполнялся на сервере.
✅ Отложенная и немедленная загрузка
Отложенная загрузка полезна, когда вам нужно выполнить запрос, но выполнение следует отложить до тех пор, пока это не потребуется.
Немедленная загрузка используется, когда вы хотите сразу получить результат выполнения запроса или когда данные нужно обработать немедленно.
✅ Агрегация и группировка
Используйте функции агрегации, такие как Sum(), Average(), Max(), и группировку через GroupBy().
✅ Сложные запросы
Работайте с несколькими коллекциями через операторы join, union, intersect и except.
var combined = collection1.Join(collection2,
c1 => c1.Id,
c2 => c2.Id,
(c1, c2) => new { c1.Name, c2.Price });
✅ Использование let для промежуточных вычислений
Упрощайте запросы с помощью промежуточных переменных:
var result = from x in collection
let temp = x.Age * 2
where temp > 40
select new { x.Name, temp };
✅ Обработка пустых коллекций
Используйте DefaultIfEmpty() для предотвращения ошибок при работе с пустыми коллекциями.
✅ Производительность и асинхронность
Используйте асинхронные методы, такие как ToListAsync(), для работы с асинхронными источниками данных.
🐸Библиотека шарписта #бустWeakReference «отпустила» объект
В .NET слабые ссылки позволяют ссылаться на объект, не препятствуя сборщику мусора его удалить. Это полезно в кэшах, пулах объектов и других случаях, где важно избегать утечек памяти.
Но как проверить, что объект удаляется?
Можно использовать пример:
class MyObject
{
~MyObject()
{
Console.WriteLine("MyObject был удалён сборщиком мусора");
}
}
class Program
{
static void Main()
{
WeakReference weakRef = test();
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
Console.WriteLine("После сборки мусора: " + (weakRef.IsAlive ? "Жив" : "Удалён"));
}
static WeakReference test() {
var obj = new MyObject();
WeakReference weakRef = new WeakReference(obj);
Console.WriteLine("До удаления ссылки: " + (weakRef.IsAlive ? "Жив" : "Удалён"));
return weakRef;
}
}
• IsAlive показывает, жив ли объект.
• GC.Collect() + GC.WaitForPendingFinalizers() заставляют сборщик мусора немедленно освободить неиспользуемые объекты.
• Деструктор ~MyObject() позволяет наглядно убедиться, что объект удалён.
Метод IsAlive может показывать, что объект жив даже после GC.Collect(), если объект ещё не финализирован или находится в очереди на финализацию.
Для надёжности можно использовать TryGetTarget вместо IsAlive.
🐸Библиотека шарписта #бустIEnumerable или IDictionary, позволяет методам работать с различными реализациями, повышая переиспользуемость кода.
— Абстракции облегчают написание модульных тестов, позволяя подменять зависимости мок-объектами.
💬 А что выбирает вы? Гибкость или быструю работу? Пишите свои мысли в комментарии👇
🐸Библиотека шарписта #междусобойчикГде используется ООП, никак не могу понятьМногие изучают классы и объекты, но не видят, где это всё в жизни применяется. Давайте разберёмся — и на конкретных примерах. Базовая единица ООП это объект. Объект — это экземпляр класса. Он объединяет в себе данные (поля/свойства) и логику (методы). Пример:
class Cat
{
public string Name = "Барсик";
public void Meow()
{
Console.WriteLine("Мяу!");
}
}
// Создание объекта:
Cat cat = new Cat();
cat.Meow();
Вот это — объекты в C#:
• Button, Form, Label — в WinForms и WPF.
• Player, Enemy, Weapon — в Unity.
• User, Product, Order — в ASP.NET проектах.
• HttpClient, FileStream, List<T> — в стандартной библиотеке.
У всех этих объектов есть состояние и поведение.
Это лишь часть, которая входит в понятие объектно-ориентированного программирования. Далее идут более глубокие принципы: абстракции, наследование, полиморфизм.
💬 Где вы используете ООП? Пишите свои варианты в комментариях👇
P.S. Если хотите задать вопрос сообществу, заполните нашу гугл-форму.
🐸Библиотека шарписта #междусобойчикAssist me in reviewing, completing, or creating my resume based on my profession. First, ask if I would like to specify what my profession is (to refine the resume to make it more appealing to employers). Then, ask if I would like to paste an existing resume or create a new one from scratch. If I do, ask me to paste it. You will help me identify any missing information or sections. You will ask me to provide the necessary information, step-by-step. If I do not have an existing resume or prefer to create a new one, you will guide me, step-by-step, through the process of providing the necessary information to craft an outstanding and tailored resume. Maintain a conversational approach, divide each section so it has its dedicated space in the conversation (before moving on to the next section, display the inserted information and check to make sure it's correct.) and provide expert explanations for each step. When the resume is complete, proofread the resume and provide specific suggestions (in bullet points) to make the resume more appealing to potential employers.💬 Поделитесь в комментариях: когда вы в последний раз обновляли своё резюме 👇 🐸Библиотека шарписта #буст
