TGViewer
Channel Public Channel
StepOne | Степан Минин

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

@steponeit

StepOne by Степан Минин @ststphn

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

Закрытый тг канал https://t.me/tribute/app?startapp=slOA

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

Ютуб https://www.youtube.com/@steponeit
Subscribers
3.27K
Photos
288
Videos
39
Links
355

Showing posts older than #559 · Back to latest

Older Posts 20 shown
Post #558 2.98K
есть два типа людей
  • 😁 27
  • 👍 15
  • ❤ 6
  • 🔥 5
  • ❤‍🔥 1
Post #555 3.98K
StepOne | Степан Минин StepOne - Senior DevOps??? GitHub Actions CI/CD Expert На выходных сделал две вещи: 1️⃣Дописал статью на Хабр с подробным рассказом про свой пет-проект hydrascript. Там появился логотип кстати, прикладываю к посту! Выйдет в конце августа - начале сентября…
Что такое CI/CD?
За что девоПсины получают свои какосеки?


В эту среду 9 апреля в 19-00 я проведу эфир в Шарпизме, где разберу по косточкам самое непонятное и частое требование из вакансий

А потом покажу свой большой и длинный пайплайн hydrascript в GitHub Actions

После этого эфира твой оффер увеличиться минимум на 50к
Telegram Tribute This bot helps content creators receive financial support from their followers directly in the app.
  • ❤ 6
  • 🔥 3
  • ❤‍🔥 2
  • 👍 2
Post #554 3.05K
StepOne | Степан Минин 👩‍💻 А ещё в закрытом канале с подписчиками добавили в hydrascript перегрузку функций в версию 2.2.0 В новой версии язык делает то, чего typescript не может! Записи эфиров с лайвкодингом уже в Шарпизме, доступ в закрепе
Новости hydrascript 2.3.0

После победы над typescript в прямом эфире мой подписчик Илья Левин @mmm_ilya пришёл в репу и закрыл много задач!

Респект уважуха и благодарность от лица Шарпизма!

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

Илья не просто обновил какие-то пакеты или доки, а сделал реально важный вклад:
- пофиксил баг с выводом в консоль, который я засадил во время рефакторинга
- внедрил логгирование на основе Source Generators: ещё одна фишка дотнета для повышения эффективности системы, которую, на мой взгляд, надо обязательно использовать в коммерческих проектах
- Упростил добавление тест-кейсов, реализовав типизированную авто подгрузку скриптов из файловой системы

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

Эти достижения будут отличать Илью от других кандидатов при поиске работы - воспользуйтесь и вы шансом апгрейднуть свой карьерный трек

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

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

https://github.com/Stepami/hydrascript/milestone/7
GitHub Stepami/hydrascript TypeScript & Go inspired small interpreted programming language written in C#. The interpreter built with DDD principles and Clean Architecture. Implementation powered by Source Generators ...
  • 👍 15
  • ❤ 3
  • 🔥 3
  • ❤‍🔥 2
  • 😁 2
Post #553 5.91K
StepOne | Степан Минин Твой шанс на 2025 Из моего последнего видео вы поняли, что из-за плохой работы рекрутеров найти работу в IT становится всё сложнее Однако, помимо апгрейда резюме есть ещё одно решение от моего кореша Сани из канала «Папочка Дотнета» Совсем недавно, он запустил…
Важный эфир 17 апреля в 19-00

Топ-5 крупнейших IT компаний СНГ перестали нанимать любых мобильных разработчиков


Везде поставили стоп на повышения, деньги дают только руководителям


Что дальше? Повсеместный отказ от C# в пользу Go?

Мои коллеги по цеху, Папочка Дотнета @dotnetdad и Сергей Назаров, 17 апреля выступят на эфире в Шарпизме, где расскажут самое важное о текущем состоянии дотнет рынка в РФ

Почему им можно верить?


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

В их руках самые свежие данные по собесам, задачам, зарплатам и вакансиям

Помимо этого, они ответят на ваши вопросы, которые вы оставите в комментариях под этим постом

Твой последний шанс получить преимущество и обогнать всех находиться здесь
Telegram Tribute This bot helps content creators receive financial support from their followers directly in the app.
  • 👍 5
  • ❤ 3
  • ❤‍🔥 1
  • 🔥 1
