en
Feedback
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 139 subscribers, ranking 7 059 in the Technologies & Applications category and 36 427 in the Russia region.

📊 Audience metrics and dynamics

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

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

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 13.64%. Within the first 24 hours after publication, content typically collects 7.27% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 2 475 views. Within the first day, a publication typically gains 1 319 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 03 September, 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 139
Subscribers
No data24 hours
+137 days
-4230 days
Posts Archive
#ПятничныйКвиз

🔥 Вышел .NET 11 Preview 6. Это уже шестой превью-релиз .NET 11, и он выглядит не как “пара мелких фиксов”, а как большой про
🔥 Вышел .NET 11 Preview 6. Это уже шестой превью-релиз .NET 11, и он выглядит не как “пара мелких фиксов”, а как большой проход по всему стеку: Runtime, SDK, Libraries, ASP.NET Core, MAUI, C#, EF Core, F#, контейнеры. Microsoft прямо перечисляет улучшения во всех этих направлениях. Самое интересное для backend-разработчиков: * улучшения JIT и runtime async performance * in-process crash report logging * faster interface dispatch для NativeAOT * новые SIMD API * dotnet test получает новые опции и улучшенный вывод * container publishing теперь поддерживает multi-arch builds с Podman В C# продолжают двигать union types: System.Text.Json уже умеет сериализовать C# union types, а support types для unions теперь идут “из коробки”. Ещё появился пункт про extension indexers. В ASP.NET Core тоже много практичных вещей: async validation для minimal APIs, автоматическая CSRF-защита для cross-origin сценариев, OpenAPI 3.2 по умолчанию, unions в ASP.NET Core, обновления SignalR и short-circuit endpoints через attribute. EF Core получил улучшения LINQ query translation, migrations, Cosmos DB provider и поддержку ключей/индексов через complex-type properties. Для меня главный сигнал Preview 6 такой: .NET 11 явно допиливают не только как runtime, а как цельную платформу для production-разработки: performance, NativeAOT, контейнеры, web API, тесты и tooling двигаются вместе. Ставить в прод пока рано, но смотреть и пробовать уже есть что. https://devblogs.microsoft.com/dotnet/dotnet-11-preview-6/

Vertical Slice Architecture хороша тем, что перестаёт заставлять код жить “по этажам”. В классической слоистой архитектуре фи
Vertical Slice Architecture хороша тем, что перестаёт заставлять код жить “по этажам”. В классической слоистой архитектуре фича часто размазана по всему проекту: endpoint в одном месте, request/response в другом, validator где-то рядом, handler отдельно, репозиторий ещё ниже. Чтобы понять одну бизнес-операцию, приходится прыгать по папкам как по квесту. В vertical slice подход другой: одна фича — один самостоятельный срез. Например, CreateProduct может хранить рядом всё, что нужно именно для создания продукта: request, response, validator, endpoint и handler с бизнес-логикой. Не потому что “так модно”, а потому что это проще сопровождать. Открыл срез - сразу видишь, что принимает API, что возвращает, как валидирует входные данные и что реально делает. Меньше магии, меньше лишней навигации, меньше риска случайно сломать соседнюю фичу. Для больших проектов это очень удобно: код начинает группироваться не вокруг технических слоёв, а вокруг бизнес-сценариев. И это, кажется, главный плюс VSA. Архитектура становится ближе к тому, как продукт реально работает.

TIME_WAIT в Linux годами объясняют неправильно Я полез в исходники Linux TCP и снова наткнулся на старый сетевой миф. В коде
TIME_WAIT в Linux годами объясняют неправильно Я полез в исходники Linux TCP и снова наткнулся на старый сетевой миф. В коде TIME_WAIT фактически зафиксирован на 60 секунд: #define TCP_TIMEWAIT_LEN (60 * HZ) Его нельзя настроить отдельно для сокета. И да, tcp_fin_timeout, который часто советуют крутить в блогах, не управляет TIME_WAIT. Он относится к состоянию FIN_WAIT2. TIME_WAIT задан в исходниках ядра и не вынесен в отдельный sysctl. Вот так появляются мифы: один параметр звучит похоже, его копируют из статьи в статью, а потом годами лечат не то состояние TCP.

