Как стать автором
Обновить
149
0
Игорь Миняйло @maghamed

Lead Architect, Magento an Adobe

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

Система управления складом с использованием CQRS и Event Sourcing. Процесс Разработки

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


Данная статья является продолжением ряда статей опубликованных здесь ранее и посвященных этапам:

  1. Постановке требований
  2. Проектированию
  3. Реализации. Service Layer

В ней описано каким образом мы организовали процесс разработки привлекая разработчиков из собщества Magento с момента старта проекта в середине прошлого лета и с чем мы подошли к General Availability релизу сделанному на прошлой неделе.
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

Magento выпустила новый мажорный релиз платформы — 2.3.0 GA

Время на прочтение2 мин
Количество просмотров3.6K
Вчера компания Magento an Adobe выпустила новую версию платформы 2.3.0 куда вошли:


Magento Community непосредсвенно поучаствовала в релизе исправив 538 Github Issues (Fixed Bugs) и доставив 1030 Pull Requests (Improvements & Bugfixes), которые стали частью релиза 2.3.0

Ссылка на Release Notes
Детальней о новых фитчах релиза



Больше информации под катом
Читать дальше →
Всего голосов 11: ↑4 и ↓7-3
Комментарии1

MageConf 2017 видео и материалы конференции

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


16го Декабря в Киеве прошла самая большая техническая конференция посвященная платформе Magento и eCommerce в целом. Конференция проходила в 4 параллельных потока, на которых было презентовано 30 докладов и воркшопов. Конференцию посетили 600+ участников.

Главному ивенту предшествовал Magento Contribution Day, проводимый в офисе компании Magento за день до этого и собравший более 100 человек, которые вместе с Magento Core программистами и архитекторами работали над улучшением платформы и исправлением багов. А также над разработкой новой функциональности системы — Multi-Source Inventory.



В ходе ивента было поставлено 40+ Pull Request в Magento 2 репозиторий.

В данном посте предлагаю ознакомиться с видео всех выступлений, которые вы найдете под катом. С программой конференции MageConf 2017 можно ознакомиться перейдя по ссылке.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Magento Dare to Share. Осень — сезон Magento митапов

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


21-го сентября в Киеве состоялся очередной Magento «Dare to Share» Meetup.
Вашему вниманию предлагаются видео докладов прозвучавших в рамках мероприятия, а также анонсы следующих Magento ивентов этой осенью.

  1. Антон Криль, Magento Lead Architect (@AntonKril on ) — Magento 2 directions (Укр.)
  2. Анастасия Сухорукова, Magecom (@a_sukhorukova on ) — Микросервисы для Мagento
  3. Игорь Миняйло, Magento Architect (@iminyaylo on ) — Magento Contribution Day как формат Хакатона
  4. Игорь Сидоренко, Vaimo (@wurkindylkildyl on ) — Динамическое редактирование фронтенда в Magento
  5. Олег Посиняк, Magento Cloud (@OlegPosyniak on ) — Magento Cloud

Тезисы докладов и анонсы следующих ивентов можно прочитать под Катом.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии0

Система управления складом с использованием CQRS и Event Sourcing. Service Layer

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


В данной статье будет рассмотрен Service Layer в Magento 2 и сервисы (API интерфейсы) для управления сущностями, которые были описаны в предыдущей статье, посвященной проектированию и выделению доменных сущностей для системы управления складом (Inventory).
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии31

Microservices и Модель Акторов (Actor Model)

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

Доклад посвящен:

  • Пользовательским интерфейсам ориентированным на задачи (Task Based UI)
  • CQRS (Command/Query Responsibility Segregation)
  • Микросервисы
  • Закон Конвея и его влияние на примере организации команд в Magento
  • Fine-grained сервисы vs Coarse-grained сервисы
  • Синхронность vs Асинхронность
  • Модель Акторов (Actor Model)

Вторая часть доклада находится под хабракатом.
Всего голосов 9: ↑5 и ↓4+1
Комментарии32

Magento Dare to Share — Открытая Площадка для докладов о Magento, PHP и eCommerce

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


20 Июля в Киевском офисе Magento прошло открытое мероприятие под названием Magento meetup «Dare to Share», которое могли посетить и в котором могли принять участие любые желающие кому интересна платформа Magento 2 и тема электронной коммерции (eCommerce).

В данном отчете публикуются видео докладов прозвучавших на мероприятии, а также принимаются заявки на выступление в следующем ивенте.

  1. Игорь Миняйло, Magento (@iminyaylo on ) — Magento Community Engineering
  2. Макс Пронько, The Irish Store (@max_pronko on ) — Автоматизация релизов для Magento 2. Опыт компании The Irish Store
  3. Вячеслав Кравчук, Atwix (@slkra on ) — Story of a Transformation (Укр.)
  4. Андрей Кравец, Forbytes / Gymgrossisten (@Winfle on ) — Dynamic caching of personalised data in Real Life (Укр.)
  5. Александр Козырь, Magecom (@kozyr1av on ) — SOLID-ное программирование на Magento 2

