В некоторых внутренних системах для быстрого поиска по большому битовому массиву мы в Badoo используем JIT. Это очень интересная и не самая известная тема. И, чтобы исправить такую досадную ситуацию, я перевел полезную статью Элая Бендерски о том, что такое JIT и как его использовать.
Рубрика «Блог компании Badoo» - 21
Как работать с JIT
2017-02-08 в 6:25, admin, рубрики: C, c++, jit, Блог компании Badoo, Компиляторы, ПрограммированиеОбходим ограничения в Calabash-Android с UIAutomator
2017-02-03 в 9:37, admin, рубрики: android, calabash, qa, qa automation, Блог компании Badoo, разработка мобильных приложений, Разработка под android, Тестирование мобильных приложений, метки: calabashAppium и Calabash — одни из самых популярных фреймворков для автоматизации тестирования Android-приложений. У каждого, конечно, есть свои преимущества и недостатки. Их основные ограничения:
-
Calabash: может управлять только пользовательским интерфейсом, который является частью тестового приложения, в частности, нет поддержки тестирования уведомлений;
- Appium: не может вызывать backdoor-методы в приложениях наподобие Calabash (эти методы очень полезны для настройки состояния тестируемого приложения).
Мы в Badoo пользовались Calabash для автоматизации тестирования, когда Appium только начинал развиваться. Это очень стабильный инструмент, и он до сих пор работает быстрее Appium, так что мы не собираемся мигрировать. Но чтобы автоматизировать такое многофункциональное приложение, как Badoo, нам пришлось обойти ограничение Calabash на работу только с интерфейсом тестового приложения.
Когда-то мы пришли к такому решению. И хотя оно ещё работает, его надёжность снижается из-за множества вариаций устройств с разной диагональю, разными версиями Android и так далее.
В этой статье я расскажу, как мы решили возникшую проблему с помощью добавления в Calabash поддержки UIAutomator2. Если вы слишком нетерпеливы, то скажу по секрету, что в конце есть ссылка на готовый к использованию Ruby Gem.
Куда податься программисту за знаниями в этом году
2017-02-02 в 10:33, admin, рубрики: open source, php, React, Блог компании Badoo, выступления, конференции, Программирование, Разработка веб-сайтов
Highload++ в Москве, ноябрь 2016
Мы сделали для вас подборку лучших (по нашему мнению) выступлений с IT-конференций, на которые собираемся поехать в первой половине 2017 года (как и обещали).
Всё это будет полезно web-программистам (PHP, Go, JS), QA и DevOps. Да, в списке довольно мало конференций, проводящихся на территории России и стран СНГ, но на сегодняшний день их, увы, в принципе не так много. Так что, если вдруг вы знаете о каком-нибудь стоящем мероприятии, дополняйте наш список в комментариях.
11 февраля: Techleads meetup. Как создать и сохранить динамичную разработку
2017-01-30 в 9:18, admin, рубрики: techleads, Блог компании Badoo, митапы, Программирование, разработка, Разработка веб-сайтов, метки: techleads, митапыПришло время анонсировать наш второй по счету Techleads-митап для лидов, руководителей отделов и СТО, созданный, чтобы объединить на одной площадке технологии, разработку и управление. Он пройдет 11 февраля в офисе Badoo в Москве. Начало: в 12:00.
На прошлой встрече мы обсуждали темы мобильного веба, тестирования, технологий и коммуникаций. На этот раз все выступления на митапе объединены одной общей темой: как создать и сохранить динамичную разработку в условиях постоянного роста команды и изменений в компании.
Тема настолько интересная, что мы не могли остановиться, пока выбирали спикеров на митап. Вам понравится: со своими историями выступят Макс Лапшин (Erlyvideo), Евгений Потапов (ITSumma), от Badoo — Алексей Рыбак, Илья Пятин (CarPrice) и Андрей Шелехин (Tinkoff.ru). Под катом – расписание выступлений.
Новогодние обещания Go-разработчика
2017-01-29 в 10:15, admin, рубрики: Go, Блог компании Badoo, ПрограммированиеЭто перевод поста одного из главных разработчиков языка Go, Расса Кокса, где он в традиционном для новогоднего времени формате дает себе обещания и планирует выполнить их.
Наступило время принятия решений, и я подумал, что имеет смысл немного рассказать о том, над чем я хочу работать в наступившем году применительно к Go.
Каждый год я ставлю перед собой цель — помочь Go-разработчикам. Я хочу быть уверен, что то, что делают создатели Go, оказывает положительное влияние на всех Go-разработчиков. Потому что у них есть масса способов совершить ошибку: например, можно потратить слишком много времени на очистку или оптимизацию кода, которому это не требуется; откликаться только на самые распространенные или недавние жалобы и запросы; излишне сосредотачиваться на краткосрочных улучшениях. Поэтому так важно взглянуть на все со стороны и заняться тем, что принесет больше всего пользы для Go-сообщества.
В этой статье я опишу несколько основных задач, на которых я сосредоточусь в этом году. Это мой собственный список, а не всей команды создателей Go.
33 способа ускорить ваш фронтенд в 2017 году
2017-01-27 в 6:20, admin, рубрики: css, javascript, performance, tools, Блог компании Badoo, высокая производительность, Программирование, Разработка веб-сайтовВы уже используете прогрессивную загрузку? А как насчёт технологий Tree Shaking и разбиения кода в React и Angular? Вы настроили сжатие Brotli или Zopfli, OCSP stapling и HPACK-сжатие? А как у вас обстоят дела с оптимизацией ресурсов и клиентской части, со вложенностью CSS? Не говоря уже о IPv6, HTTP/2 и сервис-воркерах.
Мониторинг приложений с помощью Pinba
2017-01-20 в 10:36, admin, рубрики: monitoring, Monitoring Tools, performance, php, pinba, zero overhead, Блог компании Badoo, высокая производительность, Программирование Привет! Мы в Badoo стараемся активно участвовать в жизни IT-сообщества: используем многие open-source-технологии и инструменты, а также делимся своими разработками.
Один из таких инструментов – Pinba – сервис для получения realtime-статистики от работающих приложений без накладных расходов на её сбор. Узнать побольше вы можете в этой статье.
Мы стараемся помочь всем, кто использует Pinba в своих проектах и всегда рады слышать success stories, связанные с Pinba. Этот перевод – одна из подобных историй от разработчиков Dailymotion.
Создание кастомных Go-профилей с помощью pprof. Запоминаем стеки
2017-01-17 в 8:49, admin, рубрики: Go, perf, performance, pprof, profiling, Блог компании Badoo, отладка, Программирование, Тестирование IT-систем
Кадр из сериала «Коломбо»
Go-шный пакет pprof часто используется для профилирования процессора или памяти, но не все знают о возможности создавать собственные кастомные профили. Они могут быть полезны для поиска утечек ресурсов или, например, для слежения за злоупотреблением какими-нибудь тяжелыми вызовами.
Читать полностью »
Использование Service Worker для создания ботнета
2016-12-26 в 12:39, admin, рубрики: Google Chrome, javascript, javascript html5, serviceworker, безопасность веб-приложений, Блог компании Badoo, информационная безопасность, Разработка веб-сайтовЕсли кратко: в этом посте мы рассмотрим один из множества способов запуска бесконечного выполнения кода Javascript в браузере с помощью Service Worker, а еще немного покритикуем саму технологию.
Читать полностью »
Архитектура ассемблера Go
2016-12-21 в 9:07, admin, рубрики: asm, C, compiler, Go, gophercon, ассемблер, Блог компании Badoo, Компиляторы, Программирование Привет! Меня зовут Марко Кевац, я системный программист Badoo в команде «Платформа», и я очень люблю Go. Если сложить эти две вещи, то вы поймёте, насколько я люблю ассемблер в Go.
Совсем недавно мы рассказывали на Хабре о том, на каких конференциях побывали. Одной из них была GopherCon 2016, где практически всем запомнился доклад Роба «Командира» Пайка про Go-шный ассемблер. Представляю вам перевод его доклада, оформленный в виде статьи. Я постарался дать в тексте как можно больше ссылок на релевантные статьи в «Википедии».
Читать полностью »