Size: a a a

2020 September 03
AvitoTech
CI/CD мобильных приложений на основе контракта и собственный сервис релизов мобильных приложений

Дима Прокоп, backend-инженер в команде Speed, рассказал историю, как наша система CI/CD эволюционировала из набора скриптов и TeamCity-билдов в полноценный сервис мобильных релизов, позволяющий управлять всем процессом выпуска приложений через удобный интерфейс.

Читать → http://bit.ly/3hPJ9wB
источник
AvitoTech
Как тимлиду расти в глазах руководства

Если вы тимлид, то наверняка думаете и об управлении своей командой, и о том, как расти самому. Хороший контент на эту тему планируется на следующей неделе конференции наших друзей Podlodka Teamlead Crew #3.

Вместе с Кириллом Самохиным, техлидом нашей команды Sale Success, ребята обсудят, как устроен техрепортинг в Авито и вообще, что важно для него подготовить. Встреча начнётся 9 сентября в 18:00.

Третий сезон Podlodka TeamLead Crew стартанул в этот понедельник. Фокус этой недели — управление знаниями. Присоединиться к конференции можно хоть сейчас.

Десять человек, которые введут промокод  AvitoTech4TLCrew, получат билет за 1500₽ вместо 3900₽. С билетом вы получаете запись ко всем прошедшим зум-сессиям и воркшопам, доступ к предстоящим и чату в Слэке.

Регистрироваться надо на таймпаде: http://bit.ly/2QTwCwl

На сайте Подлодки можно изучить расписание: https://podlodka.io/tlcrew
источник
2020 September 04
AvitoTech
Android митап в Нижнем Новгороде что волнует местных разработчиков?

15 февраля вместе с Кириллом Розовым из @android_broadcast позадавали вопросы местным android-разработчикам. Узнали, что многие выбирают Kotlin Multiplatform, а не Flutter, Coroutines вместо RxJava, не все знают про Jetpack Compose и некоторые ждут обновлений Android для автомобилей.

Больше разговоров с комьюнити: https://youtu.be/HkT3bs0wkNk
YouTube
Android митап в Нижнем Новгороде: Coroutines или RX, Jetpack Compose и что волнует местное комьюнити
Показываем, как прошёл Android митап в Нижнем Новгороде. Встречу проводили 29 февраля. Тогда ещё можно было собираться вживую. Вместе с Кириллом Розовым пообщались с местным комьюнити, узнали, что они ожидают от Android, и какие инструменты выбирают.

Запись докладов со встреч: https://www.youtube.com/playlist?list=PLknJ4Vr6efQGlSeJ6pBEhSbP2th78lypE

Интервью со спикерами митапа: https://www.youtube.com/playlist?list=PL0SwNXKJbuNkzdXCCskIheNUCWXQ1Gdqd

AvitoTech On Tour — это серия наших региональных митапов. Для начала мы провели три встречи: в Казани по Go-разработке и по фронтенду, и в Нижнем Новгороде по Android-разработке.

Репортаж с митапа для Go-разработчиков: https://youtu.be/KnUDxNWQc8A
Репортаж с митапа для фронтенд разработчиков: https://youtu.be/1RgXmsjNVEU

Подпишитесь на канал, соцсети и блоги AvitoTech, чтобы узнавать больше о технологиях Авито 👇🏻
ВК: https://vk.com/avitotech
Фейсбук: https://www.facebook.com/AvitoTech/
Твиттер: https://twitter.com/AvitoTech
Телеграм: https://t.me/avitotech…
источник
2020 September 15
AvitoTech
Автоматический мониторинг фатальных ошибок мобильных приложений

Теперь можем не заходить в консоль Firebase, чтобы следить там за крашами. Всё собираем автоматически.

Вот как это получилось → http://bit.ly/3khM0Pz
источник
2020 September 16
AvitoTech
Инфраструктура для мобильной разработки

Евгений Кривобоков стал гостем нового выпуска подкаста The Art Of Programming (@taoplive). Вместе с Антоном Черноусовым обсуждали инфраструктуру для мобильной разработки, влияние Kotlin на Android-разработку, CI/CD сценарии и управление артефактами.

Интересный выпуск получился → https://youtu.be/RIEoH6yZtak
источник
2020 September 21
AvitoTech
Nupokati: наш сервис релизов мобильных приложений

Было: набор скриптов и TeamCity-билдов.
Стало: полноценный сервис мобильных релизов, позволяющий управлять всем процессом выпуска приложений через удобный интерфейс.

Коротко об изменениях — в гифке. Подробности — в статьях.

На русском → http://bit.ly/35WFZ7i
И на английском →http://bit.ly/2Ek7ewY
источник
2020 September 22
AvitoTech
Mac mini с жидким металлом

Провели эксперимент и улучшили производительность нового Mac mini.

В статье на Медиуме Влад Алексеев, lead iOS engineer, рассказывает и показывает, как мы это сделали: http://bit.ly/3ckRkz3
источник
2020 September 23
AvitoTech
Приключения одного бага или как починить pgx чужими руками

Ситуация: заметили в метриках pgbouncer’a, что по мере роста нагрузки растёт число активных соединений и достигает ограничения в 10 штук — тут всё логично. Но дальше с ростом нагрузки cl_active неожиданно падает, а число cl_waiting быстро растёт почти до 60. Как сервис умудрился создать 60 соединений, если размер его пула — 10, было непонятно.