Тезисы докладов можно прочитать под Катом
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии24

Система управления складом с использованием CQRS и Event Sourcing. Проектирование

Время на прочтение6 мин
Количество просмотров10K
image
Итак, после постановки требований описанной в части 1 можно перейти к проектированию системы.

Основная наша задача в проектировании, как это понятно из названия статьи, добиться разделения интерфейсов на Query и Command, чтобы впоследствии разделить бизнес сценарии на те, которые будут читать данные (Query интерфейсы) и на те, которые будут изменять данные (Command интерфейсы). А также обеспечить минимальное время ожидание (latency) на обновление данных, доступных через Query, после того как мы изменили данные через Command.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии11

Система управления складом с использованием CQRS и Event Sourcing. Постановка требований

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

В последнее время стала популярна концепция Omnichannel, когда чтобы улучшить качество обслуживания клиентов, различные каналы продаж интегрируются в один. И не важно как и где совершается продажа, для продавца имеет смысл объединить все каналы сбыта для того, чтобы выполнить заказ. На практике это означает, что неважно клиент пришел к вам оффлайн, сделал заказ на сайте, в мобильном приложении или в телефонном режиме — вы должны использовать все доступные средства для его выполнения. И для вас, как для продавца, каждый отдельный канал не должен представлять большой разницы. Презентация omni channel на примере Франкфуртского аэропорта (англ.).

Для интеграции описанной выше, со стороны продавца очень важно иметь возожность интегрировать уровни запасов товаров. Потому что инфраструктура розничной торговли может быть достаточно сложной и объединять внешние склады, магазины, магазины с возможностью заказа товаров в магазин (store pick-up), дропшиппинг (схема торговли, при которой Вы продаёте изделия фирмы-поставщика, которая сама пересылает их покупателю от Вашего имени, а Вы только принимаете от покупателя деньги).

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

Запрещенные изменения в коде или продолжение истории ремонта одного крана

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

Данная статья является продолжением ранее опубликованной статьи, которую можно найти здесь.

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

Откладывание рефакторинга на потом ведет к увеличению технического долга и созданию задач (user story) на рефакторинг, которые не имеют business value для product owner-a, а соответственно такие задачи не будут попадать в топ продуктового беклога.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии7

Политика обратной совместимости при разработке фреймворка на примере Magento 2. Часть 1

Время на прочтение7 мин
Количество просмотров9.8K
image
*Поломанный кран в офисе Magento и быстрое решение воплощенное в жизнь одним из инженеров — типичный Backward Compatible фикс.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии17

Magento U опубликовало бесплатный курс Fundamentals of Magento 2 Development

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

Magento U опубликовало 4 бесплатных курса:


Которые будут доступны до 31го марта 2017 года абсолютно бесплатно для всех желающих.
Курсы включают набор видео уроков, а также pdf материалы и презентации с задачами и тестами в конце каждого урока, которые помогут быстрей разобраться с архитектурой Magento 2.

Содержание курса под хабракатом.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии0

Magento BarCamp — новый сезон докладов. Март 2017

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

Баркемп (англ. BarCamp) — международная сеть конференций, которая создаётся её участниками. Конференции открыты для всех, проходят в формате докладов, тренингов, презентаций, обсуждений. Весь материал предоставляется самими участниками. © — Wiki

Подобные мероприятия в Magento проходят на регулярной основе. И в последующем также будут освещаться здесь.
Вашему вниманию представляются видео докладов с мартовского ивента.


Больше под хабракатом
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

Отчет и материалы конференции MageConf 2016

Время на прочтение1 мин
Количество просмотров4.8K
image
10 Декабря 2016 года в Киеве прошла конференция MageConf 2016. Тематика конференции — весь стек технологий, используемых в Magento. Конференция прошла в 2 потока: Backend и Frontend.

Под катом вы сможете найти видео всех докладов презентованных на конференции:
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Блочное кеширование на стороне клиента

Время на прочтение6 мин
Количество просмотров6.8K
В последнее время в высоконагруженных сайтах стали все чаще применять технику Partial Caching или блочного кеширования. Достигается это, как правило, за счет применения, казалось бы уже давно забытого, SSI или близких ему технологий (например, ESI). Например, в связках Nginx + Memcached + SSI или Varnish + ESI.

Недавно и на Хабре тоже появился топик в котором автор описывал данный метод кеширования.

