ch
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 天
帖子存档
Одна задача, три языка: 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 Реклама. О рекламодателе.

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