Post #551 3.04K
StepOne | Степан Минин Поздравляю с началом весны! Март - месяц премий! Поэтому, номинирую следующие посты: 👩‍💻 Обнаружил баг в Rider 👩‍💻 Выкатил hydrascript 2.1.0 📣 Стал ПК конференции Стачка 👩‍💻 Раздал базы по зарплатным переговорам в Шарпизме 📱 Дропнул 52 созвона
Приготовьтесь, завтра у вас будет белая спина, потому что 1 апреля!

👩‍💻 Рассказал про Fare

👩‍💻 Победил Roslyn плагины с .NET 9

📱 Рассказал в Шарпизме про топ-мест работы C# прогера

👩‍💻 Раскрыл заговор обобщённой математики

📱 Дропнул третий айти ремикс с фитом

👩‍💻 А ещё в закрытом канале с подписчиками добавили в hydrascript перегрузку функций в версию 2.2.0
В новой версии язык делает то, чего typescript не может!
Записи эфиров с лайвкодингом уже в Шарпизме, доступ в закрепе
  • 👍 6
  • ❤ 4
  • 🔥 4
  • ❤‍🔥 1
Post #550 3.39K
StepOne ft. @safon_qa - NAKRUTILI
(Ameli IT Remix)

Мой третий айти ремикс, на этот раз фитанул с тестером по имени Кирилл

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

Призываю беляша на реакт!


Пишите в комменты свою любимую строчку среди всех ремиксов

https://youtu.be/6a3768JwZUM?si=-BKpa8dd2fcqdHS5
  • 🔥 10
  • ❤ 3
  • 👍 3
  • ❤‍🔥 1
Post #548 3.5K
Последние два месяца активно занимался сбором C# секции на конференцию Стачка

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

мягко говоря, непростая

При чём, как мне показалось активность очень похожа на тимлидство

У меня есть проект - секция на конфе, мои разрабы это спикеры, и их таски это доклады

С другой стороны, есть лид лидов, которому я отчитываюсь, в виде оргов

В конце концов, на мне висит ответственность и задача как-то спикеров найти (нанять/захантить), проводить прогоны (пулл реквесты и код ревью) и собрать в установленные сроки продукт

Ростер, на мой взгляд, получился более чем годный, особенно в поставленных условиях:
- Алексей Калдузов, head of C# в Ozon, расскажет про дотнет сервисы в кубере и поделиться практиками по эффективному использованию ресурсов подов
- Дмитрий Егоров, спикер DotNext, расскажет про JIT оптимизации: вы увидите насколько продвинутый компилятор дотнета + что случится с лицом гоферов и джавистов
- наконец, Денис Павлов, Senior C# разработчик, поделиться нетривиальным опытом разработки бекенда для хранения и обработки видео

Жду всех в Ульяновске, 18-19 апреля, на Стачке!

Шарпизм 👩‍💻👩‍💻👩‍💻
ul25.nastachku.ru C# - Секции C#Разработка
  • 👍 21
  • 🔥 3
  • ❤‍🔥 1
  • ❤ 1
  • 😁 1
Post #547 2.98K
StepOne | Степан Минин 12 марта 19-30 новый эфир в Шарпизме 👩‍💻 Так теперь называется закрытый канал В течение получаса буду разбирать личный список компаний для работы дотнет по следующим критериям: 1. Деньги 2. Напряг 3. Собес 4. Легаси/скилл Успей подписаться, потому что…
В среду 26 марта в 19-30 кодирую hydrascript в live

Эфир будет посвящен внедрению в язык перегрузки функций

Увидите, как я разрабатываю это чудо, и возможно даже дойдёт до релиза!

Присоединяйся по ссылке в Шарпизм, пока лошки на го пытаются в новый компилятор ts
Telegram Tribute This bot helps content creators receive financial support from their followers directly in the app.
  • 🔥 6
  • ❤ 1
  • ❤‍🔥 1
  • 👍 1
Post #546 3.53K
Dapper больше не нужен

К такому выводу я пришёл, когда изучал последние версии EF Core

Вообще, необходимость linq2db тоже уже под вопросом...