В данном топике в 3м варианте решения автор предложил читателям топика привести свои варианты решения относительно данной задачи.

Этому, собственно, и посвящается этот топик.
Читать дальше →
Всего голосов 48: ↑37 и ↓11+26
Комментарии105

Кастомные переменные Google Analytics, или новые возможности для сегментирования вашего трафика

Время на прочтение4 мин
Количество просмотров11K
Как Вы, вероятно, уже знаете не так давно произошло обновление Google Analytics. Данное обновление было освещено и здесь, на хабре, — Грандиозное обновление Google Analytics

В частности изменения коснулись:
  • Увеличено количество целей до 20 (4 набора по 5 целей в каждом)
  • Появились цели новых типов (время проведенное на сайте и кол-во просмотренных страниц)
  • Веб-аналитика мобильных сайтов. Статистика с приложений на платформах Android и IPhone также как для веб-сайтав
  • Адаптация кода Analytics под выбранную платформу
  • Появление Pivot таблиц в отчетах — то чего очень не хватало многим, и из-за чего приходилось использовать Excel
  • Фильтрация данных в отчетах на лету
  • Добавлена новая метрика — уникальные посетители
  • Расширена возможность работы с событиями
  • Полностью изменены принципы работы с пользовательскими переменными


На последнем я бы и хотел остановить свое внимание.
Читать дальше →
Всего голосов 42: ↑37 и ↓5+32
Комментарии21

Как обрабатывать Fatal Error в PHP

Время на прочтение4 мин
Количество просмотров19K
В одном из наших проектов (социальная генеалогическая сеть), о котором я писал в данном топике, мы используем очередь отложенных событий, реализованную на мемкеше. Ее архитектура такова: приложение записывает в эту очередь различные события и данные, относящиеся к ним (тип события, входящие параметры, и функция обработчик этого события). После чего менеджер(-ы) очереди разбирают эту очередь и выполняют отложенные события. В частности такая очередь используется для сбора статистики, но также и для других более критичных к выполнению задач.
Поэтому очень важно обеспечить high availability для менеджера(-ов) очереди.

Но т.к. ф-ия обработчик очереди к нам приходит из вне, то за качество этого обработчика события мы не отвечаем, т.е. если обработчик вдруг выбросит ошибку, то нам ее нужно обработать и продолжить работу менеджера очереди. Но иногда случается, что обработчики выбрасывают фатальные ошибки (Fatal Error), и это может стать проблемой…

Читать дальше →
Всего голосов 15: ↑8 и ↓7+1
Комментарии33

«Мое Дерево» — круг расширяется!

Время на прочтение4 мин
Количество просмотров1.4K
Давно хотел представить сообществу стартап, которым мы занимаемся, но всё как-то считал его неготовым и недоделанным. Но вчера, после очередного релиза, в котором мы презентовали миру, пожалуй, главную на сегодняшний день нашу фичу, и очень надеемся, что эта фича в будущем получит приставку killer :-) я решил, что не стоит дальше откладывать дело в долгий ящик и заявить о себе во всеуслышание! Итак — Мое Дерево.

Мое Дерево - Дерево Друзей
Читать дальше →
Всего голосов 101: ↑85 и ↓16+69
Комментарии83

История о том как SVN copy победил SVN merge

Время на прочтение3 мин
Количество просмотров1.8K
Итак, сразу опишу нашу ситуацию и потом объясню почему дал этой статье такое глупое название :-)

Наша команда из 4х человек работает на одном проекте (пока не буду говорить, что за проект, надеюсь, напишу о нем позже)

У нас было 3 SVN ветки: Production (стабильная ветка, которая обслуживает запросы пользователей), Staging (промежуточная ветка), Trunk (девелоперская ветка).

Читать дальше →
Всего голосов 8: ↑4 и ↓40
Комментарии30

Все то, о чем мы так долго мечтали — первый официальный релиз MySQL 5.1

Время на прочтение1 мин
Количество просмотров701
Собственно сегодня наткнулся на ссылку http://lists.mysql.com/announce/565 и сразу спешу поделиться с хабро-сообществом.

Здесь говорится, что сегодня вышел первый релиз MySQL Server 5.1.30 Generally Available (GA), который является первым релизом, рекомендованным для использования на продакшн серверах.

Основные нововведения в версии 5.1. представлены по этой ссылке http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html

А также описаны в статье tuta_larsonЧто нового в MySQL 5.1

Также немаловажно будет ознакомится со списком открытых багов для версии 5.1. — http://dev.mysql.com/doc/refman/5.1/en/open-bugs.html


Ну и собственно ссылка на скачивание — http://dev.mysql.com/downloads/
Всего голосов 57: ↑53 и ↓4+49
Комментарии33
1

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность