Как стать автором
Обновить
1.25
Рейтинг

Magento

Система управления интернет-магазинами

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

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

PHPСовершенный кодПроектирование и рефакторингРазработка под e-commerceMagento


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

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

Разработка веб-сайтовPHPСовершенный кодПроектирование и рефакторингMagento

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

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

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

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

PHPРазработка под e-commerceMagento


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
Просмотры2.6K
Комментарии 24

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

PHPСовершенный кодПроектирование и рефакторингРазработка под e-commerceMagento
image
Итак, после постановки требований описанной в части 1 можно перейти к проектированию системы.

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

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

PHPПроектирование и рефакторингРазработка под e-commerceMagento
image

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

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

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

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

PHPПроектирование и рефакторингРазработка под e-commerceMagento

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

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

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

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

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

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

PHPРазработка под e-commerceMagento
Tutorial
image

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


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

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

Magento 2. Le Roi est mort! Vive le Roi?

Разработка под e-commerceMagento

Впервые с Magento (тогда еще "единичкой") я столкнулся лет, эдак, 6 назад. С тех пор так с ней и работаю, с большей или меньшей плотностью. Изначально пост хотел назвать "Quo vadis, Magento?", но, как оказалось, этим популярным вопросом сообщество задавалось уже не раз — и когда Magento приобреталась ebay'ем, и когда продавалась, и все то время, пока делалась "двоечка", да и поныне этот вопрос остается актуальным (раз уж даже у меня возникло желание использовать такое название). Поэтому пост называется так, как он называется.


image


Под катом же я попытался сформулировать свое собственное (сиречь — субъективное) вИдение перспектив этой платформы — полное брюзжания и уныния. Без подробных выкладок. Без детальных размышлений. Без доказательств. И главное —

... без надежды
Всего голосов 11: ↑9 и ↓2 +7
Просмотры6.8K
Комментарии 14

Magento 2: ObjectManager и Proxy-классы

Разработка под e-commerceMagento
Tutorial

Процесс создания объектов в Magento 2 включает в себя некоторые особенности, присущие именно Magento 2 и связанные с автоматической генерацией кода при определенных условиях (proxies, factories и interceptors). С interceptor'ами для меня было все более-менее понятно, а вот назначение двух других типов генерируемых классов было скрыто туманом непонимания. И если относительно фабрик у меня туман пока еще остается, то вот относительно прокси-классов — туман развеялся.

Для чего нам этот тюнинг в зоопарке
Всего голосов 10: ↑10 и ↓0 +10
Просмотры5.4K
Комментарии 1

Magento 2. Ui Grid

Разработка под e-commerceMagento
Tutorial
Абсолютно все пользователи Magento 2 обратили внимание на обновленный интерфейс админ панели. В этой статье я хотел бы рассмотреть новый интерфейс Grid страниц и главное, как можно создать свою собственную Grid страницу с подробным описанием.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры29.6K
Комментарии 0

Разработка модулей для Magento 1.x — большой гайд + видео

CMSPHPООПРазработка под e-commerceMagento
Tutorial


Привет, Хабр! Несмотря на давно уже выпущеную Magento 2, Magento первой версии еще живее всех живых и пока еще не собирается нас покидать. Команда Magento будет поддерживать первую версию продукта 3 года с даты выпуска версии 2, т.е. примерно до ноября 2018. Рынок пестрит широчайшим выбором тем, модулей и сервисов заточеных под Magento 1.x версии. И большое количество сайтов, которые сейчас на Magento 1.x, не торопятся обновляться. Работы много — выхлопа мало. А значит, разработка под Magento первых версий еще актуальна и так будет несколько лет.

Но не о перспективах развития e-commerce решений пойдет речь в этой статье. Тут я решил собрать своеобразный гайд по созданию модулей для Magento 1.x (далее просто Magento). Но не простой гайд, в котором надо всего лишь следовать инструкциям, а с небольшими пояснениями «почему пишем так, а не иначе». Я старался найти золотую середину между краткостью и достаточностью. И в первую очередь, гайд несет пользу новичкам в деле разработки модулей для Magento. Но и более опытным пользователям данный материал может принести пользу.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры25.3K
Комментарии 5

Как создать тему для Magento 2 с нуля

PHPРазработка под e-commerceMagento


