Как стать автором
Обновить
136
-5
Рыбак Алексей @fisher

Пользователь

Отправить сообщение

Исчерпывающее руководство по использованию HTTP/2 Server Push

Время на прочтение 14 мин
Количество просмотров 32K


Привет! Меня зовут Александр, и я – фронтенд-разработчик в компании Badoo. Пожалуй, одной из самых обсуждаемых тем в мире фронтенда в последние несколько лет является протокол HTTP/2. И не зря – ведь переход на него открывает перед разработчиками много возможностей по ускорению и оптимизации сайтов. Этот пост посвящён как раз одной из таких возможностей – Server Push. Cтатья Джереми Вагнера показалась мне интересной, и поэтому делюсь полезной информацией с вами.

Читать дальше →
Всего голосов 63: ↑63 и ↓0 +63
Комментарии 10

Что общего у мобильного QA и осьминога

Время на прочтение 8 мин
Количество просмотров 42K


Привет! Я Катя, и я – трудоголик тестировщик самого популярного приложения для новых знакомств.

Итак, раннее утро, вы – мобильный QA. Вы приходите на работу, завариваете крепкий кофе и хотите взять пару мобильных устройств для тестирования новой фичи, осознавая, какие муки выбора вам предстоят. Что это будут за устройства?

Рано или поздно каждый мобильный тестировщик задаётся вопросом, на каком количестве устройств тестировать новый функционал, чтобы поймать максимальное количество девайсозависимых багов, потратив минимум времени. Автотесты ещё не написаны, перед вами абсолютно новые фичи. И если с iOS есть хоть какая-то ясность, и список устройств ограничен, то Android «расплодился» в полнейший ад. Вы удивитесь, но для счастья нужно всего три–четыре Android-устройства. Я хочу рассказать, как с точки зрения опытного тестировщика их выбрать.
Читать дальше →
Всего голосов 75: ↑73 и ↓2 +71
Комментарии 29

Спроси backend-разработчиков Badoo. Часть 1. Платформа

Время на прочтение 11 мин
Количество просмотров 22K


Нам очень нравится формат AMA (ask me anything) на Reddit, когда кто-нибудь (в нашем случае – команда разработчиков) приходит в сабреддит AMA и говорит, что готов отвечать на заданные вопросы. Из самых запоминающихся сессий Ask Me Anything, например, команда инженеров Space X, или инженеры из Google, и даже действующий президент США Барак Обама четыре года назад отвечал на вопросы на Реддите. Недавно наша Android-команда проводила AMA и в онлайн-режиме отвечала на вопросы разработчиков.

Но в России нет своего Реддита. Зато есть свой Хабр. Поэтому мы решили прийти с форматом «задай нам вопрос» сюда. И не с пустыми руками, как велят правила AMA. Чтобы вам было проще понять тему, мы выбрали одну из наших команд – «Платформу» – и попросили ребят рассказать, чем они занимаются, на чём программируют и чего добились за время существования команды. И подвели небольшие итоги уходящего 2016 года. Поехали!

Оглавление


1. Чем занимается «Платформа»
2. Сервисы: Pinba, SoftMocks и другие
3. Системное программирование. Как мы начали использовать Go и к чему это привело
4. Фотографии
5. Скриптовое облако
6. LSD: Live Streaming Daemon
7. Cassandra Time Series: что это и как работает
8. Badoo AMA: задай вопрос разработчикам «Платформы»

Пруф, что это действительно мы.
Читать дальше →
Всего голосов 86: ↑83 и ↓3 +80
Комментарии 69

Как работают ИТ-специалисты. Алексей Рыбак, глава разработки Badoo

Время на прочтение 10 мин
Количество просмотров 15K
image

7 и 8 ноября в Сколково прошла конференция HighLoad++ 2016. Более 200 экспертов выступали с докладами о высоконагруженных сервисах, проблемах работы с ними, администрировании и многом другом.

На месте мы смогли пообщаться с разными экспертами. Большинство из них пишет код, либо писали его в прошлом. Они рассказали нам о своем режиме труда и отдыха, профессиональных привычках, об инструментарии, который они используют, и многом другом.

С каждым мы провели интервью в формате блиц-опроса. Будет интересно выяснить, что объединяет этих IT-специалистов, в чем они похожи. Возможно, их ответы помогут выявить какие-то общие закономерности, полезные советы, которые помогут многим из нас.
Читать дальше →
Всего голосов 41: ↑35 и ↓6 +29
Комментарии 23

Badoo перешли на PHP7 и сэкономили $1M

Время на прочтение 16 мин
Количество просмотров 104K
Badoo перешли на PHP7 и сэкономили $1M