Так вот, оказывается в 8 версии мелкомягкие тупо отжали рынок у библиотеки
Выглядит это так:
public class BlogPost
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateOnly PublishedOn { get; set; }
public int BlogId { get; set; }
}

var start = new DateOnly(2022, 1, 1);
var end = new DateOnly(2023, 1, 1);
var postsIn2022 =
await context.Database
.SqlQuery<BlogPost>($"SELECT * FROM Posts as p WHERE p.PublishedOn >= {start} AND p.PublishedOn < {end}")
.ToListAsync();


Причём такой запрос параметризируется с защитой от инъекции

Да и вообще там сейчас много всего крутого, особенно для проектирования DDD моделей

Советую присмотреться (я админ мне можно советовать)
  • 👍 32
  • ❤ 7
  • 🔥 5
  • ❤‍🔥 1
Post #544 3.38K
Generic Math in Action

Сейчас я работаю над закрытым пет-проектом, где понадобилась кластеризация данных

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

DBSCAN и HDBSCAN по сути, однако HDBSCAN лучше, так как более устойчив к шуму, и его наличие не влияет на результат

Оказалось, что некий канадец реализовал HDBSCAN в NuGet пакете HdbscanSharp, однако код принуждал использовать тип данных double для датасета, что было неудобным для меня, поскольку я пользовался float и конвертациями заниматься не хотелось

Взглянув на код, стало понятно, что его можно актуализировать внедрением обобщённой математики, поскольку функции вычисления расстояний отделены от алгоритма, и жёсткой зависимости в виде хранения векторов тоже нет

Открыл PR, подождал какое-то время, однако его не вмержили, поскольку было много breaking change, тогда я решил самостоятельно выпустить новый пакет

Получился HdbscanSharp.GenericMath - https://www.nuget.org/packages/HdbscanSharp.GenericMath

Код можно посмотреть на гитхабе - https://github.com/Stepami/HdbscanSharp-GenericMath
www.nuget.org HdbscanSharp.GenericMath 1.0.0 It is the fork of original HdbscanSharp package (2.0.0) refactored to support Generic Math with usage of SIMD accelerated tensor calculations
  • 🔥 18
  • 👍 6
  • ❤‍🔥 3
  • ❤ 2
Post #543 3.52K
StepOne | Степан Минин Всем привет! Буквально через пару недель я выступлю на конференции DotNext 2024 с докладом про обобщенную математику в C# 11. Посмотрим на концепцию обобщенной математики с нуля, покажу участникам конференции как она выглядит в C# 11 и как она могла бы выглядеть…
Маленькие победы Generic Math в .NET

Осенью 2024 года я рассказывал всё, что нужно знать про обобщённую математику в C#

Запись доклада доступна в Шарпизме 👩‍💻


Она появилась в 7 дотнете, а в этом ноябре уже будет релиз 10 версии.
И с тех пор очевидный ответ на вопрос "зачем" проявляется отдельными частями только сейчас

Становится очевидно, что Microsoft готовят нечто похожее на платформу для создания экосистемы AI разработки

Например, в 9 .NET появился тип данных Tensor<> для работы с тензорами и был расширен класс TensorPrimitives, содержащий (теперь обобщённые) операции над векторными типами данных в обёртке Span'ов

Что интересно эти методы разработаны так, чтобы использовать SIMD ускорения CPU в зависимости от предоставляемых возможностей (AVX, SSE и так далее)

public class ManhattanDistance<T> : IDistanceCalculator<T>
where T : unmanaged, INumberBase<T>
{
public double ComputeDistance(T[] attributesOne, T[] attributesTwo)
{
Span<T> diff = stackalloc T[Math.Min(attributesOne.Length, attributesTwo.Length)];
TensorPrimitives.Subtract(attributesOne, attributesTwo, diff);
var l1Norm = TensorPrimitives.SumOfMagnitudes<T>(diff);
return double.CreateTruncating(l1Norm);
}
}


