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 687 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 687 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.

21 687
Obunachilar
-424 soatlar
-67 kunlar
-4630 kunlar
Postlar arxiv
🔍 Как диагностировать проблемы с производительностью в .NET Когда вы сталкиваетесь с неожиданными задержками или замедлением
🔍 Как диагностировать проблемы с производительностью в .NET Когда вы сталкиваетесь с неожиданными задержками или замедлением работы, важно быстро выявить источник проблемы. Разберёмся как это сделать. 1. Понимание проблем с производительностью В первую очередь, нужно понять, какие именно симптомы проявляются. Это могут быть: • Долгое время отклика на запросы • Увеличение времени обработки операций. • Частые паузы или лаги, которые не зависят от внешней нагрузки. 2. Использование инструментов для профилирования .NET предоставляет инструменты для профилирования и анализа производительности: — PerfView. Инструмент для сбора и анализа трассировок и дампов памяти, который позволяет обнаружить узкие места в работе приложения — dotTrace и Visual Studio Diagnostic Tools. Для анализа использования процессора и памяти, выявления горячих точек и оптимизации производительности. — Application Insights. Сервис для мониторинга и анализа производительности в реальном времени. 3. Проверка работы сборщика мусора Если ваше приложение не может эффективно управлять памятью, это приведет к длительным паузам, особенно в больших распределенных системах. Фоновая сборка мусора в .NET может повлиять на производительность, если куча больших объектов часто расширяется. Процесс аллокации памяти и выделение больших объектов может также привести к частым паузам, особенно если ваша система не успевает очистить память между сборками. 4. Анализ работы с памятью Использование Large Object Heap для хранения больших объектов может вызвать проблемы с производительностью, так как LOH очищается реже и требует дополнительного времени для управления. Проблемы с памятью также могут быть связаны с неэффективной работой с кэшами и слишком большими или неправильно настроенными буферами. Зачастую сложно сразу найти проблемы с кодом, но это того стоит, особенно на длинной дистанции, чтобы не копить техдолг. 🐸Библиотека шарписта #буст

📝 Немного инсайтов из третьего модуля курса Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой,
📝 Немного инсайтов из третьего модуля курса Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой, которая что-то предсказывает, генерирует или классифицирует. Но реальный прорыв начинается, когда этих агентов становится несколько. Когда они начинают взаимодействовать друг с другом. Когда появляется координация, распределение ролей, память, планирование — всё это и есть мультиагентные системы (MAS). ➡️ Пока кто-то думает, что это звучит как научная фантастика, индустрия уже переходит к новым уровням сложности: — Microsoft делает язык DroidSpeak для общения между LLM — Open Source-фреймворки вроде LangChain, AutoGen, CrewAI, LangGraph — бурно развиваются — компании, включая МТС, уже применяют MAS в боевых задачах 🎓 На курсе мы подходим к этому практично: 🔵 разбираем, как устроены MAS 🔵 пишем агентов с нуля 🔵 учимся выстраивать взаимодействие: конкуренцию, кооперацию, планирование Именно на третьем уроке вы впервые собираете не просто «умного бота», а живую систему из агентов, которая работает вместе — как команда. Причём по-настоящему: врач, SQL-аналитик, travel-планировщик, Python-генератор, поисковик. 🙂 Если хочется не просто использовать ИИ, а проектировать системы, которые думают, планируют и сотрудничают тогда забирайте курс по ИИ-агентам