G# — новый язык для .NET с синтаксисом ближе к Go, Kotlin и Swift. Идея не в том, чтобы заменить C#, а в том, чтобы дать более компактный язык поверх той же CLR. Что обещают: • компиляция в обычные managed .NET assemblies • совместимость с BCL, NuGet, MSBuild и dotnet tooling • interop с C#-кодом • null-safety через T?, nil, ?., ??, if let и guard let • data classes со structural equality, copy-with и deconstruction • async/await поверх Task и Task[T] • опциональные Go-подобные go, chan, select • REPL / script runner через gsi • C# → G# мигратор через cs2gs Самая интересная часть — G# не пытается строить новый рантайм. Он просто использует существующую .NET-экосистему и меняет язык входа: меньше исторического багажа C#, больше предсказуемой синтаксической поверхности. Но важно: проект пока pre-1.0. Версия 0.3 — это скорее milestone по реализации и interop, а не гарантия стабильности языка. Для продакшена рано. Для тех, кто следит за экспериментами вокруг .NET-языков, очень любопытно. Статья: https://www.linkedin.com/pulse/meet-g-modern-net-language-go-kotlin-swift-ergonomics-david-obando-lwofc/

Ты не твой стек Зачем учиться новому, когда по самое колено в практике? Не страшно, что всё больше джунов работают наравне с
Ты не твой стек Зачем учиться новому, когда по самое колено в практике? Не страшно, что всё больше джунов работают наравне с сеньёрами? Уже нельзя уметь только фреймворк, надо понимать что стоит за этим и в твоём опыте огромное преимущество, не хватает лишь малого - знаний об том как утроен мир и формула принятия решений. Метафизика? Нет - математика. Языки и фреймворки устаревают за 5–10 лет, стеки обновляются радикально. А способ мышления, которым ты пользуешься, чтобы разложить сложную задачу на части, остаётся с тобой навсегда. Именно об этом курс: "Философия, математика и компьютерные науки" Не про конкретный стек, а про то, как в принципе думать о сложных системах с опорой на философию, математику и системную инженерию. Формат: 9 месяцев, 10 модулей, теория и практика, несколько очных сессий в Петербурге. Кураторы: - Андрей Родин — доктор философских наук, философ науки и математики - Илья Егорычев — доктор философских наук, математик и логик, Soulmaths - Вячеслав Шириков — системный архитектор, техдиректор ГК «Лартех» До 21 июля действует скидка за раннюю регистрацию. Программа и условия

⚡️ GPT-5.6 РЕЛИЗ OpenAI выкатили сразу три новые модели. • Sol - заявлено, что модель мощнее Mythos. Доступ для платных польз
⚡️ GPT-5.6 РЕЛИЗ OpenAI выкатили сразу три новые модели. • Sol - заявлено, что модель мощнее Mythos. Доступ для платных пользователей обещают в течение 24 часов. На Terminal Bench 2.1 с настройкой Ultra модель выбивает рекордные 91,9%. Первые тестеры отдельно отмечают сильную работу с интерфейсами: она уверенно собирает UI для приложений и сайтов, а не просто генерирует сырой код. • Terra - уровень Fable 5. Будет доступна бесплатно. • Luna - еще одна бесплатная модель для всех. Помимо самой модели, показали 3 крупных продуктовых обновления: 1. ChatGPT Work 2. новое desktop-приложение ChatGPT 3. hosted sites, то есть размещение сайтов прямо через Chatgpt https://openai.com/ru-RU/live/

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

