Удовлетворяет ли JavaScript реалиям сегодняшнего дня? Может быть стоит посмотреть альтернативы? В докладе рассказывается, какие ещё языки можно использовать во фронтенде, и стоит ли их использовать.
This presentation is about PHP7, its innovations’ overview with practical examples. You will learn how to move to PHP7 and see performance сomparison between PHP 5.6 and PHP7.
This presentation by Dmytro Nazarenko (Senior PHP Developer / Tech Lead) was delivered at GlobalLogic Kharkiv PHP Meetup #1 on September 14, 2016.
Удовлетворяет ли JavaScript реалиям сегодняшнего дня? Может быть стоит посмотреть альтернативы? В докладе рассказывается, какие ещё языки можно использовать во фронтенде, и стоит ли их использовать.
This presentation is about PHP7, its innovations’ overview with practical examples. You will learn how to move to PHP7 and see performance сomparison between PHP 5.6 and PHP7.
This presentation by Dmytro Nazarenko (Senior PHP Developer / Tech Lead) was delivered at GlobalLogic Kharkiv PHP Meetup #1 on September 14, 2016.
The document discusses strategies for Magento developers to transition from project-based work to product-based work. It suggests starting with a single product strategy to gain experience before expanding to multiple products. The strategies aim to help newcomers to the Magento ecosystem compete with veterans and succeed in 2013 and beyond. Contact information is provided for the author's company.
This document discusses the progressive JPEG method for developing software projects. It breaks projects down into a series of sprints, beginning with designing the GUI and frontend before integrating it with the backend. Each sprint includes adding features, validators, tests, and bug fixes to gradually build out the full project functionality over multiple iterations. The progressive JPEG method aims to deliver working software quickly while maintaining high quality and organization through its structured process.
This document provides an overview of key concepts in geography, including the five themes of geography: location, place, human-environment interaction, movement, and regions. It discusses geography as the study of the Earth's surface and the relationship between people and their environment. As an example, it summarizes the settlement of Kenosha, Wisconsin, explaining that pioneers found rich farmland and a port/harbor for fishing and trading along the Pike River and Lake Michigan.
Electrostar Electronics manufactures dependable quality mobile chargers and travel chargers in Noida and Delhi to meet the leading demand for charging mobile phones. Their chargers provide customers with beneficial advantages like being able to charge phones anywhere and at any time, as well as always being connected through advanced apps and business logics. Electrostar Electronics is located in Noida and Pune, and can be contacted by their mobile number, telephone number, or official website.
Electrostar Electronics is a leading electronics manufacturing company located in Noida, India. The company produces a variety of electronics products including CFLs, CFL PCBs, inverters, mobile chargers, UPS systems, and adapters. It prides itself on providing high quality products at economical rates and also offers 24/7 customer support services. The document discusses Electrostar's product lines and provides contact information for the company.
Electrostar Electronics manufactures dependable mobile chargers in Noida, Delhi to meet the high demand for charging phones constantly. Reliable chargers provide many benefits like allowing users to charge their phones anywhere and at any time, staying connected through apps. Electrostar focuses on producing quality chargers and travel chargers using advanced technology to ensure a complete charging cycle. Their contact information is provided for any queries.
Danny Phantom is a ghost boy with grey hair and green eyes who lives in Amity Park in the U.S. He catches ghosts and fights villains while keeping his identity as a high school student secret, saying "Going Ghost" when transforming. As a student, others think he is a loser and he believes he cannot defeat his evil self.
Electrostar Electronics is a leading electronics manufacturing company located in Noida, India. It manufactures a wide range of electronic products including CFLs, inverters, UPS systems, mobile chargers, adapters, and more. The company prides itself on producing high quality electronics at affordable prices using talented engineers. It also offers 24/7 customer support services to its customers.
The document discusses strategies for Magento developers to transition from project-based work to product-based work. It suggests starting with a single product strategy to gain experience before expanding to multiple products. The strategies aim to help newcomers to the Magento ecosystem compete with veterans and succeed in 2013 and beyond. Contact information is provided for the author's company.
This document discusses the progressive JPEG method for developing software projects. It breaks projects down into a series of sprints, beginning with designing the GUI and frontend before integrating it with the backend. Each sprint includes adding features, validators, tests, and bug fixes to gradually build out the full project functionality over multiple iterations. The progressive JPEG method aims to deliver working software quickly while maintaining high quality and organization through its structured process.
This document provides an overview of key concepts in geography, including the five themes of geography: location, place, human-environment interaction, movement, and regions. It discusses geography as the study of the Earth's surface and the relationship between people and their environment. As an example, it summarizes the settlement of Kenosha, Wisconsin, explaining that pioneers found rich farmland and a port/harbor for fishing and trading along the Pike River and Lake Michigan.
Electrostar Electronics manufactures dependable quality mobile chargers and travel chargers in Noida and Delhi to meet the leading demand for charging mobile phones. Their chargers provide customers with beneficial advantages like being able to charge phones anywhere and at any time, as well as always being connected through advanced apps and business logics. Electrostar Electronics is located in Noida and Pune, and can be contacted by their mobile number, telephone number, or official website.
Electrostar Electronics is a leading electronics manufacturing company located in Noida, India. The company produces a variety of electronics products including CFLs, CFL PCBs, inverters, mobile chargers, UPS systems, and adapters. It prides itself on providing high quality products at economical rates and also offers 24/7 customer support services. The document discusses Electrostar's product lines and provides contact information for the company.
Electrostar Electronics manufactures dependable mobile chargers in Noida, Delhi to meet the high demand for charging phones constantly. Reliable chargers provide many benefits like allowing users to charge their phones anywhere and at any time, staying connected through apps. Electrostar focuses on producing quality chargers and travel chargers using advanced technology to ensure a complete charging cycle. Their contact information is provided for any queries.
Danny Phantom is a ghost boy with grey hair and green eyes who lives in Amity Park in the U.S. He catches ghosts and fights villains while keeping his identity as a high school student secret, saying "Going Ghost" when transforming. As a student, others think he is a loser and he believes he cannot defeat his evil self.
Electrostar Electronics is a leading electronics manufacturing company located in Noida, India. It manufactures a wide range of electronic products including CFLs, inverters, UPS systems, mobile chargers, adapters, and more. The company prides itself on producing high quality electronics at affordable prices using talented engineers. It also offers 24/7 customer support services to its customers.
ASP.NET MVC - как построить по-настоящему гибкое веб-приложениеAlexander Byndyu
В докладе рассматривается использование популярных фреймворков в разработке ASP.NET MVC приложения, как сделать его наиболее гибким. Будет затронута тема минимизации дублирования и повторное использование кода, применение методов метапрограммирования отображений; уменьшение логики в контроллерах; применение принципов SOLID и GRASP для разработки доменной модели приложения.
По материалам конференции .NET разработчиков http://www.dotnetconf.ru/Materialy/Asp_net_mvc_kak_postroit_gibkoe_web_prilozenie
Разработка Web-приложений на Angular JS. Архитектурные семинары SoftengiSoftengi
Разработка Web-приложений на Angular JS — доклад Бориса Левицкого, архитектора ПО в команде портфеля проектов Enviance компании Softengi.
Видео с докладом от автора можно посмотреть по ссылке: http://youtu.be/oTXxrmIxo8Y
Презентация ответит на вопросы:
- что такое Angular?
- для чего он используется и что с ним можно делать?
- как работает Data-Binding?
- кастомные фильтры
- структура Angular приложения
Архитектурные семинары Softengi - еженедельные встречи, на которые приглашаются ведущие разработчики/архитекторы Softengi и других компаний нашего консорциума Intecracy Group.
Все проведенные семинары мы записывали, и теперь хотим поделиться опытом и знаниями с такими же профессионалами.
Подписывайся на канал Softengi https://www.youtube.com/user/softengi и узнай первым о новых семинарах.
http://www.softengi.com
Архитектура кода нового 2ГИС Web API или куда мы дели MVCDevDay
Сергей Коржнев
Архитектор версии 1.4 2ГИС Web API
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Тезисы:
● Как организован код в старой версии.
● Вдумчиво смотрим, как мы используем Yii, хватаемся за голову и клавиатуру. Там отрезаем, тут пришиваем, и вуаля!
● Ну и делаем выводы, как мы забороли две классические проблемы программирования: борьба с дублированием кода и сложностью системы.
Модульное тестирование является неотъемлемой частью современного процесса разработки. В своем докладе я хочу поговорить о том как нужно разрабатывать модульные тесты в проекте на C++ так чтобы это приносило максимум пользы.
ASP.NET MVC за пределами Hello World. Дятлов Александр D2D Just.NETDev2Dev
ASP.NET MVC простой и распространённый инструмент. Но строить на его основе большое веб-приложение не так просто. Туториалы не раскрывают проблем возникающих при росте проекта. Зачастую, изначально стройная архитектура размазывается с каждой следующей итерацией.
Я хочу поделиться своим опытом. Рассказать об основных проблемах и предложить выбранные мной решения.
Moscow Python Conf 2016. Почему 100% покрытие это плохо?Ivan Tsyganov
Я работаю над продуктом Max Patrol компании Positive Technologies. Кодовая база нашего проекта насчитывает более 50 тысяч строк кода. Без хороших тестов работа с таким объемом кода превратилась бы в кошмар. Многие программисты стремятся к 100% покрытию кода тестами и считают, что это избавит их от множества проблем. Я расскажу о том, с какими трудностями мы столкнулись и почему заветные 100% ничего не говорят о покрытии тестируемого кода. Я приведу примеры кода и тестов, которые показывают 100% покрытие и покажу почему это не так. Я рассмотрю как работает библиотека coverage.py и объясню почему не стоит слепо верить результатам ее работы. Так же я поделюсь идеей получения честной метрики покрытия кода тестами и представлю прототип библиотеки, в которую воплотилась эта идея.
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magentomeet_magento
Igor Bondarenko discusses best practices for organizing the development process of Magento modules. He recommends choosing ideas based on business analysis, using specialized development tools, and forming teams of narrowly skilled professionals. Bondarenko also stresses the importance of testing, including testing compatibility with other extensions and automation using tools like Selenium IDE. The key to success is performing thorough business analysis, using high-quality tools, skilled teams, and comprehensive testing.
Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...meet_magento
The document discusses the idea of creating a non-profit, inclusive, and transparent Association of Magento extension developers. It notes issues with some extensions copying others or including malicious code, which hurts merchants, system integrators, and the Magento platform. The proposed association could promote best practices, fair competition, compatibility between extensions, innovation, and make life easier for merchants. By increasing the value of Magento, it could help individual businesses grow.
Magento 2 is an e-commerce platform released by Magento as an improved version of Magento 1. The document outlines the timeline for Magento 2 releases, including developer betas in late 2014, releases in 2015, and general merchant availability in late 2015. It also lists six main ways Magento 2 aims to improve upon Magento 1: improved administration, performance, integration, customization, upgrades, and resources for developers.
Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015meet_magento
This document discusses trends in the Magento ecommerce platform market in 2015 and threats facing Magento businesses. It notes that Magento's popularity has grown significantly since 2003, appearing in the top 10,000, 100,000 and 1,000,000 websites for ecommerce and enterprise sites. It also discusses consolidation in the Magento extension market and the rise of single product vendors. New threats mentioned include the growth of less specialized competitors and changes to European VAT policy for digital services.
Елена Ткачева (Magento) - Особенности Magento2meet_magento
The document discusses the goals and key changes in Magento 2. Magento 2 aims to have a modern tech stack for improved performance and scalability. It also focuses on streamlining customizations, simplifying integrations, and making installations and upgrades easier. On the frontend, Magento 2 introduces a responsive theme, UI library, and multilevel theme inheritance for a better customer experience across devices. It also improves performance which can increase conversions and satisfaction.
Meet Magento is an ecommerce conference that started in 2008 and has had over 10,000 attendees from 26 countries. Ecommerce is growing rapidly around the world but the industry is still in its early days and everyone is reinventing solutions. There is a need for localized Magento editions and an ecommerce standard for small and medium businesses that is reliable, focused on the most important functions, and has no gimmicks or fancy features.
This document discusses the growth of mobile commerce and opportunities in the ecommerce industry. Some key points:
- Mobile has greatly impacted shopping behaviors, with over half of shoppers using phones while shopping and tablets driving twice the average purchase size as PCs on eBay.
- The rise of mobile is bridging online and offline commerce, growing the total "commerce" opportunity to an estimated $10 trillion, up from $500 billion in offline retail in 2010.
- Ecommerce platforms face challenges in attracting customers, converting sales, and retaining shoppers in this rapidly transforming industry.
- Magento has seen strong growth, serving over 200,000 merchants and $26 billion in sales in 2013, and is projected
2. О себе
●
Капля Антон
●
Сотрудник консалтингового отдела (aka ECg)
●
Работаю в Мадженто более трех лет
●
Был замечен в таких проектах как
●
Ford (Мадженто которая работает с SQL Server)
●
Регулярных релизах (1.11-1.13)
●
И прочем непотребстве….
3. О презентации
●
Новые фичи в Мадженто
●
Aгрегация и денормализация
●
Оценим новые индексаторы
●
Сварганим пару простых примеров
4. Чего нового в Мадженто 1.13
●
Расширенная библиотека для работы с базой данных
●
Материализация запросов
●
Индексаторы
6. Пример: создание триггера
PHP
/**@var $connection Varien_Db_Adapter_Interface */
$sqlTrigger = new Magento_Db_Sql_Trigger();
$sqlTrigger->setTarget('tag')
->setEvent(Magento_Db_Sql_Trigger::SQL_EVENT_INSERT)
->setName('trg_tag_before_insert')
->setBody('INSERT INTO new_tag (tag_id) VALUES (NEW.tag_id);');
$connection->query((string)$sqlTrigger);
SQL
CREATE TRIGGER trg_tag_before_insert
AFTER INSERT
ON tag FOR EACH ROW
BEGIN
INSERT INTO new_tag (tag_id) VALUES (NEW.tag_id);
END;
7. Материализованное представление
●
Материализированое представление — объект базы
данных содержащий результат выполнения запроса.
●
Основная задача — организация сложно согласованных
данных для для быстрого доступа к ним.
●
Доступ к данным материализированого представления
может быть оптимизирован посредством индексов.
14. Пример: Количество продуктов
Закешируем запрос с количеством продуктов
/** @var $select Varien_Db_Select */
$select
->from(array('cpe' => 'catalog_product_entity'), array())
->joinLeft(array('csi' => 'cataloginventory_stock_item'),
'csi.product_id = cpe.entity_id', array())
->columns(array(
'entity_id' => 'cpe.entity_id',
'sku' => 'cpe.sku',
'qty' => new Zend_Db_Expr('IFNULL(csi.qty, 0)')
));
/** @var $client Enterprise_Mview_Model_Client */
$client = Mage::getModel('enterprise_mview/client');
$client->init('product_qty')
->execute('enterprise_mview/action_mview_create', array(
'select' => $select
));
15. Пример: Количество продуктов
По умолчанию нам доступна команда обновления всех данных
$client->init('product_qty');
->execute('enterprise_mview/action_mview_refresh');
По умолчанию нам доступна команда обновления всех данных
Для обновления по ключу нам необходимо задать ключ
$client->getMetadata()
->setKeyColumn('entity_id')
->save();
$client->execute('enterprise_mview/action_mview_refresh_row', array(
'value' => 16
));
16. Обновление только изменных данных
●
Логирование изменяемых данных.
●
Мадженто использует триггеры баз данных
17. Пример: Активация лога изменений
Подготовим таблицу которая будет накапливать изменения:
Активируем лог указав интересующую нас таблицу и колонку
$client = Mage::getModel('enterprise_mview/client');
$client->init('product_qty')
->execute('enterprise_mview/action_changelog_create');
$client->init('product_qty')
->execute('enterprise_mview/action_changelog_subscription_create',
array(
'target_table' => 'catalog_product_entity',
'target_column' => 'entity_id',
));