StepOne | Степан Минин
СтатистикаStepOne by Степан Минин @ststphn Твой первый шаг к успеху в программировании Закрытый тг канал https://t.me/tribute/app?startapp=slOA По вопросам рекламы @Spiral_Yuri Ютуб https://www.youtube.com/@steponeit
- Последний пост
- 31 июл.
- Последнее чтение
- 09:22
- Постов за неделю
- 0
- Всего постов
- 21
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 844
- 1/48двое суток
- 967
- 1/72трое суток
- 1 043
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Как я посадил WireMock.Net на gRPC стероиды WireMock.Net умеет мокать gRPC. Но для этого он заставляет разработчика таскать .proto файлы и поддерживать лишнюю конфигурацию. Я контрибьютил в проект несколько месяцев, разобрался в кишках и написал своё расширение…
Как я посадил 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
видео или голосовое, без подписи
видео или голосовое, без подписи
DotNext приезжает в Сокольники Я редко рассказываю про конференции. Доклады доступны в записи, а бейджик участника не превращает мидла в сеньора. Но DotNext — исключение Я с трудом стал там спикером. Ещё и работаю над конкурентом — «Стачкой». Поэтому у меня есть все основания промолчать. Но не в этот раз Для меня DotNext давно остаётся тем самым местом, где C#-разработчики говорят о настоящей инженерии, пока джависты в это время обсуждают, как прогреть JVM, чтобы открыть Swagger к обеду Ивент не для тех, кто вчера наклодИИл сервис и называет себя агент-лидом В программе DotNext есть всё, ради чего инженеры терпят индустрию: - рантайм, производительность, архитектура, инструменты - практические кейсы - что на самом деле происходит под капотом Это вам не слёт гoферов, где архитектурные болезни выдают за простоту и удобство В этом году DotNext пройдёт 25–26 сентября в Москве. Я пойду и буду рад встретить подписчиков и знакомых Сейчас просто хочется побыть среди людей, которые всё ещё умеют обсуждать разработку без слов «агент», «вайб» и «перепишем это на микросервисы»
видео или голосовое, без подписи
Первый и последний раз показываю как правильно использовать нейросети. Думайте
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!
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 💫
Нейрозатраты Вчера компания, где я работаю, сожгла месячный лимит LLM вендора. За две недели слито 1 500 000 рублей. Я тут же развеселил корпчат: "ИИ уменьшит корпоративные расходы и оптимизирует затраты говорили они)))" Но мне не смешно. Разработчики тащат в компанию счётчик токенов, чтобы радоваться скорости, с которой он крутится. Они выбирают отключить голову, делегировать работу ИИ и с гордостью хвастаться ничего-не-деланьем. Неудивительно, что бизнес хочет вас заменить - вы сами приучаете их к этой мысли. Каждая купленная подписка приближает нас к катастрофе. Кучка психопатов решила манипулировать рынком железа ради собственной прибыли, и вы поддержали их амбиции. Теперь за ПК надо переплачивать от 40 до 80 тысяч рублей. Вы позволяете им портить наш дом, разрушать экологию, загрязнять воздух и океаны. Несколько ИИ дата центров выбрасывают больше CO2, чем Норвегия. Но Рой Агентов Claude Code об этом не расскажет - он просто открутит токены и выставит счёт за нейрослоп. А ведь деньги можно было пустить на повышение зарплат. Оплачивая очередной GPT тариф, вы разрешаете лишить себя работы. Финансируя содомитов, вы выбираете путь Сатаны. Одумайтесь, пока не поздно
2. 10x существуют - но их очень мало
Починил WireMock пока не заблокировали GitHub Я использую WireMock на работе, чтобы мокировать gRPC-вызовы внешних сервисов и тестировать транспортный уровень. Это придаёт уверенности в интеграциях до выхода в реальные окружения. Всё должно было работать гладко, но я столкнулся с неприятностью. Логи мок-сервера внезапно заполнились ошибками. Это произошло, как только моков стало несколько и ко всем пошли запросы. Стало ясно: здесь что-то не так. Я нырнул в исходный код WireMock и начал отлаживать его шаг за шагом, как сложный механизм. Проверял всё: как protobuf-байты превращаются в gRPC C#-объекты и обратно, где именно ломается логика. И в один момент щёлкнуло: сервер просто перебирает все заглушки подряд и пытается сконвертировать байты в неподходящие типы сообщений. Представьте ребёнка с сортером: он не ищет сразу квадратное отверстие, а методично примеряет кубик ко всем подряд. Я вышел на связь с автором WireMock из Нидерландов, и мы вместе стали искать решение. В процессе проектирования стало понятно: нужен ранний отказ от заглушки по явным признакам запроса — URL, header, cookie и другим. Проще говоря, система должна сразу выбирать «квадратное отверстие» для «кубика», а не перебирать всё подряд. Это не только устранило ошибки, но и избавило сервер от лишней работы. Сам процесс, когда инженер из России и разработчик из Нидерландов вместе решают проблему — это и есть настоящая магия опен-сорса и глобализации. Мой Pull Request уже влит, скоро выйдет новая версия NuGet пакета. Но что будет, если завтра такие связи оборвутся? Вы готовы жить в мире, где развитие технологий замедляется не из-за сложности задач, а из-за границ в интернете?
Министерство Джавистов публикует файлы СтэпУан. Фото в цвете. ШарпиZм. Подписаться
Я поменял подход к релизам hydrascript Раньше делал по классике: копил пачку изменений, доводил до «солидного объёма» и только потом выкатывал релиз. В итоге обновления выходили редко, а исправления ошибок и мелкие и полезные вещи долго лежали без дела Теперь проще: сделал фичу — зарелизил. Не жду, пока наберётся «достаточно». Это позволяет чаще обновляться и быстрее получать фидбек. Да и вам не нужно ждать месяцами багфикса Параллельно наметил небольшой roadmap на ближайшие версии: 👩💻 2.7.0 — compound assignments 👩💻 2.8.0 — новые операторы 👩💻 2.9.0 — динамические словари Буду двигаться по нему, но без фанатизма — если что-то полезное появится раньше, оно не будет ждать своей «очереди» Если у вас есть идеи фич для hydrascript — накидывайте в комментарии. Интересно посмотреть, чего не хватает со стороны 🗿
Я выкатил новую версию Hydrascript (2.6.6) — и, честно говоря, это был тот ещё квест 😅 Делать язык программирования — это не просто «написать код», а постоянно разруливать такие тонкие и странные штуки, о которых обычные разработчики даже не задумываются Например, я поймал баг, где порядок типов внезапно влиял на статический анализ — оказалось, я слишком рано смешал этапы построения типов и разрешения ссылок А ещё пришлось чинить арифметику: сравнения ломались, если в выражении была длина строки, потому что она не приводилась к double Такие вещи незаметны снаружи, но внутри это целая головоломка, и именно в таких местах понимаешь, насколько глубоко нужно разбираться в устройстве языков Если хочешь поддержать проект — закинь звезду на GitHub, это правда помогает 👩💻 Скачать на NuGet: https://www.nuget.org/packages/hydrascript
Продолжаю путь гофера ⚙️ Честно, заходил в этот курс как типичный Senior C# бэкендер с лёгким скепсисом: Зачем мне ваш Go, когда есть нормальный ООП, async, LINQ и взрослая экосистема? В итоге залип! Курс реально техничный: 17 тем, куча задач в каждой, и всё это прокачивает именно мышление под собеседования, а не «как делать прод» Но важно понимать: это не про реальную разработку на Go, а чисто про то, как проходить интервью: мапы, горутины, каналы, планировщик, подводные камни языка. И вот тут Go иногда выглядит… мягко говоря, своеобразно: после C# местами не хватает выразительности и строгости, а некоторые решения ощущаются как компромисс ради простоты Если хочешь выйти за пределы своей зоны комфорта и уверенно щёлкать задачи на Go-интервью, курс точно стоит попробовать. Переходи по ссылке и проверь себя: либо укрепишь любовь к C#, либо внезапно начнёшь писать на Go осознанно⚙️
Всем привет! К сожалению, по не зависящим от меня причинам не смогу присутствовать на Стачке Тем не менее, я призываю всех получить максимум пользы и удовольствия от мероприятия! Спикерам - успешных выступлений, участникам - хорошего настроения! Покажите всем победу Шарпизма!
Катя Куваева из Контура опубликовала на Хабре большое исследование C# разработчиков, в котором я участвовал Я проходил опрос и давал ответы в рамках глубокого интервью. Теперь хочу обсудить результаты 1. Хардкорность СНГ шарпистов - дар и проклятье. Да,…
Скука на работе из-за перекладывания JSON стала причиной появления HydraScript Теперь я пошёл дальше, и научился перекладывать JSON на HydraScript в Docker на MacBook Читайте на Хабре о том, как я это сделал и ставьте плюсы статье
StepOne сказал StepOne сделал Записи того самого митапа доступны на моём YouTube канале! Смотреть до конца по ссылке ITS BMSTU x StepOne C# MeetUp https://www.youtube.com/playlist?list=PLw4W4dX0daE4NFSw1uR83y-HX9PNFbtt5