Здравствуйте, уважаемые хабрапользователи! В этой публикации хочу описать процесс создания темы для Magento 2 с нуля. Magento 2 имеет достаточно большое количество нововведений и улучшений по сравнению с первой версией. По большей части они относятся к клиентской части.

Вот некоторые из них:

  1. Полная поддержка HTML5 и CSS3;
  2. Встроенный препроцессор LESS;
  3. Асинхронная загрузка модулей с помощью RequireJS (без ручного добавления скриптов в cекцию head);
  4. jQuery/jQuery UI вместо библиотеки Prototype;
  5. Magento UI библиотека (набор компонентов для простого и гибкого рендеринга пользовательского интерфейса).

Самое интересное – под катом!
Читать дальше →
Всего голосов 16: ↑12 и ↓4 +8
Просмотры28.3K
Комментарии 1

Автоматическое изменение типов продуктов в Magento 2

Разработка под e-commerceMagento
Tutorial
Иногда по тем или иным причинам контент менеджерам необходимо конвертировать тот или иной продукт из Simple в Virtual или наоборот, сменить ему атрибут сет и так далее… Чаще всего это ложится на плечи разработчиков. И тут я хотел бы описать 1 новую и очень интересную особенность Magento 2, которая никак не описана в официальной документации.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры4.9K
Комментарии 0

Увеличение производительности Magento

Высокая производительностьPHPРазработка под e-commerceMagento
Из песочницы
…или правильная работа с коллекциями.

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

В этой статье рассказано о Magento 1.*, но описанное так же подходит и для Magento 2.*.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры10K
Комментарии 20

Области сокрытия кода и рефакторинг

PHPПрограммированиеПроектирование и рефакторингMagento

Одним из главных аспектов при разработке программного обеспечения вообще и web-приложений в частности я считаю способность программного обеспечения быть изменяемым — адаптируемым к изменениям окружающего мира. Это не значит, что разработчик должен заранее предусмотреть будущие изменения среды обитания своего кода, это значит, что код должен переносить множество циклов рефакторинга, оставаясь при этом работоспособным как можно дольше. А для этого нужно, чтобы последствия изменений, вносимых в код, были либо обозримы, либо предсказуемы. Под катом я суммировал свое понимание областей сокрытия кода, сформировавшееся в результате тесных, практически интимных, отношений с Magento 2 (платформой для построения интернет-магазинов). Изложенное ниже относится во-первых, к языку PHP, во-вторых — к web-приложениям, в-третьих — ко всему остальному.

Читать дальше →
Рейтинг 0
Просмотры416
Комментарии 0

Разработка Magento-модулей с развертыванием приложения через Magento Composer

PHPРазработка под e-commerceMagento

Введение


В статье описан опыт развертывания девелоперской версии Magento-приложения с использованием Magento Composer'а. Структура типового Magento-приложения в нашей компании:
  • Magento
  • Сторонние модули, используемые в проекте
  • Разрабатываемые нами модули, используемые более, чем в одном нашем проекте
  • Разрабатываемый нами модуль, содержащий функционал конкретно для данного проекта
  • Тема для конкретного проекта


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

В связи с началом нового проекта для развертывания Magento-приложений решили попробовать Magento Composer. На данный момент у нас код каждого проекта хранится в своем SVN-репозитории, плюс в отдельном — все разрабатываемые нами модули (как общие, так и специализированные):
  • инсталляция Magento и сторонние модули для проекта 01;
  • инсталляция Magento и сторонние модули для проекта 02;
  • ...
  • наши модули;


Для использования Magento Composer'а проект разделили на следующие части (каждая в своем git-репозитории):

  • z_mage_composer_prj_01_full: скрипты развертывания всего проекта, тема, сторонние модули, не доступные через Magento Composer;
  • z_mage_composer_mod_01: первый модуль, от которого зависит проект;
  • z_mage_composer_mod_02: второй модуль, от которого зависит проект;


Читать дальше →
Всего голосов 5: ↑3 и ↓2 +1
Просмотры9.9K
Комментарии 10

Почему Magento?

CMSMagento

Платформа Magento eCommerce уверенно завоевывает популярность. На habrahabr уже было несколько упоминаний о ней. В этой статье я хочу описать некоторые моменты когда Вам стоит выбрать платформу Magento.
Читать дальше →
Всего голосов 63: ↑37 и ↓26 +11
Просмотры155K
Комментарии 114

Вклад авторов