StepOne | Степан Минин – Telegram
StepOne | Степан Минин
3.42K subscribers
249 photos
35 videos
6 files
313 links
StepOne by Степан Минин @ststphn

Твой первый шаг к успеху в программировании

Закрытый тг канал https://news.1rj.ru/str/tribute/app?startapp=slOA

По вопросам рекламы @Spiral_Yuri

Ютуб https://www.youtube.com/@steponeit
Download Telegram
6 января в 14:00 в закрытом канале StepOne Premium состоится эфир, где я поделюсь планами на 2025 год и отвечу на вопросы, которые оставите здесь в комментах или зададите во время трансляции

Вопросы могут быть любыми, от «когда джаваброня» до «что у соера с глазом»

Эфиры будут регулярными, раз в 2-3 недели

Присоединиться по ссылке

https://news.1rj.ru/str/tribute/app?startapp=slOA
👍41🔥1😁1
📱 зрителей на ютубе и 50к на видео про HRюш, спасибо ❤️

Джаваброня 2025 в StepOne Premium

Шарперы, держим бек 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍244🔥3
Встретил самого преданного СтепВанчика❤️

Провёл его в IT и вывел 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
16🥰7❤‍🔥6
Не забываем подписываться на мой сайд проект - Четыре Плюса 👩‍💻

Самые смешные мемы в тг про джавистов 🤩

https://news.1rj.ru/str/csharpcommon/116
Please open Telegram to view this post
VIEW IN TELEGRAM
6😁4🤩4🔥3
Захотелось поговорить про исключения

К этому меня подтолкнули воспоминания с одной из работ, где на них стоял строгий запрет, а все ошибки должны были быть реализованы в функциональном стиле

То есть, метод возвращает некий объект результата, который допускает значение ошибки

И сношайся потом с этим как хочешь)


Мне такой подход казался непродуктивным

Ну казалось бы, что проще написание выброса, и потом отлова где-нибудь сверху?

При этом ООПшность языков позволяет создать объект исключения информативно, чтобы составить качественное сообщение пользователю

Естественно, это избавляет от бойлерплейта по типу GO

Энтузиасты с калькулятором выяснили, что использование исключений вместо проверки на ошибку сокращает ветвление в 175 раз

А это серьёзная разгрузка компилятора!

А потом, я наткнулся на эту статью на Хабре, где оказалось, что исключения ещё и быстрее в производительности

Короче, не вижу теперь смысла не использовать исключения
👍14🤩4🔥2
99.9% мемов на этом канале я делаю самостоятельно
😁16👍3🤩2
Большой Шарпизм

Начинаем забирать 2025)

Сидел на днях, и в голову пришла мысль - есть svo ремиксы, гачи ремиксы, даже рыбалка ремиксы...

А айти ремиксов никто не завёз

И тогда я решил открыть этот жанр - бац, готов текст и сегодняшняя запись на студию
Теперь можете послушать, что называется, с пылу жару

Присылайте своим любимым айти блогерам, чтобы они тоже подключались к движухе и делали вещи

Джависты будут повержены 💪

Ставь 🔥 если хочешь больше айти ремиксов
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥28👍10😁7❤‍🔥2🤯2
StepOne | Степан Минин
Брокер сообщений на основе СУБД??? MassTransit в каком-то смысле зарекомендовал себя в качестве solid choice, когда дело доходит до разработки распределённых систем. Однако, его проблема в том, что он содержит слишком много всего: AWS, Rabbit, in-memory…
Помните, я писал про использование СУБД в качестве транспорта для асинхронного обмена сообщениями?

Так вот, рад сообщить, что опен сос комунити завезло проект, который добавляет веб-интерфейс для SQL Transport

Его можно удобно запустить в докере, открыть в браузере и:
• смотреть очереди и сообщения в них
• смотреть ошибочные очереди и отправлять сообщения обратно в обычные
• смотреть джобы масстранзита и управлять ими

Ссылка на гитхаб 👉 https://github.com/filipbekic01/ResQueue
🤯64👍2🔥2
Media is too big
VIEW IN TELEGRAM
Провёл эфир в закрытом канале, где отвечал на вопросы подписчиков и делал ценные разборы

Обсудили:
- лор StepOne и джавистов
- анализ перехода в ML и вопрос свитчинга в целом
- мои практики в программировании для бутстраппинга проектов
- анонсы на февраль и март

Было очень весело и полезно!

Следующий эфир 12 февраля - навалю базы ЗП переговоров с примерами своих торгов

Доступ по ссылке 👇
https://news.1rj.ru/str/tribute/app?startapp=slOA
👍11🔥5😍2
Вы не знали этого про ConcurrentDictionary

Однажды на работе пришлось заниматься рефакторингом

У сервис был как будто бы на рандоме выбран LifeTime, из-за чего синглтоны зависели от скопед сервисов, и вызывали их через провайдер

Однако, загвоздка была в том, что синглтоны должны были быть потокобезопасными, и использовали статические экземпляры примитивов синхронизации

Тогда пришла в голову мысль сделать кеш в духе
ConcurrentDictionary<String, SemaphoreSlim>

Правда, впоследствии выяснилось, что GetOrAdd не атомарный метод, и делегат фабрики значения может быть вызван несколько раз

Потому что передаваемый пользователем делегат вызывается за пределами внутренней блокировки словаря

Как это обойти?
Рид Копси (Reed Copsey) предлагает оборачивать значение в Lazy, поскольку настоящий объект будет создан и останется единственным в момент запроса значения из ленивого контейнера

Подробнее в статье 👇
http://reedcopsey.com/2011/01/16/concurrentdictionarytkeytvalue-used-with-lazyt/
👍14🔥63🤯1
📱 Всё-таки вопреки сомнениям, озвученным на эфире, видос случился до конца января

Как только ролик наберёт две тысячи лайков начну делать вторую часть

В StepOne Premium доступна расширенная версия с нюансами озвученных фичей

Напишите в комментах, какие технические видео от меня хотели бы посмотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥173👍2
StepOne | Степан Минин
Зима близко 🥶 Ноябрь заканчивается… 🛫 ОФИЦИАЛЬНО StepOne - open source contributor 🛫 Позор ФуфлЯндекса 🥜 NNNUT 🛫 Прожарка HR 🛫 StepOne technologies edit
Январь пролетел быстрее билда на девятом дотнете 💨

Месяц выдался продуктивным на канале

📱 запустил StepOne Premium через tribute

📱 Провёл там два эфира: 6 и 22 января

📱 Выпустил айти ремикс дотнеткор

📱 В предпоследний день месяца дропнул видос, но он вообще не зашёл 😬

📱 Поговорил про исключения

📱 Рассказал про Web view для MassTransit SQL transport

📱 Обсудил нюанс ConcurrentDictionary

И да, сегодня все посты с бусти были удалены, теперь эксклюзивный контент только в тг
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2❤‍🔥1
⚡️Rider 2024.3 + .NET 9 Срочное включение⚡️

Если вы используете в своем проекте source generator, таргетированный на net9.0, то intellisense видеть это не будет

Rider посыпет ошибками, в то время как dotnet build работает

Обнаружил в hydranoscript)))

https://youtrack.jetbrains.com/issue/RIDER-116141/Source-generator-code-is-not-detected-by-Intellisense-on-NET-9.0.100-preview.7.24407.12
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯7😁3🔥1
StepOne | Степан Минин
А вот и статья на Хабре подъехала! Разборы ваших резюме выйдут завтра, готовьтесь! https://habr.com/ru/companies/ruvds/articles/834626/
Я вот всё хвастался новой архитектурой hydranoscript, а теперь появилась возможность проверить её в бою

В рамках релиза v2.1.0 добавил фичу вывода строки на экран на уровне языка, чтобы не хардкодить функцию print

Кайфанул от процесса реализации, потому что всё супер чётко разложено по полочкам

Оценить можете сами, глянув PR
👍9🔥32
hydranoscript v2.1.0

Наконец-то добил релиз новой версии языка

В него вошли различные улучшения, баг фиксы (аж 5 штук) и 1 новая фича

Из интересного огрёб опять новых приключений с GitHub Actions

Во-первых, чуваки в гитхабе решили, что маки на интелах больше никто покупать не будет, и усиленно задепрекейтила раннеры macos-x64

Что бы я ни делал, просто получал неизвестную внутреннюю ошибку, поэтому пришлось оставить сборку только для силиконовых чипов

Во-вторых, GitReleaseManager упорно продолжает не писать ошибки в логи, и отлаживаться приходится локально

Оказалось, что тулза запускается только под 7 дотнетом, а на раннерах его уже не ставят по дефолту, потому что ветер времени

Пришлось явно прописать в релизный воркфлоу его установку для каждой джобы

А ещё в гитхабе кривой rebase, делайте его локально своим гитом
И никогда, слышите, никогда не используйте кнопку rebase and merge в PR-ах

Тем не менее, релиз выкачен, почитать можно в репе прямо сейчас

Upd: в релизе оказался баг) фикс внутри версии 2.1.1
🔥8👍63
В этом году я состою в Программном Комитете конференции Стачка и отвечаю за секцию C#

Приглашаю СтепВанчиков выступить с годным контентом

Если у вас только идея, пишите - доработаем и дойдём до доклада

Конференция пройдёт в Ульяновске 18-19 апреля, участие оффлайн

Вся информация тут👇

Информация спикерам: https://ul25.nastachku.ru/to-do-speaker-ul25
Регистрация: https://ul25.nastachku.ru/users-new
Подача доклада: https://ul25.nastachku.ru/lectures-new
11👍6🔥2
Новый месяц, новый PR в hydranoscript

Товарищ в гитхабе с никнеймом hw2cb перевёл проект на девятый дотнет, внедрил упорядоченный по вставке словарь и увеличил тестовое покрытие

Этот PR вошёл в последний релиз)

Огромное тебе спасибо за энтузиазм и инициативу!

Накидаем реакций герою труда и обороны 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
18🔥7👍3