Soumettre la recherche
Mettre en ligne
S.O.L.I.D-ый JavaScript
•
2 j'aime
•
10,164 vues
Badoo Development
Suivre
«S.O.L.I.D-ый JavaScript», Алексей Охрименко (IPONWEB)
Lire moins
Lire la suite
Technologie
Affichage du diaporama
Signaler
Partager
Affichage du diaporama
Signaler
Partager
1 sur 28
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Причины моей любви к RubyOnRails: Ruby, Сообщество, Тестируемость, ...
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails
Pavel Gabriel
Доклад Анастасии Николаевой на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург
Локализационное тестирование носителями языков
Локализационное тестирование носителями языков
SQALab
Александр Орлов, Стратоплан
Карьера через руководителя: чего они хотят?
Карьера через руководителя: чего они хотят?
Diana Dymolazova
Фреймворк для регрессионного тестирования на основе WebDriver, Бордюг Иван В этом докладе слушатели услышат об идее автоматизации для людей с разным уровнем знаний в этой области. Также слушатель увидит, как быстро могут создавать тестовые сценарии по технологии BDD, которые в будущем станут тестами для регрессионного тестирования. Доклад будет построен на уже существующей разработке докладчика, будут высветлены все позитивные и негативные стороны данного подхода, а также проблемы, которые удалось решить в процессе автоматизации и проблемы, с которыми столкнулась команда в процессе использования данного подхода.
Фреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriver
automated-testing.info
Презентация, прочитанная на AgileEE'09. Видео "тестового прогона" доклада можно найти по ссылке: http://vimeo.com/6651557
А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?
Andrey Bibichev
Быстрое расширение Robot Framework под свои нужды с использованием Python, Михаил Поляруш Когда мы начинаем заниматься автоматизацией тестирования ПО, мы редко знаем и понимаем, что нам надо будет делать, а тем более, как это нужно реализовать. Потому, выбираем самые простые решения, которые иногда даже не подразумевают программирования. Вы считаете, что успешная автоматизация может быть без программирования? Я уверен, что НЕТ, и с уверенностью могу сказать, что процесс автоматизации с помощью python и RobotFramework может значительно упростить Вам жизнь. Убедитесь в том, что архитектура RobotFramework очень гибкая, а python – лучший друг автоматизатора. Вас ждет увлекательная теория и много практики в живую.
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Python
automated-testing.info
Автоматизация SEO-процессов в продуктовых компаниях Почему нужны эти знания? Какие нужны знания? Что можно автоматизировать? Фишечки
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
Vladislav Morgun
Мало разработать хороший API — важно сделать так, чтобы разработчики могли легко узнать о нём и начать пользоваться. В докладе мы на своём опыте расскажем о том, как превратить свою технологию в настоящий продукт для самых специфических и требовательных пользователей: разработчиков и вебмастеров. Сначала поговорим об основах, а затем разберёмся, как развивать свой проект на последующих этапах.
"API как полноценный продукт" — Наталия Францева и Екатерина Текунова, Яндекс
"API как полноценный продукт" — Наталия Францева и Екатерина Текунова, Яндекс
Yandex
Recommandé
Причины моей любви к RubyOnRails: Ruby, Сообщество, Тестируемость, ...
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails
Pavel Gabriel
Доклад Анастасии Николаевой на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург
Локализационное тестирование носителями языков
Локализационное тестирование носителями языков
SQALab
Александр Орлов, Стратоплан
Карьера через руководителя: чего они хотят?
Карьера через руководителя: чего они хотят?
Diana Dymolazova
Фреймворк для регрессионного тестирования на основе WebDriver, Бордюг Иван В этом докладе слушатели услышат об идее автоматизации для людей с разным уровнем знаний в этой области. Также слушатель увидит, как быстро могут создавать тестовые сценарии по технологии BDD, которые в будущем станут тестами для регрессионного тестирования. Доклад будет построен на уже существующей разработке докладчика, будут высветлены все позитивные и негативные стороны данного подхода, а также проблемы, которые удалось решить в процессе автоматизации и проблемы, с которыми столкнулась команда в процессе использования данного подхода.
Фреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriver
automated-testing.info
Презентация, прочитанная на AgileEE'09. Видео "тестового прогона" доклада можно найти по ссылке: http://vimeo.com/6651557
А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?
Andrey Bibichev
Быстрое расширение Robot Framework под свои нужды с использованием Python, Михаил Поляруш Когда мы начинаем заниматься автоматизацией тестирования ПО, мы редко знаем и понимаем, что нам надо будет делать, а тем более, как это нужно реализовать. Потому, выбираем самые простые решения, которые иногда даже не подразумевают программирования. Вы считаете, что успешная автоматизация может быть без программирования? Я уверен, что НЕТ, и с уверенностью могу сказать, что процесс автоматизации с помощью python и RobotFramework может значительно упростить Вам жизнь. Убедитесь в том, что архитектура RobotFramework очень гибкая, а python – лучший друг автоматизатора. Вас ждет увлекательная теория и много практики в живую.
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Python
automated-testing.info
Автоматизация SEO-процессов в продуктовых компаниях Почему нужны эти знания? Какие нужны знания? Что можно автоматизировать? Фишечки
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
Автоматизация SEO-процессов в продуктовых компаниях - DVOMA.pro 30.08
Vladislav Morgun
Мало разработать хороший API — важно сделать так, чтобы разработчики могли легко узнать о нём и начать пользоваться. В докладе мы на своём опыте расскажем о том, как превратить свою технологию в настоящий продукт для самых специфических и требовательных пользователей: разработчиков и вебмастеров. Сначала поговорим об основах, а затем разберёмся, как развивать свой проект на последующих этапах.
"API как полноценный продукт" — Наталия Францева и Екатерина Текунова, Яндекс
"API как полноценный продукт" — Наталия Францева и Екатерина Текунова, Яндекс
Yandex
«Классическое программирование для фронтендеров», Игорь Алексеенко (HTML Academy) Зачем фронтендерам изучать алгоритмы и структуры данных.
Классическое программирование для фронтендеров
Классическое программирование для фронтендеров
Badoo Development
«Парсим CSS», Роман Дворнов (Avito) В ходе работы над CSSO мне пришлось погрузиться в процесс парсинга CSS. В результате парсер (тот, что в CSSO) был не раз переписан. Пришло время сделать его отдельным инструментом. Новый быстрый детальный парсер CSS, его AST, области применения и кое-что ещё.
Парсим CSS
Парсим CSS
Badoo Development
«Что надо знать о HTTP/2», Александр Майоров (Tutu.ru) Протокол HTTP/2 обещает ускорение загрузки страниц и очень активно продвигается. Так ли это и какую пользу от протокола могут получить Frontend разработчики? Стоит ли переходить на новый протокол? В качестве киллер фичи заявлена поддержка Server push. Что это и как этим пользоваться? Эти и другие вопросы будут освещены в докладе.
Что надо знать о HTTP/2
Что надо знать о HTTP/2
Badoo Development
Презентация с MoscowJS митапа: "Как мы общаемся с пользователями на 46 языках и понимаем друг друга", Вячеслав Волков (Badoo)
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Badoo Development
Techleads Meetup #1 "Багфиксинг процесса разработки в iOS: взгляд с двух сторон" Екатерина Николаенко, iOS QA Lead и Катерина Трофименко, iOS Developer (Badoo) Описание: Приложение Badoo для iOS существует около 7 лет и пережило уже 4 реинкарнации. Наши процессы и подходы не всегда были оптимальны и мы не единственные, кто познали релизы через боль и страдание всех участников процесса разработки. Чтобы найти идеальный баланс между скоростью и качеством мы решили отрефакторить процессы разработки и тестирования в iOS команде и добились релизов раз в неделю. Из нашего доклада вы узнаете об эволюции команды с точки зрения разработки и тестирования. А так же мы расскажем как мы уменьшили crash-rate в 40 раз.
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Badoo Development
Techleads Meetup #1 Мобильный веб: назад в будущее" Виталий Шароватов, Mobile Web Team Lead и Руслан Байрамкулов, Senior Mobile Web QA Engineer (Badoo) Описание: Количество пользователей мобильных устройств уже давно превысило количество пользователей стационарных компьютеров и ноутбуков. В свою очередь мобильный веб — это самая быстрорастущая мобильная платформа (по данным comScore, 2015). И если будущее не за этой платформой, то как минимум, она будет его заметной частью. Давным-давно для Мобильного веба в Badoo были «тёмные времена». Использовались дизайны нативных платформ и эмитировалось их поведение. Даже релизы случались раз в неделю-две. Около года назад ситуация начала меняться в лучшую сторону. Мобильная веб версия Badoo догнала по количеству фич остальные платформы и показала существенный рост по всем показателям. Теперь мобильный веб релизится каждый день. В докладе мы расскажем о том, что неправильного происходит с процессами внутри и снаружи команды. Для примера возьмем как собственные грабли, так и чужие, но такие распространённые ошибки организации работы. О том, что не помогло, рассказывать не будем, а о том, что сработало, ничего не утаим. Эта информация поможет вам работать в удовольствие. В ассортименте истории о том: — как один автоматизатор всю регрессию покрыл; — как подружились продакты-дизайнеры с командой разработки; — как жадные программисты забрали себе всю ответственность; — пуркуа QA любит сидеть с девелоперами плечом к плечу; — зачем нужно не спускать глаз с багов, ломающих автоматизацию, и как заканчивать фичу после того, как закончили фичу.
Мобильный веб: назад в будущее
Мобильный веб: назад в будущее
Badoo Development
Techleads Meetup #1 "Технологии vs коммуникации: что важнее?" Альгис Фатеев, руководитель тестирования (Avito) Описание: последние несколько лет проект Avito растёт лавинообразным образом, с 2012 года команда разработчиков выросла в 20 раз. За очень короткое время мы прошли путь от «ну что, будем релизиться?» до отлаженного процесса выкатки кода в продакшн. В докладе речь пойдёт о том, как изменилась команда, процессы разработки и жизненный цикл задач в Avito за последние годы, как внедрялось тестирование в проект. Кроме того, я отдельно рассмотрю вопросы, касающиеся управляемости проекта при резком росте: — какие решения, заложенные на начальном этапе, позволили нам быстро масштабироваться; — с какими главными болезнями роста мы столкнулись и как их решали; — как подготовиться на случай лавинообразного роста.
Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?
Badoo Development
Techleads Meetup #1 "Как автотесты ускоряют релизы в OK.ru" Никита Макаров, руководитель отдела тестирования (Одноклассники) Описание: начиная с 2012 года Одноклассники прошли огромный путь в области ускорения релизов. Одним из факторов успеха была автоматизация тестирования, которую внедряли «с нуля». В своем докладе я расскажу: — о том как мы учили тестировщиков писать автотесты; — сколотили команду автоматизаторов и построили инфраструктуру автоматизации тестирования; — о наших ошибках, поражениях, полезных практиках и процессах.
Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ru
Badoo Development
Тема: Как создать небольшую и прибыльную софтверную компанию, если ты программист?
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
Badoo Development
Тема: Вжух, и у вас Agile!
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
Из презентации вы узнаете: про большинство утилит из арсенала Go, предназначенных для оптимизации производительности; — как и когда их (утилиты) использовать, а также мы посмотрим как они устроены внутри; — про применимость linux утилиты perf для оптимизации программ на Go. Кроме того, устроим небольшой crash course, в рамках которого поэтапно соптимизируем несколько небольших программ на Go с использованием вышеперечисленных утилит.
Profiling and optimizing go programs
Profiling and optimizing go programs
Badoo Development
Из презентации вы узнаете: — как мы пришли к Go, оставив идею использования Node.js, Scala или Rust; — про первый сервис, который мы написали на Go и запустили в продакшен; — про ошибки, с которыми сталкивались под нагрузкой; — про оптимизации, которые мы сделали и еще планируем сделать; — про тестирование и предотвращение тестирования на продакшене (в частности, websocket'ов).
Семь тысяч Rps, один go
Семь тысяч Rps, один go
Badoo Development
DevConf 2016 Геолокация в Badoo, Андрей Воликов (Badoo) - Особенности работы с географическими координатами; - Как добывать и обрабатывать миллиарды координат в день, какие проблемы вас ждут; - Какие задачи решаются в Badoo с использованием геопозиции; - Как мы построили систему пересечений пользователей. https://www.youtube.com/watch?v=lGn19LxUpCQ
"Геолокация в Badoo", Андрей Воликов (Badoo)
"Геолокация в Badoo", Андрей Воликов (Badoo)
Badoo Development
DevConf 2016 "Новые возможности MySQL 5.7", Дмитрий Ленев (Oracle) MySQL 5.7 наиболее свежая стабильная ветка СУБД MySQL. Данный доклад посвящен новым функциональным возможностям появившимся в этой версии. В частности мы поговорим о: - родной поддержке JSON данных и операций с ними - генерируемых столбцах - улучшениях в системе безопасности - многочисленных измененениях в InnoDB - изменениях в репликации, таких как поддержка multi-source репликации. - многом другом Кроме того будут освещены возможности связанные с новым X плагином, который стал доступен с релизом версии 5.7.12 в апреле этого года. Обсудим использование MySQL как Document Store, новый протокол и X DevApi для коннекторов, новый клиент MySQL Shell.
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
Badoo Development
Из презентации вы узнаете: — как работает database/sql; — интерфейс и реализации database/sql/driver; — обзор популярных ORM и что с ними не так; — как мы делали свой лучший ORM; — и почему столько раз его переделывали.
Reform: путь к лучшему ORM
Reform: путь к лучшему ORM
Badoo Development
DevConf 2016 "Обзор Tarantool DB", Василий Сошников, (Mail.ru Group)
"Обзор Tarantool DB"
"Обзор Tarantool DB"
Badoo Development
Поговорим о том, почему это далеко не самая простая задача, и как следует разбираться с возникающими трудностями. Рассмотрим и покритикуем существующие решения. Научимся создавать свой собственный велосипед.
«Миллион открытых каналов с данными по сети» – Илья Биин (Zenhotels)
«Миллион открытых каналов с данными по сети» – Илья Биин (Zenhotels)
AvitoTech
DevConf 2016 "PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессиональный) Что нужно знать разработчику приложений о базах данных вообще и PostgreSQL в частности? Может быть достаточно основ SQL? А может во всём положиться на ORM? Несмотря на кажущуюся простоту работы с базами данных, для качественной реализации приложений необходимы знания по самому широкому кругу тем: - Нормализация и денормализация данных - Типы данных и ограничения целостности - Хранимые процедуры и триггеры - Аналитические функции и CTE - Транзакции и уровни изоляции - Материализованные представления и секционирование - Типы индексов и как их использовать - Методы доступа к таблицам и способы их соединения - Сбор статистики и планы выполнения запросов А нужны ли разработчикам знания об основах администрирования и архитектуре СУБД в целом? Нужно ли понимать что и для чего делает VACUUM? Доклад в первую очередь адресован разработчикам и архитекторам приложений, но также будет интересен администраторам баз данных и всем “сочувствующим”.
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
Badoo Development
DevConf 2016 "Производительность MySQL: что нового?", Алексей Копытов Алексей Копытов — разработчик MySQL и связанных с ним проектов с 2004г. Работал в компаниях MySQL AB, Sun Microsystems и Oracle. В компании Percona участвовал в разработке Percona Server, XtraBackup и XtraDB Cluster. В настоящее время занимается проблемами производительности MySQL на современном оборудовании. MySQL 5.7 предлагает огромное количество улучшений в производительности практически всех компонентов: InnoDB, секционирования, бэкапов, репликации, DDL и оптимизаторе запросов. В этом докладе мы рассмотрим эти оптимизации подробно, а также поговорим о проблемах, которые остаются актуальными до сих пор, возможных методах их решения и планируемых дальнейших оптимизациях в MySQL 8.
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
Badoo Development
DevConf 2016 "Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group) Lua — высокоуровневый язык, похожий на Python/JS, но существенно более простой. Он гибкий и при этом очень быстрый. Возможно, вы слышали про OpenResty. Это решение для разработки Nginx модулей на Lua. Cloudflare, крупнейший CDN/anti-DDOS провайдер, как раз работает на OpenResty. На скоростях 10/100Gb сетевой стек в ядре Linux становится “узким местом”. Есть ряд технологий для выноса обработки пакетов из ядра в userspace; например Snabb Switch. Последний написан целиком на Lua и справляется с потоком в 200+Gb. Как на счет менее экзотических применений? На Lua есть свой Node.js (luvit.io). Lua есть в БД Tarantool. У нас была задача валидации данных на соответствие схеме; мы переписали валидацию с Си на Lua и получили ускорение в 4 раза (за счет JIT-компиляции). Lua набирает популярность и он объективно хорош. Что будет в докладе: 1) Краткое введение в Lua: мы убедимся в том, что язык простой и там есть все необходимое на каждый день. 2) Секция Lua WAT (смешные контр-интуитивные особенности языка, 0 and 1 == 0) 3) Поговорим о том, почему Tarantool использует LuaJIT, а не V8. 4) Разберемся, почему именно Lua такой быстрый, и как работает трассирующий JIT-компилятор.
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
Badoo Development
Рассказ о том, что творилось с проектами kolesa.kz и krisha.kz в 2011-2012 годах и что происходит сейчас, как мы создавали с нуля API и впоследствии переезжали на него, как на лету меняли хранилища данных, как боролись с нагрузками и воевали за надежность, расскажу о граблях на которые наступили и как их можно было бы избежать.
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
endeveit
Автор Никита Вершинин
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
ITCrowd Almaty
Contenu connexe
En vedette
«Классическое программирование для фронтендеров», Игорь Алексеенко (HTML Academy) Зачем фронтендерам изучать алгоритмы и структуры данных.
Классическое программирование для фронтендеров
Классическое программирование для фронтендеров
Badoo Development
«Парсим CSS», Роман Дворнов (Avito) В ходе работы над CSSO мне пришлось погрузиться в процесс парсинга CSS. В результате парсер (тот, что в CSSO) был не раз переписан. Пришло время сделать его отдельным инструментом. Новый быстрый детальный парсер CSS, его AST, области применения и кое-что ещё.
Парсим CSS
Парсим CSS
Badoo Development
«Что надо знать о HTTP/2», Александр Майоров (Tutu.ru) Протокол HTTP/2 обещает ускорение загрузки страниц и очень активно продвигается. Так ли это и какую пользу от протокола могут получить Frontend разработчики? Стоит ли переходить на новый протокол? В качестве киллер фичи заявлена поддержка Server push. Что это и как этим пользоваться? Эти и другие вопросы будут освещены в докладе.
Что надо знать о HTTP/2
Что надо знать о HTTP/2
Badoo Development
Презентация с MoscowJS митапа: "Как мы общаемся с пользователями на 46 языках и понимаем друг друга", Вячеслав Волков (Badoo)
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Badoo Development
Techleads Meetup #1 "Багфиксинг процесса разработки в iOS: взгляд с двух сторон" Екатерина Николаенко, iOS QA Lead и Катерина Трофименко, iOS Developer (Badoo) Описание: Приложение Badoo для iOS существует около 7 лет и пережило уже 4 реинкарнации. Наши процессы и подходы не всегда были оптимальны и мы не единственные, кто познали релизы через боль и страдание всех участников процесса разработки. Чтобы найти идеальный баланс между скоростью и качеством мы решили отрефакторить процессы разработки и тестирования в iOS команде и добились релизов раз в неделю. Из нашего доклада вы узнаете об эволюции команды с точки зрения разработки и тестирования. А так же мы расскажем как мы уменьшили crash-rate в 40 раз.
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Badoo Development
Techleads Meetup #1 Мобильный веб: назад в будущее" Виталий Шароватов, Mobile Web Team Lead и Руслан Байрамкулов, Senior Mobile Web QA Engineer (Badoo) Описание: Количество пользователей мобильных устройств уже давно превысило количество пользователей стационарных компьютеров и ноутбуков. В свою очередь мобильный веб — это самая быстрорастущая мобильная платформа (по данным comScore, 2015). И если будущее не за этой платформой, то как минимум, она будет его заметной частью. Давным-давно для Мобильного веба в Badoo были «тёмные времена». Использовались дизайны нативных платформ и эмитировалось их поведение. Даже релизы случались раз в неделю-две. Около года назад ситуация начала меняться в лучшую сторону. Мобильная веб версия Badoo догнала по количеству фич остальные платформы и показала существенный рост по всем показателям. Теперь мобильный веб релизится каждый день. В докладе мы расскажем о том, что неправильного происходит с процессами внутри и снаружи команды. Для примера возьмем как собственные грабли, так и чужие, но такие распространённые ошибки организации работы. О том, что не помогло, рассказывать не будем, а о том, что сработало, ничего не утаим. Эта информация поможет вам работать в удовольствие. В ассортименте истории о том: — как один автоматизатор всю регрессию покрыл; — как подружились продакты-дизайнеры с командой разработки; — как жадные программисты забрали себе всю ответственность; — пуркуа QA любит сидеть с девелоперами плечом к плечу; — зачем нужно не спускать глаз с багов, ломающих автоматизацию, и как заканчивать фичу после того, как закончили фичу.
Мобильный веб: назад в будущее
Мобильный веб: назад в будущее
Badoo Development
Techleads Meetup #1 "Технологии vs коммуникации: что важнее?" Альгис Фатеев, руководитель тестирования (Avito) Описание: последние несколько лет проект Avito растёт лавинообразным образом, с 2012 года команда разработчиков выросла в 20 раз. За очень короткое время мы прошли путь от «ну что, будем релизиться?» до отлаженного процесса выкатки кода в продакшн. В докладе речь пойдёт о том, как изменилась команда, процессы разработки и жизненный цикл задач в Avito за последние годы, как внедрялось тестирование в проект. Кроме того, я отдельно рассмотрю вопросы, касающиеся управляемости проекта при резком росте: — какие решения, заложенные на начальном этапе, позволили нам быстро масштабироваться; — с какими главными болезнями роста мы столкнулись и как их решали; — как подготовиться на случай лавинообразного роста.
Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?
Badoo Development
Techleads Meetup #1 "Как автотесты ускоряют релизы в OK.ru" Никита Макаров, руководитель отдела тестирования (Одноклассники) Описание: начиная с 2012 года Одноклассники прошли огромный путь в области ускорения релизов. Одним из факторов успеха была автоматизация тестирования, которую внедряли «с нуля». В своем докладе я расскажу: — о том как мы учили тестировщиков писать автотесты; — сколотили команду автоматизаторов и построили инфраструктуру автоматизации тестирования; — о наших ошибках, поражениях, полезных практиках и процессах.
Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ru
Badoo Development
Тема: Как создать небольшую и прибыльную софтверную компанию, если ты программист?
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
Badoo Development
Тема: Вжух, и у вас Agile!
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
Из презентации вы узнаете: про большинство утилит из арсенала Go, предназначенных для оптимизации производительности; — как и когда их (утилиты) использовать, а также мы посмотрим как они устроены внутри; — про применимость linux утилиты perf для оптимизации программ на Go. Кроме того, устроим небольшой crash course, в рамках которого поэтапно соптимизируем несколько небольших программ на Go с использованием вышеперечисленных утилит.
Profiling and optimizing go programs
Profiling and optimizing go programs
Badoo Development
Из презентации вы узнаете: — как мы пришли к Go, оставив идею использования Node.js, Scala или Rust; — про первый сервис, который мы написали на Go и запустили в продакшен; — про ошибки, с которыми сталкивались под нагрузкой; — про оптимизации, которые мы сделали и еще планируем сделать; — про тестирование и предотвращение тестирования на продакшене (в частности, websocket'ов).
Семь тысяч Rps, один go
Семь тысяч Rps, один go
Badoo Development
DevConf 2016 Геолокация в Badoo, Андрей Воликов (Badoo) - Особенности работы с географическими координатами; - Как добывать и обрабатывать миллиарды координат в день, какие проблемы вас ждут; - Какие задачи решаются в Badoo с использованием геопозиции; - Как мы построили систему пересечений пользователей. https://www.youtube.com/watch?v=lGn19LxUpCQ
"Геолокация в Badoo", Андрей Воликов (Badoo)
"Геолокация в Badoo", Андрей Воликов (Badoo)
Badoo Development
DevConf 2016 "Новые возможности MySQL 5.7", Дмитрий Ленев (Oracle) MySQL 5.7 наиболее свежая стабильная ветка СУБД MySQL. Данный доклад посвящен новым функциональным возможностям появившимся в этой версии. В частности мы поговорим о: - родной поддержке JSON данных и операций с ними - генерируемых столбцах - улучшениях в системе безопасности - многочисленных измененениях в InnoDB - изменениях в репликации, таких как поддержка multi-source репликации. - многом другом Кроме того будут освещены возможности связанные с новым X плагином, который стал доступен с релизом версии 5.7.12 в апреле этого года. Обсудим использование MySQL как Document Store, новый протокол и X DevApi для коннекторов, новый клиент MySQL Shell.
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
Badoo Development
Из презентации вы узнаете: — как работает database/sql; — интерфейс и реализации database/sql/driver; — обзор популярных ORM и что с ними не так; — как мы делали свой лучший ORM; — и почему столько раз его переделывали.
Reform: путь к лучшему ORM
Reform: путь к лучшему ORM
Badoo Development
DevConf 2016 "Обзор Tarantool DB", Василий Сошников, (Mail.ru Group)
"Обзор Tarantool DB"
"Обзор Tarantool DB"
Badoo Development
Поговорим о том, почему это далеко не самая простая задача, и как следует разбираться с возникающими трудностями. Рассмотрим и покритикуем существующие решения. Научимся создавать свой собственный велосипед.
«Миллион открытых каналов с данными по сети» – Илья Биин (Zenhotels)
«Миллион открытых каналов с данными по сети» – Илья Биин (Zenhotels)
AvitoTech
DevConf 2016 "PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессиональный) Что нужно знать разработчику приложений о базах данных вообще и PostgreSQL в частности? Может быть достаточно основ SQL? А может во всём положиться на ORM? Несмотря на кажущуюся простоту работы с базами данных, для качественной реализации приложений необходимы знания по самому широкому кругу тем: - Нормализация и денормализация данных - Типы данных и ограничения целостности - Хранимые процедуры и триггеры - Аналитические функции и CTE - Транзакции и уровни изоляции - Материализованные представления и секционирование - Типы индексов и как их использовать - Методы доступа к таблицам и способы их соединения - Сбор статистики и планы выполнения запросов А нужны ли разработчикам знания об основах администрирования и архитектуре СУБД в целом? Нужно ли понимать что и для чего делает VACUUM? Доклад в первую очередь адресован разработчикам и архитекторам приложений, но также будет интересен администраторам баз данных и всем “сочувствующим”.
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
Badoo Development
DevConf 2016 "Производительность MySQL: что нового?", Алексей Копытов Алексей Копытов — разработчик MySQL и связанных с ним проектов с 2004г. Работал в компаниях MySQL AB, Sun Microsystems и Oracle. В компании Percona участвовал в разработке Percona Server, XtraBackup и XtraDB Cluster. В настоящее время занимается проблемами производительности MySQL на современном оборудовании. MySQL 5.7 предлагает огромное количество улучшений в производительности практически всех компонентов: InnoDB, секционирования, бэкапов, репликации, DDL и оптимизаторе запросов. В этом докладе мы рассмотрим эти оптимизации подробно, а также поговорим о проблемах, которые остаются актуальными до сих пор, возможных методах их решения и планируемых дальнейших оптимизациях в MySQL 8.
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
Badoo Development
DevConf 2016 "Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group) Lua — высокоуровневый язык, похожий на Python/JS, но существенно более простой. Он гибкий и при этом очень быстрый. Возможно, вы слышали про OpenResty. Это решение для разработки Nginx модулей на Lua. Cloudflare, крупнейший CDN/anti-DDOS провайдер, как раз работает на OpenResty. На скоростях 10/100Gb сетевой стек в ядре Linux становится “узким местом”. Есть ряд технологий для выноса обработки пакетов из ядра в userspace; например Snabb Switch. Последний написан целиком на Lua и справляется с потоком в 200+Gb. Как на счет менее экзотических применений? На Lua есть свой Node.js (luvit.io). Lua есть в БД Tarantool. У нас была задача валидации данных на соответствие схеме; мы переписали валидацию с Си на Lua и получили ускорение в 4 раза (за счет JIT-компиляции). Lua набирает популярность и он объективно хорош. Что будет в докладе: 1) Краткое введение в Lua: мы убедимся в том, что язык простой и там есть все необходимое на каждый день. 2) Секция Lua WAT (смешные контр-интуитивные особенности языка, 0 and 1 == 0) 3) Поговорим о том, почему Tarantool использует LuaJIT, а не V8. 4) Разберемся, почему именно Lua такой быстрый, и как работает трассирующий JIT-компилятор.
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
Badoo Development
En vedette
(20)
Классическое программирование для фронтендеров
Классическое программирование для фронтендеров
Парсим CSS
Парсим CSS
Что надо знать о HTTP/2
Что надо знать о HTTP/2
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Мобильный веб: назад в будущее
Мобильный веб: назад в будущее
Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?
Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ru
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Profiling and optimizing go programs
Profiling and optimizing go programs
Семь тысяч Rps, один go
Семь тысяч Rps, один go
"Геолокация в Badoo", Андрей Воликов (Badoo)
"Геолокация в Badoo", Андрей Воликов (Badoo)
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
Reform: путь к лучшему ORM
Reform: путь к лучшему ORM
"Обзор Tarantool DB"
"Обзор Tarantool DB"
«Миллион открытых каналов с данными по сети» – Илья Биин (Zenhotels)
«Миллион открытых каналов с данными по сети» – Илья Биин (Zenhotels)
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
Similaire à S.O.L.I.D-ый JavaScript
Рассказ о том, что творилось с проектами kolesa.kz и krisha.kz в 2011-2012 годах и что происходит сейчас, как мы создавали с нуля API и впоследствии переезжали на него, как на лету меняли хранилища данных, как боролись с нагрузками и воевали за надежность, расскажу о граблях на которые наступили и как их можно было бы избежать.
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
endeveit
Автор Никита Вершинин
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
ITCrowd Almaty
Intersog acted as a general partner of relaunched Mobile Monday (MoMo) event in Ukraine that took place in Kyiv on June 25, 2015. See the top moments from Mobile Monday Kyiv #1! MoMo is a global platform for IT knowledge sharing and professional networking that is currently being active in 140+ cities worldwide. MoMo offers different networking formats aimed to enhance public knowledge of the most trending mobility topics and innovation. Read more and join Mobile Monday: http://intersog.com/news/intersog-helps-relaunch-mobile-monday-ukraine/
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
Intersog
Перед разработчиками Яндекс.Спорта стояла задача – разработать сервис, который быстро работает, держит высокие нагрузки и имеет сильную контентную составляющую. В докладе рассказывается, почему для решения задачи мы выбрали Node.js, приводится пример архитектуры высоконагруженного приложения на Node.js и о том, как мы добились прозрачного использования одних и тех же функций на фронтенде и бэкенде.
Денис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылу
Yandex
По материалам конференции .NET разработчиков http://dotnetconf.ru/materialy/reactiveprogramming
Как приручить реактивное программирование
Как приручить реактивное программирование
DotNetConf
В перерывах между опен-сорсом и изобретением собственных велосипедов, мы все ходим на работу, где занимаемся разработкой продуктов, которые делают мир лучше. В какой-то момент результат труда, становится нашим ребенком, за которым мы следим и, как настоящие родители, пытаемся защитить от предстоящих угроз. Но мир жесток, и нашему малышу пытаются навязать ненужный функционал или улучшить без того уже прекрасный текущий. В докладе речь пойдет о том, как мы разрабатывали продукт, запускали эксперименты, наступали на грабли и героически добивались увеличения конверсии.
Григорий Шехет "Растим детей. Или как Иван Васильевич запускал эксперименты?"
Григорий Шехет "Растим детей. Или как Иван Васильевич запускал эксперименты?"
Fwdays
Joker2014 Saint Petersburg Java conference
Joker2014
Joker2014
Igor Kmets
Я бы соврал, если бы сказал, что работа над новым приложением LiveJournal для iOS проходила абсолютно гладко - такого просто не бывает. Несколько используемых API, часть из которых дорабатывалась в процессе, непростой дизайн, необычные продуктовые решения, сложная политика кэширования - все это делало проект не просто сложным, а и очень интересным с точки зрения разработки.В своем выступлении я хочу рассказать несколько историй о том, как налаженные процессы разработки и применение принятых в iOS команде Rambler&Co архитектурных подходов помогли нам в каких-то случаях пережить столкновение с граблями, а в каких-то - и вовсе не наступать на них. Я затрону такие темы, как code review и его роль в поддержании концептуальной целостности проекта, continuous delivery, организацию гибкого сетевого слоя, unidirectional data flow, и, конечно же, VIPER. И небольшой спойлер: мы все-таки его выпустили, и оно крутое!
TК°Conf. Как мы делали ЖЖ. Егор Толстой.
TК°Conf. Как мы делали ЖЖ. Егор Толстой.
TKConf
Александр Люстик, ЛегатоСофт
Перелинковка для поднятия НЧ запросов
Перелинковка для поднятия НЧ запросов
Наиль Байков
Материал Марта 2013 года. Видео: http://www.youtube.com/watch?v=lvHIcvuoBfM
SEOhide - Антон Иванов
SEOhide - Антон Иванов
Anton Ivanov
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
Омские ИТ-субботники
быстрого старта при разработке Java Web приложений. Посмотрим на плюсы и минусы каждой технологии и познаем дзен. Видео https://youtu.be/p_C8juRKzPA
DEV Labs 2016. Искусство быстрого старта
DEV Labs 2016. Искусство быстрого старта
Sasha Soleev
Разработка под iPhone для начинающих
Разработка под iPhone для начинающих
tabtabus
Similaire à S.O.L.I.D-ый JavaScript
(13)
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
Денис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылу
Как приручить реактивное программирование
Как приручить реактивное программирование
Григорий Шехет "Растим детей. Или как Иван Васильевич запускал эксперименты?"
Григорий Шехет "Растим детей. Или как Иван Васильевич запускал эксперименты?"
Joker2014
Joker2014
TК°Conf. Как мы делали ЖЖ. Егор Толстой.
TК°Conf. Как мы делали ЖЖ. Егор Толстой.
Перелинковка для поднятия НЧ запросов
Перелинковка для поднятия НЧ запросов
SEOhide - Антон Иванов
SEOhide - Антон Иванов
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
DEV Labs 2016. Искусство быстрого старта
DEV Labs 2016. Искусство быстрого старта
Разработка под iPhone для начинающих
Разработка под iPhone для начинающих
Plus de Badoo Development
Run faster than fast
Viktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel Automation
Badoo Development
Документация на тему архитектуры языка PHP скудна и разрозненна, несмотря на то что тема интересна многим. В моем докладе я постараюсь заполнить этот пробел и рассказать о модулях PHP: как они работают, зачем и как их пишут. В процессе мы рассмотрим опыт Badoo в этой сфере на примерах двух модулей. И еще напишем очень небольшой собственный модуль. — Что такое модули PHP, как они работают — Как начать писать свой модуль PHP — Скелет модуля — Функции, классы, методы — Разбор параметров функции — Сборка модуля — Подгрузка модуля — Простой пример модуля из Badoo — Сложный пример модуля из Badoo
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон Довгаль
Badoo Development
Тема: Как перестать беспокоиться и начать запускать фичи Запуск новых фич для любого продукта – довольно опасная штука, ведь столько всего может пойти не так: может вылезти огромное число разных багов (от device specific до багов в самой фиче), могут не выдержать сервера и в конце концов пользователям может просто не понравиться фича. Я расскажу о том, как мы запускаем новые фичи, какие проблемы, связанные с запусками, у нас возникали и как это всё работает в Android-клиенте. Тезисы: – feature toggles: что это, зачем это и как мы сделали своё; – как мы мониторим и оцениваем запуски; – как feature toggles дружат с ручным тестированием и как учитываются в автотестах.
Григорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RU
Badoo Development
Тема: Измерение энергопотребления мобильных и внедрение в Continuous Integration Во время выступления я буду говорить про: – проектирование устройства измерения энергопотребления; – применение устройства анализа энергопотребления смартфона; – автоматизацию процесса тестирования энергопотребления; – поиск энергозатратных функций браузера; – оптимизацию и контроль потребления энергии в браузере.
Андрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.Браузер
Badoo Development
Тема: Компонентные тесты: как сделать жизнь вашего QA немного проще? В докладе речь пойдёт о компонентных тестах, в том числе я поделюсь лучшими практиками, которые выработала наша команда, и расскажу, как они помогают нам делать более качественный продукт. В частности поговорим о том: – что такое компонентный тест? В чем отличия между юнит-, компонентным и функциональным тестом? – для чего хороши компонентные тесты и какие проблемы они помогают нам решать? – как минимизировать стоимость поддержки компонентных тестов без экономии на их надежности.
Филипп Уваров, Avito
Филипп Уваров, Avito
Badoo Development
Я расскажу о нестандартных особенностях языка для реальных проектов. Речь пойдет о том, зачем усложнять себе жизнь и какие преимущества это может дать. - Protocol-Oriented Programming и его дилеммы - Когда и зачем использовать обобщения и вложенные типы - Настоящее и будущее Swift
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magic
Badoo Development
Я расскажу о том, что такое feature flags, как они нам в Badoo помогают разрабатывать большие фичи итерационно, силами нескольких разработчиков, и не переживать из-за кода, уходящего в релизы. И вы узнаете о том, как система таргетированной раскладки фич переросла в систему a/b-тестирования и как все это выглядит со стороны iOS-клиента
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Badoo Development
Hadoop framework is a popular solution to such tasks as distributed data storage and running. Map/Reduce tasks on cluster. High scalability, mature ecosystem and large community make Hadoop one the most popular framework in distributed data processing. But the more responsibility you put on it, the more important it becomes to provide its fault-taulerance and high availability. This presentation will be useful to those, who have already been using Hadoop. For the rest it will be interesting to learn some architectural solutions applied in Hadoop. In my presentation I will cover aspects of high availability implementation for Hadoop. Besides, I will talk on: – “The zoo” we have to deal with; – Why we should provide high availability: points of system failure and its consequences; – Tools and solutions to such problems; – Our practical experience of implementation: preparation, deploy, testing.
Alex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High Availability
Badoo Development
Вероятно, многие пробовали использовать решение Zabbix для мониторинга баз данных. Из моего доклада вы узнаете о нашем опыте его применения, и к чему мы в итоге пришли. 1. Штатный Zabbix-мониторинг баз данных: особенности реализации/настройки в промышленных масштабах 2. Преимущества/недостатки решения мониторинга баз данных от Zabbix SIA 3. Преимущества/недостатки существующих расширений Zabbix для мониторинга баз данных 4. Подробнее о расширении DBforBix v2.3 beta: конфигурирование, возможности 5. Доработка DBforBix: сохраняем преимущества и устраняем недостатки штатного мониторинга баз данных Zabbix 6. Варианты развития идеи
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
Badoo Development
Тема: Как перестать бороться с графиками и начать жить Я расскажу вам про интеграцию Zabbix и Grafana, чтобы вы могли улучшить возможности визуализации данных мониторинга с помощью Grafana. 1. Зачем нужны графики? 2. Как нарисовать 100 графиков за 10 секунд? (Query Editor, Regex, Templating) 3. И что потом с этим делать? ( Max Data Points, Functions, Performance) 4. События – это тоже Time Series (Annotations) 5. Seek & Destroy (Alerting в Grafana) 6. Бонус: Heatmap
Александр Зобнин, Grafana Labs
Александр Зобнин, Grafana Labs
Badoo Development
В условиях большой инфраструктуры и немалого количества критичных компонентов, время реакции на инцидент должно быть как можно меньше. В докладе я расскажу, какие инструменты помогают увеличить скорость реакции и уведомить о проблеме качественнее.
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Badoo Development
Тема: Performance Review на страже ценностей в динамичной компании
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
Badoo Development
Тема: Техническая поддержка сайтов как бизнес: люди, управление, процессы
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
Badoo Development
В Badoo я работаю в команде, которая разрабатывает на PHP. Одна из фич, которой мы занимаемся, со временем начала отъедать всё больше и больше железячных ресурсов. В итоге мы едва успевали добавлять серверы под растущую нагрузку. При этом вечера, проведённые с Go дома, подсказывали, что можно сделать на порядки производительнее, не затратив на разработку много времени. Я расскажу о том, почему наша фича так плохо ложится на PHP и хорошо – на Go, как уговорить всех всё переписать и не показаться сумасшедшим, ну и, конечно же, как из 19 серверов оставить только 4.
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Badoo Development
Highload2016 "Как мы готовим MySQL", Николай Королев * Исторический экскурс, введение понятия спота, принцип функционального деления баз на группы (споты / не споты), шардирование как способ масштабирования спотов. * Возникновение второго датацентра на другом континенте, создание самодельной репликации, позволяющей работать по схеме много -> много, краткая схема (структура спотов, схема репликации, служебные базы - очереди, репликация, мониторинг), плюсы и минусы этого решения, инструменты диагностики. * Альтеры шадрированых спотов - первый вариант утилиты для этой задачи: схема его работы и возникшие проблемы; вторая версия утилиты - улучшения, а также, что осталось неисправленным. * “Температура” спота, трудности её определения, проблемы, возникающие из-за его “перегрева”, наш способ решения и возникновение проекта “кладбище”. * Деплой и около - почему мы используем MySQL в chroot, как мы его собираем и как деплоим. * Бэкапы спотовых данных - первоначальное решение (ленточные хранилища), работа над ошибками, текущая схема. * Query sampling: проект Minba.
Как мы готовим MySQL
Как мы готовим MySQL
Badoo Development
Highload2016 "Архитектура хранения и отдачи фотографий в Badoo", Артём Денисов В докладе будет рассмотрен процесс построения масштабируемой отказоустойчивой системы хранения, отдачи и обработки фотографий с точки зрения разработчика. На примере Badoo, я расскажу о стандартном пути эволюции такого рода проектов. Детально разберу каждый этап и остановлюсь на основных сложностях и неочевидных проблемах. Вместе с рассказом о наших решениях и подходах будут рассмотрены возможные альтернативы, их плюсы и минусы (вплоть до "мы небольшой стартап, как сделать что-нибудь похожее, но по-быстрому и на коленке"). Основные тезисы: - Эволюция и типичные узкие места каждого из 3-х компонентов системы (хранение, отдача, обработка). - Как отдавать фотографии? Когда лучше использовать сторонний CDN, а когда написать свой? - Что лучше - хранить оригинал фото и ресайзить его на лету или заранее нарезать типовые размеры? - Как сделать эффективное кэширование? Что такое consistent hashing и зачем он нужен? - Где лучше хранить фотографии? Локальные диски, облачные хранилища, кластерные ФС? - Надо ли их бэкапить и как часто? Что может пойти не так?
Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo
Badoo Development
Highload 2016 "5 способов деплоя PHP-кода в условиях хайлоада", Юрий Насретдинов В дата-центрах нашей компании несколько тысяч серверов, и примерно на половине из них нужно выкладывать PHP-код 2 раза в день. Помимо раскладки на production также не стоит забывать о том, что код нужен на стейджинге, и в стейджинг-кластер у нас входит около 50 машин, код на которых обновляется раз в несколько минут. Также есть «хотфиксы» — небольшие (1-5) наборы файлов, которые выкладываются во внеочередном порядке на все или на выделенную часть серверов, чтобы устранить существующие проблемы на продакшне, не дожидаясь полной выкладки. В этом докладе я расскажу о том, как мы деплоились в течение 10 лет, о том, какую новую систему для деплоя PHP-кода мы разработали и внедрили в production, а также проведу обзор решений для масштабного деплоя кода на PHP и анализ их производительности. План доклада: — Наша старая система деплоя, достоинства и недостатки. — Существующие решения: * "svn up" / "git pull". * rsync. * phar, hhbc (HHVM-specific), "loop". * rsync + 2 директории + realpath_root (Rasmus-style). — Требования для новой системы деплоя. * быстрый деплой на стейджинг (5-10 секунд на 50 серверов). * возможность атомарно патчить несколько файлов и быстро их выкладывать (10 секунд на весь кластер). * совместимость с docker. * поддержка «долгоиграющих» CLI-скриптов (несколько часов). * низкое потребление ресурсов на принимающей стороне. * отсутствие необходимости сбрасывать opcache. * высокая скорость деплоя на продакшн (1-2 минуты на 1500 серверов). — MDK — multiversion deployment kit. — Анализ применимости и производительности способов деплоя. — Выводы.
5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада
Badoo Development
QA-конференция heisenbug.ru ChromeDriver Jailbreak, Александр Баяндин (Badoo) Chrome DevTools — один из наиболее полезных инструментов веб-разработчика. Он позволяет получать исчерпывающую информацию о странице и запросах и эмулировать мобильные браузеры на медленных устройствах. ChromeDriver использует тот же Chrome Debugging Protocol, что и DevTools для реализации Selenium JSON Wire Protocol взаимодействия с браузером. Этот протокол описывает самый базовый набор методов для взаимодействия со страницей, который несомненно уже всего набора методов, доступных в DevTools. В своём докладе Александр расскажет о том, как можно использовать (почти) всю мощь DevTools в Selenium-тестах и как сделать их отладку наиболее удобной.
ChromeDriver Jailbreak
ChromeDriver Jailbreak
Badoo Development
"Git хуки на страже качества кода", Павел Матолыгин (Badoo)
Git хуки на страже качества кода
Git хуки на страже качества кода
Badoo Development
"Versioning strategy for a complex internal API", Konstantin Yakushev (Badoo)
Versioning strategy for a complex internal API
Versioning strategy for a complex internal API
Badoo Development
Plus de Badoo Development
(20)
Viktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel Automation
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон Довгаль
Григорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RU
Андрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.Браузер
Филипп Уваров, Avito
Филипп Уваров, Avito
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Alex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High Availability
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
Александр Зобнин, Grafana Labs
Александр Зобнин, Grafana Labs
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Как мы готовим MySQL
Как мы готовим MySQL
Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo
5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада
ChromeDriver Jailbreak
ChromeDriver Jailbreak
Git хуки на страже качества кода
Git хуки на страже качества кода
Versioning strategy for a complex internal API
Versioning strategy for a complex internal API
Dernier
С 4368 жертвами, пойманными в их цифровые сети, киберпреступникам удалось превзойти самих себя по эффективности на 55,5% по сравнению с предыдущим годом, вот что значит KPI. Средняя сумма выкупа для предприятия выросла до более чем 100 000 долларов, при этом требования в среднем составляли крутые 5,3 миллиона долларов. 80% организаций придерживаются политики "Не платить", и все же в прошлом году 41% в итоге заплатили выкуп. И для тех, кто думает, что страховка может спасти положение, подумайте ещё раз. 77% организаций на собственном горьком опыте убедились, что программы-вымогатели – это далеко не то, за что страховая с лёгкостью заплатит, не проверив, а всё ли вы сделали для защиты.
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
Хроники кибер-безопасника
LockBit 3.0 завоевал золото на хакерской олимпиаде, за ним последовали отважные новички Clop и ALPHV/BlackCat. По-видимому, 48% организаций почувствовали себя обделёнными вниманием и решили принять участие в кибератаках. Бизнес-сервисы получили награду в номинации "наиболее подверженные цифровому взлому", а образование и розничная торговля последовали за ними. Хакеры расширили свой репертуар, перейдя от скучного старого шифрования к гораздо более захватывающему миру вымогательства. Не бедные страны США, Великобритания и Канада заняли первое место в категории "страны, которые, скорее всего, заплатят". Биткоины были предпочтительной валютой, хотя некоторые стали поглядывать в сторону Monero. Некоторые организации пытались сэкономить на выкупе, заплатив только 37%. Тем, кто все-таки раскошелился, пришлось в среднем отдать $408 643. Кибер-преступность действительно окупается!
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
DCRat, швейцарский армейский нож киберпреступного мира, истинное свидетельство предпринимательского духа, процветающего в темных уголках Интернета. С момента своего грандиозного дебюта в 2018 году DCRat стал незаменимым гаджетом для каждого начинающего злодея со склонностью к цифровым проказам. По очень низкой цене в 7 долларов можно приобрести двухмесячную подписку на это чудо современного вредоносного ПО, а для тех, кто действительно предан делу, доступна пожизненная лицензия за внушительную сумму в 40 долларов. DCRat служит напоминанием, что в эпоху цифровых технологий безопасность настолько сильна, насколько сильна способность не переходить по подозрительным ссылкам.
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Хроники кибер-безопасника
CVE-2024-0204 как ключ под ковриком, для не прошедших проверку подлинности, и желающих создать своего собственного пользователя-администратора. Эта уязвимость может быть использована удалённо и является классическим примером CWE-425: "Принудительный доступ, когда веб-приложение просто слишком вежливое, чтобы обеспечить надлежащую авторизацию". Уязвимые версии 6.x начиная с 6.0.1 и версии 7.x до 7.4.1, которая была исправлена, а для уязвимых версией необходимо удалить файл /InitialAccountSetup.xhtml или заменить на пустой с перезапуском службы/ Последствия подобны альбому величайших хитов о кошмарах безопасности: 📌Создание неавторизованных пользователей-администраторов (акция «избавляемся от складских запасов аутентификационных ключей») 📌Потенциальная утечка данных (для повышения популярности компании) 📌Внедрение вредоносных программ (вместо традиционных схем распространения) 📌Риск вымогательства (минутка шантажа) 📌Сбои в работе (разнообразие от повелителя хаоса) 📌Комплаенс и юридические вопросы (ничто так не оживляет зал заседаний, как старый добрый скандал с комплаенсом и потенциальная юридическая драма) Планка "сложности атаки" установлена так низко, что даже малыш может споткнуться об неё. Отмечается простота, которая заставляет задуматься, не является ли "безопасность" просто модным словом, которым они пользуются, чтобы казаться важными
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
В постоянно развивающемся мире ИБ, где цифровая сфера устойчива, как карточный домик во время урагана, появился новаторский документ под названием "Доктрина киберзащиты, которая управляет рисками: полное прикладное руководство по организационной киберзащите", предположительно написанный израильским Сунь Цзы из эпохи цифровых технологий. Доктрина, являющаяся шедевром кибернетической мудрости, делит свои стратегии оценки рисков и управления ими на два направления, вероятно, потому что одно из них является слишком уже не модно. Эти направления изобретательно основаны на потенциальном ущербе для организации – новой концепции, для воплощения которой, должно быть, потребовалось как минимум несколько сеансов мозгового штурма за чашкой кофе. Как принято сегодня говорить, доктрина является ярким примером приверженности индустрии киберзащиты … к тому, чтобы как можно подробнее изложить очевидное. Она убеждает нас в том, что перед лицом киберугроз мы всегда можем положиться на объёмные документы, которые защитят нас.
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
Действие очередной кибер-саги разворачивается в мистических землях Азиатско-Тихоокеанского региона, где главные герои (или антагонисты, в зависимости от вашего взгляда на конфиденциальность данных и необходимость доступа к ним) начали свое цифровую деятельность ещё в середине 2021 года и качественно усилили её в 2022 году. Вооружённый арсеналом инструментов и специально разработанного вредоносного программного обеспечения, предназначенного для кражи данных и шпионажа, Dark Pink был воплощением настойчивости. Их любимое оружие? Фишинговые электронные письма, содержащие сокращённый URL-адрес, который приводил жертв на бесплатный файлообменный сайт, где их ждал ISO-образ, конечно же вредоносный. Давайте углубимся в цели кибер-художников. Корпоративный шпионаж, кража документов, аудиозапись и утечка данных с платформ обмена сообщениями – все это было делом одного дня для Dark Pink. Их географическая направленность, возможно, начиналась в Азиатско-Тихоокеанском регионе, но их амбиции не знали границ, нацелившись на европейское правительственное министерство в смелом шаге по расширению своего портфолио. Их профиль жертв был таким же разнообразным, как совещание ООН, нацеливаясь на военные организации, правительственные учреждения и даже религиозную организацию. Потому что дискриминация это не модная повестка. В мире киберпреступности они служат напоминанием о том, что иногда самые серьёзные угрозы приходят в самых непритязательных упаковках с розовым бантиком.
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
Документ содержит руководство по эффективной стратегии и тактике реагирования на инциденты (IR). Руководство, разработанное группой реагирования на инциденты Microsoft, призвано помочь избежать распространённых ошибок и предназначено не для замены комплексного планирования реагирования на инциденты, а скорее для того, чтобы служить тактическим руководством, помогающим как группам безопасности, так и старшим заинтересованным сторонам ориентироваться в расследовании реагирования на инциденты. В руководстве также подчёркивается важность управления и роли различных заинтересованных сторон в процессе реагирования на инциденты
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
Ирония безопасности
Мир кибербезопасности пополнился последней и самой совершенной версией общей системы оценки уязвимостей CVSS версии 4.0. Эта версия обещает произвести революцию в том, как мы оцениваем критичность и влияние уязвимостей ПО, ведь версия 3.1 была всего лишь разминкой. 📌 Более детализированные базовые показатели. если есть что-то, что любят профессионалы в области ИБ, так это детализация. Теперь мы не только можем оценить воздействие на уязвимую систему, но и потратить тысячу листов на детализацию, это уже серьёзный уровень профессионализма 📌 Группа угроз – критичность уязвимости может быть скорректирована в зависимости от того, мог ли кто-то где-то подумать о их использовании, и теперь паранойя всегда подкрепляется последними данными об угрозах. 📌 Метрики окружения позволяют адаптировать оценку к нашей конкретной вычислительной среде. ничто так не говорит о "индивидуальности", как корректировка оценок на основе множества мер по смягчению последствий. 📌 Показатели угроз были упрощены до уровня зрелости эксплойтов. если и есть что-то, что легко определить, так это то, насколько зрелым является эксплойт. 📌 Система подсчёта оценки стала проще и гибче и … больше. если и есть какое-то слово, которое ассоциируется с CVSS, так это простота, ведь теперь поддерживается несколько оценок для одной и той же уязвимости Итак, CVSS версии 4.0 призван спасти положение благодаря своей повышенной ясности, простоте и повышенному вниманию ко всем мелочам и деталям. Потому что, как мы все знаем, единственное, что доставляет больше удовольствия, чем оценка уязвимостей, — это делать это с помощью новой, более сложной системы.
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
Пристегнитесь, потому что мы собираемся отправиться в захватывающее путешествие по мистической стране инноваций Китая, где драконы прошлого превратились в единорогов мира технологий. Да, мы говорим о превращении Китая из любимой в мире машины Xerox в сияющий маяк инноваций. И как им удалось совершить этот удивительный подвиг? Ведь теперь Запад сидит в стороне, заламывая руки и задаваясь вопросом: "Должны ли мы вскочить в уходящий поезд или придерживаться другого плана действий?" Оказывается, Запад ещё не полностью перехитрили, и у него все ещё есть несколько козырей в рукаве. В статье проповедуется, что сидеть и смотреть не самый разумный выбор. Вместо этого Западу следует напрячь свои демократические мускулы и чутье свободного рынка, чтобы остаться в игре.
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
Dernier
(9)
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
S.O.L.I.D-ый JavaScript
1.
SOLID-ный JavaScript Алексей Охрименко,
IPONWEB 1
2.
АЛЕКСЕЙ ОХРИМЕНКО TWITTER: AI_BOY setInterval(learnJavaScript) 2
3.
3
4.
IPONWEB 4
5.
Angular 2 meetup https://telegram.me/angular2 5
6.
Почему не ФП? (функциональное программирование) 6
7.
Почему не ООП? (объектно
ориентированное программирование) книга банды 4х ( GOF book ) https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented-ebook/dp/B000SEIBB8 7
8.
Что нужно знать? 8
9.
JS, ООП, три
кита ООП 9
10.
Не читайте до
обеда статьи из русской Wikipedia 10
11.
Три кита костылестроения 11
12.
Зачем нам знать SOLID? 12
13.
Design Stamina Hypothesis http://martinfowler.com/bliki/DesignStaminaHypothesis.html 13
14.
S.O.L.I.D Robert Cecil Martin Agile
software development: principles, patterns, and practices October 25, 2002 14
15.
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod 15
16.
Принцип единственной обязанности 16
17.
Принцип открытости/закрытости 17
18.
Принцип подстановки Барбары
Лисков 18
19.
Принцип разделения интерфейса 19
20.
Принцип инверсии зависимостей 20
21.
DEMO TIME 21
22.
DEMO TIME 22
23.
DEMO TIME 23
24.
Чтобы почитать? GOF SOLID DCI 24
25.
Чтобы почитать? RUBY 25
26.
THE END 26
27.
TELEGRAM GROUPS ➤ https://telegram.me/angular2 ➤
https://telegram.me/typescriptru ➤ https://telegram.me/JSlang ➤ https://github.com/aiboy/awesome-telegram-ru 27
28.
http://bit.ly/2dhcOxX АЛЕКСЕЙ ОХРИМЕНКО TWITTER: AI_BOY setInterval(learnJavaScript) 28
Télécharger maintenant