Мы сделали это! Несколько сотен наших application-серверов переведены на PHP7 и прекрасно себя чувствуют. Насколько нам известно, это второй переход на PHP7 проекта такого масштаба (после Etsy). В процессе мы нашли несколько очень неприятных багов в системе кеширования байт-кода PHP7, но они исправлены. А теперь — ура! — благая весть для всего PHP-сообщества: PHP7 действительно готов к продакшену, стабилен, потребляет значительно меньше памяти и дает очень хороший прирост производительности. Ниже мы подробно расскажем, как мы перешли на PHP7, с какими трудностями столкнулись, как с ними боролись и какие результаты получили.
Читать дальше →
Всего голосов 169: ↑159 и ↓10 +149
Комментарии 304

Как устроено сплит-тестирование в Badoo

Время на прочтение 18 мин
Количество просмотров 26K
Если в Google ввести запрос «a b тестирование», то по теме выпадает довольно много статей, но в них больше теории и ориентированы они на менеджеров, а в качестве инструментов предлагаются готовые клиентские реализации, вроде Google Analytics. Также есть статья про очень простую серверную реализацию (в реалиях авторов, я думаю, этого вполне достаточно).

Сегодня я расскажу о том, как это происходит у нас, в Badoo, при огромном количестве пользователей по всему миру.

У нас был целый «зоопарк» инструментов для сплит-тестирования во главе с A/B фрэймворком, часть из которых разрабатывалась для других целей. Помимо прочих недостатков, все эти инструменты использовали примерно один и тот же способ для разделения пользователей на варианты — это хеширование ID пользователя плюс «соль». Такой подход нас не удовлетворял, и было принято решение разработать новую версию, в которой можно было бы избежать недостатков старых версий.
Читать дальше →
Всего голосов 33: ↑30 и ↓3 +27
Комментарии 25

Добавление оператора диапазона в PHP

Время на прочтение 14 мин
Количество просмотров 17K
image
На картинке — Ancient Psychic Tandem War Elephant © Adventure Time

В этой статье будет рассмотрен процесс внедрения в PHP нового оператора. Для этого будут выполнены следующие шаги:

  • Обновление лексического анализатора: он будет знать о синтаксисе нового оператора, что позволит потом превратить его в токен.
  • Обновление парсера: система будет знать, где может использоваться этот оператор, а заодно какова его приоритетность и ассоциативность.
  • Обновление этапа компиляции: здесь происходит обработка (traverse) дерева абстрактного синтаксиса (AST) и извлечение из него кодов операции.
  • Обновление виртуальной машины Zend: во время выполнения скрипта она используется для обработки интерпретации нового кода операции для оператора.

В общем, в этой статье будут кратко рассмотрены несколько внутренних моментов PHP. Выражаю горячую благодарность Никите Попову за помощь в доработке этой статьи.
Читать дальше →
Всего голосов 38: ↑37 и ↓1 +36
Комментарии 25

Тестирование мобильных приложений: tips & tricks

Время на прочтение 12 мин
Количество просмотров 127K
Наша новая статья представляет собой список рекомендаций и советов. Из неё вы узнаете:

  • как облегчить процесс тестирования мобильных приложений в целом;
  • о специфике работы с сетью, внутренними и внешними сервисами, платформах iOS и Android;
  • какие процессные решения и изменения позволят вам развиваться быстрее и вводить культуру тестирования в отделе разработки;
  • какие существуют полезные инструменты и решения для тестирования, отладки, мониторинга и миграции пользователей.

Начинающим тестировщикам советы могут помочь расти быстрее, а более опытным — упорядочить знания. Статья также будет полезна разработчикам, продакт-менеджерам и менеджерам проектов, словом — всем, кто хочет улучшить качество продукта и наладить взаимодействие между отделами.

Как облегчить процесс тестирования?


1. Используйте принципы эвристики и мнемоники — они помогают удержать в голове все аспекты, которые нужно учесть при тестировании фичи или приложения.

2. Скриншоты, логи и видео — лучшие аргументы тестировщика!
К сожалению, с логами «общения» с сервером зачастую не всё так гладко, как с клиентскими логами. Обычно они добавляются скорее для удобства разработчика при отладке работы с сервером, чем для работы тестировщика.
Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 12

Видео докладов с конференции «Российские интернет-технологии 2015»

Время на прочтение 1 мин
Количество просмотров 6.1K
Рады поделиться с вами видео докладов с конференции «РИТ++». Отдельным постом выложим видео и слайды с LoveQA митапа.

1.«Реалтайм статистика скорости работы нативных и веб-приложений у реальных пользователей», Павел dpp Довбуш (Badoo).
Рассказали как сделана статистика и аналитика скорости работы (UX) приложений Badoo (Web, Mobile-web, iOS, Android, Windows). Про общие концепции и примеры, что и как измерять. Про то, как собирать данные со 100% пользователей проекта и выдержать нагрузку.
А также о том, как из OpenSource решений собрать систему сбора и визуализации статистики для своего проекта.
Бонус: выложили наше «real user monitoring» решение Jinba в OpenSource.


Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 4

