Прошли сутки с момента, как я выложил первое видео на новом канале програмысли и за это время видео набрало 94 просмотра (не много, но сойдет), 12 лайков. И внимание - ни одного дизлайка! Офигеть, неужели такое бывает? Очень часто в течении часу после выкладывания любого видео появляется дизлайк.
Я уже давно захотел создать канал на youtube, который был бы посвящен только теме программирования. У меня уже давно есть канал, и там я уже давно выкладываю видео на совершенно разные темы, и он получился как бы не о чем. Чтобы все получилось более-менее серьезно я решил все же посвятить канал отдельной теме и описывать только все, что касается ИТ.
В общем, подписываемся на новый канал, если будет много народу, то мне же будет интереснее записывать видео, они будут появляться чаще и у тебя будет, что посмотреть в свободной время.
Это мои ремешки для Apple Watch. Это еще не все, у меня было еще штуки три, но я их выкинул, потому что китайское фуфло и краска с них стерлась.
Недавно я написал заметку, в которой описал магическое выполнение запроса, которое поставило меня в ступор http://www.flenov.info/blog/show/Magicheskaya-problema-proizvoditelynosti. В этой заметке я не раскрою все тайны тормозов, потому что я так и не могу понять, почему тогда простое добавление перехода на новую строку меняло план выполнения, а реальное изменение запроса типа добавления and 1=1 или другие модификации оставляли запрос медленным. Даже OPTION (recompile) не влияла. Именно символ новой строки менял план выполнения. Скажу только, что на следующий день этот трюк не работал и запрос оставался медленным даже после добавления новой строки.
Итак, краткая история. Если просто выполнять запрос в SQL Server Management Studio, то он выполняется быстро:
К сожалению, я не могу порваться вчера и смотреть одновременно конференцию Microsoft и Google. Не понимаю, почему они так сделали, что обе конференции идут одновременно. Приходится сейчас смотреть в записи. В общем, смотрю, и рассказываю свое мнение. Заметка будет обновляться в процессе того, как я смотрю и появляется что-то интересное, чтобы отметить.
Если конференция Microsoft началась с рекламы облака, а уже на втором месте шло машинное обучение и искусственный интеллект, то Google поставили AI на первое место. В принципе, Google никогда так сильно не продвигали свое облако, что странно. Ведь это огромная статья доходов в прибыли Amazon и Microsoft и при всей своей возможности Google не хочет ввязываться в эту войну в открытую. Странно. Мне кажется, поисковый гигант тут немного неверно выбрал приоритеты.
Были тут в фирменном магазине Самсунг в торговом центре в самом центре Торонто и просто на моя взгляд народу было в нем меньше, чем в Apple, но больше, чем в Microsoft. Но тут нужно быть асболютно честным и признать, что магазин Самсунг в размере занимает столько же, сколько Apple и Microsoft вместе взятые. Он простирается аж на два этажа и в нем представлены не только телефоны, планшеты, но и телевизоры и бытовая техника. Так что количество народу могло бы быть и еще больше для такого широкого ассортимента товаров крупного производителя.
На 15 минут позже, но все же начался Microsoft Build 2018. Не помню, чтобы у Apple была такая задержка. Мне кажется, что все будет только про облака, белагривые Azure.
Ну да, вот только началось все и сразу же сообщают, что будет Azure везде. Я в основном пока работал только с облаком Amazon, но интересно, что происходит в облачном мире Microsoft. Постараюсь вести что-то типа трансляции со своим мнением о происходящем. Правда у меня два совещания сегодня, буду уходить в офлайн.
Началось вступительное слово Сатья, в котором он рассказывает про технологии, которые развились за последние годы, что компьютеры сейчас совершенно везде. Тут же показывают машину и что в ней тоже есть компьютер. Он говорит о том, что мнлго встроенных систем. И что самое ржачное, Майкрософт ведь не причем. В машинах Ford отказался от Microsoft Sync, его кажется уже никто не использует. Везде во встроенных системах доминирует Linux, Поэтому к чему ведет речь Сатья, я не понимаю.
У меня уже долгое время Surface Pro, но я не пользовался Кортаной, хотя это основной помощник Windows. Я и Apple помощницей почти не пользуюсь, разве что только за рулем.
Сейчас сидел дома у окошка с Surface Pro, читал утренние новости, а жена спросила, во сколько начинает работать магазин Costco. Телефона под рукой не было, на компьютере загружать сайт что-то лень было, и я решил спросить Siri на часах. Я задал простой короткий вопрос: Closest Costco. С точки зрения классического английского это даже не вопрос и не предложение, потому что отсутствует глагол, но подобные вещи часто можно услышать в Канаде. Я и от американцев такое слышал.
Apple Watch быстро нашли мне ближайший магазин и показали время работы заправочной станции при нем. Почему часы решили, что мне нужна именно заправка? Я сидел дома у окна, Apple явно знают мое расположение (сервис определения положения включен), телефон не подключен в данный момент к машине. В общем, причин показывать время работы заправки не было.
И тут я вспомнил, что у Windows есть умная Cortana и я много слышал о ее уме, что она умнее Apple Siri. Решил проверить и задал такой же запрос. Но разумный результат я получил только с третьего раза, потому что Cortana что-то занималась фигней. Я диктую вопрос, я вижу, что компьютер правильно распознает мой английский, потому что в текстовой строке появляются слова, которые я говорю, но как только я заканчиваю говорить, Кортана переворачивает все с ног на голову и показывает бред.
Мне часто приходится решать проблемы с производительностью и последние два дня борюсь с запросом, который мне просто вынес мозг.
Запрос большой и строится динамически, поэтому я запустил сайт, подключился к нему дебагером и выцепил из кода SQL запрос. Запускаю его в SQL Server Management Studio, и он выполняется за 4 секунды максимум. Но когда абсолютно этот же код выполняется в коде сайта, он работает более минуты.
Я потратил целый день на то, что менял запрос в разные стороны, добавлял OPTION (RECOMPILE) на случай, если проблема с планом выполнения, танцевал вокруг компьютера и ничего не помогало.
Я дебагил каждую строчку кода в надежде понять, может там есть какие-то параметры при запуске запроса, которые могут убить производительность, но там ничего не было. Сравнил типы всех переменных, все совпадает. Производительность может падать, если тип параметра не совпадает с типом данных в базе, но нет, все отлично.
Потом я решил запустил профайлер и выцепить запрос оттуда, и его там показали следующим образом:
Похоже у Apple запуски всего с задержкой стали привычкой. Чамы были объявлены, но вышли с большой задержкой. Колонка - та же самая песня. iTunes для Windows 10 вышел почти через год после объявления.
Мне кажется, Apple пора что-то с этим делать. Возможно просто не объявлять так рано продукты, если не может их вывести на рынок. Это так, мое личное мнение.