en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

C# (C Sharp) programming

C# (C Sharp) programming

Open in Telegram

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

Show more

📈 Analytical overview of Telegram channel C# (C Sharp) programming

Channel C# (C Sharp) programming (@csharp_ci) in the Russian language segment is an active participant. Currently, the community unites 18 066 subscribers, ranking 7 202 in the Technologies & Applications category and 36 422 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 18 066 subscribers.

According to the latest data from 25 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -28 over the last 30 days and by -4 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 19.39%. Within the first 24 hours after publication, content typically collects 8.27% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 3 504 views. Within the first day, a publication typically gains 1 494 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 0.
  • Thematic interests: Content is focused on key topics such as .net, api, логика, архитектура, string.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
“По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ”

Thanks to the high frequency of updates (latest data received on 26 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

18 066
Subscribers
-424 hours
-97 days
-2830 days
Attracting Subscribers
Oct '26
October '26
+124
in 37 channels
September '26
+117
in 31 channels
Get PRO
August '26
+112
in 4 channels
Get PRO
July '26
+85
in 3 channels
Get PRO
June '26
+147
in 3 channels
Get PRO
May '26
+131
in 2 channels
Get PRO
April '26
+76
in 1 channels
Get PRO
March '26
+96
in 23 channels
Get PRO
February '26
+112
in 45 channels
Get PRO
January '26
+398
in 132 channels
Get PRO
December '25
+117
in 5 channels
Get PRO
November '25
+318
in 44 channels
Get PRO
October '25
+84
in 14 channels
Get PRO
September '25
+162
in 37 channels
Get PRO
August '25
+223
in 9 channels
Get PRO
July '25
+418
in 77 channels
Get PRO
June '25
+293
in 71 channels
Get PRO
May '25
+238
in 1 channels
Get PRO
April '25
+191
in 28 channels
Get PRO
March '25
+185
in 2 channels
Get PRO
February '25
+210
in 42 channels
Get PRO
January '25
+200
in 46 channels
Get PRO
December '24
+416
in 56 channels
Get PRO
November '24
+1 096
in 187 channels
Get PRO
October '24
+1 800
in 73 channels
Get PRO
September '24
+635
in 199 channels
Get PRO
August '24
+662
in 44 channels
Get PRO
July '24
+665
in 53 channels
Get PRO
June '24
+1 168
in 60 channels
Get PRO
May '24
+565
in 39 channels
Get PRO
April '24
+569
in 45 channels
Get PRO
March '24
+709
in 21 channels
Get PRO
February '24
+1 055
in 2 channels
Get PRO
January '24
+1 376
in 46 channels
Get PRO
December '23
+608
in 44 channels
Get PRO
November '23
+1 091
in 30 channels
Get PRO
October '23
+332
in 19 channels
Get PRO
September '23
+352
in 0 channels
Get PRO
August '23
+1 949
in 0 channels
Get PRO
July '23
+507
in 0 channels
Get PRO
June '23
+1 238
in 0 channels
Get PRO
May '23
+1 891
in 0 channels
Get PRO
April '23
+3 025
in 0 channels
Get PRO
March '23
+1 858
in 0 channels
Get PRO
February '23
+85
in 0 channels
Get PRO
January '23
+113
in 0 channels
Get PRO
December '22
+171
in 0 channels
Get PRO
November '22
+226
in 0 channels
Get PRO
October '22
+197
in 0 channels
Get PRO
September '22
+170
in 0 channels
Get PRO
August '22
+756
in 0 channels
Get PRO
July '22
+82
in 0 channels
Get PRO
June '22
+152
in 0 channels
Get PRO
May '22
+344
in 0 channels
Get PRO
April '22
+256
in 0 channels
Get PRO
March '22
+53
in 0 channels
Get PRO
February '22
+45
in 0 channels
Get PRO
January '22
+97
in 0 channels
Get PRO
December '21
+45
in 0 channels
Get PRO
November '21
+1 110
in 0 channels
Date
Subscriber Growth
Mentions
Channels
26 October+1
25 October+2
24 October+6
23 October+3
22 October+1
21 October+1
20 October+4
19 October+4
18 October+9
17 October+7
16 October+7
15 October+5
14 October+3
13 October+9
12 October+4
11 October+8
10 October+2
09 October+5
08 October+5
07 October+7
06 October+11
05 October+9
04 October+8
03 October+2
02 October+1
01 October0
Channel Posts
«Ускорь этот C#-код» — полезнее просить ИИ вместе с инструкцией, как измерять результат. BlazingFastDotnet — сборник приёмов
«Ускорь этот C#-код» — полезнее просить ИИ вместе с инструкцией, как измерять результат. BlazingFastDotnet — сборник приёмов оптимизации .NET 10 и 11, упакованный в SKILL.md для ИИ-агентов. Его можно читать и как обычный технический справочник. Внутри: - Поиск узких мест: dotnet-counters, dotnet-trace, Linux perf и анализ машинного кода JIT. - Память и многопоточность: аллокации, GC, конкуренция за блокировки и false sharing. - Настройка выполнения: ThreadPool, сокеты, JIT и параметры NativeAOT. - Оптимизация C#: SIMD, работа со строками и ASP.NET Core. Автор предлагает подключать документ по необходимости, когда появилась конкретная задача ускорения. Порядок работы простой: замерить исходную производительность → найти причину → менять по одному параметру → сохранять только измеримый выигрыш. Часть рекомендаций рассчитана прежде всего на бенчмарки. Настройки могут обменивать память на скорость или увеличивать нагрузку на CPU, поэтому переносить их в продакшен стоит после проверки на своей нагрузке. https://github.com/EgorBo/BlazingFastDotnet

2
🔐 «Не одобряй собственные расходы» — такое правило нужно проверять на сервере Тайсир Джуде показывает, как защитить MCP-серв
🔐 «Не одобряй собственные расходы» — такое правило нужно проверять на сервере Тайсир Джуде показывает, как защитить MCP-сервер на ASP.NET Core через Microsoft Entra ID. На примере приложения для учёта расходов автор разбирает: • Регистрацию сервера и клиента в Entra ID. • Вход пользователя и проверку JWT-токенов. • Разницу между scope - разрешением приложению действовать от имени пользователя — и ролью, позволяющей одобрять расходы. • Ограничение доступа к отдельным MCP-инструментам и фильтрацию списка доступных tools. Самый показательный момент: пользователь с ролью согласующего может одобрить чужой отчёт, но свой сервер отклонит. Личность определяется по токену, а бизнес-правило проверяется в коде. Модель выбирает, какой инструмент вызвать. Сервер решает, разрешено ли выполнить действие. 📖 https://bitoftech.net/2026/10/13/securing-mcp-server-microsoft-entra-id/ #aspnetcore #dotnet #mcp
2 639
3
⌨️ Магические слова async/await Приглашаем на открытый урок. 🗓 29 ноября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курс
⌨️ Магические слова async/await Приглашаем на открытый урок. 🗓 29 ноября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «C#-разработчик. Продвинутый уровень». Разберем, как браузер общается с сервером, и создадим работающий HTTP-сервис без Spring и сторонних библиотек. О чем поговорим: ✔️ Как связаны понятия асинхронности и многопоточности ✔️ Синтаксис async/await-конструкций ✔️ Во что компилируется конструкция async/await ✔️ Работа с исключениями при ожидании 🔗 Ссылка на регистрацию: https://otus.pw/DCX1/?erid=2W5zFJeppAM Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
1 431
4
🧩 C# с подвохом: одна переменная — сколько запросов к БД? В базе есть просроченные заказы. db.Orders — это DbSet в EF
🧩 C# с подвохом: одна переменная — сколько запросов к БД? В базе есть просроченные заказы. db.Orders — это DbSet<Order> в EF Core, а NotifyAsync к базе не обращается. IEnumerable<Order> late = db.Orders .Where(o => o.DueDate < today); if (late.Any()) { logger.LogWarning( "{Count} late orders", late.Count() ); foreach (var order in late) { await notifier.NotifyAsync(order); } } Сколько раз код обратится к базе и где будет выполняться подсчёт — в SQL или в памяти приложения? Обратите внимание на тип late в первой строке. И изменится ли поведение, если заменить IEnumerable<Order> на var? 👇 Пишите ответ с объяснением.
2 600
5
⚡ Где тормозит .NET-приложение? SharpLsp покажет прямо в VS Code В SharpLsp есть встроенный профилировщик CPU и памяти для C#
⚡ Где тормозит .NET-приложение? SharpLsp покажет прямо в VS Code В SharpLsp есть встроенный профилировщик CPU и памяти для C# и F#. Подключаешься к уже работающему процессу и смотришь, на что приложение тратит ресурсы. Перезапускать и пересобирать его не нужно. После сбора CPU-профиля расширение подсвечивает горячие строки кода, строит flame graph и показывает функции, которые занимают больше всего процессорного времени. Для памяти доступны отслеживание кучи, сравнение снимков и граф ссылок, помогающий понять, что удерживает объекты в памяти. Подозреваемые на утечки отображаются по мере работы приложения. Отдельно устанавливать `dotnet-trace` не требуется. Движку профилировщика нужен runtime .NET 8 или новее, а у целевого процесса должна быть включена диагностика. Проект открытый, под лицензией MIT, работает на Windows, macOS и Linux. https://sharplsp.dev/blog/dotnet-profiler-vs-code-csharp-fsharp/
2 764
6
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можн
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: https://t.me/+90Z5TAyfuNU5YmRi Golang: t.me/Golang_google Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_1001_notes Java: t.me/javatg JavaScript: t.me/javascriptv React: t.me/react_tg Frontend: t.me/front PHP: t.me/phpshka Android: t.me/android_its Мобильная разработка: t.me/mobdevelop Базы данных: t.me/sqlhub Data Science: t.me/data_analysis_ml Big Data: t.me/bigdatai Математика: t.me/data_math Физика: t.me/fizmat Kubernetes: t.me/kubernetc GameDev: https://t.me/gamedev Haskell: t.me/haskell_tg Собеседования и карьера: DS собеседования: t.me/machinelearning_interview Python собеседования: t.me/python_job_interview Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy Полезное сверху: ИТ-мемы: t.me/memes_prog Английский для программистов: t.me/english_forprogrammers ИИ и технологии: t.me/vistehno 954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Max Ai: https://max.ru/ai_machinelearning_big_data Max python: https://max.ru/pythonl ТЕХНО: https://max.ru/vistehno Max Go: https://max.ru/Golang_google Max Linux: https://max.ru/linuxkalii Devops: https://max.ru/DevOPSitsec C#: https://max.ru/csharp_ci C++: https://max.ru/cpluspluc SQL: https://max.ru/sqlhub Java: https://max.ru/javatg Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
1 910
7
🌐 Новый `HttpClient` на каждый запрос? Под нагрузкой это может закончиться исчерпанием портов. IHttpClientFactory создаёт но
🌐 Новый `HttpClient` на каждый запрос? Под нагрузкой это может закончиться исчерпанием портов. IHttpClientFactory создаёт новые экземпляры клиента, но переиспользует обработчики `HttpMessageHandler` и их пулы соединений. Поэтому освобождение клиента, полученного от фабрики, не уничтожает пул после каждого запроса. Три способа использования: • Обычный клиент: CreateClient() для простых сценариев. Общие настройки тоже можно задать при регистрации. • Именованный: CreateClient("github") возвращает клиент с настройками конкретного API. • Типизированный: GitHubClient получает настроенный HttpClient через DI и скрывает детали HTTP за методами сервиса. Например, именованный клиент: services.AddHttpClient("github", client => { client.BaseAddress = new Uri("https://api.github.com/"); client.DefaultRequestHeaders.UserAgent.ParseAdd("MyApp/1.0"); }); // При использовании: using var client = factory.CreateClient("github"); Нюанс: типизированный клиент не стоит надолго удерживать в singleton без настройки обновления соединений. Фабрика также не единственный правильный вариант: Microsoft рекомендует и долгоживущий HttpClient с настроенным PooledConnectionLifetime. Главное: управлять временем жизни соединений.
2 046
8
🛠 У .NET появился свой аналог rustup и nvm Microsoft представила dotnetup: менеджер для установки и обновления .NET SDK и ра
🛠 У .NET появился свой аналог rustup и nvm Microsoft представила dotnetup: менеджер для установки и обновления .NET SDK и рантаймов. Пока в публичном превью. Всё устанавливается в папку пользователя, без sudo и прав администратора. Можно держать стабильные версии, превью и ежедневные сборки рядом, а закрепление SDK через global.json сохраняется. Несколько полезных команд: dotnetup init # Настроить окружение dotnetup list # Показать установленные версии dotnetup update # Обновить отслеживаемые версии dotnetup sdk install preview # Установить превью SDK Можно отслеживать обновления внутри конкретной ветки или закрепить точную версию. При обновлении ненужные компоненты очищаются автоматически. https://devblogs.microsoft.com/dotnet/introducing-dotnetup/
2 312
9
Запрос проходит через несколько сервисов, обращается к базе данных и внешним API. Пользователь видит задержку или ошибку, а п
Запрос проходит через несколько сервисов, обращается к базе данных и внешним API. Пользователь видит задержку или ошибку, а по отдельным записям в журналах трудно понять, на каком участке возникла проблема. 20 октября в 20:00 на открытом уроке курса «C# разработчик. Экспертный уровень» разберёте, как OpenTelemetry помогает превратить .NET-приложение из чёрного ящика в наблюдаемую систему. Рассмотрите наблюдаемость и роль трассировок, метрик и журналов событий в исследовании работы приложения. Узнаете, как эти данные помогают получить целостное представление о пути запроса и искать причины ошибок и задержек. На практике добавите средства сбора телеметрии в ASP.NET Core-приложение. Создадите собственные трассировки через ActivitySource и метрики через Meter, подключите автоматический сбор телеметрии для ASP.NET Core и HttpClient. Урок проведёт Михаил Дмитриев. Зарегистрироваться: https://otus.pw/f8Z4/?erid=2W5zFHPwe5P Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
2 274
10
#ПятничныйКвиз
2 326
11
Что на самом деле происходит с вашим async-методом: компилятор C# переписывает его в конечный автомат Meziantou разобрал, во что превращается async-метод после компиляции. Сам метод становится заглушкой: она создаёт структуру-автомат, заводит билдер вроде AsyncTaskMethodBuilder, копирует параметры в поля, ставит состояние -1, вызывает Start и возвращает Task. Вся логика переезжает в MoveNext. В Release автомат это struct, в Debug это class. Пока метод не засыпает, автомат живёт на стеке. Как только он приостанавливается, билдер упаковывает его в кучу. Поле state хранит точку возобновления: -1 значит выполняется, -2 завершён, 0 и выше номер await. В поля уходят только параметры и локальные переменные, которые нужны после await, остальные остаются локальными. Слоты под awaiter выделяются на тип, а не на каждый await, поэтому несколько await на одном типе делят одно поле. Сам await превращается в switch по полю плюс регистрацию продолжения. Если awaiter уже завершён, код идёт дальше без остановки. Если нет, сохраняется состояние и awaiter, вызывается AwaitUnsafeOnCompleted, и MoveNext возвращается. Исключения ловятся сгенерированным try/catch и уходят в SetException, поэтому всплывают на await, а не в месте вызова. До первого незавершённого await метод выполняется синхронно. Бенчмарки автора показывают цену этого механизма: синхронный цикл 2,7 нс, async без реального ожидания 47,9 нс, async с приостановкой на каждой итерации 8820 нс. Разница в сотни раз в горячих циклах заметна, так что await на каждом элементе лучше пересобирать. Мерить стоит только в Release, иначе картина искажается. Источник: https://www.meziantou.net/how-the-csharp-compiler-rewrites-an-async-method.htm
2 427
12
Helm-чарты прямо из C#, без запуска `helm` 🛠 HelmSharp позволяет рендерить шаблоны и управлять релизами Kubernetes внутри .N
Helm-чарты прямо из C#, без запуска `helm` 🛠 HelmSharp позволяет рендерить шаблоны и управлять релизами Kubernetes внутри .NET-приложения. Что умеет: • Загружать чарты из папки и .tgz. • Объединять values.yaml с пользовательскими параметрами. • Упаковывать чарты и работать с HTTP-репозиториями. • Устанавливать, обновлять, откатывать и удалять релизы. • Хранить историю релизов в Kubernetes Secrets, совместимых с Helm v3. Для начала: dotnet add package HelmSharp.Action Поддерживает .NET 8, 9 и 10, лицензия MIT. Пригодится для собственных панелей управления и сервисов деплоя на C#. Совместимость с Helm пока частичная: свои чарты стоит проверить, особенно если они используют сложные шаблонные функции или расширения. https://github.com/GaTTGeng/HelmSharp
3 248
13
Альфа-Банк ищет скиллового коллегу QA Fullstack на C# Предлагаем полную удалёнку или гибридный график – у нас классные ИТ-офисы в Москве, Питере и Екатеринбурге. Что нужно делать – Разрабатывать автотесты на C#. – Запускать функциональные, регрессионные и интеграционные тесты, включая API. – Снижать количество дефектов в диалоге с разработкой и бизнесом. Какие навыки важны – Опыт автоматизации на C# и ручного тестирования от года. – Знание API (SOAP, REST), SQL, основ клиент-серверной архитектуры и тест-дизайна. Условия и развитие – Сильное сообщество QA и C#-разработчиков: можно получить совет и поделиться опытом на митапе и в блоге на Хабре. – Реальная перспектива роста: технический трек развития, в том числе до C#-лида Оставляйте отклик по ссылке.
2 441
14
🧱 Модульный монолит легко потерять одним удобным JOIN. Допустим, модуль заказов напрямую читает таблицы доставки. Теперь изм
🧱 Модульный монолит легко потерять одним удобным JOIN. Допустим, модуль заказов напрямую читает таблицы доставки. Теперь изменение схемы доставки может сломать заказы, хотя в коде всё красиво разложено по модулям. Границы стоит закреплять и в базе: • Отдельная схема и роль PostgreSQL для каждого модуля. • Роль получает права только на свои данные. • В EF Core каждому модулю выделяется собственный DbContext и подключение с его учётными данными. • Чужие данные доступны через API, события или специально опубликованные представления с правами только на чтение. Так случайный запрос к чужой таблице остановит сама база. А выделять модуль в отдельный сервис впоследствии будет проще. Нюанс: отдельная схема и search_path сами по себе доступа не ограничивают. Границу обеспечивают права ролей на схемы и объекты. https://milanjovanovic.tech/blog/how-to-keep-your-data-boundaries-intact-in-a-modular-monolith
3 058
15
Задачка по C# 14: обновили проект на .NET 10, и код молча начал работать иначе Что выведет этот код? var c = new Counter(); c.Value = 5; Console.WriteLine($"{c.Value} {c.Raw} {c.GetRaw()}"); class Counter { private int field = 100; public int Value { get => field; set => field = value; } public int Raw => field; public int GetRaw() => field; } Варианты: A) 5 5 5 😎 5 100 100 C) 5 0 100 D) Код не скомпилируется Ответ: **C) 5 0 100** В C# 14 слово `field` внутри аксессоров свойства стало ключевым. Теперь оно означает **скрытое поле, которое компилятор создаёт для этого свойства**, даже если в классе уже есть член с таким именем. Поэтому в этом коде три разных `field`: ``` Value → своё скрытое поле: записали 5, прочитали 5 Raw → тоже аксессор, но со своим скрытым полем: в него никто не писал, значит 0 GetRaw() → обычный метод, ключевое слово тут не действует, это поле класса: 100 ``` Главная ловушка в строке `public int Raw => field;`. Выглядит как обычный метод-однострочник, но это свойство, а значит get-аксессор. Поле класса со значением 100 здесь вообще не видно. До C# 14 этот же код выводил `5 5 5`: все три обращения шли к одному полю класса. После обновления он компилируется и тихо меняет поведение. Чтобы обратиться к старому полю, внутри аксессоров нужно писать `this.field` или `@field`.
3 303
16
#ПятничныйКвиз
3 344
17
⚡️ Microsoft переработала C# Dev Kit: меньше памяти, быстрее запуск В версии 11.0 шесть процессов объединили в один сервер на
⚡️ Microsoft переработала C# Dev Kit: меньше памяти, быстрее запуск В версии 11.0 шесть процессов объединили в один сервер на Native AOT, добавили кэш проектов и приоритетную загрузку открытого файла. На решении Aspire из 407 проектов Microsoft получила: • готовность открытого файла: 0,47 секунды, ускорение до 180×; • загрузка всего решения: 84,1 → 3 секунды; • сборка после изменения одного C#-файла: 36,1 → 2,1 секунды; • память сервера Dev Kit: 2072 → 316 МБ. Последняя цифра относится только к серверу расширения: память VS Code и языкового сервиса Roslyn в сравнение не входит. Быстрая повторная загрузка использует предварительно созданный кэш. Также появились подсказки и диагностика для .csproj, .props, .targets и C# Doctor для поиска проблем с SDK, восстановлением пакетов и окружением. Версия доступна в Pre-Release. В VS Code откройте страницу C# Dev Kit и выберите Switch to Pre-Release Version. https://devblogs.microsoft.com/dotnet/faster-lighter-csharp-dev-kit/
3 788
18
🛠 Вышел 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
3 695
19
Одна задача, три языка: 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, ...): оба сворачивают последовательность в одно значение через аккумулятор. Чей вариант вам понятнее с первого взгляда?
7 761
20
🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собеседование: Senior C# разработчик про
🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собеседование: Senior C# разработчик проведёт его в прямом эфире. Можно посмотреть, как всё устроено изнутри, и понять, насколько ты готов к такому интервью. Как это будет: 📂 Собеседует Александр Моргунов — Senior C# разработчик, 7+ лет в европейских высоконагруженных сервисах. Отвечает разработчик-доброволец; 📂 Всё как на настоящем собесе: Александр задаёт те вопросы и задачи, которые даёт кандидатам на своих интервью. Заранее их никто не знает; 📂 После каждого ответа Александр даст обратную связь: что прозвучало сильно, а что стоило раскрыть иначе. Так станет понятнее, на что обращают внимание на собесе; 📂 В конце можно задать любой вопрос. Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для C# разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир -> @shortcut_csharp_bot Реклама. О рекламодателе.
2 483