AI-инструменты стали стандартной частью стека C#/.NET-разработчиков: ассистенты в IDE, генерация кода и тестов, помощь с доку
AI-инструменты стали стандартной частью стека C#/.NET-разработчиков: ассистенты в IDE, генерация кода и тестов, помощь с документацией и ревью. По данным отраслевых отчётов, 80–90% инженеров уже используют AI-сервисы, а 97% компаний встроили AI в SDLC. Однако разрыв сегодня проходит не по доступу к моделям. У одних команд AI встроен в мультиагентные пайплайны, SDD подход и метрики качества. У других остаётся локальным помощником без влияния на метрики, скорость релизов и риск-профиль. Именно для интеграции AI в процессы команда Naition запускает 12‑недельную программу по AI-driven разработке. Программу собрали инженеры и техлиды из Яндекс Cloud, Сбера, Google и других продуктовых команд с опытом более 15 лет. Что внутри:
• создание AI-окружения под ваш стек • контекст-инжиниринг - от создания и подключения кастомных MCP до RAG под вашу кодовую базу • решение продуктовых задач, spec-driven разработка и контроль качества с evals • разработка агентов, сабагентов с выходом в практики оркестрации • практики работы с легаси-проектами и крупными кодовыми базами при ограниченном бюджете
Форматы участия: Командный - для C#/.NET-команд от 3–5 человек. Заходите в общий поток и получаете отдельный трек: разбор текущих процессов, выделение узких мест, план внедрения AI-практик и фиксация метрик до и после изменений. Индивидуальный формат - для архитекторов, техлидов, middle/senior‑разработчиков и руководителей, которые хотят собрать язык и паттерны AI‑ориентированной разработки, чтобы затем использовать их как основу изменений внутри своих команд. 95% участников прошлого потока дошли до конца. Первые изменения в процессах команды вносили уже после второго модуля. Новый поток AI‑DRIVEN стартует 21 июля. Если вы отвечаете за архитектуру и метрики разработки в C#/.NET‑проектах, вы можете оставить заявку на сайте и до 13 июля получить индивидуальные условия участия для команды или для себя как индивидуального участника. Подробности на сайте: naition.ai Реклама: ИП Крутов Дмитрий Валерьевич ИНН: 772973192199 Erid: 2VtzqxRqZmC

Godot фактически запрещает vibe coding в контрибуциях. Причина простая: PR стало легче генерировать, но не легче проверять. Д
Godot фактически запрещает vibe coding в контрибуциях. Причина простая: PR стало легче генерировать, но не легче проверять. Для open-source движка каждый патч всё равно должен разобрать мейнтейнер, который понимает архитектуру, риски и последствия изменений. Теперь автономные агенты, крупные AI-сгенерированные куски кода и сгенерированный текст в issues, proposals и PR-дискуссиях запрещены. Разрешены только мелкие помощники вроде автодополнения, regex и find/replace. Помощь AI в коде нужно раскрывать. На практике правило будет сложно применять: почти невозможно наверняка доказать, где был vibe coding, а где обычная работа разработчика. Godot защищает не стиль разработки, а время ревьюеров. Код можно сгенерировать за минуты, но ответственность за него всё равно остаётся на людях. godotengine.org/article/contribution-policy-2026/

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

⚡️ Idempotency: важная вещь в REST API В распределённых системах запрос может не дойти, ответ может потеряться, клиент может
⚡️ Idempotency: важная вещь в REST API В распределённых системах запрос может не дойти, ответ может потеряться, клиент может словить timeout и отправить тот же запрос ещё раз. Если API не готов к такому сценарию, начинаются дубли: два платежа, два заказа, две записи в базе. Idempotency решает эту проблему. Идемпотентная операция может быть вызвана несколько раз, но состояние системы после первого успешного запроса уже не меняется. Типичный пример: клиент создаёт уникальный ключ операции и отправляет его в заголовке, например:

Idempotency-Key: 8f7a2c9e-12a4-4f8b-91c2
Сервер проверяет этот ключ. Если ключ новый, он выполняет операцию и сохраняет результат. Если ключ уже был, сервер не запускает операцию повторно, а возвращает сохранённый ответ. Так API нормально переживает повторы, сетевые сбои и retries без случайных дублей. Особенно важно для платежей, создания заказов, бронирований и любых операций, где повторный запрос может стоить денег.

# C# record: что выведет код? На собеседованиях record часто объясняют как «сравнение по значению». Но есть нюанс, который легко пропустить.

public record User(string Name, List<string> Roles);

var u1 = new User("Alice", new List<string> { "admin" });

var u2 = u1 with { };

u2.Roles.Add("owner");

Console.WriteLine(u1 == u2);
Console.WriteLine(string.Join(", ", u1.Roles));
Console.WriteLine(ReferenceEquals(u1.Roles, u2.Roles));
Что будет в консоли?

