12 июня 2016 года, 23:13

Обновил блог – добавил новую статью про SAP hybris.

Логотипчик на сайте с сегодняшнего дня новенький, hand made

Большое дело этих выходных – подключил SolrCloud к Хайбрису. Детали – скоро на блоге.

https://hybrismart.com/2016/06/05/multi-country-content-catalogs/

08 июня 2016 года, 12:09

Выпустил новую статью на hybrismart.com – про подсказки на странице товара вида “если вы купите этот товар, то получите 10% скидку и бесплатную доставку”. В последней версии hybris они реализованы частично, в моем proof-of-concept показано, как это сделать в несколько лучшем виде. #hybris #promotions

https://hybrismart.com/2016/06/04/hybris-6-could-have-fired-messages-poc/

03 июня 2016 года, 15:41

Важное событие. Я открыл блог, посвященный разработке на SAP hybris на английском языке. Этакая микро-хабра по одной узкой теме.

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

Публикации состоят из следующих блоков:

* Situation – введение в тему,

* Complexity – не все так просто, известные препятстствия,

* Challenge – какую одну проблему я взялся решить,

* Solution – концепция решения,

* Video – видео, где показываю, как это работает,

* Technical details – что менялось в коде и почему.

Так что, надеюсь, каждый может найти для себя что-то полезное.

Всем интересующимся разработкой на hybris – welcome.

Английский для меня неродной, так что если видите ошибки – пожалуйста, говорите мне о них, я буду исправлять.

Буду рад за reshare и like.

@[100001735299023:2048:Alexey Pronin] @[1698960808:2048:Alexander Zolotilin] @[100000571996239:2048:Maxim Antonov] @[100001894770015:2048:Viktoriya Shaimardanova] @[100000077047562:2048:Marina Zhigalova] @[100004031421822:2048:Alexey Lyubimov] @[100006908653177:2048:Alexander Dnestranskiy] @[1040790461:2048:Fedor Aksenenkov] @[100003472810093:2048:Vyacheslav Khudyakov]

@[100001168004708:2048:Erik Babadzhanov] @[1817791335:2048:Victor Romanovsky] @[1035527680:2048:Sergey Matveyev] @[1328575098:2048:Max Shelukhanov] @[806567627:2048:Evgeny Kaputkin]

http://hybrismart.com

http://hybrismart.com/

27 мая 2016 года, 19:02

Я только что попал на эту игру в uber. Очень классно придумали. Набор задач для алгоритмистов, на время. Видимо, появляется ни где попало, а у офисов ИТ-компаний, плюс, наверное, тащат данные откуда-то еще. Пассажиру в убере делать нечего, так что конверсия в резюме должна быть немалой. Ну и да, я ни с одной не справился – слишком быстро для меня надо там думать)

http://www.slate.com/blogs/future_tense/2016/03/29/uber_s_code_on_the_road_hacker_challenge_scouts_for_new_employees.html

SAP Hybris YaaS: Cloud-Based E-Commerce Solution | 04 сентября 2015 года, 10:34

Разобрался с SAP hybris YaaS – построенное на SOA облачное решение для e-commerce. Удалось даже немного покодить и покастомизировать. На прошлой неделе вышли в Open Beta на сообщество партнеров SAP.

Очень интересная, в чем-то модная и красивая концепция.

lightweight storefront @AngularJS + API first + Scalability + EJB/COM + RAML + MQ + Pivotal Web Services / Cloud Foundry

Фронт магазина представляет собой крайне легковесное решение, в примере из коробки вообще без server-side скриптов, построен на AngularJS, это такой джаваскрипт-фреймворк. Сторона сервера – это сервис yaas.io, который является контейнером RESTful API – запросы проксирует на реальные сервисы, хостящиеся, например, на pivotal.io, пропуская через проверки у себя. Часть этих API предоставляется в виде hybris-as-a-service, ядро и екоммерс-функции.

Разработка представляет собой создание кастомных API, публикация их как сервисов в облаке, и прикручивание их друг к другу и к storefront.

Можно подписываться на чужие API, для чего есть маркетплейс. Маркет позволяет публиковать свои общественно полезные и зарабатывать на этом деньги (пока нельзя).

Например, подписываешь свой магазин на API из библиотеки Email, и ура у тебя есть облачная возможность отправлять почту, соответствующий REST-интерфейс.

Подписываешь свой магазин на API поиска – и у тебя есть облачная возможность искать по своим данным. Есть выбор между разными поисковыми движками. Тут же и фасеты.

Написал свой сервис для КЛАДР верификации адресов – и зарабатываешь на том, что другие его юзают.

Конечно, с подключением всякого нового сервиса надо конкретно так хачить storefront на AngularJS, но это документировано. Или добавлять взаимодействие в свои API.

В итоге, магазин представляет собой light storefront + набор API на разных серверах, слабо связанные друг с другом + легкая расширяемая админка на yaas, которая на получение/изменение данных работает с теми же API. Фактически нет ядра системы – система представляет группу из многих маленьких екоммерс-блоков, разбросанных по разным доменам, серверам, кластерам (правда, пока все они на одном хостинге). Прокачивать каждый можно индивидуально.

