uk
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

Відкрити в Telegram

По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Показати більше

📈 Аналітичний огляд Telegram-каналу C# (C Sharp) programming

Канал C# (C Sharp) programming (@csharp_ci) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 18 071 підписників, посідаючи 7 028 місце в категорії Технології та додатки та 36 096 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 18 071 підписників.

За останніми даними від 05 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -55, а за останні 24 години на 1, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 17.54%. Протягом перших 24 годин після публікації контент зазвичай збирає 8.84% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 3 170 переглядів. Протягом першої доби публікація в середньому набирає 1 597 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 0.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як .net, api, логика, архитектура, string.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ”

Завдяки високій частоті оновлень (останні дані отримано 06 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

18 071
Підписники
+124 години
-217 днів
-5530 днів
Архів дописів
🛠 Вышел Microsoft.Data.SqlClient 7.1.1 Обновление .NET-драйвера для SQL Server исправляет три неприятных сценария: • Нулевые
🛠 Вышел Microsoft.Data.SqlClient 7.1.1 Обновление .NET-драйвера для SQL Server исправляет три неприятных сценария: • Нулевые decimal-параметры могли вызывать ArgumentException, если Precision совпадала со Scale. • Пул соединений V2 мог выдавать соединения с истёкшими или почти истёкшими токенами доступа. Теперь срок проверяется перед повторным использованием. Исправление касается приложений, явно включивших V2. • ClearPool и ClearAllPools могли приводить к ошибке при одновременном открытии соединения. Теперь уже начатые запросы могут завершиться, а соединения из очищенного пула больше не используются повторно. https://github.com/dotnet/SqlClient/releases/tag/v7.1.1

Одна задача, три языка: Rust, C# или C++? В курсе Google *Comprehensive Rust* есть упражнение: найти длину трёхмерного вектор
+2
Одна задача, три языка: Rust, C# или C++? В курсе Google *Comprehensive Rust* есть упражнение: найти длину трёхмерного вектора, а затем нормализовать его. Формула одна: √(x² + y² + z²). После этого каждую координату делим на полученную длину. На скриншотах хорошо видна разница в стиле: - Rust: iter().fold() собирает сумму квадратов, iter_mut() меняет координаты. - C#: ReadOnlySpan для чтения, Span для изменения и обычный foreach. - C++: std::vector, цикл по значениям для расчёта и по ссылкам для изменения. Для тех, кто пишет на C#: Rust fold(0.0, ...) по смыслу близок к LINQ Aggregate(0.0, ...): оба сворачивают последовательность в одно значение через аккумулятор. Чей вариант вам понятнее с первого взгляда?

🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собеседование: Senior C# разработчик про
🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собеседование: Senior C# разработчик проведёт его в прямом эфире. Можно посмотреть, как всё устроено изнутри, и понять, насколько ты готов к такому интервью. Как это будет: 📂 Собеседует Александр Моргунов — Senior C# разработчик, 7+ лет в европейских высоконагруженных сервисах. Отвечает разработчик-доброволец; 📂 Всё как на настоящем собесе: Александр задаёт те вопросы и задачи, которые даёт кандидатам на своих интервью. Заранее их никто не знает; 📂 После каждого ответа Александр даст обратную связь: что прозвучало сильно, а что стоило раскрыть иначе. Так станет понятнее, на что обращают внимание на собесе; 📂 В конце можно задать любой вопрос. Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для C# разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир -> @shortcut_csharp_bot Реклама. О рекламодателе.

🖥 .NET 10 научился класть объекты на стек: escape analysis в JIT Одна из самых полезных оптимизаций в .NET 10 работает незам
🖥 .NET 10 научился класть объекты на стек: escape analysis в JIT Одна из самых полезных оптимизаций в .NET 10 работает незаметно. JIT проверяет, может ли объект пережить метод, в котором его создали. Если не может, объект размещается на стеке, а не в куче. Сборщику мусора отслеживать нечего, а сам объект можно разложить на отдельные поля и оптимизировать дальше. Раньше это работало только для простых случаев. В .NET 10 на стек попадают ещё четыре вида объектов. Маленькие массивы фиксированного размера, причём и из значимых типов, и из ссылочных:

int[] numbers = { 1, 2, 3 };          // теперь на стеке
string[] words = { "Hello", "World!" }; // тоже на стеке
Делегаты. Если лямбда не выходит за пределы метода, объект Func больше не уходит в кучу. Замыкание пока ещё аллоцируется, но это обещают доделать. Объекты в полях локальных структур. Если массив лежит в поле структуры, а структура не покидает метод, массив тоже размещается на стеке. В ассемблере пропадает вызов аллокатора. Заодно в JIT добавили девиртуализацию интерфейсов массивов, поэтому foreach по IEnumerable<T> над массивом теперь инлайнится. Ещё улучшили loop inversion и раскладку кода, а на Arm64 пауз GC стало меньше на 8–20%. Переписывать ничего не нужно: привычный код с лямбдами и маленькими массивами просто начинает аллоцировать меньше после перехода на .NET 10. https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/runtime#escape-analysis

Самый неожиданный кандидат на звание самого быстрого JSON-сериализатора для .NET сейчас делает… CAPCOM. Компания открыла REDo
Самый неожиданный кандидат на звание самого быстрого JSON-сериализатора для .NET сейчас делает… CAPCOM. Компания открыла REDox — высокопроизводительный движок для структурированных данных на C#, который используется как часть технологий вокруг её next-gen game engine. REDox умеет работать не только с JSON, но и с: - CBOR - MessagePack - TOML - XML Это компактный token-based DOM с упором на скорость и минимальные аллокации. Проект рассчитан на горячие пути вроде игровых конфигов и сериализации больших объёмов данных. И да, речь о технологиях CAPCOM, стоящих за движком, на котором работают современные Resident Evil / Biohazard и другие игры компании. Один из самых интересных .NET-проектов по сериализации пришёл не от Microsoft, а от разработчиков Resident Evil. https://github.com/CAPCOM-TD-OSS/REDox

#ПятничныйКвиз

🖥 C# снова показывает, что «удобный язык = медленный язык» давно не работает. Автор ttfx портировал инструмент на C# и получ
🖥 C# снова показывает, что «удобный язык = медленный язык» давно не работает. Автор ttfx портировал инструмент на C# и получил: - до 140× быстрее Python - до 2,12× быстрее Rust-версии 0.3.3, на которую ранее ссылался DHH И всё это на Linux. Современный C# здесь особенно интересен не только для backend: он отлично подходит для CLI, утилит, bash-подобных скриптов, сервисов и обычных приложений, при этом без заметной жертвы в производительности. Хороший пример того, насколько далеко .NET ушёл от старого образа «Windows-only и тяжёлый runtime». https://github.com/devmobasa/ttfx

Приложение собрано, но при запуске .NET всё ещё компилирует код. Почему так происходит и что изменится, если подготовить маши
Приложение собрано, но при запуске .NET всё ещё компилирует код. Почему так происходит и что изменится, если подготовить машинный код заранее? 1 октября в 20:00 на открытом уроке курса «C# разработчик. Экспертный уровень» разберёте JIT и AOT в .NET и попробуете ReadyToRun и NativeAOT на практике. Проследите путь от C# до IL и машинного кода. Узнаете, какую работу JIT выполняет во время исполнения приложения, и сравните обычную JIT-компиляцию с ReadyToRun и NativeAOT. Рассмотрите, что каждый подход меняет на этапе сборки и запуска. На практике соберёте одно приложение в нескольких режимах. Сравните получившиеся файлы, размер приложения и время запуска, а затем разберёте результаты. Отдельно обсудите ограничения NativeAOT и сценарии, в которых его применение оправдано. Урок проведёт Виктор Дзицкий. Зарегистрироваться: https://otus.pw/hhsp/?erid=2W5zFJ7aLF3 Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🌦️ Красивый пример того, как может выглядеть современное приложение на Aspire Команда показала полноценную интерактивную кар
🌦️ Красивый пример того, как может выглядеть современное приложение на Aspire Команда показала полноценную интерактивную карту погоды на Node.js с живыми прогнозами и анимированным радаром. Под капотом: ⚡ Express + OpenTelemetry API ⚛️ React 19 + Vite 🗺️ Leaflet для карты 🛰️ анимированный погодный радар и актуальные прогнозы 🧩 всё приложение оркестрируется через TypeScript AppHost Хороший пример Aspire не в виде очередного Hello World, а как основа для полноценного приложения из нескольких сервисов. https://aspire.dev/reference/samples/

🔎 Hyperresearch превращает Claude Code и Codex в полноценного Deep Research-агента Hyperresearch - open-source harness для г
🔎 Hyperresearch превращает Claude Code и Codex в полноценного Deep Research-агента Hyperresearch - open-source harness для глубоких исследований поверх Claude Code и OpenAI Codex. Что умеет: - запускать 16-шаговый research pipeline из одного запроса; - собирать сотни источников за один запуск; - проверять, действительно ли каждая цитата подтверждает утверждение; - выявлять дубли и перепечатки, чтобы не считать их независимыми источниками; - прогонять черновик через несколько критиков; - сохранять все найденные материалы в постоянное searchable-хранилище; - восстанавливать исследование после падения с нужного шага; - искать статьи, книги, clinical trials, SEC filings и макроданные через единый интерфейс. Есть режимы от быстрых исследований примерно на 30 минут до экспериментальных «dissertation runs» на десятки тысяч слов и сотни источников. Автор также заявляет лидерство в собственных тестах на DeepResearch-Bench, но независимая валидация пока ожидается. Работает с Claude Code и Codex. GitHub: https://github.com/jordan-gibbs/hyperresearch

🐞 Когда логов недостаточно: дамп памяти из C# Баг возникает только на проде, а локально всё работает? Дамп позволяет сохрани
🐞 Когда логов недостаточно: дамп памяти из C# Баг возникает только на проде, а локально всё работает? Дамп позволяет сохранить состояние процесса и позже изучить стеки потоков и значения переменных, не воспроизводя проблему заново. В .NET Blog разбирают создание дампа текущего процесса из C# на Windows через нативную библиотеку dbghelp.dll. Это способ встроить сбор диагностических данных прямо в приложение. Полезно для тех, кто разбирается с трудноуловимыми сбоями и хочет видеть больше, чем сообщение об исключении. https://devblogs.microsoft.com/dotnet/creating-a-memory-dump-in-csharp/

Awesome Jev - большая подборка инструментов для новой модели TypeSafe AI 🤗 Jev - новая быстрая ИИ-модель от TypeSafe AI для
Awesome Jev - большая подборка инструментов для новой модели TypeSafe AI 🤗 Jev - новая быстрая ИИ-модель от TypeSafe AI для принятия структурированных решений внутри программ. Она выбирает из заданных вариантов, оценивает вероятность и уверенность, вместо генерации длинного текста. В одном репозитории собрали проекты, SDK, исследования и гайды для работы с Jev - моделью класса System One, созданной для быстрых типизированных решений внутри программ. В подборке уже есть: - агенты для macOS, Android и браузера; - семантический поиск по кодовой базе; - инструменты для проверки кода и ответов LLM; - плагины для Codex и Claude Code; - MCP-серверы и SDK для Python, TypeScript, Go, Rust, .NET и других языков; - демо с Doom, Mario, StarCraft, Civilization II и управлением дроном. Jev возвращает структурированные решения с вероятностями и оценкой уверенности. Заявленная скорость ответа - 70–500 мс, стоимость - $0,042 за 1 млн входных токенов, выходные токены бесплатны. 🔗 GitHub: https://github.com/AnotiaWang/awesome-jev

🔍Тестовое собеседование с Senior C# разработчиком уже завтра 22 сентября(уже завтра!) в 19:00 по мск приходи онлайн на откры
🔍Тестовое собеседование с Senior C# разработчиком уже завтра 22 сентября(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle C# разработчика. Как это будет: 📂 Александр Моргунов, старший C# разработчик с опытом 7+ лет в Европейских высоконагруженных сервисах, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Александру Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для C# разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_csharp_bot Реклама. О рекламодателе.

🧩 Задача на C#: почему воркер завис, хотя очередь почти пустая? Есть канал вместимостью один элемент и единственный обработчик. Если задача завершилась ошибкой, обработчик возвращает её в очередь для повторной попытки.

using System.Threading.Channels;

var queue = Channel.CreateBounded<int>(
    new BoundedChannelOptions(1)
    {
        FullMode = BoundedChannelFullMode.Wait,
        SingleReader = true
    });

await queue.Writer.WriteAsync(1);

var worker = Task.Run(async () =>
{
    await foreach (var job in queue.Reader.ReadAllAsync())
    {
        Console.WriteLine($"Start {job}");

        if (job == 1)
        {
            await queue.Writer.WriteAsync(2);
            await queue.Writer.WriteAsync(1); // retry
        }

        Console.WriteLine($"Done {job}");
    }
});

await worker;
Вопросы: 1. Что появится в консоли? 2. На какой строке остановится обработка? 3. Почему await и свободные потоки пула не спасают? 4. Если увеличить вместимость канала до двух, проблема исчезнет? 5. Как организовать не больше трёх попыток на задачу, сохранив ограниченную очередь и одного обработчика? Условие: нельзя использовать Task.Run для каждой повторной попытки, неограниченную очередь или отбрасывание сообщений. 👇 Найдите причину зависания и предложите исправление.

#ПятничныйКвиз #карательныйсишарп

🔥 Microsoft выпустила .NET 11 RC1**- первый релиз-кандидат уже с **go-live support, то есть его можно использовать в product
🔥 Microsoft выпустила .NET 11 RC1**- первый релиз-кандидат уже с **go-live support, то есть его можно использовать в production. Из заметного: в C# 15 стабилизируют unions и другие новые возможности языка, ASP.NET Core получил обновления SignalR и OpenAPI, а в Blazor появились экспериментальные AI-компоненты для agentic UI. В runtime добавили in-process crash reporting для Unix и аппаратные FP16-операции для Half. В SDK улучшили dotnet test, публикацию контейнеров и file-based programs, включая Native AOT reuse. Также обновились F#, MAUI, WinForms, NuGet и MSBuild. .NET 11 RC1 уже поддерживается в Visual Studio 2026 Insiders и VS Code с C# Dev Kit. https://devblogs.microsoft.com/dotnet/dotnet-11-rc-1/

photo content

C# 14: задача на Span без аллокаций Дана строка:

42|john@example.com|127
Нужно распарсить её без Split(), Regex и временных string:

public readonly record struct UserLog(
    int Id,
    ReadOnlyMemory<char> Email,
    int Latency
);
Реализуйте:

static bool TryParse(
    ReadOnlyMemory<char> input,
    out UserLog result
)
Требования: • парсинг через Span<char> • false при битом формате • без лишних аллокаций • Email должен ссылаться на исходный buffer Пример:

var input = "42|john@example.com|127".AsMemory();

if (TryParse(input, out var log))
{
    Console.WriteLine(log.Id);       // 42
    Console.WriteLine(log.Email);    // john@example.com
    Console.WriteLine(log.Latency);  // 127
}
Вопрос: почему нельзя сохранить ReadOnlySpan<char> в UserLog, а ReadOnlyMemory<char> можно?

🔍Тестовое собеседование с Senior C# разработчиком уже завтра 15 сентября(уже завтра!) в 19:00 по мск приходи онлайн на откры
🔍Тестовое собеседование с Senior C# разработчиком уже завтра 15 сентября(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle C# разработчика. Как это будет: 📂 Александр Моргунов, старший C# разработчик с опытом 7+ лет в Европейских высоконагруженных сервисах, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Александру Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для C# разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_csharp_bot Реклама. О рекламодателе.