✏️ Как пройти собеседование джуну Составили для вас промпт, который поможет вам пройти собеседование, если у вас не хватает опыта. Помимо редактирования резюме, нужно уметь отвечать за свои знания и действия во время собеседования, представить свой опыт и показать свою готовность к обучению и развитию. Промпт:
Вы опытный технический лидер и рекрутер с более чем 15-летним стажем в индустрии разработки программного обеспечения. Вы видели множество кандидатов, как честных, так и... менее честных. У вас есть острое чувство для выявления несоответствий и понимания нюансов технических навыков. Ваша цель — предоставить практические советы кандидату, который пытается разобраться с непростой ситуацией объяснения нехватки опыта, если он мог приукрасить свое резюме. Вот формат, который вы будете использовать для анализа проблемы и выработки отличной рекомендации: Ситуация кандидата $candidate_situation (Опишите ситуацию кандидата, сосредоточив внимание на несоответствии между его резюме и реальным опытом) Потенциальные риски завышения опыта $risks_of_misrepresentation (Перечислите потенциальные негативные последствия преувеличения опыта, как в краткосрочной, так и в долгосрочной перспективе) Этические соображения $ethical_considerations (Кратко обсудите этические последствия завышения опыта) Рекомендованный подход: Прозрачность и демонстрация навыков $recommended_approach (Это основа ваших советов. Сосредоточьтесь на том, как кандидат может быть прозрачным в отношении своего опыта, при этом подчеркивая свои навыки и потенциал) Ключевые стратегии для преодоления "разрыва в опыте" Признание и переформулировка: $strategy_1 (Как признать несоответствие, не признавшись в явном обмане) Фокус на навыках и проектах: $strategy_2 (Как продемонстрировать навыки через личные проекты, вклад в open-source или соответствующие курсы) Подчеркнуть способность к обучению: $strategy_3 (Как показать готовность и способность быстро учиться и адаптироваться к новым технологиям) Подчеркнуть страсть и энтузиазм: $strategy_4 (Как передать искренний интерес к роли и компании) Подготовка к техническим вопросам: $strategy_5 (Как предугадать и ответить на технические вопросы, даже если нет прямого профессионального опыта) Примеры ответов на часто задаваемые вопросы на собеседованиях "Расскажите о вашем опыте работы с [Технология X]": $example_response_1 (Пример ответа, который признает ограниченный профессиональный опыт, но подчеркивает соответствующие навыки и проекты) "Почему мы должны нанять вас, а не кого-то с большим опытом?": $example_response_2 (Пример ответа, который акцентирует внимание на потенциале, способности к обучению и страсти) Долгосрочная стратегия для карьеры $long_term_strategy (Предложите шаги, которые кандидат может предпринять, чтобы получить настоящий опыт и построить прочную основу для своей карьеры) Вот задача, с которой вам предстоит справиться: Кандидат завысил количество лет опыта в своем резюме, чтобы выглядеть более конкурентоспособным для ролей младшего инженера программного обеспечения. Сейчас он проходит собеседования и не уверен, как отвечать на вопросы о своем "опыте", не попав в ловушку лжи. Ему нужны советы о том, как пройти собеседования и в итоге получить работу.
💬 Какие у вас сложности с прохождением собеседований? 🐸Библиотека шарписта #буст

⚙️ Основные структуры данных в Unity и C# Array, List, Dictionary, Queue, Stack, HashSet и кастомные коллекции — ключевые инс
+5
⚙️ Основные структуры данных в Unity и C# Array, List, Dictionary, Queue, Stack, HashSet и кастомные коллекции — ключевые инструменты для оптимизации игр. В карточках всего не уместишь, поэтому, после прочтения, советуем заглянуть в нашу статью. ➡️ Изучить остальные структуры 🐸Библиотека шарписта #буст

🎮 Реализация системы инвентаря в Unity 6 с использованием C# Проблема: создание эффективной системы инвентаря является ключевым элементом в разработке игр, требующим динамичного управления предметами и их взаимодействиями. Решение: в книге «Unity 6 Game Development with C# Scripting» автор предлагает подробное руководство по разработке системы инвентаря, используя возможности Unity и C#. Он акцентирует внимание на создании гибкой структуры данных, которая позволяет эффективно управлять предметами, их свойствами и взаимодействиями в игровом процессе. Пример кода:
public class InventoryItem
{
    public string itemName;
    public Sprite itemIcon;
    public int itemID;
    public string itemDescription;

