Личная выгода vs общественная польза
Неделю назад прилетел домой в Москву из Омска, где завершился DevFest
Подъехали фоточки, так что поделюсь своим experience
Моя мотивация подаваться на миллион конференций была донельзя примитивной - ачивка «speaker» level-up’ет CV и позволяет просить больше денег на собесе🤵
Плюс, это повод для злорадства и хвастовства в сторону компаний, когда-то не способных сделать достойное предложение 😈
Ведь теперь они упустили не просто профи, а спикера DotNext) Чувствуете, как ценник поднялся?
После DevFest я стал считать своё мышление ошибочным, потому что первый же день в Омске показал, что ребята делают что-то другое, ну реально другое😲
Как только услышал следующий девиз, он поселился в голове rent-free
Такого точно не хватает большинству мероприятий
Пока аля-jugru втыкает стенды и нагоняет
Чтобы находить единомышленников, запускать проекты, находить вдохновение и мотивацию, да и просто развивать it сообщество
Это неочевидный и сложный путь - пусть у организаторов всё получится 🙏❤️
Благодаря DevFest, я надеюсь, что нашёл новых друзей, и совершенно точно зарядился сделать лучший дотнет инструмент для экономии времени при написании тестов!
Если не расскажу про него в следующем году, можете отписаться и начать учить джаву☠️
Настолько высоки ставки
Уже сейчас открыта продажа билетов на 2025, поэтому искренне советую запланировать посещение - это личный совет, а не реклама
Совершенно точно, для меня DevFest - открытие года, и хочется посетить его снова, потому что там 💯 будет круто!
Неделю назад прилетел домой в Москву из Омска, где завершился DevFest
Подъехали фоточки, так что поделюсь своим experience
Моя мотивация подаваться на миллион конференций была донельзя примитивной - ачивка «speaker» level-up’ет CV и позволяет просить больше денег на собесе
Плюс, это повод для злорадства и хвастовства в сторону компаний, когда-то не способных сделать достойное предложение 😈
Ведь теперь они упустили не просто профи, а спикера DotNext) Чувствуете, как ценник поднялся?
После DevFest я стал считать своё мышление ошибочным, потому что первый же день в Омске показал, что ребята делают что-то другое, ну реально другое
Как только услышал следующий девиз, он поселился в голове rent-free
Такого точно не хватает большинству мероприятий
Make New Friends
Пока аля-jugru втыкает стенды и нагоняет
certified dushnil на авось, здесь строится площадка для встречи новых крутых людейЧтобы находить единомышленников, запускать проекты, находить вдохновение и мотивацию, да и просто развивать it сообщество
Это неочевидный и сложный путь - пусть у организаторов всё получится 🙏
Благодаря DevFest, я надеюсь, что нашёл новых друзей, и совершенно точно зарядился сделать лучший дотнет инструмент для экономии времени при написании тестов!
Если не расскажу про него в следующем году, можете отписаться и начать учить джаву
Настолько высоки ставки
Уже сейчас открыта продажа билетов на 2025, поэтому искренне советую запланировать посещение - это личный совет, а не реклама
Совершенно точно, для меня DevFest - открытие года, и хочется посетить его снова, потому что там 💯 будет круто!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤🔥8❤3👍3🥰2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33😁11🔥9❤1🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁15🤩2
StepOne | Степан Минин
Разбор резюме❗️ Мне очень нравится общаться с аудиторией, особенно когда степванчики предлагают какие-то новые рубрики и форматы ❤️ Сегодня, благодаря @Roman_Suhih_tg у вас есть возможность попросить меня разобрать резюме Для этого просто скиньте пдфку…
Наконец-то новый разбор!
Напоминаю, что в комменты под постом в реплае можно скинуть своё резюме и я его публично разберу
На этот раз CV https://news.1rj.ru/str/steponeit/388?comment=4181 от @cher_misha
Вижу, что Михаил - начинающий специалист, сразу бросается в глаза малое количество даже не лет, а месяцев опыта
Очень смелая и неплохая идея расписать курсовой проект - правда 3 месяца для него маловато
Всё-таки кажется, что минимальные курсы разработки в университетах длятся семестр, то есть полгода
Не совсем ясно, для чего указывать курс по Flask, если автор шарпист 🤷♂️
Неплохо расписана последняя практика в PARMA по разработке сервиса логгирования
Я бы на твоём месте слепил её с предыдущей в один отрезок времени)
Из описания практики по валидации артефактов не понял ценность продукта, поэтому убрал бы этот раздел в пользу последнего
Направление задано неплохое, скелет хороший - надо "набирать мясо" и всё будет 💪
Напоминаю, что в комменты под постом в реплае можно скинуть своё резюме и я его публично разберу
На этот раз CV https://news.1rj.ru/str/steponeit/388?comment=4181 от @cher_misha
Вижу, что Михаил - начинающий специалист, сразу бросается в глаза малое количество даже не лет, а месяцев опыта
Очень смелая и неплохая идея расписать курсовой проект - правда 3 месяца для него маловато
Всё-таки кажется, что минимальные курсы разработки в университетах длятся семестр, то есть полгода
Не совсем ясно, для чего указывать курс по Flask, если автор шарпист 🤷♂️
Неплохо расписана последняя практика в PARMA по разработке сервиса логгирования
Я бы на твоём месте слепил её с предыдущей в один отрезок времени)
Из описания практики по валидации артефактов не понял ценность продукта, поэтому убрал бы этот раздел в пользу последнего
Направление задано неплохое, скелет хороший - надо "набирать мясо" и всё будет 💪
Telegram
Михаил Чернышев in StepOne Comments
🔥7👍2❤1🤩1
StepOne | Степан Минин
StepOne - Senior DevOps??? GitHub Actions CI/CD Expert На выходных сделал две вещи: 1️⃣ Дописал статью на Хабр с подробным рассказом про свой пет-проект hydranoscript. Там появился логотип кстати, прикладываю к посту! Выйдет в конце августа - начале сентября…
Пытался перевести hydranoscript на AOT
В любом случае релиз паблишит на конкретные платформы, а тут под них ещё и оптимизацию пообещали
Сначала сомневался даже попробовать - на винду надо ставить террабайты плюсистого кала, чисто чтобы была возможность прогнать команду
Через некоторое время, вспомнил, что у меня есть макбук, поэтому попробовал там - оказалось, что проект не готов из-за
Однако, в Github Actions такое можно катить без проблем - на винду они ставят кал-плюс-плюс автоматом, на маках уже стоит xcode, а на православном линухе достаточно один апт-гет вызвать
В итоге, переход не удался из-за
В любом случае релиз паблишит на конкретные платформы, а тут под них ещё и оптимизацию пообещали
Сначала сомневался даже попробовать - на винду надо ставить террабайты плюсистого кала, чисто чтобы была возможность прогнать команду
Через некоторое время, вспомнил, что у меня есть макбук, поэтому попробовал там - оказалось, что проект не готов из-за
json зависимостей, надо было переходить на сурс ген, о чём расскажу в следующем постеОднако, в Github Actions такое можно катить без проблем - на винду они ставят кал-плюс-плюс автоматом, на маках уже стоит xcode, а на православном линухе достаточно один апт-гет вызвать
В итоге, переход не удался из-за
Scrutor и System.CommandLineThe GitHub Blog
GitHub Actions: Windows Server 2022 with Visual Studio 2022 is now generally available on GitHub-hosted runners - GitHub Changelog
Windows Server 2022 with Visual Studio 2022 is now generally available on GitHub-hosted runners. To use it now, simply add runs-on: windows-2022 in your workflow file. Otherwise, our recommendation is…
👍6🤩3❤2
System.Text.Json | Source Generator
Сурс ген входит в жизнь дотнет разрабов всё глубже
И это не может не радовать - достойная замена псевдоИИ как никак
Одним из платформенных решений стал перенос сериализации в compile-time, что ofc должно бустануть перф
Во-первых, в
Во-вторых, пилим
Часть можно передать в атрибут
Оказывается, можно просто создать экземпляр контекста руками и не париться:
Ах да, к чему это я всё? Если хотите AOT, то сериализация должна быть на сурс гене)
В результате перевода
https://github.com/Stepami/hydranoscript/pull/80/files
Сурс ген входит в жизнь дотнет разрабов всё глубже
И это не может не радовать - достойная замена псевдоИИ как никак
Одним из платформенных решений стал перенос сериализации в compile-time, что ofc должно бустануть перф
Во-первых, в
.csproj прописываем<JsonSerializerIsReflectionEnabledByDefault>false</JsonSerializerIsReflectionEnabledByDefault>
Во-вторых, пилим
partial наследника JsonSerializerContext, где указываем какие типы надо поддержать, например:[JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Serialization)]
[JsonSerializable(typeof(List<object>))]
[JsonSerializable(typeof(Dictionary<string, object>))]
[JsonSerializable(typeof(bool))]
[JsonSerializable(typeof(double))]
[JsonSerializable(typeof(string))]
private partial class AsStringSerializationContext : JsonSerializerContext;
Что здесь super tricky и не очевидно, то это настройка и передача опций
Часть можно передать в атрибут
[JsonSourceGenerationOptions], но он не поддерживает работу с циклическими ссылками в том числеОказывается, можно просто создать экземпляр контекста руками и не париться:
private static readonly AsStringSerializationContext AsStringJsonContext = new(new JsonSerializerOptions
{
WriteIndented = true,
ReferenceHandler = ReferenceHandler.IgnoreCycles,
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals
});
Ах да, к чему это я всё? Если хотите AOT, то сериализация должна быть на сурс гене)
В результате перевода
hydranoscript на сурс ген жсон получился такой PR:https://github.com/Stepami/hydranoscript/pull/80/files
GitHub
Перевод на Source Gen Json by Stepami · Pull Request #80 · Stepami/hydranoscript
Denoscription
В рамках PR пытался перевести проект на AOT Publish
Оказалось, что это невозможно
В процессе оказалось, что для того чтобы прогнать
dotnet publish -p:PublishAot=true
Необходимо перевес...
В рамках PR пытался перевести проект на AOT Publish
Оказалось, что это невозможно
В процессе оказалось, что для того чтобы прогнать
dotnet publish -p:PublishAot=true
Необходимо перевес...
🔥10👍6❤🔥1
Forwarded from Стачка [официальный канал]
27-28 сентября поговорим про новинки .NET, об архитектуре типичных приложений на C#, и всесторонне рассмотрим подходы к разработке кроссплатформенных приложений.
Кому будет полезно: бэкенд разработчикам на платформе .NET (преимущественно C#), разработчикам других backend-стеков.
→ Степан Минин — ведущий разработчик C#. Доклад: «Такого "Посетителя" вы ещё не видели - Visitor.NET»
→ Марк Шевченко — главный программист «Иннотех». Доклад: «Избавляемся от бойлерплейта в C#»
→ Станислав Сидристый — системный архитектор «Газпром-Нефть». Доклад: «Разработка плагинов к микросервисам»
👨💻 Эксперт секции: Игорь Лабутин — более 15 лет в проектировании и разработке бэкенд на C#/Java в виде монолитов и микросервисов. Организатор .NET сообществ SpbDotNet и DotNetRu, член программного комитета и спикер конференции DotNext.
Кто еще выступит на «Стачке» в Питере, смотрите на сайте: https://spb24.nastachku.ru/.
Stop working — все на «Стачку»!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1
This media is not supported in your browser
VIEW IN TELEGRAM
«Мало, Смаев 320 жмёт»
🔥20❤5🤩3👍2
StepOne | Степан Минин
Сентябрь 2024 точно будет гореть 🔥 Ведь StepOne выступит аж на трёх конференциях!!! Настоящий дотнет тур! 1️⃣ 5-8 сентября, DevFest в Омске Искусство unit-тестирования. Сокращаем Arrange до нуля 2️⃣ 10-11 сентября, DotNext в Москве Как в C# 11 появилась обобщенная…
Вот и отъездил три конфы этой осени
На самом деле, их могло быть четыре, но от четвёртой отказался, поскольку она уже была не по силам…
В процессе произошла очень крутая вещь, которой хочется поделиться
На каждом из мероприятий я встретил своих подписчиков
И все рассказали, как подписка на StepOne изменила их жизнь в лучшую сторону
Кому-то нравится контент по шарпам, кому-то заходят мои идеи, кто-то просто угарает
Вести соцсети сложно, потому что практически не встречаешь своего влияния на реальный мир
Но ваши рассказы о том, как отдельные советы с канала меняли целые процессы разработки в командах нереально заряжают двигаться дальше
Спасибо, что читаете ❤️
В процессе произошла очень крутая вещь, которой хочется поделиться
На каждом из мероприятий я встретил своих подписчиков
И все рассказали, как подписка на StepOne изменила их жизнь в лучшую сторону
Кому-то нравится контент по шарпам, кому-то заходят мои идеи, кто-то просто угарает
Вести соцсети сложно, потому что практически не встречаешь своего влияния на реальный мир
Но ваши рассказы о том, как отдельные советы с канала меняли целые процессы разработки в командах нереально заряжают двигаться дальше
Спасибо, что читаете ❤️
❤25👍10🥰2❤🔥1
Задача со звёздочкой
Столкнулся с неочевидной вещью
Что выведет этот код?
Отлаживать строго в голове!
StepOne был в шоке…😱
Столкнулся с неочевидной вещью
Что выведет этот код?
int[] arr = [];
Console.WriteLine(
arr.All(x => x % 2 != 0));
Отлаживать строго в голове!
StepOne был в шоке…
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍1🤩1
Совершенно неожиданно, но абсолютно предсказуемо
Буду учить digital заводчан искусству резюме в секции HR на конференции Merge 15-16 ноября в Сколково
https://skolkovo2024.mergeconf.ru/hr/inovationprocess/minin
Буду учить digital заводчан искусству резюме в секции HR на конференции Merge 15-16 ноября в Сколково
https://skolkovo2024.mergeconf.ru/hr/inovationprocess/minin
skolkovo2024.mergeconf.ru
Степан Минин | IT-конференция Merge Сколково 2024
Резюме 600к в секунду. Рецепт прагматика | IT-конференция Merge Сколково 2024
🔥7👍4🤩3😁1
Напишите в комментах, чем вы занимаетесь в рабочее время вместо задач 😐
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7
Forwarded from Деплой (Ваня Ботанов)
Забавная история, показывающая, почему в России сильное IT.
Потому что любят работать и достигать результат, очевидно :)
Потому что любят работать и достигать результат, очевидно :)
👍22😁10
Главное ограничение Source Generators в .NET
Source Generators позволяют делать много крутых вещей
Вообще, на мой взгляд, это крайне недооценённая разработчиками фича
Поверьте, чуть ли не каждый реальный проект имеет место, которое SG может сильно улучшить
Однако, они не всемогущи, есть узкое место, которого лично мне недавно не хватило
Ранее на канале было замечено, что нельзя строить цепочки или пайплайны из генераторов
Этому посвящён целый issue в репозитории Roslyn - https://github.com/dotnet/roslyn/issues/57239
Проблема в том, что пока не удаётся найти компромисс между тем, чтобы построить удачный пользовательский опыт для программиста и сохранить высокий перформанс инструмента
При этом скорость работы генераторов, которая действительно на уровне, является высоким приоритетом, от того задача ещё более не решаемая
С ограничением столкнулся в пет-проекте, как обычно)
Пилю, значит, интерпретатор hydranoscript, и захотелось оптимизировать лексический анализ с помощью скомпилированных регулярных выражений
Но вот незадача - регулярка очень большая получается, около 600 символов в длину - очень легко в ручном режиме опечататься и налажать
Получается, что её надо генерировать на основе исходного кода конфигурации
Но вот незадача - результат генерации надо подставлять в другой генератор, уже платформенный, через атрибут
А генератор1 не видит результат работы генератора2, потому что оба пользуются AST из кода, написанного руками
Здесь получилось обхитрить систему, потому что настоящего доступа к AST и семантической модели мне не требуется
Я хочу просто прочитать конфиг и выплюнуть строчку, поэтому достаточно руками забрать этот конфиг, а строку с паттерном подложить сборке через
Такие сорцы генераторы видят, потому что обычно метод используется для создания маркерных атрибутов или других вспомогательных служебных объектов
Получился такой PR, пользуйтесь)
https://github.com/Stepami/hydranoscript/pull/115
Source Generators позволяют делать много крутых вещей
Вообще, на мой взгляд, это крайне недооценённая разработчиками фича
Возможно, в силу недостатка квалификации
Поверьте, чуть ли не каждый реальный проект имеет место, которое SG может сильно улучшить
Однако, они не всемогущи, есть узкое место, которого лично мне недавно не хватило
Ранее на канале было замечено, что нельзя строить цепочки или пайплайны из генераторов
Этому посвящён целый issue в репозитории Roslyn - https://github.com/dotnet/roslyn/issues/57239
Проблема в том, что пока не удаётся найти компромисс между тем, чтобы построить удачный пользовательский опыт для программиста и сохранить высокий перформанс инструмента
При этом скорость работы генераторов, которая действительно на уровне, является высоким приоритетом, от того задача ещё более не решаемая
С ограничением столкнулся в пет-проекте, как обычно)
Пилю, значит, интерпретатор hydranoscript, и захотелось оптимизировать лексический анализ с помощью скомпилированных регулярных выражений
Но вот незадача - регулярка очень большая получается, около 600 символов в длину - очень легко в ручном режиме опечататься и налажать
Получается, что её надо генерировать на основе исходного кода конфигурации
Но вот незадача - результат генерации надо подставлять в другой генератор, уже платформенный, через атрибут
[GeneratedRegex]
А генератор1 не видит результат работы генератора2, потому что оба пользуются AST из кода, написанного руками
Здесь получилось обхитрить систему, потому что настоящего доступа к AST и семантической модели мне не требуется
Я хочу просто прочитать конфиг и выплюнуть строчку, поэтому достаточно руками забрать этот конфиг, а строку с паттерном подложить сборке через
context.RegisterPostInitializationOutput
Такие сорцы генераторы видят, потому что обычно метод используется для создания маркерных атрибутов или других вспомогательных служебных объектов
Получился такой PR, пользуйтесь)
https://github.com/Stepami/hydranoscript/pull/115
👍8🔥5❤1
Короче, степванчики, я вам видео снял и в благородство играть не буду.
Посмотрите его до конца - и мы в расчёте!
Заодно посмотрим, как вам контент после перерыва зайдёт)
А по вашей теме постараюсь разузнать: хрен его знает, на кой ляд вам эта ссылка на видео сдалась…
Но! Я в чужие дела не лезу! Не хотите вбивать поисковой запрос - значит есть причина
https://youtu.be/FS-1ch2gZ9M
Посмотрите его до конца - и мы в расчёте!
Заодно посмотрим, как вам контент после перерыва зайдёт)
А по вашей теме постараюсь разузнать: хрен его знает, на кой ляд вам эта ссылка на видео сдалась…
Но! Я в чужие дела не лезу! Не хотите вбивать поисковой запрос - значит есть причина
https://youtu.be/FS-1ch2gZ9M
YouTube
Почему тебе не даётся программирование
https://news.1rj.ru/str/steponeit
00:00 Вступление
00:50 Ловушка мышления
03:44 Как перестать быть вечным студентом
04:50 Специализация программиста
06:54 Сила сообщества
00:00 Вступление
00:50 Ловушка мышления
03:44 Как перестать быть вечным студентом
04:50 Специализация программиста
06:54 Сила сообщества
2🔥19👍5❤🔥2❤2
StepOne | Степан Минин
Программисту нет смысла ходить в офис Ведь у него даже не будет своего кабинета 🤯 В самом начале своей карьеры мне казалось: вот стану важным сеньором - дадут свой кабинет Но потом, по мере смены работ всё сильнее разочаровывался в концепции её посещения…
Наткнулся на статью, где приложенным исследованием подтверждается тезис о вреде опен спейса для коммуникации
А также там развеяно много других мифов о зарплатах и эффективности
https://www.researchgate.net/publication/326130488_The_impact_of_the_'open'_workspace_on_human_collaboration
А также там развеяно много других мифов о зарплатах и эффективности
Хабр
Гуманизм против «эффективного менеджмента». Почему заботиться о людях выгодно
Бизнес полон "эффективных менеджеров" и их "лучших практик". Переработки, стресс, политика кнута без пряника, урезания зарплат и премий, обманы и подлоги. Эти практики распространены очень широко,...
👍11❤2🔥2
Программирование не даёт мне спиться 🥃
Странная мысль, согласен)🥃
Но быть пьяным классно: не думаешь о проблемах, потому что не в состоянии их осознать🥂
Правда, жизнь вносит свои коррективы🥂
Я неоднократно слышал фразу:
В разработке, к сожалению, не прокатит - разум затуманивается, теряется способность к фокусировке, сужается контекст с оперативкой и так далее
В общем, мыслительный процесс серьёзно ослабевает
А ещё нужно в канал запостить, видос придумать, доклад подготовить, пет-проект покодить
Про несовместимость с качалкой вообще молчу…
И вот так получается, что везде нужна трезвая голова
Получается, от алкоголизма меня защищает не сила воли, а профессия…
P.S. Знали бы вы какой у меня дома бар, и как я люблю коктейли…
Странная мысль, согласен)
Но быть пьяным классно: не думаешь о проблемах, потому что не в состоянии их осознать
Я мог бы выпить море
Я мог бы стать другим
Вечно молодым
Вечно пьяным
Правда, жизнь вносит свои коррективы
Я неоднократно слышал фразу:
«Без пол-литра не разберёшься»
В разработке, к сожалению, не прокатит - разум затуманивается, теряется способность к фокусировке, сужается контекст с оперативкой и так далее
В общем, мыслительный процесс серьёзно ослабевает
А ещё нужно в канал запостить, видос придумать, доклад подготовить, пет-проект покодить
Про несовместимость с качалкой вообще молчу…
И вот так получается, что везде нужна трезвая голова
Получается, от алкоголизма меня защищает не сила воли, а профессия…
Please open Telegram to view this post
VIEW IN TELEGRAM
😁24👍11❤1