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
МОКИРУЕМ ADO NET РЕБЯТА 😱
Иногда хочется просто написать мужицкий SQL запрос без всяких ORM
Но вот незадача, несмотря на наличие абстракций по типу DbConnection, DbCommand и так далее
Не понятно, как такой код тестировать - как будто только интеграционники, и тут их адепты могут начать плясать с радостной пеной у рта
Но не тут было: на просторах GitHub нашлась библиотека, которая решает проблему
Например, есть сервис, который сравнивает кол-во строк в двух таблицах
Тогда замокировать можно следующим образом:
Товарищу предлагаю накинуть звёзд
Иногда хочется просто написать мужицкий SQL запрос без всяких ORM
Но вот незадача, несмотря на наличие абстракций по типу DbConnection, DbCommand и так далее
Не понятно, как такой код тестировать - как будто только интеграционники, и тут их адепты могут начать плясать с радостной пеной у рта
Но не тут было: на просторах GitHub нашлась библиотека, которая решает проблему
Например, есть сервис, который сравнивает кол-во строк в двух таблицах
Тогда замокировать можно следующим образом:
var mockDbConnection = new MockDbConnection();
mockDbConnection.Mocks
.When(cmd => cmd.CommandText.Contains("count(*) from t1"))
.ReturnsTable(
MockTable.WithColumns("Count")
.AddRow(1));
mockDbConnection.Mocks
.When(cmd => cmd.CommandText.Contains("count(*) from t2"))
.ReturnsTable(
MockTable.WithColumns("Count")
.AddRow(2));
Товарищу предлагаю накинуть звёзд
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Apps72/DbMocker: Data Mocker for C# DbConnection
Data Mocker for C# DbConnection. Contribute to Apps72/DbMocker development by creating an account on GitHub.
🔥17👍6❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Мы знаем, что делать, если омерика отключит погромирование
😁16👍2❤1🔥1🤩1
StepOne | Степан Минин
Контроль архитектуры компилятором вместо тестов Наконец-то окончательно завершён многолетний рефакторинг моего интерпретатора - архитектура настолько проработана, хороша и не противоречива, насколько это возможно и задумывалось изначально ООП, DDD, Clean…
Directory.Build.props и CPM - это 🟢
После рефакторинга hydranoscript в solution появилось 6 проектов исходников
После выделения интеграционников тестовых проектов стало 2
Когда добавил автоматизацию через Source Generator ещё плюс 2 проекта
Естественно, захотелось обобщить конфигурацию, чтобы написать один раз xml разметку и почивать на лаврах:
В дотнет есть решения из коробки на все случаи жизни, так что платформа позволяет написать один раз шаблон проекта и пользоваться
Почитать про работу пропсов можно тут 👉 https://blog.ndepend.com/directory-build-props/
Помимо этого, оказывается, есть удобный централизованный менеджмент пакетов (CPM), про него писал Евгений @epeshkblog вот тут 👉 https://news.1rj.ru/str/epeshkblog/183
Кстати, что интересно если в Rider ставить новую либу - она автоматом в Directory.Packages.props заезжает!
Все эти прелести разработки заехали в репу hydranoscript благодаря моему подписчику Расиму @Keyros_z
Большое спасибо ❤️
Посмотреть PR можно по ссылке 👉 https://github.com/Stepami/hydranoscript/pull/113
После рефакторинга hydranoscript в solution появилось 6 проектов исходников
После выделения интеграционников тестовых проектов стало 2
Когда добавил автоматизацию через Source Generator ещё плюс 2 проекта
Естественно, захотелось обобщить конфигурацию, чтобы написать один раз xml разметку и почивать на лаврах:
<Project>
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
</Project>
В дотнет есть решения из коробки на все случаи жизни, так что платформа позволяет написать один раз шаблон проекта и пользоваться
Почитать про работу пропсов можно тут 👉 https://blog.ndepend.com/directory-build-props/
Помимо этого, оказывается, есть удобный централизованный менеджмент пакетов (CPM), про него писал Евгений @epeshkblog вот тут 👉 https://news.1rj.ru/str/epeshkblog/183
Все эти прелести разработки заехали в репу hydranoscript благодаря моему подписчику Расиму @Keyros_z
Большое спасибо ❤️
Посмотреть PR можно по ссылке 👉 https://github.com/Stepami/hydranoscript/pull/113
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Добавлен Directory.Build.props +semver:skip by Keyros · Pull Request #113 · Stepami/hydranoscript
Denoscription
Перешли на CPM.
Начали использовать Directory.Build.props.
Удалили ссылку на System.Text.Json из HydraScript.Infrastructure.LexerRegexGenerator.
Related Issues
#74 #112
Checklist:
I...
Перешли на CPM.
Начали использовать Directory.Build.props.
Удалили ссылку на System.Text.Json из HydraScript.Infrastructure.LexerRegexGenerator.
Related Issues
#74 #112
Checklist:
I...
🔥11👍4😁2❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34❤🔥9❤4🔥3😁1
StepOne | Степан Минин
Главный итог сентября
На что обратить внимание из октябрьского?
🥇 Обходим ограничения Source Generators
📱 W Youtube ролик
🌎 DbMocker, must install
🔄 Улучшаем .csproj двумя дедовскими методиками и ещё пакет не забываем, ага
Напишите в комментах - зарядить ли на Хабр текстовые версии сентябрьских докладов?
Напишите в комментах - зарядить ли на Хабр текстовые версии сентябрьских докладов?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥1❤1
🔥 Всем привет! Приглашаю вас на Merge в Сколково 15–16 ноября, где я, Степан Минин, расскажу, как получить оффер за ваше резюме на 600к в секунду! Мой доклад «Резюме 600к в секунду. Рецепт прагматика» — это реальный взгляд на прагматичный подход к поиску работы. Поделюсь рецептом, как Dev/SA/QA/PM и другим IT специалистам написать резюме так, чтобы HR их отобрали и предложили зарплату выше рынка!
Merge — это масштабная IT-конфа, где более 150 экспертов и 2000 участников из разных сфер собираются, чтобы делиться свежими идеями и рабочими лайфхаками. 30 секций, море общения и тренды, которые нельзя пропустить.
🎟 А у меня для вас промокод MININ — он даст вам 20% скидку на участие! Присоединяйтесь и приходите за вдохновением и новыми инструментами для работы. Увидимся на Merge в Сколково! Забирайте билет по ссылке: https://skolkovo2024.mergeconf.ru/#tickets
Merge — это масштабная IT-конфа, где более 150 экспертов и 2000 участников из разных сфер собираются, чтобы делиться свежими идеями и рабочими лайфхаками. 30 секций, море общения и тренды, которые нельзя пропустить.
🎟 А у меня для вас промокод MININ — он даст вам 20% скидку на участие! Присоединяйтесь и приходите за вдохновением и новыми инструментами для работы. Увидимся на Merge в Сколково! Забирайте билет по ссылке: https://skolkovo2024.mergeconf.ru/#tickets
skolkovo2024.mergeconf.ru
IT-конференция Merge в Сколково
Профессиональная межрегиональная IT-конференция | 15-16 ноября 2024, Технопарк Сколково
🔥11❤1👍1
StepOne | Степан Минин
МОКИРУЕМ ADO NET РЕБЯТА 😱 Иногда хочется просто написать мужицкий SQL запрос без всяких ORM Но вот незадача, несмотря на наличие абстракций по типу DbConnection, DbCommand и так далее Не понятно, как такой код тестировать - как будто только интеграционники…
Мой первый контрибут в чужой гитхаб
А вот и не всесильна библиотека оказалась
На работе использовал её для написания тестов
Но вот незадача, поскольку я использую
Именно в этом методе автор либы решил не заполнять входной параметр
Хорошо что этот source сейчас open, так что сделал PR для исправления ситуации
Посмотрим, как быстро вопрос решится)
https://github.com/Apps72/DbMocker/pull/35
А вот и не всесильна библиотека оказалась
На работе использовал её для написания тестов
Но вот незадача, поскольку я использую
GetBytes по соображениям производительности и требованиям к функционалу замокировать БД не получаетсяИменно в этом методе автор либы решил не заполнять входной параметр
bufferХорошо что этот source сейчас open, так что сделал PR для исправления ситуации
Посмотрим, как быстро вопрос решится)
https://github.com/Apps72/DbMocker/pull/35
GitHub
1.24.0 - implementation of GetBytes method by Stepami · Pull Request #35 · Apps72/DbMocker
The other day i was working on a tool that performs hashing of the data with the DB engine.
It does so by executing a SQL noscript, i.e. for PostgreSQL:
select sha512(...) from my_schema.my_table
Th...
It does so by executing a SQL noscript, i.e. for PostgreSQL:
select sha512(...) from my_schema.my_table
Th...
🔥12👍8❤3
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🤩3❤1
Хочется вернуть сторисы на канал, чтобы радовать вас новыми эдитами и шортсами в тележке
Накидайте голосов пожалуйста
https://news.1rj.ru/str/steponeit?boost
Накидайте голосов пожалуйста
https://news.1rj.ru/str/steponeit?boost
Telegram
StepOne | Степан Минин
Проголосуйте за канал, чтобы он получил больше возможностей.
❤🔥6👍4😁2🤩2❤1🔥1
Напоминаю, что у меня есть сайд-проект Четыре Плюса, где можно сказать ВСЁ, что вы думаете о ДЖАВИСТАХ
Веду канал совместно с Папочкой Дотнета и Несерьёзным Шарпистом
В поисках четвёртого плюса
https://news.1rj.ru/str/csharpcommon
Веду канал совместно с Папочкой Дотнета и Несерьёзным Шарпистом
В поисках четвёртого плюса
https://news.1rj.ru/str/csharpcommon
Telegram
Четыре плюса
Джава для пидоров
В поисках четвертого плюса
В поисках четвертого плюса
👍9❤2🔥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
Здесь имбово-подробнейшая схема работы каждого элемента
По архитектурам есть GPT-2, nanoGPT, GPT-2 XL, ну и GPT-3
Ссылка - https://bbycroft.net/llm
🔥13👍6❤2