Xp days 2019 - Why startups need SRE practicesAlexey Andreev
In Prisma we process more than 500k photos per day on the server. I would like to present why SRE practices are needed in a small company, how to implement them without pain, why it pays off, and how we reduced the number of incidents.
Xp days 2019 - Why startups need SRE practicesAlexey Andreev
In Prisma we process more than 500k photos per day on the server. I would like to present why SRE practices are needed in a small company, how to implement them without pain, why it pays off, and how we reduced the number of incidents.
В докладе я рассказываю о практиках, которые мы активно используем в компании Банки.ру. Как мы добились стабильного процесса выкладки изменений на бой. Как мы отслеживаем, что наши изменения действительно приводят к успеху.
The report I talk about practices that we actively use in the Banki.ru company . As we have achieved a stable process calculations of changes in the fight. How do we keep track of our changes do lead to success .
За более чем 20 лет развития платформа Pega превратилась в уникальный мир с собственной экосистемой: собственными методологиями и техниками создания корпоративных приложений, собственным ни на что не похожим инструментарием разработки. Стремясь сохранить «самобытность» платформа очень острожно подходила к освоению новых тенденций из внешнего мира ИТ-технологий, отказываясь от многих из них, как от противоречащих «генеральной линии партии». Инженерные практики — это как раз то, что долго оставалось «под запретом» в платформе Pega. В нашем докладе мы расскажем, как достичь DevOps с Pega вопреки всем ограничениям платформы.
Techleads Meetup #1
Мобильный веб: назад в будущее"
Виталий Шароватов, Mobile Web Team Lead и Руслан Байрамкулов, Senior Mobile Web QA Engineer (Badoo)
Описание:
Количество пользователей мобильных устройств уже давно превысило количество пользователей стационарных компьютеров и ноутбуков. В свою очередь мобильный веб — это самая быстрорастущая мобильная платформа (по данным comScore, 2015). И если будущее не за этой платформой, то как минимум, она будет его заметной частью.
Давным-давно для Мобильного веба в Badoo были «тёмные времена». Использовались дизайны нативных платформ и эмитировалось их поведение. Даже релизы случались раз в неделю-две. Около года назад ситуация начала меняться в лучшую сторону. Мобильная веб версия Badoo догнала по количеству фич остальные платформы и показала существенный рост по всем показателям. Теперь мобильный веб релизится каждый день.
В докладе мы расскажем о том, что неправильного происходит с процессами внутри и снаружи команды. Для примера возьмем как собственные грабли, так и чужие, но такие распространённые ошибки организации работы.
О том, что не помогло, рассказывать не будем, а о том, что сработало, ничего не утаим. Эта информация поможет вам работать в удовольствие. В ассортименте истории о том:
— как один автоматизатор всю регрессию покрыл;
— как подружились продакты-дизайнеры с командой разработки;
— как жадные программисты забрали себе всю ответственность;
— пуркуа QA любит сидеть с девелоперами плечом к плечу;
— зачем нужно не спускать глаз с багов, ломающих автоматизацию, и как заканчивать фичу после того, как закончили фичу.
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Badoo Development
Доклад о том, как выжить в условиях двух релизов в день, не понижая планку
качества проекта и дать разработчикам и QA-инженерам больше времени на
полезные дела.
Подробно:
Прослушав доклад, вы узнаете:
1. Что НА САМОМ ДЕЛЕ называется непрерывной интеграцией;
2. Кому и зачем нужно переходить на Continious Integration;
3. Почему процесс контроля качества начинается ещё до написания кода;
4. Как программисты учавствуют в процессе тестирования;
5. Как устроен наш поток тестирования с пятью (!) уровнями контроля;
6. Как наши QA-инженеры тестируют задачи до релиза в максимально
реалистичных условиях;
7. Как помогает тестированию плотная интеграция Git, Jira и TeamCity;
8. Зачем нужны более 20 тысяч автоматических тестов и кто их должен
разрабатывать и поддерживать;
9. Чем непрерывно занимаются более 10 агентов-тестировщиков в нашей
TeamCity;
10. Какими средствами мы добились того, чтобы пункты 8 и 9 не превращал
QA-процесс в долгое и унылое действо.
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Oleg Poludnenko
Доклад с PUG#4 https://www.facebook.com/events/350783888446030/
Презентует:
- Асинхронность в веб-приложениях.
- Систему очередей Gearman.
- Пример Реализации c использование Yii2 + Gearman.
Эволюция проекта
Автоматизация бизнес-процессов
Очевидные решения
Продвинутые решения: Gearman, phpDaemon и другие
Очереди сообщений
Процессы в PHP - готовые решения (связки Очередь + Процессы)
Результаты удивляют
Проблемы и трудности, с которыми столкнулись
Presentation "Know Your Security Model" on dotnetconf.ru conference. In this briefing, I tell about security architecture in .NET Framework 4.0 and later, using AppDomains and Code Access Security (CAS) in various applications and development of their own sandbox. I demonstrated the sample of Trusted Chain attack to bypass CAS restrictions.
Why Domain-Driven Design and Reactive Programming?VMware Tanzu
Enterprise software development is hard.
A poorly designed enterprise software application can result in exorbitant costs and overall project failure. Traditional approaches have had difficulty with promoting good design practices, resulting in applications that don’t meet the needs of the business and are costly and difficult to change. Ultimately, this severely limits the value of these applications.
Domain-Driven Design (DDD) and Reactive Programming are design patterns that address these issues head on. Both approaches address application development complexity by breaking your big problems into smaller problems.
DDD puts the focus on the core business domain ensuring that the highest business value areas are addressed first. DDD operates on the premise that your business needs will change, and your applications need to change accordingly. Working closely together, your business domain experts and technical team can deliver apps that evolve with your business.
Reactive Programming promotes simplicity by focusing on only a few important concepts. It reduces the complexity of building a big application by viewing it as a collection of smaller applications that respond to events. The stream of events that occur as part of your business operations can instantly trigger responses from the application, making Reactive Programming real-time, interactive, and engaging.
In this webinar, we will answer five key questions:
What causes software projects to lack well-designed domains?
What is a good domain model and how does it help with reducing complexity?
What is the Reactive model and how does it help developers solve complex application and integration problems?
How can you use these techniques to reduce time-to-market and improve quality as you build software that is more flexible, more scalable, and more tightly aligned to business goals?
How can in-memory data grids like open source Apache Geode and GemFire (Pivotal’s product based on Apache Geode) fit with these modern concepts?
Когда проект делает один разработчик — все просто. Когда над ним работает небольшая команда, можно синхронизироваться и договориться. А вот когда проектов (сайтов и приложений) становится много, и над ними трудится множество команд с перекрестной функциональностью и смежными зонами ответственности, все становится сложным и запутанным.
Я расскажу о своем виденье архитектуры фронтенда, какой она должна быть, чтобы обеспечить её масштабируемость. На основе своего опыта и проблем, с которыми сталкиваются большие проекты.
Видео: https://www.youtube.com/watch?list=PLknJ4Vr6efQFtZmsXmGG64Rz_PHrcXCBL&v=z9y6PNC2FL0
В докладе я рассказываю о практиках, которые мы активно используем в компании Банки.ру. Как мы добились стабильного процесса выкладки изменений на бой. Как мы отслеживаем, что наши изменения действительно приводят к успеху.
The report I talk about practices that we actively use in the Banki.ru company . As we have achieved a stable process calculations of changes in the fight. How do we keep track of our changes do lead to success .
За более чем 20 лет развития платформа Pega превратилась в уникальный мир с собственной экосистемой: собственными методологиями и техниками создания корпоративных приложений, собственным ни на что не похожим инструментарием разработки. Стремясь сохранить «самобытность» платформа очень острожно подходила к освоению новых тенденций из внешнего мира ИТ-технологий, отказываясь от многих из них, как от противоречащих «генеральной линии партии». Инженерные практики — это как раз то, что долго оставалось «под запретом» в платформе Pega. В нашем докладе мы расскажем, как достичь DevOps с Pega вопреки всем ограничениям платформы.
Techleads Meetup #1
Мобильный веб: назад в будущее"
Виталий Шароватов, Mobile Web Team Lead и Руслан Байрамкулов, Senior Mobile Web QA Engineer (Badoo)
Описание:
Количество пользователей мобильных устройств уже давно превысило количество пользователей стационарных компьютеров и ноутбуков. В свою очередь мобильный веб — это самая быстрорастущая мобильная платформа (по данным comScore, 2015). И если будущее не за этой платформой, то как минимум, она будет его заметной частью.
Давным-давно для Мобильного веба в Badoo были «тёмные времена». Использовались дизайны нативных платформ и эмитировалось их поведение. Даже релизы случались раз в неделю-две. Около года назад ситуация начала меняться в лучшую сторону. Мобильная веб версия Badoo догнала по количеству фич остальные платформы и показала существенный рост по всем показателям. Теперь мобильный веб релизится каждый день.
В докладе мы расскажем о том, что неправильного происходит с процессами внутри и снаружи команды. Для примера возьмем как собственные грабли, так и чужие, но такие распространённые ошибки организации работы.
О том, что не помогло, рассказывать не будем, а о том, что сработало, ничего не утаим. Эта информация поможет вам работать в удовольствие. В ассортименте истории о том:
— как один автоматизатор всю регрессию покрыл;
— как подружились продакты-дизайнеры с командой разработки;
— как жадные программисты забрали себе всю ответственность;
— пуркуа QA любит сидеть с девелоперами плечом к плечу;
— зачем нужно не спускать глаз с багов, ломающих автоматизацию, и как заканчивать фичу после того, как закончили фичу.
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Badoo Development
Доклад о том, как выжить в условиях двух релизов в день, не понижая планку
качества проекта и дать разработчикам и QA-инженерам больше времени на
полезные дела.
Подробно:
Прослушав доклад, вы узнаете:
1. Что НА САМОМ ДЕЛЕ называется непрерывной интеграцией;
2. Кому и зачем нужно переходить на Continious Integration;
3. Почему процесс контроля качества начинается ещё до написания кода;
4. Как программисты учавствуют в процессе тестирования;
5. Как устроен наш поток тестирования с пятью (!) уровнями контроля;
6. Как наши QA-инженеры тестируют задачи до релиза в максимально
реалистичных условиях;
7. Как помогает тестированию плотная интеграция Git, Jira и TeamCity;
8. Зачем нужны более 20 тысяч автоматических тестов и кто их должен
разрабатывать и поддерживать;
9. Чем непрерывно занимаются более 10 агентов-тестировщиков в нашей
TeamCity;
10. Какими средствами мы добились того, чтобы пункты 8 и 9 не превращал
QA-процесс в долгое и унылое действо.
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Oleg Poludnenko
Доклад с PUG#4 https://www.facebook.com/events/350783888446030/
Презентует:
- Асинхронность в веб-приложениях.
- Систему очередей Gearman.
- Пример Реализации c использование Yii2 + Gearman.
Эволюция проекта
Автоматизация бизнес-процессов
Очевидные решения
Продвинутые решения: Gearman, phpDaemon и другие
Очереди сообщений
Процессы в PHP - готовые решения (связки Очередь + Процессы)
Результаты удивляют
Проблемы и трудности, с которыми столкнулись
Presentation "Know Your Security Model" on dotnetconf.ru conference. In this briefing, I tell about security architecture in .NET Framework 4.0 and later, using AppDomains and Code Access Security (CAS) in various applications and development of their own sandbox. I demonstrated the sample of Trusted Chain attack to bypass CAS restrictions.
Why Domain-Driven Design and Reactive Programming?VMware Tanzu
Enterprise software development is hard.
A poorly designed enterprise software application can result in exorbitant costs and overall project failure. Traditional approaches have had difficulty with promoting good design practices, resulting in applications that don’t meet the needs of the business and are costly and difficult to change. Ultimately, this severely limits the value of these applications.
Domain-Driven Design (DDD) and Reactive Programming are design patterns that address these issues head on. Both approaches address application development complexity by breaking your big problems into smaller problems.
DDD puts the focus on the core business domain ensuring that the highest business value areas are addressed first. DDD operates on the premise that your business needs will change, and your applications need to change accordingly. Working closely together, your business domain experts and technical team can deliver apps that evolve with your business.
Reactive Programming promotes simplicity by focusing on only a few important concepts. It reduces the complexity of building a big application by viewing it as a collection of smaller applications that respond to events. The stream of events that occur as part of your business operations can instantly trigger responses from the application, making Reactive Programming real-time, interactive, and engaging.
In this webinar, we will answer five key questions:
What causes software projects to lack well-designed domains?
What is a good domain model and how does it help with reducing complexity?
What is the Reactive model and how does it help developers solve complex application and integration problems?
How can you use these techniques to reduce time-to-market and improve quality as you build software that is more flexible, more scalable, and more tightly aligned to business goals?
How can in-memory data grids like open source Apache Geode and GemFire (Pivotal’s product based on Apache Geode) fit with these modern concepts?
Когда проект делает один разработчик — все просто. Когда над ним работает небольшая команда, можно синхронизироваться и договориться. А вот когда проектов (сайтов и приложений) становится много, и над ними трудится множество команд с перекрестной функциональностью и смежными зонами ответственности, все становится сложным и запутанным.
Я расскажу о своем виденье архитектуры фронтенда, какой она должна быть, чтобы обеспечить её масштабируемость. На основе своего опыта и проблем, с которыми сталкиваются большие проекты.
Видео: https://www.youtube.com/watch?list=PLknJ4Vr6efQFtZmsXmGG64Rz_PHrcXCBL&v=z9y6PNC2FL0
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Ontico
В докладе рассмотрим нашу старую архитектуру пайплайна машинного обучения, обратим внимание на ее недостатки как с точки зрения инфраструктуры и автоматизации, так и с точки зрения настройки моделей машинного обучения и проведения экспериментов. Разберемся с архитектурой Apache Spark, и почему мы решили его использовать. Подробно ознакомимся с новой архитектурой нашего пайплайна и тем, как она позволила оптимизировать обнаружение и устранение проблем, ускорила и упростила работу data scientist'ов по проведению экспериментов и доведения их до продакшена. Также затронем вопросы написания тестов и процесса разработки ПО на больших данных.
Python, Django и корпоративные информационные системыPyNSK
Софт для автоматизации бизнеса составляет значительную часть всего существующего на планете программного обеспечения. Рассмотрим требования к нему и особенности его разработки. Оценим, насколько Python для этого подходит, и облегчают ли фреймворки жизнь в кровавом энтерпрайзе.
Докладчик: Анатолий Щербаков
Видео: https://youtu.be/G_ks3sO1Mbs
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...corehard_by
Все мы знаем, что компиляторы в настоящее время достаточно умные. И нам как программистам зачастую не нужно думать о каких-то незначительных оптимизациях - мы полагаемся на оптимизации компилятора. Что ж, настало время выяснить, действительно ли настолько компиляторы умны и узнать, в каких местах программист всё же (может быть) умнее.
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Ontico
РИТ++ 2017, Backend Conf
Зал Сан-Паулу, 6 июня, 17:00
Тезисы:
http://backendconf.ru/2017/abstracts/2777.html
В сложной ситуации хорошо иметь под рукой детали: сообщения об ошибках, статистику времени выполнения запросов, данные о производительности операционной системы и железа. Много деталей! Современные версии MySQL позволяют собрать информацию практически обо всём. Однако любой включённый мониторинг имеет свою цену: производительность. Именно поэтому универсального решения "всё включено", подходящего для любого MySQL-приложения, не существует. Даже при использовании инструментов с графическим интерфейсом у вас всегда есть выбор: что отслеживать и что нет.
В докладе я хочу обсудить, какие опции должны быть включены всегда, какие опциональны и при каких обстоятельствах их включать. Мы рассмотрим встроенные возможности MySQL, Percona-серверов и внешние решения.
Случалось ли, что вы видели (чужой) код и хотели все переписать? Бывало такое, что вы не могли понять, почему кем-то было принято конкретное решение, не другое? Хотели ли вы воскликнуть:«А я бы сделал еще круче!»?
Если вы задумывались об этом, вам будет интересно послушать историю о том, как эти вопросы возникали у Александра и Кирилла и как они решались в условиях большой компании.
Разработчики расскажут, как в самом начале пути вытаскивали шашки и шли в атаку на проблемную архитектуру. Но все оказалось не так просто, и по мере погружения в проект парни стали понимать, что архитектура большой системы — компромисс между различными подходами и решениями, инновациями и легаси (наследованным кодом), централизацией и децентрализацией компонентов. Докладчики наработали очень много опыта в решении архитектурных задач и поделятся опытом и выработанными принципами, которых придерживаются в настоящее время.
Во время доклада будут обсуждаться непростые вопросы, возникающие при принятии решений о том, как будет жить и эволюционировать система.
Вместе со слушателями Александр и Кирилл проделают упражнение по созданию «таблицы технологий» и её эволюции. Также они покажут, насколько важно инженерное решение на любой из стадий развития системы.