Получается некоторая долголетняя многоходовочка из Generic Math, Span, stackalloc и много другого, которая убивает несколько зайцев сразу:
- Адепты ООП получают новый мощный архитектурный инструмент, решающий проблемы костылей из синглотонов и жалких попыток симуляции ad-hoc полиморфизма
- Microsoft приближается ещё на один шаг к обретению конкурентоспособности на рынке ML разработки, добиваясь возможности разработки глубоких моделей, чтобы нейросети тренировали не на Python, а на C#
- Любителям Производительности закрывают вопрос ускорения вычислений на Span, который не оптимизируется JIT'ом так, как массив или список

Что дальше, Гейтс и Наделла?

Ставьте 🔥 и ❤️ на пост, чтобы я написал пост про Generic Math в действии
Docs What's new in .NET libraries for .NET 9 Learn about the new .NET libraries features introduced in .NET 9.
  • 🔥 50
  • ❤ 12
  • 🤯 5
  • 👍 2
  • ❤‍🔥 1
Post #539 3.6K
12 марта 19-30 новый эфир в Шарпизме 👩‍💻

Так теперь называется закрытый канал

В течение получаса буду разбирать личный список компаний для работы дотнет по следующим критериям:
1. Деньги
2. Напряг
3. Собес
4. Легаси/скилл

Успей подписаться, потому что уже завтра я выключу скидку на первый месяц, и все новые шарписты будут платить по фулл прайсу

На скрине та мощная база, которая доступна уже сейчас

Вступай в шарпизм, и твой оффер пробьёт 450 👩‍💻
  • 👍 6
  • 🔥 4
  • ❤‍🔥 2
  • ❤ 2
Post #538 3.57K
StepOne | Степан Минин ⚡️Rider 2024.3 + .NET 9 Срочное включение⚡️ Если вы используете в своем проекте source generator, таргетированный на net9.0, то intellisense видеть это не будет Rider посыпет ошибками, в то время как dotnet build работает Обнаружил в hydrascript))) ht…
А может это был не баг?

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

Не знаю, что случилось с обновлением и переходом на 9 net sdk, но стало очевидно, что IDE запускает билд и Roslyn плагины через MSBuild

А он гораздо капризнее, чем
dotnet build


Например, даже при заглушённом RS1041 MSBuild тупо отказывался создавать инстанс генератора

Вот TFM не netstandard2.0, значит не хочу не буду!

Дальше всё стало сложнее - генератор парсил JSON строку для сборки глобального паттерна, но в стандарте либы нет - она только в sdk)))

Но подключить в плагин NuGet reference, это та ещё боль - https://github.com/dotnet/roslyn/issues/52017

Надо позаботиться о том, чтобы зависимость и всё, что ей требуется вышли в папку analyzers!

А там начнутся неразрешимые конфликты версий…

В итоге отказался от JSON и перешёл на стрим объектов

А дальше ещё лучше - правило с перекладыванием DLL применяется не только к внешним пакетам, но и проектным референсам!

Но там проще, всего лишь выставляем
OutputItemType="Analyzer"


Результат борьбы в виде PR hydrascript прикрепляю

Победил, но какой ценой…
GitHub Refactoring/constants by Stepami · Pull Request #140 · Stepami/hydrascript Related Issues Closes #139 #138
  • 🔥 8
  • ❤ 2
  • 👍 2
  • ❤‍🔥 1
Post #537 3.31K
Вы не знали этот NuGet пакет!

Речь конечно же про Fare, но что эта штука умеет?

