Как стать автором
Обновить
2
0
Боря Фролов @donRumatta

Пользователь

Отправить сообщение

Транслируй меня полностью

Время на прочтение8 мин
Количество просмотров11K


Вы когда-нибудь работали с Entity Framework или другим ORM и получали NotSupportedException? Многие люди получали:


InvalidOperationException: Error generated for warning 'Microsoft.EntityFrameworkCore.Query.QueryClientEvaluationWarning: The LINQ expression could not be translated and will be evaluated locally.'

Марк Симан твердо убежден, что, за одним исключением, все существующие реализации нарушают LSP. Он даже готов отправить бесплатную копию своей книги первому читателю, который укажет ему на реальную, общедоступную реализацию IQueryable<T>, которая может принять любое выражение и не выбросить исключение. За девять лет книга так и не нашла своего обладателя:)


  • Hi Mark,
    I am writing a blog post that refers to your artticle. I am wondering if you have ever sent a free copy of your book to someone. Presumably not:)
  • Hi Maxim
    That’s right: I haven’t.
    Regards
    Mark Seemann

В поддержку этой точки зрения можно привести и другие аргументы. Например, ToListAsync вообще отсутствует в наборе методов расширения из коробки. Вместо этого он определен в пакетах конкретных ORM. Значит ли это, что не стоит раскрывать IQueryable<T> в публичных API? Я думаю, что ответ на этот вопрос — «зависит».

Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии27

IQueryable порождает сильную связанность

Время на прочтение4 мин
Количество просмотров10K

Время от времени я встречаю людей, пытающихся выразить API в терминах IQueryable<T>. Почти всегда это плохая идея. В этой статье я объясню почему. Вкратце, IQueryable<T> — это один из лучших примеров заголовочного интерфейса (Header Interface), предлагаемых платформой .NET. Его почти невозможно реализовать полностью.


Эта статья о проблемах реализации API на основе интерфейса IQueryable<T>. Это не претензия к интерфейсу как таковому. Кроме этого, это не претензия к замечательным методам LINQ, доступным для интерфейса IEnumerable<T>.

Можно сказать, что IQueryable<T> — это одно сплошное нарушение принципа подстановки Лисков. Я буду использовать закон Постела, чтобы объяснить почему это так.


Принцип устойчивости, также известен как закон Постела в честь Джона Постела: «Будь либерален к тому, что принимаешь, и консервативен к тому, что отсылаешь (Be liberal in what you accept, and conservative in what you send)».
Читать дальше →
Всего голосов 18: ↑17 и ↓1+21
Комментарии38

Паттерн CQRS: теория и практика в рамках ASP.Net Core 5

Время на прочтение8 мин
Количество просмотров71K

Скорость разработки и производительность программистов могут отличаться в зависимости от их уровня и используемых в проектах технологиях. Для проектирования ПО нет стандартов и ГОСТов, только вы выбираете, как будете разрабатывать свою программу. Один из лучших способов повысить эффективность работы — применить шаблон проектирования CQRS. 

Существует три вида паттерна CQRS: Regular, Progressive и Deluxe. В этой статье я расскажу о первом — классическом паттерне Regular CQRS, который мы используем в DD Planet в рамках разработки онлайн-сервиса «Выберу.ру». Progressive и Deluxe — более сложные архитектуры и влекут за собой использование обширного набора абстракций.

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

Читать дальше
Всего голосов 5: ↑4 и ↓1+3
Комментарии27

Производная и интеграл — проще некуда

Время на прочтение12 мин
Количество просмотров86K

19 декабря 2020 г. на Хабре вышла статья «Интуитивное объяснение интеграла».

В комментариях к ней некоторые пользователи указали, что объяснение получилось не очень интуитивным, например:

“Тема сама по себе интересная, недавно снова повторял курс, но должен сказать, что на мой взгляд, в материале нет изюминки. Автор прав, что в современных изданиях часто даются темы без описания их прикладного применения, из-за чего непонятен смысл их изучения.

Но конкретно интегралы это такая тема, которую надо описать или короче, чем у вас, или намного дольше.
Иначе и школьник не поймет, и те, кто знает, ничего нового не откроют."

Я попробую изложить материал максимально коротко, просто, без подробностей и отсылок. Так, чтобы школьники, наконец, поняли, пусть и с помощью родителей.

Итак:
Всего голосов 28: ↑22 и ↓6+24
Комментарии26

Две недели с F#

Время на прочтение7 мин
Количество просмотров12K
А вы когда-нибудь записывали свои впечатления от изучения нового языка? Записывали все, что вам не понравилось, чтобы через пару недель изучения понять, насколько недальновидными и тупыми они были? 



На днях я понял F#, и попытаюсь описать словами мысль, стоящую за языком. 
Читать дальше →
Всего голосов 41: ↑29 и ↓12+33
Комментарии22

Наркоз и седация в стоматологии: это безопасно? А детям?

Время на прочтение13 мин
Количество просмотров43K
image
Аппарат со всем необходимым для проведения наркоза у детей.

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

Если с идеей того, что детей надо обязательно лечить под местной анестезией, люди уже свыклись, то общая анестезия всё ещё пугает. Многие ещё помнят тяжёлый выход из наркоза с тошнотой и «вертолётами» во времена применения тяжёлых старых препаратов. И до сих пор у людей есть ощущение, что любая общая анестезия — это что-то предельно опасное и уж тем более неприемлемое для применения у детей, кроме экстренных показаний. На самом деле всё сильно поменялось.

Короче, будем говорить о наркозе у детей. А ещё — про современные варианты с закисью азота, пропофолом и севофлураном. Они очень хорошие, но помните, что самостоятельные эксперименты с ними могут закончиться встречей с Куртом Кобейном.
Всего голосов 40: ↑36 и ↓4+51
Комментарии62

Поведениеметр

Время на прочтение9 мин
Количество просмотров5.2K
Я специально добавил хаб «читальный зал», так как конкретных схем, ПО и чертежей тут не будет, зато будет сказ о том, как проект выходного дня растянулся на 2 недели. В общем, нет ТЗ — результат ХЗ.

Предпосылка. Не знаю, или кризис 4х — 5и лет, или непростой 2020, но поведение дочки стало резко портиться. Дома — еще ничего, а на занятиях — мрак. С другой стороны, в развивающем клубе, куда она ходит, есть аналоговый «поведениеметр» (не знаю, как он правильно называется, пусть будет так), представляющий из себя 5и этажный многоподъездный «домик», где каждому ребенку выделен именной «подъезд» и звездочка, которую ставят от 1 до 5 уровня. Эту же «игру» мелкая принесла домой, нарисовав на бумажке клеточки, но ставит всегда звезду на верхний этаж, вне зависимости от реального поведения. Ладно, надо это геймифицировать, используя тягу к лидерству, подумал я и решил сделать цифровой измерительный прибор. В результате получилось вот такое, как ни странно, работает:

image

Работает именно по назначению. За месяц использования удалось немного откорректировать поведение в лучшую сторону. Если интересно, как на такой простой проект ушло больше недели,

(Памятка для граммар-наци от человека с легкой степенью дисграфии)
Да, у меня есть проблемы с естественными языками. Я это осознаю. И предупреждаю / предполагаю, что в тексте допущено достаточно много орфографических и пунктуационных ошибок. Надеюсь, нет логических и технических. Это не желание возрождать «олбанию», просто так получается. Не могу позволить личного корректора, а написание статей мне не приносит прибыли, только отнимает время, но хочется поделиться идеями/мыслями с сообществом. На ошибки указывать не надо, не буду исправлять, так как к моменту исправления, с последующим вычитыванием, статья уже уйдет в глубины ленты Хабра и работа будет напрасной. Покорнейше прошу отнестись с пониманием, а если Вас передергивает от неправильно поставленной запятой, лучше не открывайте пост. Пожалейте свои и мои нервы, иначе —

добро пожаловать!
Читать дальше →
Всего голосов 13: ↑10 и ↓3+13
Комментарии44

Почему проекты в IT занимают в 2-3 раза дольше, чем планируется?