True
admin, owner
True
Почему так? with для record делает не глубокую копию, а поверхностную. Сам объект User скопировался, но List<string> внутри остался тем же самым объектом в памяти. Поэтому изменение u2.Roles меняет и u1.Roles. И сравнение тоже остаётся True, потому что оба record указывают на один и тот же список. Вот почему record не делает модель автоматически immutable. Он только упрощает синтаксис и даёт value-based equality. Если внутри лежат изменяемые reference-типы, их всё равно можно случайно протащить в состояние. Более безопасный вариант:

public record User(string Name, IReadOnlyList<string> Roles);
А для строгой неизменяемости лучше смотреть в сторону immutable collections.

Методы, их перегрузка и расширения. Бесплатный урок специализации «C#-разработчик» Методы — одна из базовых вещей в C#, без к
Методы, их перегрузка и расширения. Бесплатный урок специализации «C#-разработчик» Методы — одна из базовых вещей в C#, без которой невозможно нормально писать, читать и поддерживать код. Но у начинающих разработчиков часто всё смешивается: где обычный метод, где перегрузка, как работает сигнатура, зачем нужны параметры по умолчанию и в каких случаях использовать params. На открытом уроке 2 июля в 20:00 разберём, что такое метод в C#, как писать собственные методы и как использовать перегрузку без хаоса в коде. Поговорим о сигнатуре метода, параметрах по умолчанию, ключевом слове params и методах-расширениях. На примерах покажем, как эти механики помогают делать код понятнее, гибче и удобнее для повторного использования. Урок не для тех, кто хочет просто «выучить синтаксис» без понимания, как методы влияют на структуру программы. 👉 Записаться: https://otus.pw/Dbvh/?erid=2W5zFG69SGh Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Globbing. - это удобный способ искать файлы по маскам, без ручного перебора папок и костылей со строками. Например: **/*.cs -
Globbing. - это удобный способ искать файлы по маскам, без ручного перебора папок и костылей со строками. Например: **/*.cs - все C# файлы во всех вложенных папках wwwroot/**/*.js - все JS-файлы внутри wwwroot !bin/** и !obj/** - исключить мусорные директории сборки Где это полезно: • генерация списков файлов • поиск конфигов • обработка шаблонов • сборка ассетов • утилиты для проектов • backend/frontend tooling Это не Regex. Globbing проще, читаемее и отлично подходит для файловой структуры. Backend пример: https://github.com/karenpayneoregon/vs2026-how-to/blob/f1c136c864b05ec9eec91e120997314d978b0966/CommonLibrary/GlobbingOperations.cs?plain=1#L6C15-L6C15 Frontend пример: https://github.com/karenpayneoregon/vs2026-how-to/blob/f1c136c864b05ec9eec91e120997314d978b0966/ExperimentsApp/Classes/GlobbingCode.cs?plain=1#L20C37-L20C37

Классическая задача на собеседовании: вывести бинарное дерево по уровням. На входе дерево: 1 2 3 4 5 6 Нужно не просто пройти
Классическая задача на собеседовании: вывести бинарное дерево по уровням. На входе дерево: 1 2 3 4 5 6 Нужно не просто пройти узлы, а напечатать каждый уровень с новой строки. Первое, что вспоминается, это BFS. Для обхода в ширину идеально подходит Queue<T>: кладём корень, достаём узел, добавляем его детей, повторяем. Так легко получить порядок: 1 2 3 4 5 6 Но настоящая часть задачи начинается дальше: как понять, где закончился уровень? Есть два нормальных варианта: • хранить вместе с узлом его уровень • на каждой итерации брать queue.Count и обрабатывать ровно столько узлов текущего уровня Второй способ часто чище: размер очереди в начале цикла и есть количество элементов на текущем уровне. Такие задачи редко проверяют «знание деревьев ради деревьев». Они проверяют другое: умеешь ли ты разложить проблему, выбрать структуру данных и аккуратно контролировать состояние. Для C# это отличный мини-тест на мышление, работу с Queue<T> и понимание алгоритмов без магии фреймворков.

Задачка C# Зачем указывать RunContinuationsAsynchronously у TaskCompletionSource? A - Чтобы продолжения выполнялись синхронно
Задачка C# Зачем указывать RunContinuationsAsynchronously у TaskCompletionSource? A - Чтобы продолжения выполнялись синхронно при SetResult B - Чтобы не исполнять продолжения синхронно в потоке SetResult, а планировать их асинхронно, избегая дедлоков и глубоких стеков C- Чтобы запретить отмену задач D- Чтобы обойти планировщик и ускорить завершение

🚀 DDD на C#: от теории к микросервису за 6 недель Если ты пишешь на C# и в какой-то момент начал чувствовать, что вроде всё
🚀 DDD на C#: от теории к микросервису за 6 недель Если ты пишешь на C# и в какой-то момент начал чувствовать, что вроде всё работает, но как-то костыльно — это тревожный сигнал. Новая фича затрагивает десятки файлов. Тесты становятся сложнее самого кода. Любое изменение заставляет переживать, что сломается что-то ещё. Обычно проблема не в разработчиках. Проблема в том, что проект растёт без понятной архитектурной модели. На курсе по Domain-Driven Design и Clean Architecture на C# ты научишься: — Отделять бизнес-логику от инфраструктуры — Организовывать код так, чтобы новые требования не приводили к переписыванию половины сервиса — Писать тесты, которые проверяют поведение системы, а не набор моков — Подключать HTTP, gRPC и Kafka без изменений в доменной логике — Строить сервисы, которые проще поддерживать и развивать За 6 недель ты соберёшь полноценный микросервис на C# с DDD, Kafka, gRPC и Clean Architecture на реальном кейсе диспетчеризации заказов. 👨‍🏫 Автор курса — Кирилл Ветчинкин, архитектор Авито, ex Staff Engineer Купер, ex Head of Backend BCS Broker. 🎁 Первый модуль доступен бесплатно. В нём разберём, почему кодовые базы со временем становятся хрупкими, откуда появляются сложные тесты и постоянный страх изменений, и как DDD и Clean Architecture помогают решить эти проблемы на практике. Посмотри демо-модуль и оцени, насколько этот подход подходит для твоих проектов: https://microarch.ru/courses/ddd/languages/csharp?utm_source=posev&utm_medium=erid:2VtzqwrtmqB&utm_campaign=3 Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqvzVXjP

Совет по .NET Aspire: не воспринимайте его только как удобную локальную панель. Самая полезная часть начинается, когда у прил
Совет по .NET Aspire: не воспринимайте его только как удобную локальную панель. Самая полезная часть начинается, когда у приложения появляется инфраструктура: API, Postgres, Redis, фоновые сервисы, переменные окружения и connection strings. Вместо того чтобы вручную собирать docker-compose.yml, опишите сервисы в AppHost. Aspire Docker publisher сможет сгенерировать Compose-артефакты из этой модели. Но важно понимать границу: Aspire не деплоит приложение за вас. Он не заменяет CI/CD, не управляет секретами и не переносит контейнеры на сервер. Вам всё равно нужно собрать image, задать реальные env-переменные, скопировать файлы и запустить Docker Compose. Зато это хороший баланс: меньше ручной YAML-рутины, но без магии, которая скрывает реальную схему деплоя.

🖥 На Stepik обновили курс «C# с нуля до профи» Представьте: через четыре месяца вы открываете чужой .NET-проект и читаете ег
🖥 На Stepik обновили курс «C# с нуля до профи» Представьте: через четыре месяца вы открываете чужой .NET-проект и читаете его как книгу. IServiceCollection не вызывает ступора. async Task<IActionResult> пишется на автомате. Вы точно знаете, почему EF Core сгенерировал именно такой SQL - и как переписать запрос, чтобы он летал. Это не фантазия. Это результат после 16 модулей, в которых каждая концепция объясняется через код и закрепляется практикой. ООП, SOLID, LINQ, async/await, DI, EF Core, ASP.NET Core, Docker, Kubernetes - всё, что казалось магией, станет рабочим инструментом. А бонусом - портфолио проектов: от CLI-утилит и REST API до собственного SaaS с multi-tenancy, JWT и деплоем в Kubernetes под TLS. Скидка - 58% доступна 48 часов: https://stepik.org/a/282984/