Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"Yandex
15 октября 2011, Я.Субботник в Алматы
Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"
О докладе:
Виджет – это информационный блок, который содержит фрагмент сайта. Виджеты могут быть различной сложности, создаваться с различными целями. В этом докладе пойдет речь о том, как правильно создавать виджеты, как их локализировать и как поддерживать.
Михаил Давыдов "Масштабируемые JavaScript-приложения"Yandex
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Я.Субботник в Челябинске в рамках конференции UWDC
О докладе:
О чем нужно подумать во время проектирования архитектуры. Какую архитектуру нужно заложить, чтобы приложение могло безболезненно развиваться.
The document discusses Magento's rendering system and how it generates output for the customer. The main goals of rendering are to generate headers and response body. It describes how controllers dispatch requests and set the response body. Layout, blocks and templates are loaded to generate the final HTML output. Key aspects covered include loading and building the layout, finding template files, and directly including templates to render block output.
Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"Yandex
15 октября 2011, Я.Субботник в Алматы
Евгений Бордунов "Веб-виджеты Яндекса и с чем их едят"
О докладе:
Виджет – это информационный блок, который содержит фрагмент сайта. Виджеты могут быть различной сложности, создаваться с различными целями. В этом докладе пойдет речь о том, как правильно создавать виджеты, как их локализировать и как поддерживать.
Михаил Давыдов "Масштабируемые JavaScript-приложения"Yandex
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Я.Субботник в Челябинске в рамках конференции UWDC
О докладе:
О чем нужно подумать во время проектирования архитектуры. Какую архитектуру нужно заложить, чтобы приложение могло безболезненно развиваться.
The document discusses Magento's rendering system and how it generates output for the customer. The main goals of rendering are to generate headers and response body. It describes how controllers dispatch requests and set the response body. Layout, blocks and templates are loaded to generate the final HTML output. Key aspects covered include loading and building the layout, finding template files, and directly including templates to render block output.
Управление продуктом в стиле Magento Unified ProcessMagecom Ukraine
The document discusses Magento's product management style and unified process. It summarizes that Magento releases new features about every 3 months with a team of 30+ people developing 3-4 features per release. The development process involves creating small cross-functional teams of 2-4 people to work on each feature throughout its lifecycle. An architectural council of experienced developers provides guidance and training. Time management follows critical path methodology and Gantt charts.
Valeriy Rabievskiy leads a web studio called stfalcon.com and is an active open source developer. Doctrine 2 is separated into common, DBAL, ORM, and migrations libraries. Entities are lightweight PHP classes that store data in object properties without needing to extend a base class. The EntityManager acts as the central access point for ORM functions like updating entities and accessing repositories. ZF2 integrates with Doctrine 2 through autoloading. The console provides commands for tasks like validating the schema, generating proxies, and running migrations to update the database schema.
Тестируй это / Виктор Русакович (GP Solutions)Ontico
РИТ++ 2017, Frontend Сonf
Зал Дели + Калькутта, 5 июня, 18:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2625.html
Как писать тесты?
Как запускать тесты?
Кто все сломал?
Все три вопроса рассмотрены в докладе. Также будет демо интеграции проекта, покрытого тестами, и cloud-based-сервиса по запуску этих тестов (github+travis).
Кроме того, расскажу об опыте по сокращению времени прогона тестов; о том, как добавить тесты в случае, если у вас уже есть большое приложение, но все еще без тестов.
Управление продуктом в стиле Magento Unified ProcessMagecom Ukraine
The document discusses Magento's product management style and unified process. It summarizes that Magento releases new features about every 3 months with a team of 30+ people developing 3-4 features per release. The development process involves creating small cross-functional teams of 2-4 people to work on each feature throughout its lifecycle. An architectural council of experienced developers provides guidance and training. Time management follows critical path methodology and Gantt charts.
Valeriy Rabievskiy leads a web studio called stfalcon.com and is an active open source developer. Doctrine 2 is separated into common, DBAL, ORM, and migrations libraries. Entities are lightweight PHP classes that store data in object properties without needing to extend a base class. The EntityManager acts as the central access point for ORM functions like updating entities and accessing repositories. ZF2 integrates with Doctrine 2 through autoloading. The console provides commands for tasks like validating the schema, generating proxies, and running migrations to update the database schema.
Тестируй это / Виктор Русакович (GP Solutions)Ontico
РИТ++ 2017, Frontend Сonf
Зал Дели + Калькутта, 5 июня, 18:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2625.html
Как писать тесты?
Как запускать тесты?
Кто все сломал?
Все три вопроса рассмотрены в докладе. Также будет демо интеграции проекта, покрытого тестами, и cloud-based-сервиса по запуску этих тестов (github+travis).
Кроме того, расскажу об опыте по сокращению времени прогона тестов; о том, как добавить тесты в случае, если у вас уже есть большое приложение, но все еще без тестов.
Любите ли вы велосипеды? Все разработчики любят свои ненаколеночныерешения велосипеды! И мы не исключение. В нашем докладе мы покажем как собирать, сколачивать, вылепливать собственный велосипед так, чтобы на нем потом могла ездить без слёз вся команда, компания, или может весь мир.
Что в докладе будет:
- много Spring Boot-а;
- live coding;
- создание собственного Spring Boot Starter-а;
- Apache Thrift в качестве подопытного кролика.
Чего не будет:
- бенчмарков и сравнений Thrift vs REST vs gRPC vs XXX.
Тема доклада: Service Workers
- Описание проблемы оффлайна и плохого интернета
- Возможные решения
- Описание, цели, поддержка этой технологии
- Примеры
Артур Пархисенко / Livestream / Front-end Engineer
Flexibility vs Conformity - lessons learned in Open SourceMagecom Ukraine
The document discusses the history and growth of Magento, an open source e-commerce platform. It details how Magento started in 2006 with just a few employees and has since grown to over 180 employees in 2010, with over 2 million downloads and powering transactions of $25 billion annually. The document also outlines Magento's products, partnerships, and community of over 270,000 registered users who have contributed thousands of extensions and design themes to the platform.
Тестирование Magento с использованием SeleniumMagecom Ukraine
The document discusses testing Magento with Selenium IDE. It describes recording a test to create a simple product with related products. It then provides best practices for structuring Selenium tests for Magento, including using meaningful locators, script parameterization, handling dynamic page changes, and adding assertions and comments.
3. Представьте себя на месте Magento Представьте себе что вас зовут Magento, вы весите около 60 мегабайт и состоите из более чем 320 тысяч строк кода.
4. Представьте себя на месте Magento Представьте, что одни ваши знакомые хотят, чтобы вы весили меньше, другие – чтобы вы бегали как спринтер, третьи – чтобы вы были способны сделать сальто и встать на мостик без усилий.
5. Представьте себя на месте Magento Представьте, что окружающие никогда не довольны вашими успехами, нагружают вас дополнительными упражнениями и в то же время не прекращают требовать от вас быть еще гибче и еще быстрее.
6. Представьте себя на месте Magento Представили? А теперь представьте, что вы должны быть готовы: обслуживать тысячи клиентов в час никому не отказывать в помощи никого не заставлять ждать
7. Тук-тук (0.000 ms) Пользователь набрал в браузере http://my.magento.installation.com/customer/account/login Веб-сервер все запросы переадресовывает на index.php
8. Запуск основного цикла Magento (0.005 ms) Пользователь набрал в браузере http://my.magento.installation.com/customer/account/login Веб-сервер все запросы переадресовывает на index.php Mage::run()
10. Инициализация приложения (0.020 ms) Пользователь набрал в браузере http://my.magento.installation.com/customer/account/login Веб-сервер все запросы переадресовывает на index.php Mage::run() Инициализация класса приложения Mage_Core_Model_App
11. Запуск основного цикла приложения (0.038 ms) ... Mage::run() Инициализация класса приложения Mage_Core_Model_App Запускается основной цикл приложения Mage::app()->run()
12. Загрузка базовой конфигурации (0.123 ms) ... Mage::run() Инициализация класса приложения Mage_Core_Model_App Запускается основной цикл приложения Mage::app()->run() Загрузка базовой конфигурации из app/etc
14. Инициализация модулей (0.175 ms) ... Инициализация класса приложения Mage_Core_Model_App Запускается основной цикл приложения Mage::app()->run() Загрузка базовой конфигурации из app/etc Инициализация каждого модуля из app/etc/modules ... Module 1 Module 2 Module 3 Module N
15. Инициализация модулей 1 2 app/etc/*.xml app/etc/modules/*.xml app/<Module 1 path>/etc/*.xml app/<Module 2 path>/etc/*.xml app/<Module N path>/etc/*.xml app/etc/local.xml System Configuration 3 … N+1 4 N
16. Запуск цикла диспетчеризации (0.591 ms) ... Запускается основной цикл приложения Mage::app()->run() Загрузка базовой конфигурации из app/etc Инициализация каждого модуля из app/etc/modules ... Module 1 Module 2 Module 3 Module N Инциализация Front Controller и запуск его цикла диспетчеризации
17. Попытка сопоставить роутер с URL (0.613 ms) ... Инициализация каждого модуля из app/etc/modules ... Module 1 Module 2 Module 3 Module N Инциализация Front Controller и запуск его цикла диспетчеризации Перебор всех сконфигурированных роутеров ... Router 1 Router 2 Router 3 Router N
18. Вычисление и запуск action (0.620 ms) ... Инциализация Front Controller и запуск его цикла диспетчеризации Перебор всех сконфигурированных роутеров ... Router 1 Router 2 Router 3 Router N Вычисление Action Controllerи Action, запуск $actionController->actionAction()
19. Анатомия контроллера Обработка входных параметров из Request Загрузка Layout $this->loadLayout(); Работа с отдельными блоками в Layout Отрисовка Layout $this->renderLayout();