StepOne | Степан Минин
Відкрити в Telegram
StepOne by Степан Минин @ststphn Твой первый шаг к успеху в программировании Закрытый тг канал https://t.me/tribute/app?startapp=slOA По вопросам рекламы @Spiral_Yuri Ютуб https://www.youtube.com/@steponeit
Показати більше3 289
Підписники
Немає даних24 години
-137 днів
-3130 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
серпень '26
серпень '26
+6
в 0 каналах
липень '26
+16
в 0 каналах
Get PRO
червень '26
+21
в 0 каналах
Get PRO
травень '26
+28
в 1 каналах
Get PRO
квітень '26
+69
в 0 каналах
Get PRO
березень '26
+35
в 0 каналах
Get PRO
лютий '26
+34
в 0 каналах
Get PRO
січень '26
+58
в 1 каналах
Get PRO
грудень '25
+22
в 1 каналах
Get PRO
листопад '25
+44
в 1 каналах
Get PRO
жовтень '25
+30
в 1 каналах
Get PRO
вересень '25
+80
в 2 каналах
Get PRO
серпень '25
+52
в 3 каналах
Get PRO
липень '25
+238
в 0 каналах
Get PRO
червень '25
+56
в 0 каналах
Get PRO
травень '25
+73
в 2 каналах
Get PRO
квітень '25
+50
в 3 каналах
Get PRO
березень '25
+119
в 0 каналах
Get PRO
лютий '25
+186
в 3 каналах
Get PRO
січень '25
+228
в 3 каналах
Get PRO
грудень '24
+615
в 1 каналах
Get PRO
листопад '24
+266
в 1 каналах
Get PRO
жовтень '24
+398
в 0 каналах
Get PRO
вересень '24
+703
в 0 каналах
Get PRO
серпень '24
+2 646
в 3 каналах
Get PRO
липень '24
+97
в 1 каналах
Get PRO
червень '24
+54
в 0 каналах
Get PRO
травень '24
+124
в 2 каналах
Get PRO
квітень '24
+97
в 1 каналах
Get PRO
березень '24
+172
в 4 каналах
Get PRO
лютий '24
+147
в 0 каналах
Get PRO
січень '24
+95
в 1 каналах
Get PRO
грудень '23
+107
в 1 каналах
Get PRO
листопад '23
+65
в 1 каналах
Get PRO
жовтень '23
+42
в 0 каналах
Get PRO
вересень '23
+65
в 0 каналах
Get PRO
серпень '23
+47
в 0 каналах
Get PRO
липень '23
+29
в 0 каналах
Get PRO
червень '23
+827
в 0 каналах
Get PRO
травень '23
+647
в 0 каналах
Get PRO
квітень '23
+65
в 0 каналах
Get PRO
березень '23
+64
в 0 каналах
Get PRO
лютий '23
+9
в 0 каналах
Get PRO
січень '23
+28
в 0 каналах
Get PRO
грудень '22
+57
в 0 каналах
Get PRO
листопад '22
+40
в 0 каналах
Get PRO
жовтень '22
+590
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 27 серпня | 0 | |||
| 26 серпня | +1 | |||
| 25 серпня | 0 | |||
| 24 серпня | 0 | |||
| 23 серпня | 0 | |||
| 22 серпня | 0 | |||
| 21 серпня | 0 | |||
| 20 серпня | +1 | |||
| 19 серпня | +1 | |||
| 18 серпня | +1 | |||
| 17 серпня | 0 | |||
| 16 серпня | 0 | |||
| 15 серпня | 0 | |||
| 14 серпня | 0 | |||
| 13 серпня | +1 | |||
| 12 серпня | +1 | |||
| 11 серпня | 0 | |||
| 10 серпня | 0 | |||
| 09 серпня | 0 | |||
| 08 серпня | 0 | |||
| 07 серпня | 0 | |||
| 06 серпня | 0 | |||
| 05 серпня | 0 | |||
| 04 серпня | 0 | |||
| 03 серпня | 0 | |||
| 02 серпня | 0 | |||
| 01 серпня | 0 |
Дописи каналу
Получил военный билет
Я работаю в IT, поэтому привык разбираться в сложных системах. Но система военкоматов — это отдельный мир со своей логикой и стандартами. Недостаточно просто иметь заболевание - нужно ещё правильно и последовательно подтвердить его документами
Важно понимать, что это не быстрый процесс. Пришлось проходить обследования, лежать в больницах, собирать бумаги и ждать. Прошло 16 месяцев с момента заключения договора — путь оказался долгим, нервным и очень бюрократическим
За это время я трижды лежал в больнице. При этом, по моим ощущениям, в военкомате фактическое состояние здоровья почти не изучали. Основное внимание уделяли соответствию документов их требованиям
Самостоятельно разобраться во всех правилах, справках и последовательности действий было очень сложно. Юристы помогали понимать, какие документы нужны, как действовать на каждом этапе и чего ожидать дальше. Особенно ценно было сопровождение в моменты, когда процесс затягивался
Спасибо команде Андрея Породзинского за помощь в получении военного билета и сопровождение на протяжении всех 16 месяцев!
| 2 | DotNext 2026: мой топ-3 докладов
StepOne стал информационным партнёром DotNext 2026, поэтому сейчас вы читаете краткий обзор финальной программы. Она получилась крепкой.
В ней есть компиляторы, рантайм, производительность, архитектура, базы данных, тестирование и, конечно, ИИ — его в этом году тоже приняли в программном комитете.
Вот мой личный топ-3.
1. Native AOT vs JIT в .NET 10: производительность, оптимизации и подводные камни
Юрий Малич сравнит JIT и Native AOT на x86-64 и ARM64, разберёт SSE, AVX2, AVX512, недокументированные настройки и будущие изменения кодогенерации в .NET 11. То есть будет нормальный разговор о том, где AOT быстрее, почему и какой процессор способен всё испортить.
2. C# (JIT) vs Go (AOT): сравнение с точки зрения результата и процесса компиляции
C# и Go обычно сравнивают в комментариях, где победитель определяется громкостью и количеством эмодзи. Здесь обещают одинаковые примеры, inlining, bounds checks, аллокации, escape analysis, PGO и Tiered JIT. Наконец-то появится возможность ругать Go не только по зову сердца, но и с опорой на результат компиляции!
3. Agent Framework. Как и зачем делать своего мини-агента на бэке
Да, ИИ-доклад вошёл в мой топ. В Dodo взялись автоматизировать агентами реальный процесс открытия новой страны: 66 этапов, до десяти шагов в каждом и ручные операции на стыке сервисов и людей. Хочу посмотреть, где Microsoft Agent Framework действительно избавляет от тысяч строк обвязки, а где агенту просто выдали красивое название. Это хороший шанс либо укрепить мой ИИ-скепсис, либо аргументированно его уменьшить.
Я буду на DotNext оффлайн оба дня — 25 и 26 сентября.
Если читаете канал и увидите меня на площадке — подходите знакомиться. Не надо стоять в пяти метрах и думать: «Наверное, не стоит отвлекать». Я еду на конференцию в том числе встречаться с вами.
Обсудим C#, open source, доклады, карьеру, блог или вашу очередную попытку доказать, что Go — нормальный язык.
Также у подписчиков моего канала есть возможность приобрести персональные билеты со скидкой. Пишите в лс: @ststphn | 958 |
| 3 | А вот и первый баг!
Не успел WireMock.Grpc.Protobuf толком размяться, как у него появился первый баг. Всё по-взрослому.
Проблема нашлась в GrpcPredicateMatcher. Первый запрос он обрабатывал правильно, а при повторном вызове выдавал отсутствие совпадения. Особенно хорошо эффект проявлялся на protobuf-сообщениях с repeated-полями.
Причина оказалась в одной строчке:
private static readonly TMessage Empty = new();
private static readonly MessageParser<TMessage> Parser =
new(() => Empty);
MessageParser ожидает фабрику, которая при каждом разборе создаёт новый объект сообщения. А я возвращал ему один и тот же статический экземпляр.
В результате парсер не очищал объект и дописывал туда новые данные поверх старых. К примеру, если сообщение содержало поле с коллекцией, то она распухала при каждом вызове:
["1", "2", "3"] // первый вызов
["1", "2", "3", "1", "2", "3"] // второй вызов
Исправление заняло меньше символов, чем объяснение бага и заключалось в подстановке вызова конструктора new() вместо статического объека Empty.
Первый баг пойман, тест добавлен, стероидный курс продолжается. Поставить звезду на GitHub:
https://github.com/Stepami/wiremock-protobuf | 1 466 |
| 4 | Как я посадил WireMock.Net на gRPC стероиды
WireMock.Net умеет мокать gRPC. Но для этого он заставляет разработчика таскать .proto файлы и поддерживать лишнюю конфигурацию. Я контрибьютил в проект несколько месяцев, разобрался в кишках и написал своё расширение WireMock.Grpc.Protobuf
Пакет предлагает gRPC моки через типизированные контракты Google.Protobuf. Получилось короче, надёжнее и заметно удобнее. Можно проверить входящий запрос как на точное равенство, так и на частичное через предикат
В статье на Habr показал, почему мой способ удобнее стандартного, как всё устроено под капотом и зачем вашему проекту пакет WireMock.Grpc.Protobuf
Исходники расширения уже доступны на GitHub, а проект уже экономит вечера борьбы с gRPC моками! Звезда и скачивание будут лучшей благодарностью:
⚙️ GitHub https://github.com/Stepami/wiremock‑protobuf
👩💻 NuGet https://www.nuget.org/packages/WireMock.Grpc.Protobuf | 1 354 |
| 5 | Немає тексту... | 1 411 |
| 6 | Немає тексту... | 0 |
| 7 | DotNext приезжает в Сокольники
Я редко рассказываю про конференции. Доклады доступны в записи, а бейджик участника не превращает мидла в сеньора. Но DotNext — исключение
Я с трудом стал там спикером. Ещё и работаю над конкурентом — «Стачкой». Поэтому у меня есть все основания промолчать. Но не в этот раз
Для меня DotNext давно остаётся тем самым местом, где C#-разработчики говорят о настоящей инженерии, пока джависты в это время обсуждают, как прогреть JVM, чтобы открыть Swagger к обеду
Ивент не для тех, кто вчера наклодИИл сервис и называет себя агент-лидом
В программе DotNext есть всё, ради чего инженеры терпят индустрию:
- рантайм, производительность, архитектура, инструменты
- практические кейсы
- что на самом деле происходит под капотом
Это вам не слёт гoферов, где архитектурные болезни выдают за простоту и удобство
В этом году DotNext пройдёт 25–26 сентября в Москве. Я пойду и буду рад встретить подписчиков и знакомых
Сейчас просто хочется побыть среди людей, которые всё ещё умеют обсуждать разработку без слов «агент», «вайб» и «перепишем это на микросервисы» | 1 895 |
| 8 | Первый и последний раз показываю как правильно использовать нейросети. Думайте | 1 446 |
| 9 | GitHub не заплатит: зумеры против Open Source ветеранов.
🥊Формат баттла строится на оппозиционных мнениях. И наши спикеры видят мир IT по-разному.
🎙️С одной стороны баттла Степан Минин готовит прагматичный зумерский контрудар рациональным инвестированием времени вместо романтики в IT.
О спикере:
Старший .NET разработчик Золотое Яблоко.
Спикер DotNext, Ozon E-Code. Лидер ПК C# секции Стачки. Топ-5 автор Хабра по C#. Соло автор библиотек на 150+к скачиваний и 150 звёзд суммарно.
🎙️С другой стороны баттла вас ждет ветеран IT Александр Макаров, который сам является примером, как OpenSource помогает карьере на международном рынке.
О спикере:
Мейнтейер YII3.
Lead Twindo.io, CTO с 20+ лет в разработке и OpenSource, программный комитет по PHP треку.
🤔Выступление стоит посетить:
- разработчикам, которые думают, стоит ли вкладываться в OSS ради карьеры;
- тимлидам и нанимающим менеджерам, чтобы обсудить, насколько GitHub реально помогает оценивать кандидатов;
- всем, кто любит айтишные батлы поколений: зумерский прагматизм против миллениальской веры в комьюнити, репутацию и «правильный инженерный путь».
👉Обменяй свой социальный капитал на стоимость билета тут
👀Программа на сайте.
📍До встречи в субботу 11 июля в Питере в пространстве SENO! | 1 624 |
| 10 | HydraScript 2.7.0 Compound Assignments
В языке появилась поддержка compound assignments: теперь можно писать привычные конструкции вроде x += y, x -= y, x *= y и так далее. Интересно, что я попробовал поручить эту задачу нейросети — и она не справилась
Она быстро предложила идею синтаксического сахара:
«развернуть x += y в x = x + y»
Но дальше начались проблемы: модель не поняла, какие рефакторинги нужны и споткнулась об грамматику с парсером. Задача была чисто про FrontEnd, но LLM потерпела фиаско
Единственный ощутимый плюс — идея решения действительно появилась быстро. Хотя до неё, честно говоря, можно было дойти самостоятельно
Кроме того, я прокачал инфру и настроил .NET 10 Native AOT tool publish. Теперь пользователь получает из NuGet готовый бинарник, собранный под свою ОС, если таковой имеется. Сейчас поддержаны win-x64, osx-arm64, linux-x64.
Этот релиз стал хорошим напоминанием: нейросети полезны как ускоритель размышлений, но не как замена пониманию кода. Если вам интересны эксперименты с языками программирования, компиляторами и небольшими, но живыми open-source проектами — загляните на GitHub и поставьте звезду HydraScript 💫 | 1 440 |
| 11 | Нейрозатраты
Вчера компания, где я работаю, сожгла месячный лимит LLM вендора. За две недели слито 1 500 000 рублей. Я тут же развеселил корпчат:
"ИИ уменьшит корпоративные расходы и оптимизирует затраты говорили они)))"
Но мне не смешно.
Разработчики тащат в компанию счётчик токенов, чтобы радоваться скорости, с которой он крутится. Они выбирают отключить голову, делегировать работу ИИ и с гордостью хвастаться ничего-не-деланьем. Неудивительно, что бизнес хочет вас заменить - вы сами приучаете их к этой мысли.
Каждая купленная подписка приближает нас к катастрофе.
Кучка психопатов решила манипулировать рынком железа ради собственной прибыли, и вы поддержали их амбиции. Теперь за ПК надо переплачивать от 40 до 80 тысяч рублей.
Вы позволяете им портить наш дом, разрушать экологию, загрязнять воздух и океаны. Несколько ИИ дата центров выбрасывают больше CO2, чем Норвегия. Но Рой Агентов Claude Code об этом не расскажет - он просто открутит токены и выставит счёт за нейрослоп.
А ведь деньги можно было пустить на повышение зарплат.
Оплачивая очередной GPT тариф, вы разрешаете лишить себя работы. Финансируя содомитов, вы выбираете путь Сатаны. Одумайтесь, пока не поздно | 1 793 |
| 12 | Взять того же Гладкова
Я не верю в миф 10x-программистов. Особенно когда 10иксеры делят коллег по принципу:
«я — рок-звезда разработки и все остальные лоуперформеры»
А дальше начинаются вопросы, на которые ни одна рок-звезда не ответит:
😏 Эти самые 10x ревьюеров с нами в одной комнате? Или код летит в продакшн как набросы на вентилятор?
😳 10иксер готов к 10x реакции тестировщиков, которым надо проверить 10x фич?
😱 Сможешь поддерживать своё 10x легаси и фиксить 10x багов?
Среди адептов этой идеи я чаще вижу 10x ЭГО, чем 10x результат. Да, сильные специалисты существуют — но обычно это либо одиночки, либо члены таких же 10x-команд | 1 870 |
| 13 | Починил WireMock пока не заблокировали GitHub
Я использую WireMock на работе, чтобы мокировать gRPC-вызовы внешних сервисов и тестировать транспортный уровень. Это придаёт уверенности в интеграциях до выхода в реальные окружения. Всё должно было работать гладко, но я столкнулся с неприятностью. Логи мок-сервера внезапно заполнились ошибками. Это произошло, как только моков стало несколько и ко всем пошли запросы. Стало ясно: здесь что-то не так.
Я нырнул в исходный код WireMock и начал отлаживать его шаг за шагом, как сложный механизм. Проверял всё: как protobuf-байты превращаются в gRPC C#-объекты и обратно, где именно ломается логика. И в один момент щёлкнуло: сервер просто перебирает все заглушки подряд и пытается сконвертировать байты в неподходящие типы сообщений. Представьте ребёнка с сортером: он не ищет сразу квадратное отверстие, а методично примеряет кубик ко всем подряд.
Я вышел на связь с автором WireMock из Нидерландов, и мы вместе стали искать решение. В процессе проектирования стало понятно: нужен ранний отказ от заглушки по явным признакам запроса — URL, header, cookie и другим. Проще говоря, система должна сразу выбирать «квадратное отверстие» для «кубика», а не перебирать всё подряд. Это не только устранило ошибки, но и избавило сервер от лишней работы.
Сам процесс, когда инженер из России и разработчик из Нидерландов вместе решают проблему — это и есть настоящая магия опен-сорса и глобализации. Мой Pull Request уже влит, скоро выйдет новая версия NuGet пакета. Но что будет, если завтра такие связи оборвутся? Вы готовы жить в мире, где развитие технологий замедляется не из-за сложности задач, а из-за границ в интернете? | 1 971 |
| 14 | Министерство Джавистов публикует файлы СтэпУан. Фото в цвете.
ШарпиZм. Подписаться | 1 539 |
| 15 | Я поменял подход к релизам hydrascript
Раньше делал по классике: копил пачку изменений, доводил до «солидного объёма» и только потом выкатывал релиз. В итоге обновления выходили редко, а исправления ошибок и мелкие и полезные вещи долго лежали без дела
Теперь проще: сделал фичу — зарелизил. Не жду, пока наберётся «достаточно». Это позволяет чаще обновляться и быстрее получать фидбек. Да и вам не нужно ждать месяцами багфикса
Параллельно наметил небольшой roadmap на ближайшие версии:
👩💻 2.7.0 — compound assignments
👩💻 2.8.0 — новые операторы
👩💻 2.9.0 — динамические словари
Буду двигаться по нему, но без фанатизма — если что-то полезное появится раньше, оно не будет ждать своей «очереди»
Если у вас есть идеи фич для hydrascript — накидывайте в комментарии. Интересно посмотреть, чего не хватает со стороны 🗿 | 1 871 |
| 16 | Я выкатил новую версию Hydrascript (2.6.6) — и, честно говоря, это был тот ещё квест 😅
Делать язык программирования — это не просто «написать код», а постоянно разруливать такие тонкие и странные штуки, о которых обычные разработчики даже не задумываются.
Например, я поймал баг, где порядок типов внезапно влиял на статический анализ — оказалось, я слишком рано смешал этапы построения типов и разрешения ссылок.
А ещё пришлось чинить арифметику: сравнения ломались, если в выражении была длина строки, потому что она не приводилась к double.
Такие вещи незаметны снаружи, но внутри это целая головоломка, и именно в таких местах понимаешь, насколько глубоко нужно разбираться в устройстве языков.
Если хочешь поддержать проект — закинь звезду на GitHub, это правда помогает 👩💻
Скачать на NuGet: https://www.nuget.org/packages/hydrascript | 1 608 |
| 17 | Продолжаю путь гофера ⚙️
Честно, заходил в этот курс как типичный Senior C# бэкендер с лёгким скепсисом:
Зачем мне ваш Go, когда есть нормальный ООП, async, LINQ и взрослая экосистема?
В итоге залип! Курс реально техничный: 17 тем, куча задач в каждой, и всё это прокачивает именно мышление под собеседования, а не «как делать прод»
Но важно понимать: это не про реальную разработку на Go, а чисто про то, как проходить интервью: мапы, горутины, каналы, планировщик, подводные камни языка. И вот тут Go иногда выглядит… мягко говоря, своеобразно: после C# местами не хватает выразительности и строгости, а некоторые решения ощущаются как компромисс ради простоты
Если хочешь выйти за пределы своей зоны комфорта и уверенно щёлкать задачи на Go-интервью, курс точно стоит попробовать. Переходи по ссылке и проверь себя: либо укрепишь любовь к C#, либо внезапно начнёшь писать на Go осознанно⚙️ | 1 430 |
| 18 | Всем привет! К сожалению, по не зависящим от меня причинам не смогу присутствовать на Стачке
Тем не менее, я призываю всех получить максимум пользы и удовольствия от мероприятия!
Спикерам - успешных выступлений, участникам - хорошего настроения!
Покажите всем победу Шарпизма! | 1 767 |
| 19 | 10 апреля C# день на Стачке
Мы выбили 6 докладов которые пройдут с 13:25 до 18:25
Помимо этого, с 10:15 до 12:25 пройдёт круглый стол на тему ".NET сообщество в РФ - застой, смерть или возрождение?"
В рамках круглого стола планируется обсудить текущее состояние сообщества, есть ли влияние бигтех-хайпа Go и что делать в сложившейся ситуации
В обсуждении поучаствует Игорь Лабутин, один из лидеров @dotnetru
Ждём вас, шарпистов, для участия в диалоге на такую наболевшую тему! | 1 788 |
| 20 | Скука на работе из-за перекладывания JSON стала причиной появления HydraScript
Теперь я пошёл дальше, и научился перекладывать JSON на HydraScript в Docker на MacBook
Читайте на Хабре о том, как я это сделал и ставьте плюсы статье | 1 920 |
