Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
Продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java.
XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания и заканчивая управлением тестами.
Главными конкурентными преимуществами являются
- низкая стоимость вхождения. Начинающие автоматизаторы, и даже QA инженеры без навыков программирования создают качественные тесты, а значит легко поддерживаемые, легко изменяемые, с использованием DDT (Data Driven Testing) подходов, что увеличивает повторно-используемость тестов
- встроенные возможности структуризации тестов по папкам и файлам, а также по тегам, что позволяет качественно отобразить документацию на тесты. Внедряя эту платформу, вы автоматически улучшаете свои процессы управления тестами
- XML2Selenium - это плагинная, расширяемая платформа, позволяющая кастомизировать процессы под ваши нужды, создать новые плагины, добавить интеграцию с нужными системами, и многое другое
- все повторно-используемые части (инклюды, плагины) могут помещаться в репозитории, откуда ими могут пользоваться QA инженеры с других проектов компании, тем самым распространяется опыт и знания в области автоматизации
- XML2Selenium имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка создания видео, снепшотов и скриншотов страниц, Groovy и JS скриптинга, поддержки объектно-ориентированного программирования на XML и многих других
Традиционно многие компании не инвестируют много в QA инженеров, при этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся:
- вопросы поддержки и тестирования многих инсталяций продукта на стороне заказчика
- вопросы тестирования нескольких версий (бренчей) одного и того же продукта
- повторн
Agile Java Development компания JazzTeam - Техническая презентация Xml2Seleniumjazzteam
Продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java.
XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания, и заканчивая управлением тестами.
Главными конкурентными преимуществами являются
- низкая стоимость вхождения. Начинающие автоматизаторы, и даже QA инженеры без навыков программирования создают качественные тесты, а значит легко поддерживаемые, легко изменяемые, с использованием DDT (Data Driven Testing) подходов, что увеличивает повторно-используемость тестов
- встроенные возможности структуризации тестов по папкам и файлам, а также по тегам, что позволяет качественно отобразить документацию на тесты. Внедряя эту платформу, вы автоматически улучшаете свои процессы управления тестами
- XML2Selenium это плагинная, расширяемая платформа, позволяющая кастомизировать процессы под ваши нужды, создать новые плагины, добавить интеграцию с нужными системами, и многое другое
- все повторно-используемые части (инклюды, плагины) могут помещаться в репозитории, откуда ими могут пользоваться QA инженеры с других проектов компании, тем самым распространяется опыт и знания в области автоматизации
- XML2Selenium имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка создания видео, снепшотов и скриншотов страниц, Groovy и JS скриптинга, поддержки объектно-ориентированного программирования на XML, и многих других.
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
Продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java.
XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания и заканчивая управлением тестами.
Главными конкурентными преимуществами являются
- низкая стоимость вхождения. Начинающие автоматизаторы, и даже QA инженеры без навыков программирования создают качественные тесты, а значит легко поддерживаемые, легко изменяемые, с использованием DDT (Data Driven Testing) подходов, что увеличивает повторно-используемость тестов
- встроенные возможности структуризации тестов по папкам и файлам, а также по тегам, что позволяет качественно отобразить документацию на тесты. Внедряя эту платформу, вы автоматически улучшаете свои процессы управления тестами
- XML2Selenium - это плагинная, расширяемая платформа, позволяющая кастомизировать процессы под ваши нужды, создать новые плагины, добавить интеграцию с нужными системами, и многое другое
- все повторно-используемые части (инклюды, плагины) могут помещаться в репозитории, откуда ими могут пользоваться QA инженеры с других проектов компании, тем самым распространяется опыт и знания в области автоматизации
- XML2Selenium имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка создания видео, снепшотов и скриншотов страниц, Groovy и JS скриптинга, поддержки объектно-ориентированного программирования на XML и многих других
Традиционно многие компании не инвестируют много в QA инженеров, при этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся:
- вопросы поддержки и тестирования многих инсталяций продукта на стороне заказчика
- вопросы тестирования нескольких версий (бренчей) одного и того же продукта
- повторн
Agile Java Development компания JazzTeam - Техническая презентация Xml2Seleniumjazzteam
Продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java.
XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания, и заканчивая управлением тестами.
Главными конкурентными преимуществами являются
- низкая стоимость вхождения. Начинающие автоматизаторы, и даже QA инженеры без навыков программирования создают качественные тесты, а значит легко поддерживаемые, легко изменяемые, с использованием DDT (Data Driven Testing) подходов, что увеличивает повторно-используемость тестов
- встроенные возможности структуризации тестов по папкам и файлам, а также по тегам, что позволяет качественно отобразить документацию на тесты. Внедряя эту платформу, вы автоматически улучшаете свои процессы управления тестами
- XML2Selenium это плагинная, расширяемая платформа, позволяющая кастомизировать процессы под ваши нужды, создать новые плагины, добавить интеграцию с нужными системами, и многое другое
- все повторно-используемые части (инклюды, плагины) могут помещаться в репозитории, откуда ими могут пользоваться QA инженеры с других проектов компании, тем самым распространяется опыт и знания в области автоматизации
- XML2Selenium имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка создания видео, снепшотов и скриншотов страниц, Groovy и JS скриптинга, поддержки объектно-ориентированного программирования на XML, и многих других.
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
Алексей рассказал, какие задачи и проблемы стояли перед командой в начале пути, какие технологии используются для автоматизации тестирования, какие проблемы при этом возникают и как решаются, а также поделится достигнутыми результатами.
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
Существует мнение, что от разработчиков системы автоматизированных тестов требуется высокая квалификация в области разработки программного обеспечения и солидный багаж знаний. Обычно таких людей в команде тестирования не много. Но можно начать работы по качественной автоматизации тестирования, даже не имея такого опыта. В докладе речь пойдет о:
отборе рекрутов в программу обучения автоматизации тестирования;
первичном пороге для вхождения в рекруты;
составлении учебной программы;
промежуточном контроле и испытаниях;
начале работы над реальными проектами;
подводных камнях и ошибках, которые можно допустить.
Применение этих знаний на собственном опыте позволило компании получить высокое покрытие проекта тестами и достичь результатов, когда каждый из команды разрабатывает и поддерживает автотесты, а также самостоятельно автоматизирует новые проекты.
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQAFest
В темные времена доминации Internet Explorer на рынке браузеров, тестировщик оставался один на один с тестируемым приложением, и лишь усердие, трудолюбие и крепкий алкоголь могли спасти его от безумия и профессионального выгорания.
К счастью, времена изменились. Современные браузеры скрывают в себе множество полезных функций и имеют тысячи плагинов, способных помочь тестировщику веб приложений. Я расскажу вам о браузерных плагинах, которые значительно облегчили тестирование верстки, поизводительности, отзывчивости сайта, позволили мне ускорить выполнение рутинных задач, а также повысили личную эффективность.
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексейsolit
Алексей Мычко, Минск, компания JazzTeam, Software Engineer (test automation)
«Эволюция тестирования на Selenium». Лекция и мастер-класс. Development секция. Для заинтересованных.
Для автоматизации web-приложений самым популярным средством является Selenium. Этот продукт дает возможность создавать как очень простые тесты, так и сложные тестовые фреймворки, позволяющие тестировать системы любой сложности.
В мастер-классе будет наглядно показано создание следующих видов тестов:
- с использование программ, генерирующих тесты по манипуляциям с браузером
- тесты в стиле процедурного программирования
- тесты в стиле объектно-ориентированного программирования
- тесты на DSL (Domain Specific Language) языке
Тестируй как PRO, или учим тесты быть умнее шпаргалкаssuser2062cc
В этой сессии вы узнаете как можно легко оптимизировать время выполнения unit-/UI- тестов вашего проекта. А так же, какие приемы могут сократить время ожидания CI пайплайна в разы и сэкономить вашей компании целое состояние!
API в SAAS, с облаком и без: ресурсы, SLA, балансировка, расширяемостьEatDog
"Особенности SaaS под углом платного доступа к API и ресурсам"
Проблемный домен — введение в управление ресурсами SaaS решения
SLA и требования к отказоустойчивости
Алгоритмы балансировки запросов API
Расширяемость решения в облачной инфраструктуре
Вычислительная сложность задач и управлении запросами пользователей
Пути решения и выбор инструментов, расширение их возможностей
Выводы
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
Алексей рассказал, какие задачи и проблемы стояли перед командой в начале пути, какие технологии используются для автоматизации тестирования, какие проблемы при этом возникают и как решаются, а также поделится достигнутыми результатами.
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
Существует мнение, что от разработчиков системы автоматизированных тестов требуется высокая квалификация в области разработки программного обеспечения и солидный багаж знаний. Обычно таких людей в команде тестирования не много. Но можно начать работы по качественной автоматизации тестирования, даже не имея такого опыта. В докладе речь пойдет о:
отборе рекрутов в программу обучения автоматизации тестирования;
первичном пороге для вхождения в рекруты;
составлении учебной программы;
промежуточном контроле и испытаниях;
начале работы над реальными проектами;
подводных камнях и ошибках, которые можно допустить.
Применение этих знаний на собственном опыте позволило компании получить высокое покрытие проекта тестами и достичь результатов, когда каждый из команды разрабатывает и поддерживает автотесты, а также самостоятельно автоматизирует новые проекты.
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQAFest
В темные времена доминации Internet Explorer на рынке браузеров, тестировщик оставался один на один с тестируемым приложением, и лишь усердие, трудолюбие и крепкий алкоголь могли спасти его от безумия и профессионального выгорания.
К счастью, времена изменились. Современные браузеры скрывают в себе множество полезных функций и имеют тысячи плагинов, способных помочь тестировщику веб приложений. Я расскажу вам о браузерных плагинах, которые значительно облегчили тестирование верстки, поизводительности, отзывчивости сайта, позволили мне ускорить выполнение рутинных задач, а также повысили личную эффективность.
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексейsolit
Алексей Мычко, Минск, компания JazzTeam, Software Engineer (test automation)
«Эволюция тестирования на Selenium». Лекция и мастер-класс. Development секция. Для заинтересованных.
Для автоматизации web-приложений самым популярным средством является Selenium. Этот продукт дает возможность создавать как очень простые тесты, так и сложные тестовые фреймворки, позволяющие тестировать системы любой сложности.
В мастер-классе будет наглядно показано создание следующих видов тестов:
- с использование программ, генерирующих тесты по манипуляциям с браузером
- тесты в стиле процедурного программирования
- тесты в стиле объектно-ориентированного программирования
- тесты на DSL (Domain Specific Language) языке
Тестируй как PRO, или учим тесты быть умнее шпаргалкаssuser2062cc
В этой сессии вы узнаете как можно легко оптимизировать время выполнения unit-/UI- тестов вашего проекта. А так же, какие приемы могут сократить время ожидания CI пайплайна в разы и сэкономить вашей компании целое состояние!
API в SAAS, с облаком и без: ресурсы, SLA, балансировка, расширяемостьEatDog
"Особенности SaaS под углом платного доступа к API и ресурсам"
Проблемный домен — введение в управление ресурсами SaaS решения
SLA и требования к отказоустойчивости
Алгоритмы балансировки запросов API
Расширяемость решения в облачной инфраструктуре
Вычислительная сложность задач и управлении запросами пользователей
Пути решения и выбор инструментов, расширение их возможностей
Выводы
Yo&Co. is a brand persona representing a male student between 20-23 years old. He values his friendships and finds happiness in connection with others. In his free time, he enjoys being active through sports like soccer and snowboarding, as well as reading novels by authors such as Kurt Vonnegut. The brand aims to showcase this persona's goofy, fun-loving side while also depicting him as a dedicated student who appreciates quality time with family and experiences different cultures through travel.
Доклад Алексея Демедецкого на Cъесть собаку #4, 18/08/2016
Тезисы:
- Стоимость изменений в коде как определяющий фактор успеха проекта;
- Важность декомпозиции для поддержки низкой стоимости изменений;
- Тесты, как гарантия стабильности поведения;
- ViewModel как основная абстракция над UIKit;
- Функциональный подход при декомпозиции;
- Правило внутренних зависимостей;
- Правило внешнего контекста;
- Применение в основных архитектурах: MVC, VIPER, MVVM;
- Выводы.
Подробнее: http://eatdog.com.ua/
Distributed Domain Driven Design with the help of Azure Reliable ActorsEatDog
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
The document discusses how to scale a Ruby on Rails application from a single server setup to a more complex architecture using multiple application servers, load balancing, database replication and clustering, caching with Squid and Memcached, and splitting users and data across multiple databases and servers based on factors like location. It provides an overview of the stages of scaling and considerations at each step from basic hosting to a global deployment with millions of users.
Diagnosing Technical Issues With Search Engine OptimizationNine By Blue
If your site is having trouble ranking well in search engines such as Google, you've lost ranking, or you've having trouble with a site move or migration, the trouble could be with the site's technical architecture.
View checklists to help diagnose issues with crawling, indexing, and ranking your site's content.
В докладе я постарался рассазать о том, как я вижу и применяю TDD, почему мне это нравится и почему я хочу, чтобы это нравилось другим. Все это на примере мини-приложения на базе Django.
Видео: http://www.youtube.com/watch?v=077DmBBTS3o
Netpeak Group продолжает серию образовательных мероприятий — #NetpeakTalks в Одессе.
В рамках этих встреч у тебя будет возможность обсудить с практикующим спикером наболевшие темы, связанные с R&D, дизайном, менеджментом, интернет-маркетингом, QA, Customer Success, аналитикой и др. (все темы от встречи к встрече не повторяются и отличаются друг от друга).
Тема#3: Масштабируемое приложение на PHP
Краткий план:
1. Теория принципов и паттернов проектирования.
2. Примеры использования принципов и паттернов в коде (разберём какие "плюшки" даёт каждый случай).
3. Важность слабосвязанного кода (IoC).
4. Как "под капотом" работают IOC контейнера.
_____________________
Информацию об этом и следующих мероприятиях ты можешь отследить:
FaceBook: https://www.facebook.com/NetpeakTalks/
Телеграм: https://t.me/netpeaktalks
__________
Плейлист с выступлениями на YouTube: https://www.youtube.com/playlist?list=PL8LIMl0TjrcDtSS_lM5jqH-huK5FCq44A
__________
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/2991.html
Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других.
Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать. Storybook, BackstopJS, Jest, Webdriver.io, TypeScript - в их числе.
Как построить свой фреймворк для автотестов?Dmitry Buzdin
Мы пройдемся по всем основным блокам построения тестового фреймворка и тому, как они связаны между собой. Вы научитесь собирать свое решение по автоматизации из библиотек с открытым кодом и делать так, чтобы они дополняли друг друга.
Видео: http://www.youtube.com/watch?v=vz0U3jQpHSM
Это обзор опыта применения лучших практик разработки программного обеспечения на разных проектах от госзаказов до видеоконференций в командах от 5 до 50 человек. В докладе будут описаны не только практики, но и то, как они применяются на реальных проектах и какие выгоды они действительно приносят.
Glib Rybalko, GlobalLogic’s Test Lead, consultant and trainer was among 26 known Ukrainian and international experts who took a word on IT Weekend Ukraine 2013. Glib discussed features of automated software testing, benefits and feasibility of using this approach on various projects. During his speech, Glib pointed all necessary steps of automated testing implementation and gave homework for those who were interested in this field and wanted to implement it in their projects.
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...solit
Зубович Вадим, Минск. Опыт в IT более 5 лет, работает в компании ISSoft, специализация: разработка (.NET C# ASP\MVC, WPF, WinForm, Java) и автоматизация функционального тестирования програмного обеспечения (Web, Desktop, Mobile) и тестирования производительности (Web).
«Сравнительный анализ инструментов для автоматизации тестирования мобильных приложений». Development секция. Отделение тестирования.
Мобильные платформы уже набрали огромную популярность, и продолжают наращивать обороты. Ни один разработчик уже не обходит стороной мобильные приложения и автоматизация тестирования в этой сфере актуальна как никогда.
В настоящем докладе мы рассмотрим наиболее популярные и перспективные инструменты для автоматизации тестирования приложений для мобильных операционных систем iOS, Android и WindowsPhone, проведем анализ их особенностей и возможностей, основываясь на опыте их использования в рамках реальных проектов, а также подведем общий итог с рекоммендациями по выбору того или иного инструмента.
«Централизованное управление тестами с помощью TestLink». Development секция. Отделение тестирования.
Эффективное управление тестами это не только грамотный тим-менеджмент, это еще и правильный учет, контроль результатов и своевременное и централизованное обновление информации о тестах для всех участников процесса и силами всех участников процесса.
Достичь этого невозможно без системы управления тестами, позволяющей эффективно распределить права и обязанности участников и обеспечить постоянное поддержание информации о тестах в актуальном состоянии.
TestLink – бесплатный инструмент, предназначенный именно для выполнения этой задачи.
В рамках доклада мы рассмотрим:
1. Как устроен TestLink
2. Как построить работу с TestLink
3. Как создавать информативные отчеты в TestLink
4. Как наладить связь между автоматизацией и TestLink
Алексей Иванов -- курс по стыку системной и программной инженерийAnatoly Levenchuk
Доклад Алексея Иванова «Стык системной и программной инженерии в учебном курсе моделеориентированной разработки программоёмких систем» на 75 заседании Русского отделения INCOSE, 24 апреля 2013г.
Sergey Teplyakov, .NET Expert, “SOLID Principles in the real world”:
• Why design principles matters?
• SOLID principles in the real world
S – Single Responsibility Principle
O – Open-Closed Principle
L – Liskov Substitution Principle
I – Interface Segregation Principle
D – Dependency Inversion Principle
Презентация со встречи QA Club Minsk 11 декабря 2013 г., посвященная одному из поппулярнейших инструментов тест-менеджмента Test Link, автор Вадим Зубович
Классифицируем текст в iOS без CoreML: как и зачем? EatDog
Доклад Вячеслава Володько для Съесть собаку #16: iOS 21/03/2019
Тезисы:
- Классификация текстов с помощью встроенных в iOS SDK средств.
- Ограничения NLLanguageRecognizer и MLTextClassifier.
- Построение собственного классификатора текстов.
- Техники, которые позволяют встроить классификатор в AppExtension.
- Оценка эффективности классификатора.
macOS app development for iOS devs: expand your horizonsEatDog
Доклад Юлии Ващенко для Съесть собаку #16: iOS, 21/03/2019
Тезисы:
- Преимущества разработки под macOS для iOS программистов.
- UIKit vs AppKit.
- Подготовка к релизу Marzipan на наших платформах.
- Взгляд на macOS & iOS с точки зрения их истории.
- Технологии, специфичные для десктопа.
- Демо: Современное межпроцессорное общение.
- Бонус для iOS разработчиков, посетивших доклад.
Доклад Антона Минашкина для Съесть собаку #15, 27/11/18
Тезисы:
- Почему DI – такой популярный design pattern в Android;
- Что особенного в DI для Kotlin;
- Практическая польза и опции DI.
Быстрый в имплементации и в работе мониторинг с использованием ELKEatDog
Доклад Ивана Мельничука на "Съесть собаку"#14: PHP, 20/09/2018
Тезисы:
Как начать кастомно логировать приложение при минимальных усилиях;
Как выглядит готовый стек логирования ELK;
Немного о наболевшем или как доказать заказчику в чем проблема сайта;
Google Analytics семплирует данные, а вы можете узнать больше.
Доклад Евгения Кузьмина для "Съесть собаку" #14: PHP, 20/092018
Тезисы:
Построение процесса continuous integration/delivery на примере Laravel-приложения;
Структура организации авто-тестирования;
Интеграция запуска тестов и деплоя на CI сервере Jenkins;
Применение Docker в связке с AWS ElasticBeanstalk для blue-green деплоя.
Как мы экспериментируем в больших микросервисных системахEatDog
Доклад Александра Баранецкого для Съесть собаку #13, 14/06/2018.
Тезисы:
- Как сделать гибкой разработку на микросервисной системе, в которой более 100 узлов;
- Как минимизировать ошибки и их цену;
- Как мягко обеспечить миграции версий и эволюцию всей системы в целом.
Доклад Александра Котыни на Съесть собаку #13, 14/06/2018.
Тезисы:
- Зачем использовать Redis;
- Эволюция внедрения Redis в крупный проект и подводные камни при его использовании;
- Варианты достижения высокой доступности и отказоустойчивости;
- Наш сценарий.
Доклад Антона Немцева для Съесть собаку #12: JavaScript, 15/03/2018.
Тезисы:
- Зачем, ну зачем нам это?!
- Что именно мы ограничиваем и как выбираем кодстайл;
- Правила и ограничения при написании скриптов, стилей и рабочего процесса;
- Напишем свой собственный npm-пакет с целью особо изощренного насилия;
- Правила и ограничения для рабочего процесса на стороне систем контроля версий;
- Что дальше?
Refactor to Reactive With Spring 5 and Project ReactorEatDog
The document discusses refactoring a Spring application to use reactive approaches. It begins with an overview of reactivity and its benefits compared to blocking implementations. The refactoring process involves 3 main steps: 1) Refactoring the design to use a push model with streaming APIs instead of pulling data; 2) Choosing reactive tooling like Project Reactor, Spring WebFlux and non-blocking drivers; 3) Refactoring the code to use asynchronous and non-blocking implementations, updating contracts to use reactive types like Mono and Flux, and handling errors through retry operators. Examples show converting services to return reactive streams and consume external APIs asynchronously.
1) APIs and GraphQL are discussed as alternatives to traditional database-centric approaches for building applications.
2) GraphQL provides an alternative query language and runtime that allows clients to efficiently fetch nested data from multiple sources in a single request.
3) The document discusses some advantages of GraphQL like efficient data fetching, easier development, and analytics capabilities. It also notes some challenges around caching, security, and error handling.
Доклад Александра Макарова для Съесть собаку #10: PHP, 12/10/2017.
Тезисы:
- Что такое архитектура сайта и зачем она нужна
- Виноват ли фреймворк в плохой архитектуре
- Где выход из сложности и регрессий
- Что делать со сложным доменом
- Выводы.
Доклад Ивана Мосева для Съесть собаку #10: PHP, 12/10/2017.
Тезисы:
- Места обитания: где разворачивать свои микросервисы
- Взаимоотношения в стае: как микросервисы общаются между собой
- Микросервисы и человек: авторизация пользователей и роутинг
- Содержание в неволе: как разрабатывать микросервисы локально
- Выводы.
Доклад Антона Молдована, Software Architect, для Съесть собаку #9, 15/06/2017.
Тезисы:
- Большая роль TDD и DI
- Проблемы с TDD и DI
- Суть альтернативного подхода Dependency Rejection
- Разрушительная перспектива с TDD without Mocks
- Выводы.
Доклад Сергея Калинца, Software Architect, для Съесть собаку #9, 15/06/2017.
Тезисы:
- Проблемы стандартного процесса разработки
- Понятие CI pipeline
- Решения для автоматизации сборки, тестирования и развертывания
- Инструменты для эффективной разработки
- Использование тестовых двойников в .NET
- Концепция "живого кода"
- Демонстрация применения современных библиотек и инструментов для эффективного написания кода.
Доклад Дмитрия Науменко для "Съесть собаку #8", PHP, 20/04/17.
Тезисы:
- Понятие DDD и его цели
- Концепции и паттерны применяемые в DDD
- Использование подходов DDD в разработке приложений
- Преимущества и недостатки
- Выводы.
Доклад Максима Гопея для "Съесть собаку #8", PHP, 20/04/17
Тезисы:
- Моделирование угрозы
- Виды атак и уязвимостей в коде
- Как проверять безопасность систем
- Выводы.
Нельзя просто так взять и сделать версионирование APIEatDog
"Нельзя просто так взять и сделать версионирование API"
Почему важно иметь версионирование и какие проблемы оно решает
Какие есть подходы к версионированию API
Какие инструменты и решения предоставляют популярные веб-фреймворки
Почему версионирование - это не просто и как решить возникшие трудности
Выводы
11. Как использовать
● Разделить сущности в проекте на категории
- Экспериментальные
- Стабильные
- Deprecated (Не рекомендованные)
● Ввести в проект процедуру заморозки API классов
- Дать коду вылежаться
- Провести ревью кода перед заморозкой
15. Как использовать
• Пишите юнит-тесты на интерфейсы и базовые классы
• Запускайте юнит-тесты для базового класса или
интерфейса на классах наследниках
19. Как использовать
• Не бояться “создавать интерфейс ради интерфейса”
• Следить за чистотой интерфейсов во время:
– Разработки
– Баг-фикса
– Хот-фиксов
28. Backbone и SOLID
● Нет иерархии View
● Смешивание ответственности View
- из-за неправильного использования(!)
29.
30.
31. Flux, Redux и SOLID
● Четко очерченные зоны ответственности
- Action creator
- Dispatcher
- Store
- View(from React)
● Redux - нарушает принцип единственной
ответственности
● Redux - нет информации, как расширять приложение
32.
33.
34.
35. React и SOLID
● Четко очерченные зоны ответственности
- View
● shouldComponentUpdate - имеет слишком большую
ответственность
● Реализации контекстов не хватает
для Dependency Injection (не Dependency Inversion)
36. Один из предков в дереве
реализует
shouldComponentUpdate
Выбор дочернего компонента происходит через механизм
внедрения зависимости
37. Что же делать дальше
● SOLID - не икона, чтобы молиться
● Продолжать обучаться
- использовать SOLID при написании кода
● Делать ретроспективы
- изучать влияние на скорость багфикса
- изучать влияние на скорость рефакторинга