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
StepOne | Степан Минин
МОКИРУЕМ ADO NET РЕБЯТА 😱 Иногда хочется просто написать мужицкий SQL запрос без всяких ORM Но вот незадача, несмотря на наличие абстракций по типу DbConnection, DbCommand и так далее Не понятно, как такой код тестировать - как будто только интеграционники…
Мой первый контрибут в чужой гитхаб

А вот и не всесильна библиотека оказалась

На работе использовал её для написания тестов

Но вот незадача, поскольку я использую GetBytes по соображениям производительности и требованиям к функционалу замокировать БД не получается

Именно в этом методе автор либы решил не заполнять входной параметр buffer

Хорошо что этот source сейчас open, так что сделал PR для исправления ситуации

Посмотрим, как быстро вопрос решится)

https://github.com/Apps72/DbMocker/pull/35
🔥12👍83
StepOne | Степан Минин
Напишите в комментах, чем вы занимаетесь в рабочее время вместо задач 😐
Напишите в комментах, чем вы занимаетесь в свободное время 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤩2🔥1
StepOne | Степан Минин
Photo
This media is not supported in your browser
VIEW IN TELEGRAM
Знаменитый bigtech продолжает пробивать дно своей кринжатиной…

Удивительно, как только я выложил этот мем, то сразу на глаза попалось это видео от сотрудницы Шмандекс Няркета
😁19🤩4
Обожаю эти рассказы про оптимизации 🤵‍♂

Тут на Хабре мужик на полном серьёзе выдал:
А давайте проектировать составные типы данных не привычным для всех образом в виде структур, а в виде структуры массивов


Ну то есть есть у вас моделька "Сотрудник" с полями "айди", "зарплата", "имя"

И вместо привычного:
record Employee(long Id, decimal Salary, string Name);


Вы такие внезапно:
class Employees
{
public long[] Ids { get; set; }

public decimal[] Salaries { get; set; }

public string[] Names { get; set; }
}


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

Так реально кто-то в продакшене писать будет???
Ставлю на пополнение коллекции безумных задач для собесов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😁8🤩31
Хочется вернуть сторисы на канал, чтобы радовать вас новыми эдитами и шортсами в тележке

Накидайте голосов пожалуйста

https://news.1rj.ru/str/steponeit?boost
❤‍🔥6👍4😁2🤩21🔥1
Напоминаю, что у меня есть сайд-проект Четыре Плюса, где можно сказать ВСЁ, что вы думаете о ДЖАВИСТАХ

Веду канал совместно с Папочкой Дотнета и Несерьёзным Шарпистом

В поисках четвёртого плюса

https://news.1rj.ru/str/csharpcommon
👍92🔥1😍1
This media is not supported in your browser
VIEW IN TELEGRAM
Прикиньте, тут завезли визуализатор псевдоИИ, который реально ультует...

Здесь имбово-подробнейшая схема работы каждого элемента

По архитектурам есть GPT-2, nanoGPT, GPT-2 XL, ну и GPT-3

Ссылка - https://bbycroft.net/llm
🔥13👍62
StepOne | Степан Минин
А как там строки форматировать то? Форматирование строк в C# можно делать по-разному, причём, в зависимости как от потребностей, так и возможностей Задача реализации метода ToString может посоревноваться в сложности с выбором названия переменной 😠 Вот,…
NUT 🤨

В мире финтеха часто возникают задачи, когда сумму в числовом виде надо перевести в строку

Например, мы хотим некую функцию Translate вида:
Translate(100m).Should().Be("Сто рублей ноль копеек");


И я готов вам предложить solid choice, просто C# Github Hidden Gem

под названием NUT (numbers to text)

Поддерживает несколько валют и языков, и имеет богатый набор опций:
using Nut;