Инструмент генерирует строки, под заданное регулярное выражение.
ВНЕЗАПНО, порт джавовской либы, имеет ряд ограничений к регуляркам(

Пример, использования:

using Fare;

var regex = "[a-zA-Z]+";
var xeger = new Xeger(regex);

var text = xeger.Generate();


Очевидно, что применение в тестах - можно генерировать номера телефонов, имейлы, данные по спецификациям.
Есть вариант удобно интегрировать, поскольку пакет включён в AutoFixture.

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

Пример из hydrascript.
Создаём класс-обёртку над строкой, поле размечаем атрибутом [RegularExpression], оттуда будет считываться паттерн.

public record TokenInput(
[property: RegularExpression(TokenInput.Pattern)]
string Value) :
IAdditiveIdentity<TokenInput, TokenInput>,
IAdditionOperators<TokenInput, TokenInput, TokenInput>
{
[StringSyntax(StringSyntaxAttribute.Regex)]
public const string Pattern = "[a-zA-Z]+|[0-9]+|[+]{2}";

public static TokenInput operator +(TokenInput left, TokenInput right) =>
new(left.Value + " " + right.Value);

public static TokenInput AdditiveIdentity { get; } = new(string.Empty);
}


Далее берём автоданные и просим в тест массив от 10 до 25 токенов:

[Theory, AutoData]
public void GetTokens_MockedRegex_ValidOutput(
[MinLength(10), MaxLength(25)] TokenInput[] tokenInputs


Реализацию контрактов System.Numerics сделал для удобного склеивания через LINQ:

var text = tokenInputs.Aggregate(
TokenInput.AdditiveIdentity,
(x, y) => x + y).Value
www.nuget.org Fare 2.2.1 .NET port of dk.brics.automaton - Project Fare is an effort to bring a DFA/NFA (finite-state automata) implementation from Java to .NET. There are quite a few implementations available in other languages today. This project aims to fill the gap in .NET.
  • 👍 14
  • ❤ 4
  • 🔥 4
  • ❤‍🔥 1
Post #536 3.26K
Типичное собеседование в Бигтех
  • 🔥 27
  • 😁 22
  • ❤‍🔥 2
  • ❤ 1
Post #535 3.74K
StepOne | Степан Минин Январь пролетел быстрее билда на девятом дотнете 💨 Месяц выдался продуктивным на канале 📱 запустил StepOne Premium через tribute 📱 Провёл там два эфира: 6 и 22 января 📱 Выпустил айти ремикс дотнеткор 📱 В предпоследний день месяца дропнул видос, но он…
Поздравляю с началом весны!

Март - месяц премий!

Поэтому, номинирую следующие посты:

👩‍💻 Обнаружил баг в Rider

👩‍💻 Выкатил hydrascript 2.1.0

📣 Стал ПК конференции Стачка

👩‍💻 Раздал базы по зарплатным переговорам в Шарпизме

📱 Дропнул 52 созвона
  • ❤ 7
  • ❤‍🔥 4
  • 🔥 4
Post #534 3.8K
StepOne | Степан Минин 📱 две тысячи просмотров на дотнеткоре, спасибо! 50 сердечек ❤️ на этом посте и в конце февраля дропаю новый айти ремикс про созвоны
StepOne - 52 Созвона
(ALBLAK 52 - +7(952)812 Remix)


Максимальные сердечки на пост ❤️

https://youtu.be/kLysty4bwhI
  • ❤ 20
  • 🔥 3
  • 👍 2
  • ❤‍🔥 1
Post #532 4.26K
Настоящий эксперт - это не просто сотрудник, а продукт и бизнес

Вы думали, что жизнь в найме закончена после зарплатного потолка?

Глеб Лукьянов, автор канала Путь Экспансии, расскажет как преодолеть это плато с помощью внедрения маркетинговых механик в свою карьеру

Это не про резюме, не про отклики на вакансии, а про позиционирование себя как продукта, работу с ценностью, конверсией и выход на более высокий уровень дохода

Захват рынка начинается здесь
Telegram Глеб и Карьера Маркетолог, ментор и карьерный хакер Помогаю получить собесы и офферы БЕЗ курсов и консультаций Кейсы с верификацией Служба заботы: @offgleb Стать маркетологом: @lukianovgleb ✔️ Важно прочитать — t.me/gleblukianov/810
  • 👍 3
  • 🔥 3
  • ❤ 2
  • 😁 1
Post #530 3.74K
StepOne | Степан Минин В этом году я состою в Программном Комитете конференции Стачка и отвечаю за секцию C# Приглашаю СтепВанчиков выступить с годным контентом Если у вас только идея, пишите - доработаем и дойдём до доклада Конференция пройдёт в Ульяновске 18-19 апреля, участие…
Напоминаю, что 28 февраля заканчивается приём заявок для выступления на Стачке

Призываю всех проактивных и заинтересованных подать доклад в C# секцию 👇
https://ul25.nastachku.ru/lectures-new

Не стесняйтесь писать в личку, если что-то не получается или не понятно
  • 🔥 4
  • 👍 2
  • ❤‍🔥 1
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →