Что выведет на экран этот код?
Anonymous Quiz
23%
False False
15%
False True
36%
True True
8%
True False
18%
❌ Exceptions ≠ Errors
Многие разработчики путают эти понятия и проектируют приложения неправильно. Давайте разберём:
Что такое исключение (exception)?
Это ситуация, из которой приложение не может восстановиться.
Пример: критическая ошибка базы данных, повреждённый файл конфигурации.
Что такое ошибка (error)?
Это ожидаемое состояние сбоя или невыполненное предусловие.
Пример: пользователь ввёл неверный пароль, файл не найден, запрос не прошёл валидацию.
👉 Использовать исключения вместо ошибок = анти-паттерн. Так появляется flow control через исключения, который делает код непредсказуемым и запутанным.
Как правильно:
- Ошибки представляем явно в коде (например, через
- Исключения оставляем для действительно неожиданных и фатальных ситуаций.
Бонус: Явные ошибки делают намерения кода прозрачными и облегчают поддержку.
📖 Подробнее: https://milanjovanovic.tech/blog/functional-error-handling-in-dotnet-with-the-result-pattern
#dotnet #cleanCode #architecture
Многие разработчики путают эти понятия и проектируют приложения неправильно. Давайте разберём:
Что такое исключение (exception)?
Это ситуация, из которой приложение не может восстановиться.
Пример: критическая ошибка базы данных, повреждённый файл конфигурации.
Что такое ошибка (error)?
Это ожидаемое состояние сбоя или невыполненное предусловие.
Пример: пользователь ввёл неверный пароль, файл не найден, запрос не прошёл валидацию.
👉 Использовать исключения вместо ошибок = анти-паттерн. Так появляется flow control через исключения, который делает код непредсказуемым и запутанным.
Как правильно:
- Ошибки представляем явно в коде (например, через
Result
, Option
, Either
паттерны). - Исключения оставляем для действительно неожиданных и фатальных ситуаций.
Бонус: Явные ошибки делают намерения кода прозрачными и облегчают поддержку.
📖 Подробнее: https://milanjovanovic.tech/blog/functional-error-handling-in-dotnet-with-the-result-pattern
#dotnet #cleanCode #architecture
☄️Как устроено автодополнение в поисковых системах?
🗓 8 октября в 20:00 МСК приглашаем на открытый урок OTUS «Как вырастить префиксное дерево». На вебинаре мы пошагово построим префиксное дерево (Trie) для слов из большого текста, добавим счётчики частот и реализуем автодополнение. Вы увидите, как по первым буквам мгновенно находятся все слова с этим префиксом и выводятся самые популярные варианты продолжений.
Урок будет полезен разработчикам, которые хотят глубже понимать работу алгоритмов и применять их для оптимизации поиска, обработки текста и построения быстрых интерфейсов.
Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение.
👉Зарегистрируйтесь сейчас и узнайте, как вырастить своё первое Trie-дерево:https://otus.pw/fDQX/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
🗓 8 октября в 20:00 МСК приглашаем на открытый урок OTUS «Как вырастить префиксное дерево». На вебинаре мы пошагово построим префиксное дерево (Trie) для слов из большого текста, добавим счётчики частот и реализуем автодополнение. Вы увидите, как по первым буквам мгновенно находятся все слова с этим префиксом и выводятся самые популярные варианты продолжений.
Урок будет полезен разработчикам, которые хотят глубже понимать работу алгоритмов и применять их для оптимизации поиска, обработки текста и построения быстрых интерфейсов.
Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение.
👉Зарегистрируйтесь сейчас и узнайте, как вырастить своё первое Trie-дерево:https://otus.pw/fDQX/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
В .NET 8 и выше есть библиотеки от Microsoft и обновлённый API Polly — популярной библиотеки для повышения надёжности и обработки сбоев.
С Polly можно легко настроить стратегии:
- повтор запросов (Retry)
- резервные сценарии (Fallback)
- ограничение времени (Timeout)
- контроль частоты (Rate-limiting)
- автоматическое отключение при сбоях (Circuit breaker)
Эти механизмы помогают облачным приложениям оставаться живыми даже в условиях ошибок и перегрузок.
Подробный разбор тут
Please open Telegram to view this post
VIEW IN TELEGRAM
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Твой шанс прокачаться в ИТ, заявить о себе на всю страну и побороться за призовой фонд 10 250 000 рублей 💰 Успей зарегистрироваться до 20 октября.
МТС приглашает на True Tech Champ — всероссийский чемпионат по программированию. Выбирай трек по душе или участвуй сразу в двух, чтобы увеличить шансы на победу.
Трек 1. Алгоритмический. Индивидуальный зачет
Работай со структурами данных, решай алгоритмические задачи и сражайся в лайв-кодинге с сильнейшими.
Трек 2. Программирование роботов. Командный формат
Сначала проведи робота по виртуальному лабиринту, затем управляй им дистанционно на офлайн-полигоне, а в финале — пройди испытания на реальной площадке и выбей соперников с платформы.
🎁 Организаторы отправят командам финалистов по одному роботу Waveshare Cobra Flex для кастомизации. После соревнований они останутся у участников в качестве подарка.
Тебя ждет:
— Зрелищный шоу-финал с искусственным интеллектом, цифровыми аватарами и другими технологиями.
— Конференция с лидерами индустрии, кодерские челленджи и возможность прокачать ИТ-навыки.
— Шанс лично пообщаться с HR-специалистами МТС и получить карьерный буст.
📍Шоу-финал пройдет 21 ноября в МТС Live Холл.
⏰ Успей зарегистрироваться до 20 октября
МТС приглашает на True Tech Champ — всероссийский чемпионат по программированию. Выбирай трек по душе или участвуй сразу в двух, чтобы увеличить шансы на победу.
Трек 1. Алгоритмический. Индивидуальный зачет
Работай со структурами данных, решай алгоритмические задачи и сражайся в лайв-кодинге с сильнейшими.
Трек 2. Программирование роботов. Командный формат
Сначала проведи робота по виртуальному лабиринту, затем управляй им дистанционно на офлайн-полигоне, а в финале — пройди испытания на реальной площадке и выбей соперников с платформы.
🎁 Организаторы отправят командам финалистов по одному роботу Waveshare Cobra Flex для кастомизации. После соревнований они останутся у участников в качестве подарка.
Тебя ждет:
— Зрелищный шоу-финал с искусственным интеллектом, цифровыми аватарами и другими технологиями.
— Конференция с лидерами индустрии, кодерские челленджи и возможность прокачать ИТ-навыки.
— Шанс лично пообщаться с HR-специалистами МТС и получить карьерный буст.
📍Шоу-финал пройдет 21 ноября в МТС Live Холл.
⏰ Успей зарегистрироваться до 20 октября
🧪 Как правильно строить unit-тестирование в проектах с Clean Architecture
Милан Йованович делится опытом: многие проекты терпят неудачу из-за слабого тестирования.
Когда кодовая база растёт, каждое изменение становится рискованным, а уверенность команды в релизах падает.
В Clean Architecture тестируемость — одна из ключевых идей. Unit-тесты позволяют убедиться, что use cases работают так, как задумано требованиями.
📌 Подход Милана к unit-тестированию:
- использовать NSubstitute для моков зависимостей
- проверять все happy paths
- покрывать все failure paths
- обязательно тестировать обработку исключений
Такой набор тестов помогает сохранить надёжность логики и уверенность в изменениях.
✍️ Подробный разбор с пошаговым объяснением можно прочитать в его статье
Милан Йованович делится опытом: многие проекты терпят неудачу из-за слабого тестирования.
Когда кодовая база растёт, каждое изменение становится рискованным, а уверенность команды в релизах падает.
В Clean Architecture тестируемость — одна из ключевых идей. Unit-тесты позволяют убедиться, что use cases работают так, как задумано требованиями.
📌 Подход Милана к unit-тестированию:
- использовать NSubstitute для моков зависимостей
- проверять все happy paths
- покрывать все failure paths
- обязательно тестировать обработку исключений
Такой набор тестов помогает сохранить надёжность логики и уверенность в изменениях.
✍️ Подробный разбор с пошаговым объяснением можно прочитать в его статье
🛠️ Инструмент для дампа памяти защищённых процессов
WSASS использует старую программу WerfaultSecure.exe для создания дампов памяти процессов, защищённых PPL, таких как LSASS.EXE. Выходные данные сохраняются в формате MINIDUMP, с автоматической заменой заголовка на PNG для удобства.
🚀 Основные моменты:
- Дамп защищённых процессов с помощью WerfaultSecure.exe
- Выход в формате Windows MINIDUMP
- Автоматическая замена заголовка файла
- Полезен для анализа безопасности
📌 GitHub: https://github.com/TwoSevenOneT/WSASS
#csharp
WSASS использует старую программу WerfaultSecure.exe для создания дампов памяти процессов, защищённых PPL, таких как LSASS.EXE. Выходные данные сохраняются в формате MINIDUMP, с автоматической заменой заголовка на PNG для удобства.
🚀 Основные моменты:
- Дамп защищённых процессов с помощью WerfaultSecure.exe
- Выход в формате Windows MINIDUMP
- Автоматическая замена заголовка файла
- Полезен для анализа безопасности
📌 GitHub: https://github.com/TwoSevenOneT/WSASS
#csharp
GitHub
GitHub - TwoSevenOneT/WSASS: This is the tool to dump the LSASS process on modern Windows 11
This is the tool to dump the LSASS process on modern Windows 11 - TwoSevenOneT/WSASS
В какой строке возникнет ПЕРВАЯ ошибка
Anonymous Quiz
40%
1
29%
2
10%
3
2%
4
19%
ошибки не возникнет
🪄 magictools — curated-подборка инструментов и ресурсов для разработки игр
Если ты занимаешься геймдевом — этот репозиторий настоящий клад для поиска подходящих инструментов! Вот что внутри:
- Графика: от placeholders до редакторов и генераторов персонажей
- Spritesheets и анимация: инструменты для упаковки и обработки
- Фреймворки и движки: 2D/3D, физика, GUI, звук, освещение, генерация ландшафта и кастомные пайплайны
- Аудио и музыка: коллекции звуков и редакторы
- Книги, видео, подкасты, журналы и блоги: образовательное и вдохновляющее содержание
- Game Jam сообщества, исходники игр, управление проектами — всё в одном месте!
- Плюс разделы по AI, обучению, инструментам общего развития и прочему ценному
Этот список постоянно растёт и обновляется — отличное решение, чтобы не запутаться в инструментариуме.
https://github.com/ellisonleao/magictools
#GameDev #Ресурсы #Инструменты
Если ты занимаешься геймдевом — этот репозиторий настоящий клад для поиска подходящих инструментов! Вот что внутри:
- Графика: от placeholders до редакторов и генераторов персонажей
- Spritesheets и анимация: инструменты для упаковки и обработки
- Фреймворки и движки: 2D/3D, физика, GUI, звук, освещение, генерация ландшафта и кастомные пайплайны
- Аудио и музыка: коллекции звуков и редакторы
- Книги, видео, подкасты, журналы и блоги: образовательное и вдохновляющее содержание
- Game Jam сообщества, исходники игр, управление проектами — всё в одном месте!
- Плюс разделы по AI, обучению, инструментам общего развития и прочему ценному
Этот список постоянно растёт и обновляется — отличное решение, чтобы не запутаться в инструментариуме.
https://github.com/ellisonleao/magictools
#GameDev #Ресурсы #Инструменты
🧭 Зачем нужен service discovery?
Проблема микросервисов проста: как сервисам надёжно находить и вызывать друг друга? Жёстко прописанные IP и порты ломаются при любом масштабировании, перезапуске, автосборке или миграции.
Что делает service discovery
- Даёт логические имена вместо физических адресов (users-api, billing, auth).
- Динамически находит живые инстансы и балансирует запросы.
- Упрощает масштабирование, blue/green-деплой и отказоустойчивость.
Как это работает (базовый поток)
1) Сервис регистрируется в реестре (name → адреса, порты, метаданные, health).
2) Клиент запрашивает реестр и получает актуальный адрес.
3) Клиент шлёт запрос по полученному адресу (часто с ретраями и timeouts).
Паттерны
- Client-side discovery: клиент сам спрашивает реестр (Consul, Eureka).
- Server-side discovery: маршрутизация через прокси/ингресс (Envoy, API-шлюз).
- K8s-вариант: встроенный DNS/Services дают стабильные имена.
Что выбрать
- Consul/Eureka — когда вы не в Kubernetes или хотите гибкий реестр и health-чеки.
- K8s Services — когда всё крутится в Kubernetes.
- Envoy/Traefik/API-шлюз — если нужен серверный роутинг, канареечные релизы, mTLS.
Как внедрить в .NET (пример с Consul)
- Поднимите Consul-агент (dev/cluster), включите health-чеки (HTTP/TCP/TTL).
- Регистрируйте сервис на старте приложения: имя, адрес, порт, теги, check.
- Разрешайте адреса через:
- Consul API (client-side discovery в коде .NET),
- или DNS-запросы вида
- или через sidecar/Envoy, чтобы вынести логику сетевого стека из приложения.
- Добавьте политики устойчивости (Polly): retries, circuit breaker, timeouts.
- Пропишите deregistration при остановке, чтобы не висели «мертвые» инстансы.
- Логи/метрики: мониторьте failing-чеки, латентность и распределение трафика.
✨ Пример в .NET:
Итог
Service discovery — это «телефонная книга» вашего продакшена. Без него микросервисы быстро превращаются в хрупкий клубок адресов и ручных костылей. В .NET связка Consul + health-чеки + политики устойчивости даёт простой и надёжный старт.
Для пошагового гайда по .NET и Consul ищите разбор Milan Jovanovic «Service discovery in microservices with .NET and Consul».
Проблема микросервисов проста: как сервисам надёжно находить и вызывать друг друга? Жёстко прописанные IP и порты ломаются при любом масштабировании, перезапуске, автосборке или миграции.
Что делает service discovery
- Даёт логические имена вместо физических адресов (users-api, billing, auth).
- Динамически находит живые инстансы и балансирует запросы.
- Упрощает масштабирование, blue/green-деплой и отказоустойчивость.
Как это работает (базовый поток)
1) Сервис регистрируется в реестре (name → адреса, порты, метаданные, health).
2) Клиент запрашивает реестр и получает актуальный адрес.
3) Клиент шлёт запрос по полученному адресу (часто с ретраями и timeouts).
Паттерны
- Client-side discovery: клиент сам спрашивает реестр (Consul, Eureka).
- Server-side discovery: маршрутизация через прокси/ингресс (Envoy, API-шлюз).
- K8s-вариант: встроенный DNS/Services дают стабильные имена.
Что выбрать
- Consul/Eureka — когда вы не в Kubernetes или хотите гибкий реестр и health-чеки.
- K8s Services — когда всё крутится в Kubernetes.
- Envoy/Traefik/API-шлюз — если нужен серверный роутинг, канареечные релизы, mTLS.
Как внедрить в .NET (пример с Consul)
- Поднимите Consul-агент (dev/cluster), включите health-чеки (HTTP/TCP/TTL).
- Регистрируйте сервис на старте приложения: имя, адрес, порт, теги, check.
- Разрешайте адреса через:
- Consul API (client-side discovery в коде .NET),
- или DNS-запросы вида
service-name.service.consul
(удобно для простых клиентов),- или через sidecar/Envoy, чтобы вынести логику сетевого стека из приложения.
- Добавьте политики устойчивости (Polly): retries, circuit breaker, timeouts.
- Пропишите deregistration при остановке, чтобы не висели «мертвые» инстансы.
- Логи/метрики: мониторьте failing-чеки, латентность и распределение трафика.
✨ Пример в .NET:
builder.Services
.AddHttpClient<ReportingServiceClient>(client =>
{
client.BaseAddress = new Uri("http://reporting-service");
})
.AddServiceDiscovery()
.AddRoundRobinLoadBalancer();
Итог
Service discovery — это «телефонная книга» вашего продакшена. Без него микросервисы быстро превращаются в хрупкий клубок адресов и ручных костылей. В .NET связка Consul + health-чеки + политики устойчивости даёт простой и надёжный старт.
Для пошагового гайда по .NET и Consul ищите разбор Milan Jovanovic «Service discovery in microservices with .NET and Consul».
Хотите собрать свой мини-Google? 🚀
🗓 22 октября, 20:00 приглашаем на открытый урок OTUS «Мини-поисковик своими руками». На этом вебинаре вы создадите поисковик с нуля — без готовых библиотек и магии. Только алгоритмы и код.
Разберём, как:
• объединить КМП и префиксное дерево;
• реализовать автодополнение и подсчёт вхождений;
• оптимизировать поиск под большие тексты;
• превратить всё это в маленький, но работающий офлайн-поисковик.
После вебинара вы сможете самостоятельно:
— строить индекс слов и быстро искать по нему;
— собирать статистику запросов;
— понять, как внутри устроены поисковики.
Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение.
Присоединяйтесь 22 октября в 20:00:
https://otus.pw/Yli7/?erid=2W5zFGbuHhJ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🗓 22 октября, 20:00 приглашаем на открытый урок OTUS «Мини-поисковик своими руками». На этом вебинаре вы создадите поисковик с нуля — без готовых библиотек и магии. Только алгоритмы и код.
Разберём, как:
• объединить КМП и префиксное дерево;
• реализовать автодополнение и подсчёт вхождений;
• оптимизировать поиск под большие тексты;
• превратить всё это в маленький, но работающий офлайн-поисковик.
После вебинара вы сможете самостоятельно:
— строить индекс слов и быстро искать по нему;
— собирать статистику запросов;
— понять, как внутри устроены поисковики.
Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение.
Присоединяйтесь 22 октября в 20:00:
https://otus.pw/Yli7/?erid=2W5zFGbuHhJ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
⚙️ Создание фоновых задач в .NET с Quartz
Если тебе нужно планировать фоновые задачи в .NET — попробуй Quartz.
Всё просто: реализуешь интерфейс, регистрируешь задачу — и Quartz берёт на себя расписание и выполнение.
✨ Что делает Quartz удобным:
- Глубокая интеграция с Dependency Injection — можно внедрять сервисы, логеры и репозитории;
- Scoped-область задач — безопасно использовать
- Умный планировщик: без ручных таймеров и бесконечных циклов.
После Quartz уже не хочется возвращаться к ручным решениям.
📘 Подробный гайд по продвинутой работе с Quartz в .NET
Если тебе нужно планировать фоновые задачи в .NET — попробуй Quartz.
Всё просто: реализуешь интерфейс, регистрируешь задачу — и Quartz берёт на себя расписание и выполнение.
✨ Что делает Quartz удобным:
- Глубокая интеграция с Dependency Injection — можно внедрять сервисы, логеры и репозитории;
- Scoped-область задач — безопасно использовать
DbContext
без проблем с жизненным циклом; - Умный планировщик: без ручных таймеров и бесконечных циклов.
После Quartz уже не хочется возвращаться к ручным решениям.
📘 Подробный гайд по продвинутой работе с Quartz в .NET
Что выведет на экран этот код?
Anonymous Quiz
27%
A42
15%
A6
10%
G
22%
71
22%
Код не скомпилируется
4%
А ты правильно называешь свои DTO? 🤔
DTO (Data Transfer Object) — это объект передачи данных.
Проще говоря, это класс или структура, которая используется, чтобы передавать данные между слоями приложения или между сервером и клиентом (например, в API).
Когда ты создаёшь Web API, твои эндпоинты принимают и отдают данные.
Обычно такие модели называют с суффиксом DTO (Data Transfer Object).
Но вот в чём проблема 👇
❌ DTO часто смешивают входные и выходные данные в одном классе.
❌ Со временем такие классы разрастаются и становятся неразберихой.
👉 Лучше использовать суффиксы Request и Response:
• CreateUserRequest — для входных данных
• UserResponse — для выходных
Почему это лучше:
✅ Понятнее — сразу видно, для чего модель.
✅ Масштабируемо — изменения в Response не ломают Request.
✅ Удобнее сопровождать — не нужно гадать, что делает UserDto.
📌 Совет: какую бы схему ты ни выбрал — будь последовательным и используй её во всём проекте.
А ты используешь Request/Response или по-старинке DTO? 👇
DTO (Data Transfer Object) — это объект передачи данных.
Проще говоря, это класс или структура, которая используется, чтобы передавать данные между слоями приложения или между сервером и клиентом (например, в API).
Когда ты создаёшь Web API, твои эндпоинты принимают и отдают данные.
Обычно такие модели называют с суффиксом DTO (Data Transfer Object).
Но вот в чём проблема 👇
❌ DTO часто смешивают входные и выходные данные в одном классе.
❌ Со временем такие классы разрастаются и становятся неразберихой.
👉 Лучше использовать суффиксы Request и Response:
• CreateUserRequest — для входных данных
• UserResponse — для выходных
Почему это лучше:
✅ Понятнее — сразу видно, для чего модель.
✅ Масштабируемо — изменения в Response не ломают Request.
✅ Удобнее сопровождать — не нужно гадать, что делает UserDto.
📌 Совет: какую бы схему ты ни выбрал — будь последовательным и используй её во всём проекте.
А ты используешь Request/Response или по-старинке DTO? 👇
EF Core: Что скрывают за репозиторием?
Entity Framework Core — мощный инструмент, но его часто оборачивают в Repository Pattern, не задумываясь, действительно ли это нужно. На открытом вебинаре курса OTUS C# Developer. Professional Виктор Дзицкий покажет, когда репозиторий оправдан, а когда он только мешает.
📌 5 ноября, 20:00EF
Core: Что скрывают за репозиторием?
— когда Repository Pattern избыточен
— реализация Specification Pattern для гибких запросов
— как объединить оба подхода для чистой архитектуры
Вебинар бесплатный и будет полезен C# и .NET-разработчикам, которые активно используют EF Core и хотят сделать код доступа к данным тестируемым и поддерживаемым.
👉 Регистрируйтесь: https://otus.pw/SwNU/?erid=2W5zFJEjp2k
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Entity Framework Core — мощный инструмент, но его часто оборачивают в Repository Pattern, не задумываясь, действительно ли это нужно. На открытом вебинаре курса OTUS C# Developer. Professional Виктор Дзицкий покажет, когда репозиторий оправдан, а когда он только мешает.
📌 5 ноября, 20:00EF
Core: Что скрывают за репозиторием?
— когда Repository Pattern избыточен
— реализация Specification Pattern для гибких запросов
— как объединить оба подхода для чистой архитектуры
Вебинар бесплатный и будет полезен C# и .NET-разработчикам, которые активно используют EF Core и хотят сделать код доступа к данным тестируемым и поддерживаемым.
👉 Регистрируйтесь: https://otus.pw/SwNU/?erid=2W5zFJEjp2k
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Приходи на C#-дебаты – 1,5 часа на полезные знакомства и обсуждения
28 октября пройдут C#-дебаты — вечер, где обсуждаем код, архитектуру и инженерные решения. Твое мнение важно!
Как это будет: Участники случайным образом распределяются в zoom-комнаты, в каждой — модератор, который поможет разогнать разговор (или вовремя потушить пожар 🔥). 3 раунда по 30 минут.
Зачем приходить:
- Обсудишь темы, которые вызывают споры: performance vs readability, скорость vs стабильность, код vs бизнес-задачи.
-Заберешь идеи и практики, которые работают у других, и поделишься своим опытом.
- Найдешь полезные контакты и познакомишься с C#-коммьюнити.
Вечер организует Mindbox, но будет «без оружия»: никакого хантинга и рассказа про вакансии, пока ты сам не спросишь.
📅 Когда: 28 октября
⏰ Во сколько: 19:00–20:50 (мск)
📍 Где: Zoom (ссылку пришлём после регистрации)
👉 Зарегистрироваться
28 октября пройдут C#-дебаты — вечер, где обсуждаем код, архитектуру и инженерные решения. Твое мнение важно!
Как это будет: Участники случайным образом распределяются в zoom-комнаты, в каждой — модератор, который поможет разогнать разговор (или вовремя потушить пожар 🔥). 3 раунда по 30 минут.
Зачем приходить:
- Обсудишь темы, которые вызывают споры: performance vs readability, скорость vs стабильность, код vs бизнес-задачи.
-Заберешь идеи и практики, которые работают у других, и поделишься своим опытом.
- Найдешь полезные контакты и познакомишься с C#-коммьюнити.
Вечер организует Mindbox, но будет «без оружия»: никакого хантинга и рассказа про вакансии, пока ты сам не спросишь.
📅 Когда: 28 октября
⏰ Во сколько: 19:00–20:50 (мск)
📍 Где: Zoom (ссылку пришлём после регистрации)
👉 Зарегистрироваться