Console.WriteLine(100m.ToText("rub", "ru", new Options { MainUnitFirstCharUpper = true });
// Сто рублей ноль копеек


Предлагаю накидать внеочередных звёзд товарищу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥64
Секция «Инновации в HR-процессах» на IT-конференции Merge в Сколково

Эта секция станет настоящим магнитом для всех, кто стремится к совершенствованию работы с персоналом в IT-индустрии! Вас ждут доклады ведущих экспертов, практические кейсы и вдохновляющие идеи, которые помогут вам привлечь, удержать и мотивировать лучших специалистов.

🔹Покоряя новые горизонты HR-брендинга через Al, видеомаркетиг и внутренних амбассадоров
Александра Веретено, руководитель Neurobusiness VRTN, расскажет, как современные технологии помогают в создании сильного HR-бренда и вовлечении сотрудников.

🔹ИИ-революция в HR
Алексей Маркелов, СЕО NeuroHub, погрузит вас в мир искусственного интеллекта и его влияние на HR-процессы.

🔹Секреты успешной мотивации IT специалистов: как сохранить и привлекать таланты v.2.0
Юлия Патрушева, HR BP, поделится новыми подходами к мотивации IT-специалистов и о том, как удерживать таланты в условиях высокой конкуренции.

🔹Резюме 600к в секунду. Рецепт прагматика
Степан Минин, основатель канала StepOne, поделится своими секретами быстрой и эффективной обработки резюме.

🔹Как executive search может решать сразу несколько задач ИТ-бизнеса
Елена Спиридонова, HR Director CUSTIS, обсудит, как правильный подход к executive search может помочь бизнесу решать несколько задач одновременно.

🔹Как компании вовлекают айтишников в работу над IT-брендом
Ирина Лосева, ведущий редактор-эксперт Хабр, расскажет о лучших практиках вовлечения IT-специалистов в развитие корпоративного бренда.

Познакомьтесь с лидерами мнений в области HR и получите практические инструменты для улучшения HR-процессов в вашей компании!

🎟 Купить билет

🗣 Спикеры
👍3🔥21
Media is too big
VIEW IN TELEGRAM
Запись вчерашнего выступления!

Скидывайте всем подряд, даже Лесе Набоке 😁

Может быть тогда на меня снимут разоблачение или пригласят на подкаст…

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

А вас, дорогие подписчики, я попрошу поделиться своим резюме в комментариях здесь или мне в личку @ststphn

Потому что в скором времени будет совместный стрим с Анатолием @overrideTech, где ваши CV будут прожарены)

Естественно, все персональные данные обезличим

0:00 - вступление
2:43 - прожарка рекрутинга
15:00 - заполнение резюме
31:52 - вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍18🔥43
Я большой фанат серии игр S.T.A.L.K.E.R.

2007 стоит вернуть, хотя бы для того, чтобы заново пройти Тени Чернобыля в первый раз)

И вот недавно в реках ютуба наткнулся на такой интересный видос, который объясняет архитектуру и принципы работы его системы игрового искусственного интеллекта A-Life

Видос мне зашёл, потому что он в какой-то степени и для программистов)

Там есть всякие вставки кода, автоматы (state machine), алгоритмы и так далее

В общем, прям захотелось почитать исходники X-Ray Engine...
🔥13👍61
dotnet console

Бывает такое на работе, что надо потестить какое-нибудь решение: алгоритм, библиотеку не важно

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

Но как пользователь Rider столкнулся, судя по всему, с последствиями санкций

Когда в очередной раз хотел создать солюшн полигон через UI, то получил ошибку:
Error updating templates


Ну видимо, корпоративная сеть, все дела

И тут я вспомнил, что вообще-то в старом добром терминале всё есть - и создание проектов, и миллион шаблонов

Решил дропнуть сюда простенький скрипт для создания такого полигона из CLI:
mkdir TestSpace
cd TestSpace

dotnet new sln

mkdir ConsoleApp
cd ConsoleApp

dotnet new console
cd ..
dotnet sln .\TestSpace.sln add .\ConsoleApp\ConsoleApp.csproj


Ну а про другие шаблоны можно прочитать тут 👉 https://learn.microsoft.com/ru-ru/dotnet/core/tools/dotnet-new-sdk-templates
👍162🔥1😁1
официальный лор StepOne
😁44🔥32🤩1
Как я познакомился с xUnit DI

В xUnit есть классный инструментарий для создания разделяемого контекста между тестами с разным временем жизни - https://xunit.net/docs/shared-context

Если кто-то читал исходники интеграционных тестов hydranoscript, то мог заметить, что там я использую IClassFixture<>

Силами фреймворка экземпляр класса контекста пропихивается в конструктор класса тестов, реализующих указанный интерфейс

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

Приходилось писать руками бойлерплейт:
1. Запросить ITestOutputHelper в конструкторе тестового класса
2. Передать в fixture.GetRunner

Однако, я познакомился с библиотекой Xunit.DependencyInjection, которая решает эту проблему добавляя DI для этих самых контекстов

Получилось очень хитрое решение, убравшее бойлерплейт - TestHostFixture
Ну а PR отрисуется чуть ниже 👇
👍5🔥31
Выйдя из военкомата, захотелось сообщить важную новость

С этого дня открываю постоянную рубрику гостевых постов

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

Это предложение для тех, кому нужна площадка для публикации, не такая токс как Хабр, когда хотелось попробовать, но идей только на один пост или нужна простая проба пера


Всем StepOne, конец связи 🤝
👍26🔥31
7😁43🤩11👍1🔥1