API хостятся на Pivotal.io/Cloud Foundry. Есть удобный мехнизм публикации API в облако, как и простой способ подкинуть для него ресурсы.

Для разработки API используется язык RAML, что позволяет легко расширять свои сервисы библиотечными возможностями т.н. RAML traits – “возможности”, которые можно применять к новым API, типа добавления фильтрации или пейджинга в API, возвращающие рекордсеты.

Там же есть свой облачный middleware-софт для MQ, для общения между API и внешними системами – ERP той же. Есть механизм расширения данных API фреймворка. За хранение данных за API отвечает MongoDB, но ее не видно, т.к. доступ к объектам через REST-интерфейсы.

@[658732965:2048:Andrey Tatarinov] что-то энтеровское есть) @[1431739380:2048:Grigory Bakunov] @[100001168004708:2048:Erik Babadzhanov]

Кроме плюсов (это я еще не все перечислил), знаю и минусы. У вендора модель еще не полностью проработана, как с технической, так и бизнес-стороны. Пока выясняю детали. Интересно, как скоро мы сделаем систему на этой технологии? Есть похожие темы на рынке?

https://www.yaas.io/

https://www.yaas.io/

Mobile Rhythm Master | 16 мая 2014 года, 15:24

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

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

Собирая фотокалиндарь: идеи для организации фотоархива без сложного софта | 02 июня 2013 года, 12:01

Не могу найти ни одного удобного мультиплатформенного не требующего инсталляции органайзера фоток. Что-то придумал. Вдруг это уже сделали.

Ситуация следующая: три фотоаппарата (телефон, зеркалка, мыльница) генерят какое-то число файлов с фотками, вперемешку хороших и плохих. Разбираться порой времени нет, а флешку чистить надо, поэтому это скидывается в папки вида “photo3”, “photo4” и т.д. Все это лежит на двух внешних дисках, требуется синхронизация, пойдет даже ручная — лишь бы было понятно что куда копировать. Есть туча софта, который это делает, но он либо очень тяжелый (lightroom), либо дорогой, либо не мультиплатформенный (mac os и винды нужны), либо использует свои базы данных, либо все это вместе.

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

Папка IMPORT. Сюда я копирую все подряд, после чего запускаю скрипт и он сам рассовывает их в папки ORIGINAL и RAW по датам, а из IMPORT удаляет. Все фотки с EXIF, поэтому по логике могут быть организованы в события по времени съемки. В принципе, пойдет даже подневное разбиение ГОД->МЕСЯЦ->ДЕНЬ. Другой скрипт создает PREVIEW для тех, для которых еще не создано.

Папка ORIGINAL. Здесь организация по дням, месяцам и годам. Лежат оригиналы в JPG.

Папка EVENTS — Турция, Уэльс, Португалия, и в них — ссылки на папки из календарной иерархии. В идеале жесткие ссылки — не знаю, умеет ли так мак. Я себе представляю это так: копируем фотки в папочку Португалия, а потом скрипт проходится по моим файлам и заменяет их на ссылки из папки PREVIEW или ORIGINALS (в зависимости от того, откуда файл).

Папка PREVIEW. В ней создаются экранного размера фотки автоматом из календарной папки. То есть, для каждого ххххх.jpg создается ххххх_1024.jpg в папке PREVIEW в соответствующей иерархии. Какой-нибудь скриптик, который проверяет, что появилось и создает превьюхи при необходимости. С папочки PREVIEW можно закидывать фотки на фотохостинги для архива, на мобильный, на айпад.

Папка RAW. В нее переносятся все RAW-файлы, а в основной папке создается JPG оригинального размера без сжатия (либо используется созданный фотоаппаратом, если есть). В имени файла при этом делается пометка, что для него есть соответствующий RAW (для его открытия нужно идти в папочку и открывать там файл RAW/2012/06/05/20120605.RAW). Для RAW можно держать отдельный диск, побольше.

Unboxing the Beast: A Gadget Geeks Love Affair with HiFiMan HM-601 | 11 апреля 2013 года, 07:29

Hardware porn – разбирал свой плеер HiFiman HM-601. Чуть упал, но теперь как новый:)

Внезапные решения | 16 октября 2012 года, 13:51

В процессе подготовки к эвенту время от времени вылезает что-то, что не совсем продумали. Слава богу, в этот раз это мелочи. Но очень интересные.

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

Первая задача. Есть большая «плазма», на которую выводится презентация. Есть ноут, который к ней подключен. Есть другая плазма, на которую хотим вывести навигатор по слайдам, чтобы докладчик видел, что там дальше. По умолчанию навигатор выводится на встроенном дисплее, а большая презентация — на внешнем. А надо выводить и то, и то на внешних, на двух. Выводить одновременно на две плазмы с одного VGA-выхода эээ… непросто. Есть сплиттер, кабели, ноутбук и плазмы, пара ноутбуков. Больше ничего нет. А надо.

Решение: поднимаем на одном ноутбуке VNC Server, на другом — VNC клиент. Обжимаем кабель, связываем ноуты в сеть. Второй ноут подключаем к плазме-навигатору, первый — к плазме-с-презентацией. Докладчика ставим на ноут с плазом-презентацией. Он видит свой экран на плазме-навигаторе, но крупнее. Задержка из-за VNC — около десятой доли секунды.