ru
Feedback
StepOne | Степан Минин

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, поэтому сейчас вы читаете краткий обзор
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. Но для этого он заставляет разработчика таскать .
Как я посадил 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 — исключение Я с трудом стал там спикером. Ещё и работаю над конкурентом — «Стачкой». Поэтому у меня есть все основания промолчать. Но не в этот раз Для меня DotNext давно остаётся тем самым местом, где C#-разработчики говорят о настоящей инженерии, пока джависты в это время обсуждают, как прогреть JVM, чтобы открыть Swagger к обеду Ивент не для тех, кто вчера наклодИИл сервис и называет себя агент-лидом В программе DotNext есть всё, ради чего инженеры терпят индустрию: - рантайм, производительность, архитектура, инструменты - практические кейсы - что на самом деле происходит под капотом Это вам не слёт гoферов, где архитектурные болезни выдают за простоту и удобство В этом году DotNext пройдёт 25–26 сентября в Москве. Я пойду и буду рад встретить подписчиков и знакомых Сейчас просто хочется побыть среди людей, которые всё ещё умеют обсуждать разработку без слов «агент», «вайб» и «перепишем это на микросервисы»
1 895
8
Первый и последний раз показываю как правильно использовать нейросети. Думайте+1
Первый и последний раз показываю как правильно использовать нейросети. Думайте
1 446
9
GitHub не заплатит: зумеры против Open Source ветеранов. 🥊Формат баттла строится на оппозиционных мнениях. И наши спикеры ви
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: теперь можно писать привычные констр
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 рублей. Я тут же
Нейрозатраты Вчера компания, где я работаю, сожгла месячный лимит LLM вендора. За две недели слито 1 500 000 рублей. Я тут же развеселил корпчат: "ИИ уменьшит корпоративные расходы и оптимизирует затраты говорили они)))" Но мне не смешно. Разработчики тащат в компанию счётчик токенов, чтобы радоваться скорости, с которой он крутится. Они выбирают отключить голову, делегировать работу ИИ и с гордостью хвастаться ничего-не-деланьем. Неудивительно, что бизнес хочет вас заменить - вы сами приучаете их к этой мысли. Каждая купленная подписка приближает нас к катастрофе. Кучка психопатов решила манипулировать рынком железа ради собственной прибыли, и вы поддержали их амбиции. Теперь за ПК надо переплачивать от 40 до 80 тысяч рублей. Вы позволяете им портить наш дом, разрушать экологию, загрязнять воздух и океаны. Несколько ИИ дата центров выбрасывают больше CO2, чем Норвегия. Но Рой Агентов Claude Code об этом не расскажет - он просто открутит токены и выставит счёт за нейрослоп. А ведь деньги можно было пустить на повышение зарплат. Оплачивая очередной GPT тариф, вы разрешаете лишить себя работы. Финансируя содомитов, вы выбираете путь Сатаны. Одумайтесь, пока не поздно
1 793
12
Взять того же Гладкова Я не верю в миф 10x-программистов. Особенно когда 10иксеры делят коллег по принципу: «я — рок-звезда р
Взять того же Гладкова Я не верю в миф 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м. Подписаться
Министерство Джавистов публикует файлы СтэпУан. Фото в цвете. Шарпи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) — и, честно говоря, это был тот ещё квест 😅 Делать язык программирования — это не
Я выкатил новую версию Hydrascript (2.6.6) — и, честно говоря, это был тот ещё квест 😅 Делать язык программирования — это не просто «написать код», а постоянно разруливать такие тонкие и странные штуки, о которых обычные разработчики даже не задумываются. Например, я поймал баг, где порядок типов внезапно влиял на статический анализ — оказалось, я слишком рано смешал этапы построения типов и разрешения ссылок. А ещё пришлось чинить арифметику: сравнения ломались, если в выражении была длина строки, потому что она не приводилась к double. Такие вещи незаметны снаружи, но внутри это целая головоломка, и именно в таких местах понимаешь, насколько глубоко нужно разбираться в устройстве языков. Если хочешь поддержать проект — закинь звезду на GitHub, это правда помогает 👩‍💻 Скачать на NuGet: https://www.nuget.org/packages/hydrascript
1 608
17
Продолжаю путь гофера ⚙️ Честно, заходил в этот курс как типичный Senior C# бэкендер с лёгким скепсисом: Зачем мне ваш Go, ко
Продолжаю путь гофера ⚙️ Честно, заходил в этот курс как типичный 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