В предыдущей статье я рассказывал о том, как мы выделили модуль чата в нашем приложении. Всё прошло успешно, и мы собирались распространить этот опыт — начать тотальную модуляризацию в iOS-разработке Badoo. Даже презентовали подход продуктовым командам, командам, занимающимся тестированием и непрерывной интеграцией, и постепенно стали внедрять модуляризацию в наши процессы.
Рубрика «Блог компании Badoo»
Модуляризация iOS-приложения Badoo: борьба с последствиями
2021-01-21 в 17:01, admin, рубрики: apple, badoo, cocoapods, iOS, modularity, modules, objective-c, swift, Блог компании Badoo, опыт, разработка мобильных приложений, разработка под iOSК порядку: правила создания конвейеров обработки данных
2020-12-30 в 12:10, admin, рубрики: data, pipelines, базы данных, Блог компании Badoo, данные, конвейер, Программирование, хранение данных, хранилища данныхК 2020 году вы не могли не заметить, что миром правят данные. И, как только речь заходит о работе с ощутимыми объёмами, появляется необходимость в сложном многоэтапном конвейере обработки данных.
История потерянного коммита
2020-12-24 в 12:03, admin, рубрики: devops, Git, Блог компании Badoo, коммит, Программирование, Системы управления версиямиБыл уже вечер, когда ко мне обратился разработчик. Из мастер-ветки пропал патч — коммит deadbeef.
Мне показали доказательства: вывод двух команд. Первая из них —
git show deadbeef
— показывала изменения файла, назовём его Page.php. В него добавились метод canBeEdited и его использование.
А в выводе второй команды —
git log -p Page.php
— коммита deadbeef не было. Да и в текущей версии файла Page.php не было метода canBeEdited.
Не найдя решения быстро, мы сделали ещё один патч в мастер, разложили изменения — и я решил, что вернусь к проблеме на свежую голову.
Читать полностью »
API для QA: тестируем фичи без доступа к коду
2020-11-19 в 13:56, admin, рубрики: api, badoo, php, qa, Блог компании Badoo, Тестирование веб-сервисов, Тестирование мобильных приложенийМногие фичи приложения невозможно быстро протестировать, не меняя исходный код. Представьте типичную задачу, с которой может столкнуться каждый разработчик: через три дня после регистрации пользователю нужно предложить купить премиум-доступ к продукту со скидкой. Чтобы проверить, работает ли это промо, нужно зарегистрировать тестового пользователя и подождать три дня до появления заветного окошка.
Система под контролем: как автоматизировать интеграционные тесты
2020-10-29 в 13:21, admin, рубрики: automatization, distributed systems, docker, Go, integration testing, quality control, Блог компании Badoo, Программирование, Тестирование IT-систем, Тестирование веб-сервисовПривет! Меня зовут Ксения Якиль. Я пишу core-сервисы на C и Go в бэкенд-отделе Badoo и Bumble. Наш бэкенд — это высоконагруженная распределённая система, обслуживающая пользователей по всему миру. Она оперирует большими массивами данных и делает всю ту магию, благодаря которой люди находят друг друга.
eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик
2020-09-22 в 11:03, admin, рубрики: eBPF, Go, linux, observability, Блог компании Badoo, Настройка Linux, Программирование, Разработка под Linux
У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него.
BPF сейчас на пике популярности. Технология развивается семимильными шагами, проникает в самые неожиданные места и становится всё доступнее и доступнее для обычного пользователя. Почти на каждой популярной конференции сегодня можно услышать доклад на эту тему, и GopherCon Russia не исключение: я представляю вам текстовую версию моего доклада.
В этой статье не будет уникальных открытий. Я просто постараюсь показать, что такое BPF, на что он способен и как может помочь лично вам. Также мы рассмотрим особенности, связанные с Go.
Я бы очень хотел, чтобы после прочтения моей статьи у вас зажглись глаза так, как зажигаются глаза у ребёнка, впервые прочитавшего книгу о Гарри Поттере, чтобы вы пришли домой или на работу и попробовали новую «игрушку» в деле.
Читать полностью »
Как перенести на TypeScript большую кодовую базу React UI-компонентов
2020-09-09 в 10:07, admin, рубрики: javascript, project management, React, types, TypeScript, web developement, Блог компании Badoo, интерфейсы, управление разработкойПривет! Меня зовут Иван Греков, я работаю UI-разработчиком в frontend-команде Badoo. Главные задачи нашей команды — создание новых и поддержка существующих пользовательских интерфейсов для сайтов и приложений Badoo и Bumble.
Мёртвый код: найти и обезвредить
2020-08-19 в 11:03, admin, рубрики: legacy, legacy code, legacy-код, php, Блог компании Badoo, Программирование, Проектирование и рефакторинг, Разработка веб-сайтов
Меня зовут Данил Мухаметзянов, я работаю бэкенд-разработчиком в Badoo уже семь лет. За это время я успел создать и изменить большое количество кода. Настолько большое, что в один прекрасный день ко мне подошёл руководитель и сказал: «Квота закончилась. Чтобы что-то добавить, нужно что-то удалить».
Ладно, это всего лишь шутка — он такого не говорил. А жаль! В Badoo за всё время существования компании накопилось больше 5,5 млн строк логического бизнес-кода без учёта пустых строк и закрывающих скобок.
Само количество не так страшно: он лежит, есть не просит. Но два-три года назад я начал замечать, что всё чаще читаю и пытаюсь разобраться в коде, который на самом деле не работает в продакшен-окружении. То есть, по сути, мёртв.
Эту тенденцию заметил не только я. В Badoo поняли: наши высокооплачиваемые инженеры постоянно тратят время на мёртвый код.
Читать полностью »
Правосторонний интерфейс: адаптируем контролы к right-to-left языкам
2020-07-23 в 11:04, admin, рубрики: css, html, usability, Блог компании Badoo, интерфейсы, локализация интерфейса, Локализация продуктов, Разработка веб-сайтовC адаптацией приложений и сайтов под RTL-языки (right-to-left, справа налево) сталкиваются разработчики многих развивающихся и выходящих на новые рынки продуктов. Мы в Badoo тоже в какой-то момент оказались в этой ситуации: наши приложения переведены на 52 языка и диалекта. В этой статье я расскажу о нескольких интересных нюансах, которые мы обнаружили при адаптации форм на сайте Badoo.сом под иврит и арабский язык.