Проблема: была в pgx/v4, через который наш сервис связывал с pgbouncer’ом.

Что в итоге: провели расследование, тщательно изучили pgbouncer и в итоге убедили Джека Кристенсена, автора pgx, выпустить фикс, который снимает блокер для всех, кто использует pgx под нагрузкой.

Рассказываем в статье, что к чему: http://bit.ly/3cpmHbB
источник
2020 September 25
AvitoTech
источник
AvitoTech
Еще пару часов, максимум, поработать и можно улетать отдыхать в выходные. Можно ещё добавить себе или поделиться с вашим Android-разработчиком стикерпаком, который мы сделали вместе с @android_broadcast
источник
2020 September 28
AvitoTech
«Нормально делай и нормально будет»: Даниил Попов о современной андроид-разработке, пользе твиттера и уходе из Авито

Даниил ещё недавно работал андроид-инженером в нашей команде Speed и делал мобильную инфраструктуру. Журналу «Код» он рассказал о своем карьерном пути и одном из важных принципов в разработке: http://bit.ly/36fWpI2
источник
2020 September 29
AvitoTech
Коротко о том, как мы автоматизировали сбор информации из Firebase о крашах в мобильных приложениях

Подробная история, зачем это понадобилась и какая от этого польза — в нашем блоге на Хабре: http://bit.ly/3cK4NAz
источник
2020 October 07
AvitoTech
Что там с HTTP/3?

Саша Зубов, техлид нашей команды архитектуры фронтенда, рассказал историю протокола HTTP, сравнил преимущества и недостатки разных версий и поделился, как новую версию HTTP можно попробовать на своем проекте.

Базовый доклад, если хотите начать разбираться в предверии скорого (надеемся) выхода окончательных спецификаций нового протокола.

Посмотрите на нашем ютуб-канале → https://bit.ly/33AQZ8A
источник
2020 October 09
AvitoTech
Организация кодовой базы и тестирования в монорепозитории

Илья Никитин, frontend engineer, делится историей хранения нашей кодовой базы: как перешли с Twig на React, как у нас появились npm-пакеты и отдельные репозитории для них, а потом всё переехало в монорепозиторий.

При этом, есть гарантия того, что всё будет работать корректно благодаря прогону тестов на каждом пул-реквесте. Количество самих пул-реквестов уменьшилось с 8-9 в худшем случае до двух: в монолит и в монорепозиторий. А пул-реквест в монорепозиторий содержит сразу все изменения.

Прочитайте, если интересно → http://bit.ly/2GO8wBi
источник
2020 October 14
AvitoTech
Можно ли взломать RFID-замок?

RFID-замки используют для охраны офисов или на домофонах. Мы пытались взломать один такой вместе с N+1, но у нас ничего не получилось. Задействовали два способа: с помощью магнита с жесткого диска и путём перехвата уже декодированных данных с RFID-ключей на контроллере.

Детали можно узнать в статье → http://bit.ly/2FtbxXv
источник
2020 October 16
AvitoTech
Зачем нужны «облачные» UX-исследователи и как с ними работать

От качественных UX-исследований много пользы при создании продукта. Есть несколько способов, как их проводить много, хотя не все они идеальны. Но когда вам надо проводить прямо очень много таких исследований, как у нас, надо что-то изобретать.

Мы попробовали подход «облачных» UX-исследователей. Получилось очень даже ничего.

На Хабре рассказываем всю историю: от того, как пришли, до реализации и результатов → http://bit.ly/3lQJlxe
источник
2020 October 29
AvitoTech
Завтра в 10 приглашаем всех на вторую открытую сессию Podlodka QA Crew, которую мы проводим при поддержке наших друзей @AvitoTech ⚓️  

Александр Матвеев из Авито проведет воркшоп по практикам оптимизации тестирования. Присоединиться к стриму можно будет по ссылке: https://youtu.be/A3k1A1V8gg8
источник
AvitoTech
Почему в разработке всё так сложно?

Люди не из индустрии довольно часто не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?

Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где иногда будем объяснять, почему в разработке всё так сложно. Для начала можно почитать статью об этом на Хабре → http://bit.ly/2TxIvcr

Если любить больше смотреть и слушать, то в перебивке выпуска с Евгением Котом, вместе с нашим инженером Мурадом Бяшимовым парни обсуждают, почему сайты лагают, а игры нет, и отчего разработчики не могут это просто так поправить: http://bit.ly/3jFCxkD
источник
2020 November 05
AvitoTech
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS

Когда разрабатывали калькулятор цены доставки, нужно было заставить сервис на Go ходить в PostgreSQL достаточно быстро.

Поэтому в итоге мы прокачали сервис от 50 до 5000 RPS и еще получили несколько выводов:
• мультиплексирование соединений в pgbouncer’е под нагрузкой — зло;
• использовать в сервисе пул большего размера, чем в базе данных — вредно;
• надо выработать привычку делать транзакции быстрыми и закрывать результаты БД.

Детали — на Хабре: http://bit.ly/350vNd2
источник
2020 November 06
AvitoTech
Создание микросервисов на PaaS

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

Ваня Королёв рассказал, из каких частей состоит наш набор инструментов, и показал пусть создания и развития микросервиса.

Если посмотрите видео, будет полезно, однозначно: https://youtu.be/KT_FKNRDvco
источник