Я создал PDF! | 16 июня 2017 года, 14:38

I did it! Создание на сервере PDF-а на основе шаблона, подготовленного в MS Word или MS Excel (наверное, и в другом софте тоже – тестировать надо). Данные из базы данных или из пользовательской формы подставляются вместо токенов внутри документа. И да, это оказалось дико непросто (зато я теперь дофига знаю про PDF).

Есть несколько сложностей, с которыми пока решения красивого нет. 1) моноширинные шрифты только 2) разумеется, текст из шаблона не перетекает на следующую страницу если вставка больше зарезированного пространства 3) в шаблон нужно включить невидимый текст со всем разноообразием символов [чтобы прокачать словарь PDF для данного шрифта] 4) Теоретически, в какой-нибудь новой или старой версии или при каком-то хитром размещении блоков или спецнастройках ворд может генерить PDF-ы, которые мой код не поймет. Теоретически.

Новый формат общения с системами: когда интерфейс слушает вас | 02 июня 2017 года, 19:06

Я тут придумал интерфейс, который, похоже, еще никто даже в прототипе не реализовал, а он выглядит очень круто. И технически нет ничего невозможного.

Смысл в том, что система (сайт, интернет-магазин, операционка – неважно) постоянно слушает пользователя (микрофон, обычная речь). Но в отличие от голосого интерфейса (а-ля Siri или Alexa) здесь это дополнительный канал общения пользователя с системой, а не основной. Если система не понимает пользователя, она не делает ничего. Если система понимает пользователя, она меняет интерфейс так, чтобы у него “под мышкой” были более релевантные результаты.

Например, сидите вы в интернет-магазине, ищете себе ботинки. Открываете первые попавшиеся, фасон дурацкий, цвет – норм. Вы просто это говорите. Система перестраивает навигацию так, чтобы то, что вам понравилось, было ближе. Разумеется, при прочих равных – если вы ищите зеленое, то как вам красное не нравится, его среди зеленого не надо показывать. Но никто не мешает делать динамические персонализированные списки рекомендованных товаров. Например, если пользователь, увидев товар, говорит, что он классный, то система, использовав machine learning, показывает ему товары, которые могут ему понравиться (это уже давно есть).

Теоретически, если это совместить с eye tracking и mouse tracking, можно сделать очень мощный прототип. Преимущество системы в том, что она незаметная. Она просто наблюдает и слушает. И такого, как в том лифте из ролика (Eleven!) не будет.

Разумеется, тут есть сложность: отправлять звук и видеокартинку на сервер нельзя, на это ни один пользователь не пойдет. Но обрабатывать это локально на компе пользователя, и отправлять уже принятые системой решения – вполне можно.

Это на примере интернет-магазина. Но в целом, концепция будет работать везде. Выделить полоску экрана, где будут всплывать контекстные ссылки на основе анализа речи и характера работы с сайтом пользователя – вполне может быть полезно. Например, заходишь на Госуслуги и голосом “где ж тут штрафы оплачивать…” и внизу сразу всплывает “Штрафы – тут!”. Или не всплывает, если вы пробубнили невнятное, но ведь параллельно вы там что-то в меню ищите и на голос особо расчета нет. Со временем качество распознавания будет улучшаться (хотя бы из-за того, что система поймет, что со штрафами ваш бубнеж угадала, и подняла вес этой догадки на следующий раз)

Create a Useful Utility Over the Weekend? | 19 мая 2017 года, 20:48

Вот есть ниша для желающих сделать полезную утилиту за выходные.

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

Есть всего одна, которая позволяет делать интерактивно, а не автоматом. Но она дико глючная. Есть плагин к лайтвейву, но ЛВ платный. Есть имаджмейджик, который по шаблону может исправлять перспективу, но там командная строка и трапецию нужно в координатах указывать. Было бы уже полезно, если бы эту трапецию можно было один раз мышкой прокликать. Но в идеале она бы сама определялась.

Если над этим imagemagick сделать простой интерфейс, да еще и в веб вывесить – будет полезная вещь. Денег на этом не заработаешь, зато студент научится ) @[100001539238582:2048:Dmitry Voloshin] в копилку, вдруг пригодится.

Вот уже, ну почти сделали: http://www.fmwconcepts.com/imagemagick/unperspective/index.php

http://www.fmwconcepts.com/imagemagick/unperspective/index.php