Время на прочтение3 мин
Количество просмотров24K
Мы с другом решаем пойти в поход от Сан Франциско до Лос Аджелеса, чтобы заскочить в гости к нашим друзьям на Ньюпорт Бич. Посмотрим на карту и примерно прикинем путь по берегу:

image

Путь займёт около 400 миль, в день мы можем пройти 4 мили в час по десять часов, так что придём мы туда примерно через 10 дней. Мы звоним друзьям и бронируем столик на 6 вечера в воскресенье.

Читать дальше →
Всего голосов 278: ↑262 и ↓16+246
Комментарии181

Как сбросить вес, не занимаясь спортом? Личный опыт

Время на прочтение9 мин
Количество просмотров177K
Привет, Хабр!

По моим наблюдениям, всех людей можно разделить на три категории: счастливчиков с нормальным телосложением, худых, кто не знает как бы поправиться, и полных, кто не знает как бы похудеть. Мне угораздило попасть в третью категорию, и всю взрослую жизнь мой вес колебался в районе 95кг при росте 1.74м, что соответствует BMI=31.4 или ожирению. И хотя в принципе, это ничуть не мешало, но все же лишний вес накладывает определенные ограничения, как в перспективе состояния здоровья, так и в плане личной жизни. Наконец, в один прекрасный день я решил что «пора», и занялся этим вопросом более серьезно.



Думаю, среди IT-шников, работающих в офисе, немало людей с похожими проблемами, и надеюсь, мой опыт будет им полезен.
Всего голосов 116: ↑103 и ↓13+122
Комментарии590

Самодельный респиратор-полумаска из подручных материалов за 10 минут

Время на прочтение7 мин
Количество просмотров24K

Эта статья о том, как изготовить респиратор из подручных материалов, которые у многих есть дома или на даче. Для чего это может быть нужно? Из за сложившейся ситуации с коронавирусом, приобрести респиратор даже класса защиты FFP1 стало довольно проблематично. А проблема защиты дыхания при выходе на улицу, строительных работах связанных с пылью, опрыскивании деревьев и т.п. — никуда не исчезла и даже стала еще актуальнее.



Изготовленный мной респиратор, конечно, не претендует на полноценную защиту от вирусов, для этого нужен специальный фильтрующий материал, который вряд-ли окажется среди того, что можно найти в квартире или на даче. Но, как несложный в изготовлении и не требующий специальных материалов и инструментов респиратор c клапанами на вдох и на выдох, он может быть достаточно эффективен для защиты от крупной строительной пыли, аэрозолей и т.п., а если его проапгрейдить купленным отдельно специальным фильтрующим материалом, это может позволить использовать его и для защиты от попадания вирусов через органы дыхания во время эпидемии.

Читать дальше →
Всего голосов 26: ↑18 и ↓8+19
Комментарии90

Федеральный закон № 243, или Тихая пенсионная реформа

Время на прочтение4 мин
Количество просмотров428K
счастливая старость

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

Однако факт остается фактом: «… с 1 января 2014 г. будет осуществлен т. н. страховой маневр — сокращены с 6 до 2% отчисления на формирование накопительной части пенсии. Высвободившиеся 4% пойдут на финансирование страховой части.»

UPDATE! Весьма вероятно, что скоро сокращение будет не до двух процентов, а до нуля — смотрите обновление №3 в конце поста.

Ну, кто там спрашивал, от чего отвлекают наше внимание?! Здесь был горький смайлик с кривой ухмылкой.

Кому интересно / небезразлично, добро пожаловать под кат!
Читать дальше →
Всего голосов 176: ↑164 и ↓12+152
Комментарии340

Некоторые проблемы Nokia Lumia 1520 в одном посте

Время на прочтение6 мин
Количество просмотров124K
Месяц пытался понять зачем, почему и для кого существует Windows Phone.

Внимание! Под катом длинные, скучные и ненужные картинки — но такова суть системы, поэтому терпите.
Внимание 2! В комментариях автор был уличен в криворукости, необразованности и многих других грехах, в связи с чем предупреждает особо чувствительных фанатов windows phone «Все ниженаписанное является моим личным мнением и не претендует на истину в первой инстанции» :)
А теперь поехали:
Читать дальше →
Всего голосов 211: ↑134 и ↓77+57
Комментарии259

Irrational Behaviour

Время на прочтение5 мин
Количество просмотров10K
Рабочий инструмент программиста — его собственный мозг, второе оружие — работа в команде. Если вы довольно умны чтобы писать хорошие алгоритмы и быстро вникать в новые технологии, и вдобавок к этому хорошо интегрируетесь в команды, умеете находить общий язык с менеджерами, коллегами и заказчиками — то вы почти Гуру.

Однако, нередко, у программистов бывают проблемы со “вторым оружием” — работой в команде или коммуникацией. Пользователи задают глупые вопросы, сотрудники пишут странный код, менеджеры хотят чего-то непонятного — ну почему они все не настолько просты и логичны, как компьютеры?
Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии13

Стоит ли идти на собеседование к рекрутеру?

Время на прочтение4 мин
Количество просмотров36K
Работаю рекрутером в агентстве относительно недавно. Коллектив чисто женский, психологико-гуманитарный, поэтому я, со своим техническим образованием и курсами кьюэев, занимаюсь всеми техническими вакансиями. Хочу поделиться взглядом с «другой стороны» на некоторые моменты.

1. «Я не хочу, чтоб меня оценивали по внешнему виду»


Многие IT специалисты не хотят ходить на HR собеседования, потому что считают, что оценки их технических навыков вполне достаточно для принятия решения. Для некоторых компаний это действительно так. Достаточно пройти тех интервью или выполнить тестовое задание, после чего посмотреть в глаза команде и дело в шляпе. Но не все работают так. В большинстве компаний есть рекрутеры и они сидят там не просто так. И работа рекрутера заключается не только в «оценке внешнего вида».
Давайте разберём конкретный пример. Есть компания X. Команда небольшая, текучка небольшая. Содержать штатного рекрутера нерентабельно. Компания X нанимает агентство Y. Техническое собеседование проходит после HR собеседования, на котором кандидаты общаются с чередой лидов и менеджером. Это занимает порядка полутора часов и отвлекает всех вышеперечисленных от работы. Соответственно, компания X хочет, чтоб агентство Y выполняло следующие функции:
Читать дальше →
Всего голосов 58: ↑39 и ↓19+20
Комментарии121

Нелёгкая карьера программиста или чего хотят работодатели

Время на прочтение13 мин
Количество просмотров125K
Disclaimer: это не PR. На данный момент с трудоустройством у меня нет проблем.

Нелёгкая карьера программиста или чего хотят работодатели.


Этой статьёй я хочу показать, какой странной и причудливой может быть карьера программиста (или человека, занимающегося программированием, ибо к касте «программистов», наверное, я причислить себя всё же не могу). Кто я такой, я точно не знаю, совсем как редкая порода чебурашек, которые знают все технологии от ASM до Python, и в то же время не знают ничего серьёзно, алгоритмические скиллы которых вязки, как медузы в Чёрном море, а знание computer science близко к нулю при бешеном по продолжительности опыте работы.

Читать дальше →
Всего голосов 213: ↑176 и ↓37+139
Комментарии607

Небольшой опрос об операционных системах

Время на прочтение1 мин
Количество просмотров91K
Был уже не один опрос об операционных системах, но все же ситуация меняется. Плюс хочется видеть все в одном флаконе топике. Разговор идет о десктопе.

UPD: анонимным сливальщикам кармы передаю пламенный привет.
20+ процентов Linux радует (хоть сам я пользователь Windows, тихо мечтающий о макбуке).
Всего голосов 201: ↑150 и ↓51+99
Комментарии561

Глава Microsoft уходит в отставку

Время на прочтение2 мин
Количество просмотров55K
image

Сегодня, 23 августа, корпорация Microsoft объявила, что ее многолетний исполнительный директор Стив Балмер решил покинуть компанию.

Он уйдет в отставку в течение 12 месяцев. За это время он продолжит занимать пост CEO, а также будет заниматься поиском преемника, говорится в сообщении технологического гиганта.

Из заявления Балмера: «Нельзя было бы придумать лучшее время для трансформации, но сейчас оно наступило. Мы причалили к новой стратегии и новой организации и мы имеем удивительную команду лидеров. Мое решение произошло на стыке перехода компании к бизнесу дивайсов и сервисов. Нам нужен CEO, который сможет работать на дальнюю перспективу в этом направлении.»

PS. Уже достаточно давно многие на Балмера «давили» чтобы он ушел, из-за плохих показателей его компании и неудачной стратегии развития. Видимо не выдержал, уходит. Правильный шаг.
Читать дальше →
Всего голосов 223: ↑116 и ↓107+9
Комментарии44

Анализ одного рефакторинга

Время на прочтение4 мин
Количество просмотров12K
В данном крохотном посте речь пойдет об одной из глав, книги «Принципы, паттерны и методики гибкой разработки на языке C#», с названием «Рефакторинг». Глава полностью посвящена рефакторингу. На примере одного большого метода, автор последовательно модифицирует код, попутно объясняя почему он делает те или иные модификации. После каждого этапа, код прогоняется через тесты.

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

Статья не преследует цели дискредитации автора, просто показалось интересным выложить свои наблюдения и услышать мнение сообщества по этому поводу.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии10

Геймеры. Разница интересов

Время на прочтение8 мин
Количество просмотров19K
image

В интернете есть множество статей на тему: А в какие игры интересны девушкам? Нормальны ли люди играющие по 10-20 часов в сутки? Почему компьютерные игры стали так популярны? и т.п. Статей очень много, но, как мне кажется, все они… предвзяты. Вы скажете, что в Дотку режутся лишь школьники? Вам тут же назовут множество примеров высоковозрастных геймеров. Считаете, что девушек интересуют лишь Sims? Скажите это тем девчатам, что гоняются в мачете за «бывалыми вояками» в Battlefield. В этой статье я попытаюсь классифицировать компьютерных геймеров по типам/полу/играм. Итак, кто во что играет?
Читать дальше →
Всего голосов 64: ↑13 и ↓51-38
Комментарии19

Как агентству/веб-студии не переборщить с узким позиционированием

Время на прочтение3 мин
Количество просмотров13K
Привет, Хабр! Обычно мы пишем довольно развернутые обзоры по разным аспектам менеджмента, маркетинга и продаж в студии (например, большой обзор о том, как должна выглядеть маркетинговая стратегия агентства или материал по шаблону бизнес-плана веб-студии с разбором множества показателей). Но сегодня я бы хотел донести довольно короткую и понятную мысль о проблеме, с которой начали сталкиваться многие агентства на рынке.

Я всегда рассказывал в рамках выступлений, лекций и прочих материалов, что очень важно выделиться среди общей массы студий и агентств (а их более 10 000 только в России) за счет внятного и часто узкого позиционирования на ключевых услугах, сегменте клиентской аудитории, технологиях, подходе к работе.

Но довольно неожиданно для себя мы увидели, что многие игроки рынка столкнулись с обратной проблемой. Все чаще к нам обращаются с чем-то вроде «Мы начали искать узкие точки позиционирования, и решили, что будем делать сайты только на Ruby, только в Нижневартовксе и только для магазинов косметики. У нас тут проблемка – такой магазин в Нижневартовске только один, и мы его уже сделали, причем совсем не на Ruby».

Таким образом, многие начинают слишком сильно мельчить, а процесс работы становится примерно таким:

image

Помимо этого, многие не задумываются (или просто забывают на радостной волне от того, что придумали уникальное позиционирование) о том, в любом сегментировании ЦА должен присутствовать рост эффективности работы по выбранному сегменту. Отсюда та самая мысль:
Читать дальше →
Всего голосов 45: ↑32 и ↓13+19
Комментарии6

Информация

В рейтинге
5 995-й
Откуда
Курск, Курская обл., Россия
Дата рождения
Зарегистрирован
Активность