    public InventoryItem(string name, Sprite icon, int id, string description)
    {
        itemName = name;
        itemIcon = icon;
        itemID = id;
        itemDescription = description;
    }
}

public class InventorySystem : MonoBehaviour
{
    private List<InventoryItem> items = new List<InventoryItem>();

    public void AddItem(InventoryItem newItem)
    {
        items.Add(newItem);
        Debug.Log("Item added: " + newItem.itemName);
    }

    public void RemoveItem(InventoryItem itemToRemove)
    {
        if (items.Contains(itemToRemove))
        {
            items.Remove(itemToRemove);
            Debug.Log("Item removed: " + itemToRemove.itemName);
        }
        else
        {
            Debug.Log("Item not found: " + itemToRemove.itemName);
        }
    }

    public void DisplayInventory()
    {
        foreach (var item in items)
        {
            Debug.Log("Item: " + item.itemName + " | ID: " + item.itemID);
        }
    }
}
Преимущества: — Гибкость в управлении предметами и их свойствами. — Упрощение процесса добавления и удаления предметов из инвентаря. — Лёгкость в интеграции с другими системами игры, такими как квесты или торговля. ➡️ Лучшее из мира IT-книг — у нас в @progbook

⌚️ Подборка вакансий для шарпистов Tech Lead (C#) — гибрид в Москве. Инженер-программист C# (Middle) — от 200 000 ₽, офис в Москве. C# Developer (.Net) — до 370 000 ₽, удалёнка. C#/.NET Developer (Middle, Senior) — удалёнка. Senior .NET Developer — удалёнка. Бустер — удалённо в метре от вас. ➡️ Еще больше топовых вакансий — в нашем канале С# Jobs

В чем различие между классом и структурой? Для С# классы System.Object, System.Exception, System.File-Stream и System.Random — это ссылочные типы (память выделяется из упр. кучи). В свою очередь размерные типы в документации называются структурами (structure) и перечислениями (enumeration). Например, структуры System.In132, System.Boolean, System.Decimal, System.TimeSpan и перечисления System.DayOfWeek, System.10.FileAttributes и System.Drawing.FontStyle являются размерными типами (хранятся обычно в стеке потока, но могут быть встроены в ссылочные типы). Библиотека задач по C#

📌 Главное за неделю Представляем самые важные новости и события, которые определяли повестку уходящей недели. — C# сохраняет
📌 Главное за неделю Представляем самые важные новости и события, которые определяли повестку уходящей недели. — C# сохраняет пятую позицию в TIOBE C# продолжает оставаться одним из ведущих языков для разработки приложений, игр и веб-сервисов. — 6 скрытых возможностей C# для геймдева В видео делятся практическими примерами использования малоизвестных функций для повышения производительности и качества кода. — От фотографий к задачам с помощью ИИ В новой статье Microsoft описывается, как с помощью .NET MAUI и Microsoft.Extensions.AI можно преобразовать изображения в структурированные данные. Пользователи могут делать снимки или выбирать фотографии, а ИИ анализирует их, извлекая задачи и проекты для приложения Telepathic. — 5 ошибок, делающих ваш неподдерживаемым В статье выделяются пять распространённых ошибок в проектировании ПО, которые приводят к трудностям в поддержке кода. — Пройдите наш опрос про ИИ 🐸Библиотека шарписта #свежак

📣 Исключения или Result — что выбрать для обработки ошибок Когда речь заходит о том, как лучше обрабатывать ошибки в C#, мно
📣 Исключения или Result — что выбрать для обработки ошибок Когда речь заходит о том, как лучше обрабатывать ошибки в C#, многие разработчики оказываются в двух лагерях. • Исключения — классический подход Исключения используются в C# с самого начала. Они позволяют немедленно прерывать выполнение программы в случае ошибки и предоставить стек вызовов для диагностики проблемы. Многие считают это стандартом, потому что исключения чётко отображают сбой, который требует внимания. • Result-типы — альтернатива С другой стороны, есть подход с явным использованием Result-типа, который помогает разработчику контролировать ошибки через возвращаемые значения. Обеспечивает большую гибкость в работе с результатами, позволяет возвращать ошибки с дополнительной информацией. 💬 Когда вы предпочитаете использовать исключения? А когда лучше использовать Result? Делитесь мнениями в комментариях 👇 🐸Библиотека шарписта #междусобойчик

💡 Команда дня: профилирование .NET-приложения через dotnet-trace Инструмент dotnet-trace предназначен для сбора runtime-трассировок .NET-приложений без сложной настройки. Устанавливается командой:
dotnet tool install -g dotnet-trace
Сбор трассировки:
dotnet-trace collect \
  --process-id <PID> \
  --format speedscope \
  -o profile.speedscope.json
Откройте profile.speedscope.json в Speedscope — получите интерактивную визуализацию горячих точек CPU, поведения GC и потоков. 🐸Библиотека шарписта #буст

🧑‍💻 AI-инструменты, которые я использую каждый день Искусственный интеллект всё активнее входит в нашу повседневную жизнь.
+4
🧑‍💻 AI-инструменты, которые я использую каждый день Искусственный интеллект всё активнее входит в нашу повседневную жизнь. Разработчики, как и многие другие профессионалы, широко применяют возможности нейросетей. Мы опросили рядового разработчика — узнайте, как именно он использует нейросети. Смотрите интервью в карточках. ➡️ Как вам формат? Задавайте вопросы в комментариях, а мы найдём экспертов 👇 🐸Библиотека шарписта

🤖 AI-инструменты, которые я использую каждый день Искусственный интеллект все глубже проникает в нашу работу и повседневную
+4
🤖 AI-инструменты, которые я использую каждый день Искусственный интеллект все глубже проникает в нашу работу и повседневную жизнь. Для разработчиков это не просто тренд, а необходимость. Мы расспросили рядового разработчика, как именно он применяет ИИ. Смотрите интервью в карточках! ➡️ Как вам формат? Оставляйте вопросы в комментариях, а мы найдем специалистов, чтобы ответить на них 👇

🚨 ИИ уже съел ваше место? Стоп. Давайте без паники и хайпа. Пока одни кричат «ИИ всех заменит!», другие спокойно получают оф
🚨 ИИ уже съел ваше место? Стоп. Давайте без паники и хайпа. Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты. Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь. ❓Хотим понять: — Кого действительно уволили и почему — Как изменились задачи разработчиков — Где ИИ помогает, а где только мешает — Какие роли появились, какие исчезли — Сколько платят тем, кто «дружит» с ИИ Без буллшита — только цифры и факты. Результаты будут открыты для всех. 📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw

🆚 Как не ошибиться в процессе выбора Один из наших подписчиков недавно задал вопрос: Как вы принимаете технические решения в
🆚 Как не ошибиться в процессе выбора Один из наших подписчиков недавно задал вопрос:
Как вы принимаете технические решения в команде?
Технические решения — это не просто выбор между «лучше» и «хуже». Это баланс между бизнес-целями, ограничениями технологии, ресурсами и командной динамикой. Каждая команда решает это по-своему, но есть несколько важных шагов, которые помогают сделать процесс более осознанным и продуктивным. 1️⃣ Четкое понимание проблемы Прежде чем что-то решать, нужно понять, с чем имеешь дело. Собираем данные, уточняем требования, учитываем ограничения. Тут важно не упустить детали: от анализа текущей архитектуры до учета бизнес-задач. 2️⃣ Обсуждения с командой Ни одно решение не должно быть монологом. Обсуждения с командой помогают вскрыть скрытые риски, взглянуть на проблему с разных сторон и найти новые пути решения. 3️⃣ Структурирование обсуждений Чтобы не утонуть в множестве идей, стоит использовать визуализации: схемы, диаграммы, прототипы. Это помогает лучше понять варианты и снизить субъективность. Формальные практики, такие как архитектурные ревью обеспечивают системность. 4️⃣ Принятие решения и консенсус Идеальный вариант — когда решение строится на фактах и аргументах. Иногда нужен быстрый выбор: голосование или прототипирование, чтобы проверить гипотезы. В разногласиях роль лидера — взять ответственность и объяснить выбор. 5️⃣ Ретроспектива После того как решение внедрено, важно его оценить. Что сработало? Что не так? Это шанс извлечь уроки и в следующий раз сделать процесс принятия решений еще более четким. Открытость, системность и готовность анализировать результаты — вот что помогает работать слаженно и минимизировать конфликты в команде. 💬 Как в вашей команде принимаются решения? Делитесь опытом в комментариях 👇 🐸Библиотека шарписта #междусобойчик

👀 Почему C# крутой C# и .NET прошли удивительную трансформацию, превратившись из тяжёлых корпоративных инструментов в соврем
👀 Почему C# крутой C# и .NET прошли удивительную трансформацию, превратившись из тяжёлых корпоративных инструментов в современные, кроссплатформенные решения. В видео рассказывается о том, как новые фичи, такие как records, pattern matching и улучшенный async/await, делают разработку проще и продуктивнее. Теперь .NET поддерживает мобильные приложения, облачные функции и игры, всё через один SDK. ➡️ Смотреть видео 🐸Библиотека шарписта #буст

🧑‍💻 Когда важна скорость сериализации MemoryPack — это высокопроизводительный сериализатор. который ориентирован на максима
🧑‍💻 Когда важна скорость сериализации MemoryPack — это высокопроизводительный сериализатор. который ориентирован на максимальную скорость и минимальные накладные расходы Особенности инструмента — MemoryPack минимизирует накладные расходы, копируя данные напрямую из памяти C#, без дополнительного кодирования. — Поддерживает современные API: IBufferWriter<byte> и ReadOnlySequence<byte>. — Полностью совместим с Unity, включая поддержку сериализации и десериализации объектов в игровых проектах. — Поддерживает сериализацию интерфейсов и абстрактных классов с помощью атрибута, а также обеспечивает устойчивость к изменениям версий данных. Согласно данным из официального репозитория, MemoryPack значительно опережает другие популярные сериализаторы по производительности: он работает до 10 раз быстрее, чем System.Text.Json и protobuf-net при сериализации стандартных объектов, при работе с массивами структур до 50–200 раз. Пример:
[MemoryPackable]
public partial class WeatherForecast
{
    public DateTime Date { get; set; }
    public int TemperatureC { get; set; }
    public string? Summary { get; set; }
}

// Сериализация
byte[] bytes = MemoryPackSerializer.Serialize(forecast);

// Десериализация
WeatherForecast? result = MemoryPackSerializer.Deserialize<WeatherForecast>(bytes);
Его использование особенно оправдано в игровых проектах, высоконагруженных API и системах, где критична скорость обработки данных. 📎 Репозиторий проекта 🐸Библиотека шарписта #буст

🤝 Как определить оптимальный баланс в профессиональной сфере Кажется, что в крупных компаниях вершина успеха и билет к больш
+4
🤝 Как определить оптимальный баланс в профессиональной сфере Кажется, что в крупных компаниях вершина успеха и билет к большой жизни. Но часто за этим стоят бессонные ночи, жёсткие дедлайны и жизнь «на работе». А что если попробовать по-другому? Спокойные компании могут подарить больше свободы, времени для себя и ощущение, что ты живёшь не только ради работы. В карточках выяснили, что настоящий успех — это умение выбрать, что подходит именно вам. ➡️ Узнайте, что подходит вам 🐸Библиотека шарписта