Обзор докладов конференции QCon London 2015

Время на прочтение 17 мин
Количество просмотров 6.1K
Привет, меня зовут Макс Матюхин, я PHP-программист в компании Badoo. В прошлом месяце в Лондоне прошла очередная Международная конференция разработчиков QCon 2015. Я побывал на ней и теперь хочу поделиться с вами своими впечатлениями о мероприятии и рассказать о самых интересных, на мой взгляд, выступлениях. Из этой статьи вы узнаете чуть больше про архитектуру Uber, Spotify, CloudFlare, а также о том, как Google управляет своей инфраструктурой и многом другом.

Впервые QCon состоялась в 2007 году в Лондоне и Сан-Франциско. С тех пор она стабильно набирает популярность и расширяет географию, и в этом году она пройдет в 8 городах. Лондонская QCon проходит в самом сердце британской столицы, в двух шагах от Вестминстерского Аббатства. В разное время на QCon выступали такие известные личности, как Martin Fowler, Kent Beck, Erik Meijer, Steve Vinoski, Joe Armstrong, Rich Hickey и многие другие.
Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Комментарии 0

15 советов и хитростей инструментов разработчика Chrome, которые вы обязаны знать

Время на прочтение 5 мин
Количество просмотров 204K
Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше.
Читать дальше →
Всего голосов 88: ↑85 и ↓3 +82
Комментарии 23

Процесс разработки и тестирования демонов

Время на прочтение 7 мин
Количество просмотров 19K
Сегодня мы поговорим о «низкоуровневых» кирпичиках нашего проекта — о демонах.
Определение из Википедии:
«де́мон — компьютерная программа в системах класса UNIX, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем».

Хоть это и не очевидно, но практически весь функционал сайта во многом зависит от работы этих программ. Игра в “Знакомства”, поиск новых лиц, центр внимания, обмен сообщениями, статусы, геолокация и многие другие вещи завязаны на тот или иной демон. Так что можно сказать, что они помогают людям по всему миру общаться и находить новые знакомства. Одновременно на сайте могут работать и взаимодействовать между собой несколько десятков демонов. Их корректное поведение является очень важной задачей, поэтому мы решили покрывать основной функционал демонов автотестами.

В Badoo этим занимается специальный отдел. И сегодня мы расскажем о том, как у нас проходит процесс разработки этой критически важной части сайта и выполнение автотестов. Эта область достаточно специфичная и материала много, поэтому мы подготовили структурированный обзор всего процесса, чтобы разобраться в нем смогли все, кому интересно.

В качестве VCS у нас используется Git, для непрерывной интеграции — TeamCity, а в роли баг-трекера выступает JIRA. Для тестирования мы используем PHPUnit. Разработка демонов, как и остального сайта, ведется по принципу «фича ― ветка». Для того чтобы понять, что это, мы рассмотрим проекции нашего flow на Git и на JIRA.
Читать дальше →
Всего голосов 36: ↑32 и ↓4 +28
Комментарии 14

Задай вопрос эксперту и выиграй билет на Highload!

Время на прочтение 2 мин
Количество просмотров 6K
На этой неделе в Москве пройдет одна из лучших технологических конференций HighLoad 2014.
Мы хотим дать возможность «вскочить на уходящий поезд» тем, кто очень хотел попасть на конференцию, но не успел или не смог купить билет. Badoo дарит 2 билета на конференцию за самые хорошие вопросы к экспертам, которые вы оставите в комментариях.
Вопросы должны быть по теме, в которой разбираются эксперты, плюс они должны быть сложными и интересными.
В идеале вы рассказываете о какой-то сложности, с которой столкнулись в работе, как решали ее и почему не получилось + спрашиваете совет. Можно задавать любое количество вопросов.
Итоги подведем завтра, 30 октября, в 16-00.
  • Алексей Рыбак
    Глава разработки Badoo (Head of Engineering)
    Может проконсультировать по вопросам управления разработкой в крупном проекте, масштабирования и производительности, мониторинга, поддержки, BigData и Business Intelligence.
Все эксперты
Всего голосов 24: ↑17 и ↓7 +10
Комментарии 82

Кастомные социальные кнопки

Время на прочтение 5 мин
Количество просмотров 74K
Недавно участвовал в разработке одного проекта — фото конкурса. По задумке, рейтинг фото альбомов должен формироваться из суммы всех публикаций в социальных сетях: Facebook, Вконтакте, Twitter. Т.е. общий рейтинг фотоальбома расчитывается:
Рейтинг фотоальбома = кол-во «Share» в Facebook + кол-во «Сохранить» в Вконтакте + кол-во «Retweet» в Twitter

