Какой же ужасный дизайн у драйвера монги для дотнета
Вы только вдумайтесь, регистрация сериализаторов производится в статический словарик, из-за чего нужно специально размещать её в самый старт приложения.
Цитата:
"It is very important that the registration of class maps occur prior to them being needed. The best place to register them is at app startup prior to initializing a connection with MongoDB"
Может монгу стоит использовать только в консольных приложениях, что думаете?
Вы только вдумайтесь, регистрация сериализаторов производится в статический словарик, из-за чего нужно специально размещать её в самый старт приложения.
Цитата:
"It is very important that the registration of class maps occur prior to them being needed. The best place to register them is at app startup prior to initializing a connection with MongoDB"
Может монгу стоит использовать только в консольных приложениях, что думаете?
🤔1🤯1🥴1
Подписчик на консультации расспрашивал меня про функциональное программирование
В результате, возникла идея написать статью про один из основных аспектов в ФП.
В ней разложил по полочкам всё об ad-hoc полиморфизме и type class'ах с подробными примерами на C#.
С меня, как обычно, годный контент - с вас прочтение и плюс ➕
P.S. Обложку сгенерировал Kandinsky
В результате, возникла идея написать статью про один из основных аспектов в ФП.
В ней разложил по полочкам всё об ad-hoc полиморфизме и type class'ах с подробными примерами на C#.
С меня, как обычно, годный контент - с вас прочтение и плюс ➕
P.S. Обложку сгенерировал Kandinsky
Хабр
Ad-hoc-полиморфизм и паттерн type class в C#
Эта статья объясняет, что такое ad-hoc-полиморфизм, какие проблемы он решает и как вообще его реализовать, используя паттерн type class на языке программирования C#. ▍ Виды полиморфизмов Оказывается,...
🔥11👍6❤🔥1🙏1
IT-компании не могут ничего дать кроме зарплаты 🤯
Вы когда-нибудь задумывались о том, что найму в России особо нечего предложить разработчикам?
Только вдумайтесь, на нашем рынке нет даже такой базовой вещи, как welcome bonus.
Где элементарная благодарность за принятие оффера?
Уже молчу о том, что опционные программы либо отсутствуют, либо с недавних пор превратились в тыкву.
В мёдом намазанном Яндексе, например, их конвертировали в обычные премии (читай «кормёжку завтраками»).
Ну а про опционы mindbox, которые зависят от выхода компании на американский рынок через 5 лет, просто смешно слушать по понятным причинам.
ДМС, курсы и прочая шелуха в большинстве случаев - просто пыль в глаза.
Это не конвертируется в деньги.
Так что ниже трёхсот на миддла не соглашаемся ни при каких обстоятельствах 💪
Вы когда-нибудь задумывались о том, что найму в России особо нечего предложить разработчикам?
Только вдумайтесь, на нашем рынке нет даже такой базовой вещи, как welcome bonus.
Где элементарная благодарность за принятие оффера?
Уже молчу о том, что опционные программы либо отсутствуют, либо с недавних пор превратились в тыкву.
В мёдом намазанном Яндексе, например, их конвертировали в обычные премии (читай «кормёжку завтраками»).
Ну а про опционы mindbox, которые зависят от выхода компании на американский рынок через 5 лет, просто смешно слушать по понятным причинам.
ДМС, курсы и прочая шелуха в большинстве случаев - просто пыль в глаза.
Это не конвертируется в деньги.
Так что ниже трёхсот на миддла не соглашаемся ни при каких обстоятельствах 💪
👍22🔥5😁5💯2👏1
Поздравляю всех с Днём Знаний 🥳
Решил попробовать новый формат, поэтому держите дайджест лучших постов августа:
👉 Разбор кейса Авито
👉 Разоблачение мифологии грейдов
👉 Крик души про русский IT
Решил попробовать новый формат, поэтому держите дайджест лучших постов августа:
👉 Разбор кейса Авито
👉 Разоблачение мифологии грейдов
👉 Крик души про русский IT
👍9❤🔥2❤2
Прекратите спрашивать алгоритмы на собеседованиях 🤬
Для наших ремесленных задач в индустрии - это оверхед, приправленный шизоидным бредом.
Вот как приступаешь к разработке чего-то более серьёзного вроде СУБД, ОС или компилятора, там уже это решает.
А так, опыт работы с определёнными задачами и на определённых проектах в любом случае отпечатывается и все сопутствующие навыки автоматом вырабатываются.
Это чувствуется в кандидате, ни с чем не перепутаешь.
Бекендеры двигают JSONы, фронты красят кнопки - серьёзно, ребят, ну какие алгоритмы?
Для наших ремесленных задач в индустрии - это оверхед, приправленный шизоидным бредом.
Вот как приступаешь к разработке чего-то более серьёзного вроде СУБД, ОС или компилятора, там уже это решает.
А так, опыт работы с определёнными задачами и на определённых проектах в любом случае отпечатывается и все сопутствующие навыки автоматом вырабатываются.
Это чувствуется в кандидате, ни с чем не перепутаешь.
Бекендеры двигают JSONы, фронты красят кнопки - серьёзно, ребят, ну какие алгоритмы?
🔥35💯14😁4👍2❤1😢1🤩1🙏1
HR не нужны? 🤔
Когда в последний раз искал работу, со мной чуть не случился самый крутой найм в жизни.
Сижу, спокойно работаю.
Как вдруг, звонит телефон.
Поднимаю трубку, со мной говорит руководитель продуктового направления одного средних размеров банка.
И без всяких скринингов сразу рассказывает что за продукт, какая команда, чем занимаются, чем дышат, при этом им нужен как раз такой специалист как я.
После скидывает материалы по продукту и предлагает познакомиться с командой, если меня это заинтересует.
К сожалению, из-за разных неприемлемых бюрократических моментов решил туда не идти.
Однако, вывод в том, что такой точечный найм продаёт гораздо больше, потому что есть чёткое понимание куда, зачем и для чего.
А, ну и ещё без алгоритмов конечно же, хе-хе.
Так что, руководителям остаётся только научится самостоятельно искать резюме, и тогда HR отделы можно сокращать.
Когда в последний раз искал работу, со мной чуть не случился самый крутой найм в жизни.
Сижу, спокойно работаю.
Как вдруг, звонит телефон.
Поднимаю трубку, со мной говорит руководитель продуктового направления одного средних размеров банка.
И без всяких скринингов сразу рассказывает что за продукт, какая команда, чем занимаются, чем дышат, при этом им нужен как раз такой специалист как я.
После скидывает материалы по продукту и предлагает познакомиться с командой, если меня это заинтересует.
К сожалению, из-за разных неприемлемых бюрократических моментов решил туда не идти.
Однако, вывод в том, что такой точечный найм продаёт гораздо больше, потому что есть чёткое понимание куда, зачем и для чего.
А, ну и ещё без алгоритмов конечно же, хе-хе.
Так что, руководителям остаётся только научится самостоятельно искать резюме, и тогда HR отделы можно сокращать.
👍18🤯4🤔1😱1
Консультировал подписчика, переходящего из Java в C#.
В процессе диалога пришли к мысли, что если Java всегда был отстающей версией C#, то сейчас C# кажется отстающей версией Kotlin. А кто на ваш взгляд сейчас правит балом в бекенде?
В процессе диалога пришли к мысли, что если Java всегда был отстающей версией C#, то сейчас C# кажется отстающей версией Kotlin. А кто на ваш взгляд сейчас правит балом в бекенде?
Anonymous Poll
27%
Java
60%
C#
13%
Kotlin
🤯4🤔1🤩1🥴1
Forwarded from Стачка [официальный канал]
— Александр Белоцерковский — евангелист-архитектор VK Tech;
— Сергей Васильев — Head of DevRel PVS-Studio LLC;
— Степан Минин — ведущий разработчик C#, входит в топ-30 лучших авторов про C# на Хабр;
— Сергей Банников — руководитель группы K2TEХ.
Узнайте почему коробочный Json сериализатор платформы ушёл вперёд семимильными шагами, о способах атаки и защиты приложений и чего точно нельзя делать, когда работаешь с Open Source-коммьюнити.
Решение есть - все #nastachku!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍2🤯2❤1
StepOne | Степан Минин
Какой же ужасный дизайн у драйвера монги для дотнета Вы только вдумайтесь, регистрация сериализаторов производится в статический словарик, из-за чего нужно специально размещать её в самый старт приложения. Цитата: "It is very important that the registration…
Не так давно писал про MongoDB
Собственно, ситуация возникла у подписчика, с чем он пришёл ко мне на консультацию.
У него на проекте из-за создания нескольких веб приложений в одном процессе, упало исключение о том, что сериализатор уже зарегистрирован.
Проблема возникла из-за регистрации bson мапперов и сериализаторов DI методами.
Решение нужно было в моменте, поэтому предложил использовать статический конструктор класса
Не очень красиво, но эффективно - проблема ушла.
Некоторое время спустя провели повторную консультацию.
К ней подготовил более изящное решение - атрибут
Как раз целевой нишевый сценарий - гарантированный единоразовый прогон некоторого метода инициализации перед любым другим кодом.
Из
Сплошной win 🏆
Собственно, ситуация возникла у подписчика, с чем он пришёл ко мне на консультацию.
У него на проекте из-за создания нескольких веб приложений в одном процессе, упало исключение о том, что сериализатор уже зарегистрирован.
Проблема возникла из-за регистрации bson мапперов и сериализаторов DI методами.
Решение нужно было в моменте, поэтому предложил использовать статический конструктор класса
Program.Не очень красиво, но эффективно - проблема ушла.
Некоторое время спустя провели повторную консультацию.
К ней подготовил более изящное решение - атрибут
[ModuleInitializer], подробно прочитать про который можно в MSDN.Как раз целевой нишевый сценарий - гарантированный единоразовый прогон некоторого метода инициализации перед любым другим кодом.
Из
Program ушли знания о DAL, проблема решилась, интеграционники и юниты зелёные, а я помог клиенту .Сплошной win 🏆
Docs
Module initializers - C# feature specifications
This feature specification describes how to declare module initializers, which are methods called by the runtime when a module, or assembly, is loaded.
👍14🔥4❤🔥1❤1
StepOne | Степан Минин
IT-компании не могут ничего дать кроме зарплаты 🤯 Вы когда-нибудь задумывались о том, что найму в России особо нечего предложить разработчикам? Только вдумайтесь, на нашем рынке нет даже такой базовой вещи, как welcome bonus. Где элементарная благодарность…
Премия это скам 🤬
Компании в процессе найма любят спекулировать таким понятием, как целевой доход.
Например, вы попросили 350 на руки, а вам в ответ говорят: «дадим оклад 280 на руки, а с учётом премий целевой доход дотянет до желаемой отметки 🤡»
Правда никто не говорит, что премию надо получить, так как это не гарантированное вознаграждение.
Действительно, есть компании, где зп делят на окладную и гарантированную премиальную части, но это исключение, потому что такое делается для ухода от налогов.
Суть премии в работе сверх нормы, а значит в этом случае придётся постоянно перерабатывать, чтобы держать планку дохода.
Но стремиться выполнить план сверх нормы в корне неверно.
Рост квалификации, опыта и стоимости сотрудника происходит по умолчанию соответственно времени, проведённому в компании.
Устроился и отработал год - значит автоматически вырос, потому что был пройден испытательный срок и всё оставшееся время задачи компании были по плечу и эффективно закрывались.
Поэтому надо искать минимальную планку продуктивности - производительность, при которой ПМ доволен и работа занимает меньше 8ч в день.
После достижения этой планки работаем на повышение оклада, как именно, узнаете в следующих постах или внутри консультаций 😉
А при найме торгуйтесь за оклад и не смотрите на премии вовсе.
Компании в процессе найма любят спекулировать таким понятием, как целевой доход.
Например, вы попросили 350 на руки, а вам в ответ говорят: «дадим оклад 280 на руки, а с учётом премий целевой доход дотянет до желаемой отметки 🤡»
Правда никто не говорит, что премию надо получить, так как это не гарантированное вознаграждение.
Действительно, есть компании, где зп делят на окладную и гарантированную премиальную части, но это исключение, потому что такое делается для ухода от налогов.
Суть премии в работе сверх нормы, а значит в этом случае придётся постоянно перерабатывать, чтобы держать планку дохода.
Но стремиться выполнить план сверх нормы в корне неверно.
Рост квалификации, опыта и стоимости сотрудника происходит по умолчанию соответственно времени, проведённому в компании.
Устроился и отработал год - значит автоматически вырос, потому что был пройден испытательный срок и всё оставшееся время задачи компании были по плечу и эффективно закрывались.
Поэтому надо искать минимальную планку продуктивности - производительность, при которой ПМ доволен и работа занимает меньше 8ч в день.
После достижения этой планки работаем на повышение оклада, как именно, узнаете в следующих постах или внутри консультаций 😉
А при найме торгуйтесь за оклад и не смотрите на премии вовсе.
🔥27👏3👍2💯2🙏1
StepOne | Степан Минин
Премия это скам 🤬 Компании в процессе найма любят спекулировать таким понятием, как целевой доход. Например, вы попросили 350 на руки, а вам в ответ говорят: «дадим оклад 280 на руки, а с учётом премий целевой доход дотянет до желаемой отметки 🤡» Правда…
Назрел закономерный вопрос: «стоит ли увольняться из каждой компании, в которой за год ни разу не повышают?»
Например, за 2022 инфляция год к году в США достигла 9%. Умножаем обесценивание доллара на девальвацию рубля и ужасаемся 😰
Понятно, что x2 вам никто не сделает в рамках одного места работы, таких повышений просто не бывает по множеству причин.
Однако, если за год работы вы хотя бы не догнали инфляцию прибавкой к зп, то получается, что вас понизили 🤯
Что делать в такой ситуации - решать вам 🤷♂️
Например, за 2022 инфляция год к году в США достигла 9%. Умножаем обесценивание доллара на девальвацию рубля и ужасаемся 😰
Понятно, что x2 вам никто не сделает в рамках одного места работы, таких повышений просто не бывает по множеству причин.
Однако, если за год работы вы хотя бы не догнали инфляцию прибавкой к зп, то получается, что вас понизили 🤯
Что делать в такой ситуации - решать вам 🤷♂️
🤔11🍌3👍2🤯1😢1
У меня 2️⃣ работы
Вы всё правильно прочитали, ведь помимо программирования я занимаюсь ведением этого telegram канала.
И это такая же сложная работа, поскольку в неё входит: выпуск нового контента, разбор кейсов, структурирование информации, создание сообщества, и, самое главное, донесение пользы и ценности.
Поэтому, если вы хотите поддержать мой канал и у вас есть Telegram Premium, то нужно обновить приложение telegram и заboostить канал, используя ссылку:
https://news.1rj.ru/str/steponeit?boost
Вы всё правильно прочитали, ведь помимо программирования я занимаюсь ведением этого telegram канала.
И это такая же сложная работа, поскольку в неё входит: выпуск нового контента, разбор кейсов, структурирование информации, создание сообщества, и, самое главное, донесение пользы и ценности.
Поэтому, если вы хотите поддержать мой канал и у вас есть Telegram Premium, то нужно обновить приложение telegram и заboostить канал, используя ссылку:
https://news.1rj.ru/str/steponeit?boost
Telegram
StepOne | Степан Минин
Проголосуйте за канал, чтобы он получил больше возможностей.
❤10😢4❤🔥2🙏2
Вас точно это удивит 😱
В IDE Rider появилась возможность записывать голосовушки вместо комментариев 🤯
Недавно, некий энтузиаст под ником
Сам плагин написан на Kotlin и имеет на GitHub уже 300+ звёзд.
Стали бы вы им пользоваться на проекте?
В IDE Rider появилась возможность записывать голосовушки вместо комментариев 🤯
Недавно, некий энтузиаст под ником
polina4096 зарелизил плагин в маркетплейсе JetBrains, который добавляет поддержку голосовых сообщений в IntelliJ-based средах разработки.Сам плагин написан на Kotlin и имеет на GitHub уже 300+ звёзд.
Стали бы вы им пользоваться на проекте?
🤯29🤔8🔥2😁1🤩1🍌1
StepOne | Степан Минин
Остался разочарован программой DotNext 2022 Autumn… В целом есть ощущение некоторой деградации мероприятия, потому что разговоры идут об одном и том же уже который год. Моё внимание особенно привлекли два доклада. 1. «Введение в Microsoft SignalR». Серьёзно?…
Позавчера прошла бесплатная конференция
Вот смотришь после этого на Dotnext, и не понимаешь, за что они просят деньги… 🤬
За очередное введение в ФП и пересказ всем известных паттернов? 🤔
Кстати, запись
Ловите ссылку - https://www.youtube.com/watch?v=8ddzYsZVIYY
JetBrains .NET Day Online ‘23Вот смотришь после этого на Dotnext, и не понимаешь, за что они просят деньги… 🤬
За очередное введение в ФП и пересказ всем известных паттернов? 🤔
Кстати, запись
JetBrains .NET Day Online ‘23 доступна сразу и для всех 👍🏻Ловите ссылку - https://www.youtube.com/watch?v=8ddzYsZVIYY
YouTube
JetBrains .NET Day Online '23
Join us on September 26 for a free virtual event where the most influential people in the .NET space will talk about topics they’re passionate about. The agenda for the event:
0:00 - Intro
9:20 - Recreating Wolfenstein 3D in F# by James Randall
1:05:33…
0:00 - Intro
9:20 - Recreating Wolfenstein 3D in F# by James Randall
1:05:33…
🔥14👍4❤1❤🔥1
StepOne | Степан Минин pinned «У меня 2️⃣ работы Вы всё правильно прочитали, ведь помимо программирования я занимаюсь ведением этого telegram канала. И это такая же сложная работа, поскольку в неё входит: выпуск нового контента, разбор кейсов, структурирование информации, создание сообщества…»
StepOne | Степан Минин
Поздравляю всех с Днём Знаний 🥳 Решил попробовать новый формат, поэтому держите дайджест лучших постов августа: 👉 Разбор кейса Авито 👉 Разоблачение мифологии грейдов 👉 Крик души про русский IT
По традиции, сложившейся месяц назад, публикую подборку лучших постов сентября:
📝 История самого крутого найма
📝 Как я консультировал подписчика по MongoDB
📝 Почему стоит забыть про премии
📝 История самого крутого найма
📝 Как я консультировал подписчика по MongoDB
📝 Почему стоит забыть про премии
❤5👍2🔥1
Вы используете Generic Math или abstract static в продакшн коде на своём проекте?
Anonymous Poll
8%
Да
44%
Нет
5%
Планируем
51%
Не понимаем зачем нужен инструмент
❤1
StepOne | Степан Минин
Вы используете Generic Math или abstract static в продакшн коде на своём проекте?
Всё, как я и ожидал
Обобщённая математика слишком "непонятный фрукт" для рядового C# разработчика - в проде это не используют, и при этом не планируют из-за отсутствия понимания инструмента.
Благо, вы подписаны на этот канал, и в этом месяце будет анонс доклада, в котором разложу по полочкам этот инструмент.
Расскажу полную историю - как и почему оно случилось, что именно в итоге получили, и вы поймёте стоит ли ввязываться в истории с
Обобщённая математика слишком "непонятный фрукт" для рядового C# разработчика - в проде это не используют, и при этом не планируют из-за отсутствия понимания инструмента.
Благо, вы подписаны на этот канал, и в этом месяце будет анонс доклада, в котором разложу по полочкам этот инструмент.
Расскажу полную историю - как и почему оно случилось, что именно в итоге получили, и вы поймёте стоит ли ввязываться в истории с
Generic Math.🔥21👍5❤3🤯1