StepOne | Степан Минин
Заканчивается март, а значит бигтехи начинают рассчитывать годовые премии 🌸 Ну я подсчитал лучшие материалы за первый весенний месяц: 🌹 Самый лучший гайд призывника 🌹 Как внедрять IT системность в свою жизнь 🌹 Убийца Redis и других от Microsoft Research
Всего месяц до лета!
Самое важное за апрель:
🧬 Самый лучший гайд по резюме в IT
🧬 C# обогнал Java по зп пруфы
🧬 Как пройти собес по кафке
🧬 Как пройти собес по микросервисам
Самое важное за апрель:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3❤1🙏1
StepOne | Степан Минин
Закончил писать очередную статью на Хабр Жесть, это будет уже 20-я публикация… 👀 Сделать гайд по Хабру? Выйдет только в начале мая, поговорим о прикладных рецептах троттлинга апишек После этого возьму небольшой перерыв с Хабром до осени - сконцентрируюсь…
RateLimiting Client API
Такого материала нет в интернете, поэтому статья заслуживает плюса➕ как минимум за уникальность
Читать на Хабре👇
https://habr.com/ru/companies/ruvds/articles/804025/
Такого материала нет в интернете, поэтому статья заслуживает плюса
Читать на Хабре👇
https://habr.com/ru/companies/ruvds/articles/804025/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как потреблять API с ограничением по RPS в .NET приложениях
Однажды каждый C# программист получает на работе задачу по разработке интеграции с внешней системой, где ограничена максимальная частота запросов в секунду . Интернет яростно сопротивлялся...
1👍20🔥13❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰23❤6❤🔥1
Заканчиваю магистратуру Высшей школы бизнеса НИУ ВШЭ 🤔
Из плюсов - в вышку приходят с публичными лекциями разные успешные успехи, в словах которых можно найти для себя дельный совет
Например, недавно прошёл public talk с CEO "Делимобиль" Еленой Бехтиной🚘
А для студентов моего направления(Электронный бизнес и цифровые инновации) организовали мастер-класс по трендам финтеха, на котором выступил генеральный директор "сравни.ру" Сергей Леонидов 💵
Обе компании достаточно успешны в своих нишах, и, конечно, они бы такими не были без команды, сделавшей результат
Этот вопрос встаёт перед любым предпринимателем, так что хорошо бы знать хотя бы направление, в котором решать эту задачу
Так вот оба упомянутых спикера транслировали удивительно похожие идеи:
💎 Нанимать идейных с горящими глазами за продукт
💎 Расставаться с заинтересованными в личном финансовом результате
💎 Внушать конкуренцию по типу "мы делаем хорошо, но вот они лучше"
💎 Всегда планировать и ставить цели за рамками физических возможностей (капасити 100%? Пофиг, сделаем 150 и не волнует)
В общем, всё, что я демонизирую на канале, будучи специалистом в найме😥
И вишенкой на торте, в обеих компаниях практикуется инкубатор так называемых "предпринимателей на зарплате"
Во-первых, в этом нет никакого риска - человек не вкладывает никаких ресурсов, кроме собственного времени, и получает денюжку за 8ч 5/2😏
Во-вторых, полностью отсутствует ответственность. Проект делается не под себя, а для дяди, соответственно чуть что пойдёт не так - заменят на другого управленца. А если проект не выгорит, то ничего не будет - можно спокойно и безнаказанно фейлится😱
Как разработчик, ни за что в жизни не пойду к ним на собес)
Но как начинающий предприниматель, скажу:
Блин, это работает, просто посмотрите на их цифры!
Из плюсов - в вышку приходят с публичными лекциями разные успешные успехи, в словах которых можно найти для себя дельный совет
Например, недавно прошёл public talk с CEO "Делимобиль" Еленой Бехтиной
А для студентов моего направления
Обе компании достаточно успешны в своих нишах, и, конечно, они бы такими не были без команды, сделавшей результат
Как строить команду?
Этот вопрос встаёт перед любым предпринимателем, так что хорошо бы знать хотя бы направление, в котором решать эту задачу
Так вот оба упомянутых спикера транслировали удивительно похожие идеи:
В общем, всё, что я демонизирую на канале, будучи специалистом в найме
И вишенкой на торте, в обеих компаниях практикуется инкубатор так называемых "предпринимателей на зарплате"
Сами понимаете, как это звучит...
Во-первых, в этом нет никакого риска - человек не вкладывает никаких ресурсов, кроме собственного времени, и получает денюжку за 8ч 5/2
Во-вторых, полностью отсутствует ответственность. Проект делается не под себя, а для дяди, соответственно чуть что пойдёт не так - заменят на другого управленца. А если проект не выгорит, то ничего не будет - можно спокойно и безнаказанно фейлится
Как разработчик, ни за что в жизни не пойду к ним на собес)
Но как начинающий предприниматель, скажу:
Блин, это работает, просто посмотрите на их цифры!
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴19👍17🔥7❤2
Достаточно оформить подписку на мой бусти с уровнем Lou Bloom или выше
Поскольку там появился базированный собесник, который я составил, провалив десятки собеседований и выписывая свои слабые места
Используя этот собесник, вы сможете пройти не меньше 80% всех технических собесов по
Мне удалось собрать такие материалы, которые достаточно тупо заучить, чтобы казаться профи и стать непобедимым
Даже не нужно понимать, что вы говорите
Гайд доступен на бусти прямо сейчас и будет обновляться со временем
Please open Telegram to view this post
VIEW IN TELEGRAM
boosty.to
StepOne - by Степан Минин
Теперь весь закрытый контент доступен в закрытом телеграм канале StepOne Premium по ссылке https://news.1rj.ru/str/tribute/app?startapp=slOA
👍15🔥7😍3❤🔥2❤1
А как там строки форматировать то?
Форматирование строк в C# можно делать по-разному, причём, в зависимости как от потребностей, так и возможностей
Задача реализации метода😠
Вот, например, если вам нужно вывести куда-то номер телефона в красивом виде
То забудьте про разбиение числа на цифры, нарезку слайсов из получившегося массива и так далее.
Всё просто, ребятки:
Как вы поняли, циферки вот так элегантно подставляются на место решёточек🤩
Бывают случаи, когда нужно очень тонко настроить сериализацию чисел.
Группировочки всякие расставить, разделители по желанию заказчика...
Тогда, отдельно взятый кодер может упороться и начать писать алгоритм расчёта десятков или чего-нибудь ещё🙄
А всего-то, надо просто знать про существование класса
Видел неоднократно в кодовых базах коммерческих проектов, когда при необходимости вывести строкой дату, начинаются приседания в духе - части даты отдельно, чтобы между ними поставить разделитель, и ещё положим тут словарик какой-нибудь для локализации😫
Вывод: учите базу(MSDN) :
Форматирование строк в C# можно делать по-разному, причём, в зависимости как от потребностей, так и возможностей
Задача реализации метода
ToString может посоревноваться в сложности с выбором названия переменной Вот, например, если вам нужно вывести куда-то номер телефона в красивом виде
+7 (905) 123-45-67
То забудьте про разбиение числа на цифры, нарезку слайсов из получившегося массива и так далее.
Всё просто, ребятки:
long msisdn = 79051234567;
string phoneNumberFormatted = $"{msisdn:+# (###) ###-##-##}";
Как вы поняли, циферки вот так элегантно подставляются на место решёточек
Бывают случаи, когда нужно очень тонко настроить сериализацию чисел.
Группировочки всякие расставить, разделители по желанию заказчика...
Тогда, отдельно взятый кодер может упороться и начать писать алгоритм расчёта десятков или чего-нибудь ещё
А всего-то, надо просто знать про существование класса
NumberFormatInfo, где есть всё необходимое:decimal someAmount = 1234.5678m;
var nfi = new NumberFormatInfo
{
NumberGroupSeparator = " ",
NumberDecimalSeparator = ",",
NumberDecimalDigits = 3,
};
var someAmountFormatted = someAmount.ToString("N", nfi); // 1 234,568
Видел неоднократно в кодовых базах коммерческих проектов, когда при необходимости вывести строкой дату, начинаются приседания в духе - части даты отдельно, чтобы между ними поставить разделитель, и ещё положим тут словарик какой-нибудь для локализации
Вывод: учите базу
var date = new DateTime(2024, 05, 10);
var ru = CultureInfo.GetCultureInfo("ru-RU");
var dateFormatted = date.ToString("dd MMMM yyyy", ru); // 10 мая 2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍49🔥7❤2
[MethodImpl(MethodImplOptions.AggressiveInlining)]
В одном из комментариев к своим постам я увидел сниппет кода с указанным атрибутом выше 👆
Стало любопытно, а что это такое
Оказалось, что C# умеет автоматически инлайнить методы в рамках оптимизации кода
Об этом хорошо написано Сергеем Тепляковым в Microsoft DevBlog
Правда для этого, компилятору ещё нужно решить, что можно, а что нельзя
И вот этот атрибут снимает ограничение на размер метода, который можно оптимизировать
Наглядное сравнение производительности хорошо показано в этой статье на Хабре
Знать это конечно же не надо, но очень захотелось поделиться, как я упал в кроличью нору dotnet документации
Please open Telegram to view this post
VIEW IN TELEGRAM
Microsoft News
A common execution path optimization
Today I want to talk about one interesting optimization pattern that you may face in framework code or in high-performance libraries. The idea is simple: suppose you have a commonly used method that has two execution paths – one is very common and simple,
👍12🔥5❤1
Попал в шорт-лист "Технотекст 2023" со статьёй "Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C#"
https://habr.com/ru/companies/habr/articles/814357/
https://habr.com/ru/companies/habr/articles/814357/
Хабр
Шорт-листы «Технотекста 2023»: достойные из достойных
Мы получили 1022 заявки, приняли из них 918, в шорт‑листы попало более 300 статей. Точной цифры по шорт‑листам нет неслучайно: поскольку наш естественный интеллект это вам...
👍16🔥8🤩3
Маскирование secure данных в логах 💳
Эта проблема особенно актуальна для финтехов, потому что из кафки в базу то и дело гоняются джсончики с номерами карт и cvv💳
Могу дать две наводки, чтобы избежать велосипедостроения, можете не благодарить❤️
Если вы вдруг, используете Serilog, то обратите внимание на Serilog.Enrichers.Sensitive
Эта надстройка позволяет очень гибко настроить перехват и обработку секретных данных
Например, можно банально маскировать по имени свойства:
Воспользоваться решением из джентельменского набора Microsoft под названием Microsoft.Extensions.Compliance.Redaction
Там немного другой подход из коробки - данные либо вычищаются, либо заменяются своей HMAC256 зашифрованной версией
Подробный обзор на инструмент хорошо написал Andrew Lock, повторять за ним не буду👏
Эта проблема особенно актуальна для финтехов, потому что из кафки в базу то и дело гоняются джсончики с номерами карт и cvv
Могу дать две наводки, чтобы избежать велосипедостроения, можете не благодарить
Первая
Если вы вдруг, используете Serilog, то обратите внимание на Serilog.Enrichers.Sensitive
Эта надстройка позволяет очень гибко настроить перехват и обработку секретных данных
Например, можно банально маскировать по имени свойства:
var logger = new LoggerConfiguration()
.Enrich.WithSensitiveDataMasking(options => options.MaskProperties.Add("pan"))
.WriteTo.Console()
.CreateLogger();
Вторая
Воспользоваться решением из джентельменского набора Microsoft под названием Microsoft.Extensions.Compliance.Redaction
Там немного другой подход из коробки - данные либо вычищаются, либо заменяются своей HMAC256 зашифрованной версией
Подробный обзор на инструмент хорошо написал Andrew Lock, повторять за ним не буду
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - serilog-contrib/Serilog.Enrichers.Sensitive: A Serilog LogEvent enricher that masks sensitive data
A Serilog LogEvent enricher that masks sensitive data - serilog-contrib/Serilog.Enrichers.Sensitive
👍28🔥7❤2❤🔥1🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥18👍11🔥7
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🤩5❤🔥1😍1
StepOne | Степан Минин
Всего месяц до лета! Самое важное за апрель: 🧬 Самый лучший гайд по резюме в IT 🧬 C# обогнал Java по зп пруфы 🧬 Как пройти собес по кафке 🧬 Как пройти собес по микросервисам
Вот и лето пришло!
Предварительные итоги мая:
♻️ Уникальный гайд по RateLimiting внешнего API
♻️ Рефлексия о бизнес-мышлении
♻️ Гайд по вопросам сишарп собеседований (материалы для подготовки)
Предварительные итоги мая:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3❤1
С чего начинался StepOne [1/3]
Расскажу подробно о себе, своём пути и в конце немного поделюсь планами
Отправной точкой считаю альмаматер любимую бомоночку 🥰
Так уж вышло, что с 14 лет по вечерам ходил туда в закрытую школу, где меня готовили к исследовательской деятельности, а кульминацией должно было стать участие в форуме «Шаг в будущее»
Который тогда был всероссийским, а сейчас стал международным🤯
За 4 года подготовили так хорошо, что в 2018 году я его выиграл🥇
А через год вернулся туда в качестве молодёжного жюри и даже толкнул пламенную речь, но из-за неполадок микрофона и моего высокого роста вышло не очень)
Наградой за эту ошеломительную победу стала ответственность представлять Россию на Стокгольмском международном молодежном научном семинаре (SIYSS 2018)
Так что уже в декабре 2018 я оказался в Швеции и прожил одну из лучших недель
✅ Познакомился с кучей крутых ребят со всего мира и флексил со студентами Гарварда и Стенфорда
✅ Побывал на церемонии вручения Нобелевской премии, где самый строгий дресс-код в мире - white tie
✅ Получил опыт публичного спикерства на английском языке
В прямом смысле слова тусил с Нобелевскими лауреатами и высокопоставленными чинами западного мира💪
С одной стороны, иногда жалею, что не пошёл в науку, потому что это единственный способ закрепиться в тех кругах
С другой стороны, оглядываясь назад, понимаю, что это было бы крайне тяжело осуществимо, учитывая крупные события 20-х годов)
В любом случае, я счастлив, что этот опыт у меня есть
Однако, дальше было интереснее)
В 2018 встал вопрос обучения
Естественно, я собрался учиться в МГТУ
Оказалось, что победа на форуме «Шаг в будущее» не даёт никаких привилегий - пришлось поступать по баллам ЕГЭ
И мне не хватило на бюджет туда, где дают лучшее IT образование в России...
Ставь реакты и пиши комменты, если хочешь продолжения
Настало время погрузить вас в StepOne lore
Расскажу подробно о себе, своём пути и в конце немного поделюсь планами
Отправной точкой считаю альмаматер любимую бомоночку 🥰
Так уж вышло, что с 14 лет по вечерам ходил туда в закрытую школу, где меня готовили к исследовательской деятельности, а кульминацией должно было стать участие в форуме «Шаг в будущее»
Который тогда был всероссийским, а сейчас стал международным
За 4 года подготовили так хорошо, что в 2018 году я его выиграл🥇
А через год вернулся туда в качестве молодёжного жюри и даже толкнул пламенную речь, но из-за неполадок микрофона и моего высокого роста вышло не очень)
Наградой за эту ошеломительную победу стала ответственность представлять Россию на Стокгольмском международном молодежном научном семинаре (SIYSS 2018)
Так что уже в декабре 2018 я оказался в Швеции и прожил одну из лучших недель
В прямом смысле слова тусил с Нобелевскими лауреатами и высокопоставленными чинами западного мира
С одной стороны, иногда жалею, что не пошёл в науку, потому что это единственный способ закрепиться в тех кругах
С другой стороны, оглядываясь назад, понимаю, что это было бы крайне тяжело осуществимо, учитывая крупные события 20-х годов)
В любом случае, я счастлив, что этот опыт у меня есть
Однако, дальше было интереснее)
В 2018 встал вопрос обучения
Естественно, я собрался учиться в МГТУ
«Москва Гуляет а Ты Учишься»🤩
Оказалось, что победа на форуме «Шаг в будущее» не даёт никаких привилегий - пришлось поступать по баллам ЕГЭ
И мне не хватило на бюджет туда, где дают лучшее IT образование в России...
Ставь реакты и пиши комменты, если хочешь продолжения
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36❤9❤🔥5👍4