Обновление на блоге: управляйте текстовым контентом через бэкофис | 14 октября 2016 года, 00:45

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

В блоге я рассказываю, как сделать так, чтобы все эти тысячи сообщений (а их реально больше 2000 для типового магазина) можно было менять через бэкофис.

Казалось бы, простая задача, каждый партнер сделал себе такой модуль. Партнеры, не торопитесь с выводами – ваши модули скорее всего несовместимы с шаблонами хайбриса, и вы эти шаблоны тоже курочили, чтобы все в итоге работало как задумано. По крайней мере, мне встречались только такие реализации. В моем решении 100% совместимость, нет нужды трогать шаблоны, нулевая потеря в производительности.

https://hybrismart.com/2016/10/14/managing-localized-messages-via-backoffice/

https://hybrismart.com/2016/10/14/managing-localized-messages-via-backoffice/

28 сентября 2016 года, 23:35

Небольшой апдейт на блоге. Это для девелоперов. Выложил скрипты по клонированию хайбриса в соседнюю папку, чтобы там запустить самостоятельный инстанс со своей конфигурацией. Хайбрис занимает больше 3 гигабайт, там 134000 файлов – и это еще до инициализации. Если стоит задача развернуть пустой дистрибутив и потестировать на нем, на чистом, какой-нибудь свой код или его часть, то это копирование полуторы сотен тысяч файлов размером в гигабайты задалбывает. Мои скрипты копируют лишь то, что надо, а остальное используют повторно, через символические ссылки. В итоге дистрибутив занимает всего полгигабайта, и файлов там во много раз меньше.

https://hybrismart.com/2016/09/28/multi-instance-development-environment-symlinking-hybris-folders/

Recommending Success: Seeking a Demonstrational Dataset for Big Data Analysis and Recommendations | 18 сентября 2016 года, 20:24

У меня что-то получилось с системой рекомендаций (анализ bigdata, создание рекомендаций что купить). Готовлю статью на hybrismart.

Очень нужна какая-нибудь демонстрационная база. Конкретно нужен список товаров и статистика по продажам товаров вместе в одной корзине с привязкой к некоторому абстрактному пользователю (ID). Если я смогу получить такую базу, то я смогу дать вам следующие рекомендации: (а) что покупателю ID еще можно предложить из товаров, что он еще не покупал и (б) какие товары рекомендовать на карточке товара, используя данные о продажах.

Может кто-то поделиться? В идеале, конечно, если бы товарная база была на английском, но это уже недостижимый идеал, наверное:)

11 сентября 2016 года, 20:56

Обновил мой блог о хайбрисе. Собрал в один список все переменные, доступные из всех шаблонов, которые могут представлять интерес для разработчика. Эта часть хайбриса плохо документирована (или не документирована), так что списочек должен быть полезен как справочник.

https://hybrismart.com/2016/09/08/jsp/

Следующий пост будет, скорее всего, про Microsoft Bot Framework. Мне удалось сделать прототип чат-бота, работающего по Skype, Messenger и еще 8 каналам. Очень интересная тема. Готовлю пока материал.

https://hybrismart.com/2016/09/08/jsp/

05 сентября 2016 года, 22:19

Новое крупное обновление на моем блоге про Хайбрис. Сделал прототип интеграции SAP hybris и Google AngularJS 2.

AngularJS – это такой фреймворк для построения одностраничных веб-приложений, поддерживаемый Google и Microsoft. Двустороннее связывание данных (любые изменения в пользовательском интерфейсе сразу же отражаются на объектах приложения и наоборот), готовая библиотека интерфейсов, модульность и многие другие фичи являются как плюсами, так и минусами. Многие клиенты на Хайбрис рассматривают ангулар для определенных узких задач, где такой подход работает лучше, чем классический. У клиента, для которого я архитектурю всё это, таким примером является “личный кабинет” покупателя.

Минусом является то, что гугл никак не может зарелизить вторую версию, так что там пока все вилами на воде. Статья в целом подходит и для первой версии Angular, разве что только мои исходники будут бесполезны. В остальном все тоже самое.

По ссылке есть видео, разные диаграмки и полезные слова, также можно скачать исходный код на втором ангуларе.

https://hybrismart.com/2016/09/03/angularjs-v-2-and-hybris/

https://hybrismart.com/2016/09/03/angularjs-v-2-and-hybris/