Presentation from https://heisenbug-piter.ru/en/talks/2018/spb/kkw6oivsoywayacggksmk/
Once upon a time, we got a requirement to finish all testing in 2 days despite the number of tests to run. That number grew, and grew, and grew, and now there are tens of millions of them. So this is a story about building a dam against the never-ending flood which turned out to be not that scary. You are very welcome to join and see it for yourself.
Эволюция проекта
Автоматизация бизнес-процессов
Очевидные решения
Продвинутые решения: Gearman, phpDaemon и другие
Очереди сообщений
Процессы в PHP - готовые решения (связки Очередь + Процессы)
Результаты удивляют
Проблемы и трудности, с которыми столкнулись
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
Матерый enterprise проект с "зоопарком" из разнообразных технологий. Часто меняющаяся команда и требовательный заказчик. Менеджер, активно пытающийся вытянуть проект... Все составляющие для сюжета, достойного Титаника.
Было перепробовано множество практик для улучшения процесса разработки, и больше всего это влияло на нас, разработчиков. В одночасье рушились привычные устои, а новые, не успев прижиться, менялись снова. Разве возможна нормальная работа в такой нервной обстановке?
Автор критически оценит парное программирование, тестирование, code review и прочие практики из мира улучшения разработки, а также расшарит набитые шишки и обнаруженные грабли.
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...HappyDev
Доклад о проблемах в строительстве и развитии большого веб-проекта. История развития высоконагруженного сайта глазами работника эксплуатационной команды.
Как говорил Чебурашка: "Мы строили-строили и, наконец, построили". В IT фаза "строили-строили" далеко не всегда переходит в "и, наконец", кроме того, вместо "построили" обычно наступает "версия 2.0", где 2.0 может быть любым числом.
Докладчик находился на стройке между версиями 1.0 и 2.0, помогал таскать кирпичи, мешать раствор и караулил территорию по ночам. В свободное от этих обязанностей время он задавался вопросами "как мы строили?", "почему мы строили?", "зачем мы взяли гвозди, а не нитки", а также "почему в версии 2.0 получился высоконагруженный сайт, а не космический корабль". Именно история развития высоконагруженного сайта глазами работника эксплуатационной команды и составляет основу доклада.
Поскольку история еще не закончена, слушатели познакомятся и с ее новейшими главами, в том числе будут затронуты такие важные темы, как "как выжить в современном мире адепту Церкви Графиков" и "выпуск major release в пятницу вечером - плюсы и минусы".
Качество кода игровых движков: неужели всё так плохо?Andrey Karpov
Специалисты PVS-Studio ищут ошибки в коде программ уже более 10 лет. Под их прицел попадают и игровые движки: Unreal Engine 4, Unity 3D, Cry Engine и даже Amazon Lumberyard. Много ли ошибок получилось в них найти? Спойлер – ещё как! В этом докладе Георгий Грибков, С++ разработчик из PVS-Studio, показывает реальные примеры найденных ошибок (на C# и C++), а также рассказывает, как их можно было избежать.
Любите ли вы велосипеды? Все разработчики любят свои ненаколеночныерешения велосипеды! И мы не исключение. В нашем докладе мы покажем как собирать, сколачивать, вылепливать собственный велосипед так, чтобы на нем потом могла ездить без слёз вся команда, компания, или может весь мир.
Что в докладе будет:
- много Spring Boot-а;
- live coding;
- создание собственного Spring Boot Starter-а;
- Apache Thrift в качестве подопытного кролика.
Чего не будет:
- бенчмарков и сравнений Thrift vs REST vs gRPC vs XXX.
Спросите любого программиста и он честно вам ответит, что 90% процентов его времени уходит на поиск ошибок. Подпишусь под этим и я, сменивший за долгие годы множество языков и фреймворков. Действительно, "человеку свойственно ошибаться". Так что же делать, если из человека это свойство не выбить? Как сократить это бездарно потраченное время?
Тот же программист вам и ответ: "отлаживать, конечно". Это искуство сродни магии, доступно всем и покоряется немногим. Но к счастью, помимо проверенной временем практики "вставь сюда print" к услугам питонистов целый зоопарк инструментов.
В этом докладе я постараюсь обобщить самые частые практики отладки, описать их плюсы/минусы и как они соотносятся с Python. Кроме этого, мы совершим обзорный экскурс по экосистеме и посмотрим, чем можно помочь себе в этой нелегкой борьбе. Для особенных эстетов мы рассмотрим техники получения информации из уже запущенного кода. Buckle up!
======
Ссылки
======
Python Debugger Uncovered
https://www.youtube.com/watch?v=2sEPipctTxw
How I built a power debugger out of the standard library and
things I found on the internet
https://www.youtube.com/watch?v=g8kF9tuYZ6s
Architecture of Open Source Applications: GDB
http://www.aosabook.org/en/gdb.html
Advanced Python Debugging Techniques Using GDB
https://www.youtube.com/watch?v=rB9rPdMRxIA
pdb – Interactive Debugger
https://pymotw.com/2/pdb/
bdb — Debugger framework
https://docs.python.org/2/library/bdb.html
Презентация рассказывает о том, кто такие девопс инженеры, какие проблемы они решают, когда команда разработчиков может обойтись без них и какие инструменты для этого использовать.
Когда проект делает один разработчик — все просто. Когда над ним работает небольшая команда, можно синхронизироваться и договориться. А вот когда проектов (сайтов и приложений) становится много, и над ними трудится множество команд с перекрестной функциональностью и смежными зонами ответственности, все становится сложным и запутанным.
Я расскажу о своем виденье архитектуры фронтенда, какой она должна быть, чтобы обеспечить её масштабируемость. На основе своего опыта и проблем, с которыми сталкиваются большие проекты.
Видео: https://www.youtube.com/watch?list=PLknJ4Vr6efQFtZmsXmGG64Rz_PHrcXCBL&v=z9y6PNC2FL0
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Moscow.pm
- Как создать презентацию не вылезая из любимого текстового редактора (notepad++, padre, vim).
- Как perl помогает автоматизировать работу без написания кода.
- Пара скриптов, которые облегчают работу на разных платформах.
- Те же скрипты на perl6.
- Автоматизация и тестирование Firefox.
В современном мире все меняется очень быстро. Слишком быстро. И требования заказчика в том числе. Гибкие методологии разработки позволяют адаптироваться к быстро меняющимся требованиям. Но как сохранить стабильность приложения в данных условиях, как оставить заказчика удовлетворенным и при этом сберечь психическое здоровье разработчиков? Этот доклад о том, как быстро двигаться вперед без опаски оступиться.
Презентация подготовлена по материалам выступления Евгения Гавриленко на витебской конференции “Developer's Software Conference” (12.11.2016).
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/LinuxDefconRussia
Руткиты в мире основанных на ядре Linux операционных систем уже не являются редкостью. Рассказ будет о том, как попытки в современных реалиях определить то, скомпрометирована ли система, привели к неожиданному результату.
D2D Pizza JS Илья Беда "Куда мы все катимся?"Dev2Dev
Окружение JavaScript, наверно, самая быстроразвивающаяся отрасль в мире разработки программного обеспечения. Все слышали шутку про книгу “36 новых JavaScript фреймворков, выпущенных в марте”, и это не далеко от правды.
В своем обзорном докладе я расскажу о своем пути во frontend. О том, как вижу современную индустрию, о существующих проблемах и путях их решения. Все не так уж радужно, как может показаться. Надеюсь, мой доклад позволит вам взглянуть на мир JavaScript с другой стороны или, по крайней мере, задуматься о том, в правильном ли направлении вы движетесь?
Доклад с конференции D2D Pizza JS - http://dev2dev.ru/events/8/
Раньше PaaS системы казались чем-то сложным и недосягаемым. И немногие могли попытаться реализовать такую систему самостоятельно. Но стремительное развитие технологий снизило порог входа в мир PaaS. Появилось множество готовых продуктов. И более того, вы сами можете сделать свой PaaS.
В своём докладе я поделюсь опытом проектирования и создания PaaS системы на базе docker, registrator, etcd, confd и ansible. Расскажу, почему я решил сделать его самостоятельно, а не взять готовый, поделюсь опытом реального использования этого продукта в production.
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...corehard_by
На практике возникают проблемы, которые невозможно воспроизвести и исследовать на стороне разработчика. В таких ситуациях порой бывает невозможно даже организовать удаленный доступ к машине. Во время доклада будут рассмотрены и даны советы по отладке типовых задач таких как аварийное завершение, утечка ресурсов и ошибки синхронизации в многопоточных приложениях. Мы будем использовать отладчик Windbg. Доклад будет интересен в первую очередь начинающим разработчикам, работающим с платформой Windows.
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
Розгляд та аналіз інфструментів PHPStorm для drupal розробника: QA tools, Xdebug, Issue Tracking System, Drush, інструменти для роботи з Vagrant, Docker і базами даних. Корисні плагіни.
Similar to SymfonyConf IV.2016 - Реанимация проектов на Symfony (20)
SymfonyConf IV.2016 - Реанимация проектов на Symfony
1. Реанимация проектов
на Symfony
Где стелить соломку
Сергей Великанов <s.velikanov@8bitgroup.com>, SymfonyConf IV.2016, пользуясь случаем, передаю привет маме!
11. Сергей Великанов
Технический директор 8bit group
Начинал PHP-верстальщиком в 2003 году
С Symfony дружим ≈5 лет
В нерабочее время пишу на C#
Хобби - бокс и джиу-джитсу
11
20. Как узнать?
Индивидуальный мониторинг логов
Команды мониторинга
СМСки о критических сбоях
Бот в Telegram
Быстрый чек после релиза
M/Monit
20
Zabbix
Nagios
Cacti
21. M/Monit
Индивидуальный мониторинг логов
21
check file gearman_worker_execute.log with path !
/var/log/gearman_worker_execute.log
if match "Error" then alert
if match "Exception" then alert
Команды мониторинга
check program project_whatever with path !
“sf app:whatever:check” uid “project”
group project
if status != 0 for 2 cycles then alert
69. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
69
70. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
70
⌘K вместо VCS->Commit Changes…
⌘+Click, ⇧⇧, ⌘O
71. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
Умей обращаться с редактором на сервере
71
72. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
Умей обращаться с редактором на сервере
72
$ для перемещения в конец строки
^ для перемещения в начало строки
gg для перемещения в начало документа
G для перемещения в конец документа
12G для перемещения на 12 строку документа
ТЫСЯЧИ ИХ!!!11
73. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
Понимай, где происходит ошибка
Умей обращаться с редактором на сервере
73
74. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
Понимай, где происходит ошибка
Выучи шорткаты ко всему, чем пользуешься
Умей обращаться с редактором на сервере
74
75. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
Понимай, где происходит ошибка
Выучи шорткаты ко всему, чем пользуешься
Настрой SSH посерверно (ucarp)
Умей обращаться с редактором на сервере
75
77. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
Понимай, где происходит ошибка
Выучи шорткаты ко всему, чем пользуешься
Настрой SSH посерверно (ucarp)
СДЕЛАЙ УЖЕ АЛИАС ДЛЯ /app/console, /bin/console
Умей обращаться с редактором на сервере
77
78. И напоследок
Проблема возникает не когда всё ломается…
…а когда всё не может быстро починиться
Умей обращаться с IDE на своей машине
Понимай, где происходит ошибка
Выучи шорткаты ко всему, чем пользуешься
Настрой SSH посерверно (ucarp)
СДЕЛАЙ УЖЕ АЛИАС ДЛЯ /app/console, /bin/console
Умей обращаться с редактором на сервере
И СОХРАНИ ЭТИ ЧАСТО ИСПОЛЬЗУЕМЫЕ ЗАПРОСЫ
78