На макетах, вид кнопок несколько отличался от предоставляемых социальными сетями плагинов, формируемых функциями api. В частности вид счетчиков:
image
Помимо несоответствий с дизайном, каждый плагин формирует излишний хтмл код, а хотелось бы лаконичный.

Детальнее ознакомившись с api каждой сети, окончательно убедились в отсутствии расширенных возможностей для кастомизации кнопок и этот факт понять можно, все стремятся к единоборазности своих кнопок. Решили отказаться от использования готовых плагинов и сделать свои кнопки.

Итак:
  • количество лайков будем получать от REST сервисов каждой социалки
  • кнопки рисуем свои и обрабатываем событие click

Читать дальше →
Всего голосов 99: ↑94 и ↓5 +89
Комментарии 58

Географические координаты всех городов на Земле

Время на прочтение 1 мин
Количество просмотров 18K
В поисках базы данных городов мира для своего погодного сайта, наткнулся на интересный ресурс. На нем просто выложен список всех населенных пунктов, упорядоченный по странам и областям.

Информация, предоставляемая для каждого населенного пункта:
— географические координаты
— высота над уровнем моря
— часовой пояс
— используется ли летнее/декретное время
— ориентировочное количество жителей (обычно, сильно заниженное)

Также отображается небольшая карта, метеорологическая информация и список ближайших аэродромов.

Теперь сижу и думаю, как заполучить эту базу данных. Никакой контактной информации на сайте не нашел, ссылка «Credits» ведет вникуда. Просто стащить всю эту базу через http, видимо, не представляется возможным: только по России там больше 200000 точек. Это несколько суток непрерывного парсинга.

Update:
На сайте geonames.org найдена готовая к скачиванию база данных с подробной информацией по населенным пунктам всего мира. Только по России там 249 516 объектов.
Огромное спасибо, sapl!
Всего голосов 30: ↑29 и ↓1 +28
Комментарии 57

Инфраструктура MySpace не справляется с нагрузкой

Время на прочтение 5 мин
Количество просмотров 1.1K
Журнал Baseline опубликовал подробный технический анализ инфраструктуры сайта MySpace.com. Как известно, это один из крупнейших веб-сервисов в интернете, который сейчас спорит с порталом Yahoo за звание самого посещаемого сайта в Сети.
Читать дальше →
Всего голосов 38: ↑38 и ↓0 +38
Комментарии 56

Веб 2.0 Список проектов

Время на прочтение 33 мин
Количество просмотров 6.2K
Здесь нашел.
Чего нашел? А вот что:

AUDIO 2.0
Bebop — Compare music calendar against your iTunes catalogue. www.bebopular.com
Clickcaster — Record, license, publish & promote your radio show. www.clickcaster.com
Difm — Radio community. www.di.fm
Dottunes — Share your iTunes. www.dottunes.net
Enablr — Transcribe podcasts, Text2Snailmail,… www.enablr.com
Fluctu8 — Create & share your sourcelists. fluctu8.com
Gcast — Podcasting tools & hosting. www.gcast.com
Genielab — Explore, recommend & rate music. genielab.com
Ituneslove — Share your music tastes. www.ituneslove.com
Jamendo — Review, tag, rate & share music. www.jamendo.com/en
Lastfm* — Profile your taste, share, personalize your radio. www.last.fm

Читать дальше →
Всего голосов 33: ↑28 и ↓5 +23
Комментарии 20

Закон логарифмирования зарплат.

Время на прочтение 2 мин
Количество просмотров 2.6K
Снова попался мне очень интересный документ «Распределение численности работников по размеру зарплаты. Россия, Тюменская область,
Ямало–Ненецкий Автономный Округ, апрель 2005 г.». Так как мои предыдущие математические выкладки «коэффициент богатства» вызвали дискуссию, намного интересней самой заметки, рискнул перейти от коеффициентов к законам. Итак, встречайте, «Закон логарифмирования зарплат».
Читать дальше →
Всего голосов 28: ↑23 и ↓5 +18
Комментарии 72

Видео докладов с конференции CodeFest 2014

Время на прочтение 1 мин
Количество просмотров 13K
Мы рады поделиться с вами записью наших выступлений и видео с уникальной секции по высоким нагрузкам с конференции CodeFest. Вы можете задавать ваши вопросы к докладам в комментариях и мы на них обязательно ответим.

1. «Панель: Тренды разработки в высоконагруженных интернет-проектах».
Алексей fisher Рыбак (Badoo) собрал вместе лучших экспертов из Яндекса, Mail.ru, 2ГИС и Communico и обсудил с ними современные тенденции в разработке и поддержке больших высоконагруженных проектов. Плюс эксперты рассказали об интересных решениях и поделились личным опытом.


Читать дальше →
Всего голосов 52: ↑47 и ↓5 +42
Комментарии 13

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность