Автоматический мониторинг фатальных ошибок мобильных приложений
Теперь можем не заходить в консоль Firebase, чтобы следить там за крашами. Всё собираем автоматически.
Вот как это получилось → http://bit.ly/3khM0Pz
Теперь можем не заходить в консоль Firebase, чтобы следить там за крашами. Всё собираем автоматически.
Вот как это получилось → http://bit.ly/3khM0Pz
Инфраструктура для мобильной разработки
Евгений Кривобоков стал гостем нового выпуска подкаста The Art Of Programming (@taoplive). Вместе с Антоном Черноусовым обсуждали инфраструктуру для мобильной разработки, влияние Kotlin на Android-разработку, CI/CD сценарии и управление артефактами.
Интересный выпуск получился → https://youtu.be/RIEoH6yZtak
Евгений Кривобоков стал гостем нового выпуска подкаста The Art Of Programming (@taoplive). Вместе с Антоном Черноусовым обсуждали инфраструктуру для мобильной разработки, влияние Kotlin на Android-разработку, CI/CD сценарии и управление артефактами.
Интересный выпуск получился → https://youtu.be/RIEoH6yZtak
This media is not supported in your browser
VIEW IN TELEGRAM
Nupokati: наш сервис релизов мобильных приложений
Было: набор скриптов и TeamCity-билдов.
Стало: полноценный сервис мобильных релизов, позволяющий управлять всем процессом выпуска приложений через удобный интерфейс.
Коротко об изменениях — в гифке. Подробности — в статьях.
На русском → http://bit.ly/35WFZ7i
И на английском →http://bit.ly/2Ek7ewY
Было: набор скриптов и TeamCity-билдов.
Стало: полноценный сервис мобильных релизов, позволяющий управлять всем процессом выпуска приложений через удобный интерфейс.
Коротко об изменениях — в гифке. Подробности — в статьях.
На русском → http://bit.ly/35WFZ7i
И на английском →http://bit.ly/2Ek7ewY
Mac mini с жидким металлом
Провели эксперимент и улучшили производительность нового Mac mini.
В статье на Медиуме Влад Алексеев, lead iOS engineer, рассказывает и показывает, как мы это сделали: http://bit.ly/3ckRkz3
Провели эксперимент и улучшили производительность нового Mac mini.
В статье на Медиуме Влад Алексеев, lead iOS engineer, рассказывает и показывает, как мы это сделали: http://bit.ly/3ckRkz3
Приключения одного бага или как починить pgx чужими руками
Ситуация: заметили в метриках pgbouncer’a, что по мере роста нагрузки растёт число активных соединений и достигает ограничения в 10 штук — тут всё логично. Но дальше с ростом нагрузки cl_active неожиданно падает, а число cl_waiting быстро растёт почти до 60. Как сервис умудрился создать 60 соединений, если размер его пула — 10, было непонятно.
Проблема: была в pgx/v4, через который наш сервис связывал с pgbouncer’ом.
Что в итоге: провели расследование, тщательно изучили pgbouncer и в итоге убедили Джека Кристенсена, автора pgx, выпустить фикс, который снимает блокер для всех, кто использует pgx под нагрузкой.
Рассказываем в статье, что к чему: http://bit.ly/3cpmHbB
Ситуация: заметили в метриках pgbouncer’a, что по мере роста нагрузки растёт число активных соединений и достигает ограничения в 10 штук — тут всё логично. Но дальше с ростом нагрузки cl_active неожиданно падает, а число cl_waiting быстро растёт почти до 60. Как сервис умудрился создать 60 соединений, если размер его пула — 10, было непонятно.
Проблема: была в pgx/v4, через который наш сервис связывал с pgbouncer’ом.
Что в итоге: провели расследование, тщательно изучили pgbouncer и в итоге убедили Джека Кристенсена, автора pgx, выпустить фикс, который снимает блокер для всех, кто использует pgx под нагрузкой.
Рассказываем в статье, что к чему: http://bit.ly/3cpmHbB
Еще пару часов, максимум, поработать и можно улетать отдыхать в выходные. Можно ещё добавить себе или поделиться с вашим Android-разработчиком стикерпаком, который мы сделали вместе с @android_broadcast
«Нормально делай и нормально будет»: Даниил Попов о современной андроид-разработке, пользе твиттера и уходе из Авито
Даниил ещё недавно работал андроид-инженером в нашей команде Speed и делал мобильную инфраструктуру. Журналу «Код» он рассказал о своем карьерном пути и одном из важных принципов в разработке: http://bit.ly/36fWpI2
Даниил ещё недавно работал андроид-инженером в нашей команде Speed и делал мобильную инфраструктуру. Журналу «Код» он рассказал о своем карьерном пути и одном из важных принципов в разработке: http://bit.ly/36fWpI2
Media is too big
VIEW IN TELEGRAM
Коротко о том, как мы автоматизировали сбор информации из Firebase о крашах в мобильных приложениях
Подробная история, зачем это понадобилась и какая от этого польза — в нашем блоге на Хабре: http://bit.ly/3cK4NAz
Подробная история, зачем это понадобилась и какая от этого польза — в нашем блоге на Хабре: http://bit.ly/3cK4NAz
Что там с HTTP/3?
Саша Зубов, техлид нашей команды архитектуры фронтенда, рассказал историю протокола HTTP, сравнил преимущества и недостатки разных версий и поделился, как новую версию HTTP можно попробовать на своем проекте.
Базовый доклад, если хотите начать разбираться в предверии скорого (надеемся) выхода окончательных спецификаций нового протокола.
Посмотрите на нашем ютуб-канале → https://bit.ly/33AQZ8A
Саша Зубов, техлид нашей команды архитектуры фронтенда, рассказал историю протокола HTTP, сравнил преимущества и недостатки разных версий и поделился, как новую версию HTTP можно попробовать на своем проекте.
Базовый доклад, если хотите начать разбираться в предверии скорого (надеемся) выхода окончательных спецификаций нового протокола.
Посмотрите на нашем ютуб-канале → https://bit.ly/33AQZ8A
Организация кодовой базы и тестирования в монорепозитории
Илья Никитин, frontend engineer, делится историей хранения нашей кодовой базы: как перешли с Twig на React, как у нас появились npm-пакеты и отдельные репозитории для них, а потом всё переехало в монорепозиторий.
При этом, есть гарантия того, что всё будет работать корректно благодаря прогону тестов на каждом пул-реквесте. Количество самих пул-реквестов уменьшилось с 8-9 в худшем случае до двух: в монолит и в монорепозиторий. А пул-реквест в монорепозиторий содержит сразу все изменения.
Прочитайте, если интересно → http://bit.ly/2GO8wBi
Илья Никитин, frontend engineer, делится историей хранения нашей кодовой базы: как перешли с Twig на React, как у нас появились npm-пакеты и отдельные репозитории для них, а потом всё переехало в монорепозиторий.
При этом, есть гарантия того, что всё будет работать корректно благодаря прогону тестов на каждом пул-реквесте. Количество самих пул-реквестов уменьшилось с 8-9 в худшем случае до двух: в монолит и в монорепозиторий. А пул-реквест в монорепозиторий содержит сразу все изменения.
Прочитайте, если интересно → http://bit.ly/2GO8wBi
This media is not supported in your browser
VIEW IN TELEGRAM
Можно ли взломать RFID-замок?
RFID-замки используют для охраны офисов или на домофонах. Мы пытались взломать один такой вместе с N+1, но у нас ничего не получилось. Задействовали два способа: с помощью магнита с жесткого диска и путём перехвата уже декодированных данных с RFID-ключей на контроллере.
Детали можно узнать в статье → http://bit.ly/2FtbxXv
RFID-замки используют для охраны офисов или на домофонах. Мы пытались взломать один такой вместе с N+1, но у нас ничего не получилось. Задействовали два способа: с помощью магнита с жесткого диска и путём перехвата уже декодированных данных с RFID-ключей на контроллере.
Детали можно узнать в статье → http://bit.ly/2FtbxXv
Зачем нужны «облачные» UX-исследователи и как с ними работать
От качественных UX-исследований много пользы при создании продукта. Есть несколько способов, как их проводить много, хотя не все они идеальны. Но когда вам надо проводить прямо очень много таких исследований, как у нас, надо что-то изобретать.
Мы попробовали подход «облачных» UX-исследователей. Получилось очень даже ничего.
На Хабре рассказываем всю историю: от того, как пришли, до реализации и результатов → http://bit.ly/3lQJlxe
От качественных UX-исследований много пользы при создании продукта. Есть несколько способов, как их проводить много, хотя не все они идеальны. Но когда вам надо проводить прямо очень много таких исследований, как у нас, надо что-то изобретать.
Мы попробовали подход «облачных» UX-исследователей. Получилось очень даже ничего.
На Хабре рассказываем всю историю: от того, как пришли, до реализации и результатов → http://bit.ly/3lQJlxe
Хабр
Зачем Авито «облачные» UX-исследователи и как с ними работать
Всем привет, меня зовут Михаил Правдин, я руковожу направлением качественных UX-исследований в Авито. Возможно, вы видели мой доклад на ProductSense о том, как в...
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
Завтра в 10 приглашаем всех на вторую открытую сессию Podlodka QA Crew, которую мы проводим при поддержке наших друзей @AvitoTech ⚓️
Александр Матвеев из Авито проведет воркшоп по практикам оптимизации тестирования. Присоединиться к стриму можно будет по ссылке: https://youtu.be/A3k1A1V8gg8
Александр Матвеев из Авито проведет воркшоп по практикам оптимизации тестирования. Присоединиться к стриму можно будет по ссылке: https://youtu.be/A3k1A1V8gg8
YouTube
Воркшоп: Практики оптимизации количества тестирования / Александр Матвеев
Как оптимизировать размер своего набора тестов таким образом, чтобы при меньших трудозатратах уровень обеспечения качества оставался прежним? Александр Матвеев, эксперт в QA из Авито, проведет воркшоп, на котором поделится кучей полезных практик!
Почему в разработке всё так сложно?
Люди не из индустрии довольно часто не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?
Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где иногда будем объяснять, почему в разработке всё так сложно. Для начала можно почитать статью об этом на Хабре → http://bit.ly/2TxIvcr
Если любите больше смотреть и слушать, то в перебивке выпуска с Евгением Котом, вместе с нашим инженером Мурадом Бяшимовым парни обсуждают, почему сайты лагают, а игры нет, и отчего разработчики не могут это просто так поправить: http://bit.ly/3jFCxkD
Люди не из индустрии довольно часто не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?
Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где иногда будем объяснять, почему в разработке всё так сложно. Для начала можно почитать статью об этом на Хабре → http://bit.ly/2TxIvcr
Если любите больше смотреть и слушать, то в перебивке выпуска с Евгением Котом, вместе с нашим инженером Мурадом Бяшимовым парни обсуждают, почему сайты лагают, а игры нет, и отчего разработчики не могут это просто так поправить: http://bit.ly/3jFCxkD
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS
Когда разрабатывали калькулятор цены доставки, нужно было заставить сервис на Go ходить в PostgreSQL достаточно быстро.
Поэтому в итоге мы прокачали сервис от 50 до 5000 RPS и еще получили несколько выводов:
• мультиплексирование соединений в pgbouncer’е под нагрузкой — зло;
• использовать в сервисе пул большего размера, чем в базе данных — вредно;
• надо выработать привычку делать транзакции быстрыми и закрывать результаты БД.
Детали — на Хабре: http://bit.ly/350vNd2
Когда разрабатывали калькулятор цены доставки, нужно было заставить сервис на Go ходить в PostgreSQL достаточно быстро.
Поэтому в итоге мы прокачали сервис от 50 до 5000 RPS и еще получили несколько выводов:
• мультиплексирование соединений в pgbouncer’е под нагрузкой — зло;
• использовать в сервисе пул большего размера, чем в базе данных — вредно;
• надо выработать привычку делать транзакции быстрыми и закрывать результаты БД.
Детали — на Хабре: http://bit.ly/350vNd2
Создание микросервисов на PaaS
Расскажем вам про наш подход к работе с микросервисами. Мы, например, используем платформенное решение — наш общий тулкит PaaS. Его преимущества — это снижение оверхеда на интеграцию с инфраструкурой, новые технологии можно внедрять централизованно, ну и архитектурные практики и практики написания кода проще отрабатывать. Очевидно, это нужно.
Ваня Королёв рассказал, из каких частей состоит наш набор инструментов, и показал пусть создания и развития микросервиса.
Если посмотрите видео, будет полезно, однозначно: https://youtu.be/KT_FKNRDvco
Расскажем вам про наш подход к работе с микросервисами. Мы, например, используем платформенное решение — наш общий тулкит PaaS. Его преимущества — это снижение оверхеда на интеграцию с инфраструкурой, новые технологии можно внедрять централизованно, ну и архитектурные практики и практики написания кода проще отрабатывать. Очевидно, это нужно.
Ваня Королёв рассказал, из каких частей состоит наш набор инструментов, и показал пусть создания и развития микросервиса.
Если посмотрите видео, будет полезно, однозначно: https://youtu.be/KT_FKNRDvco
This media is not supported in your browser
VIEW IN TELEGRAM
Коротко о том, как мы починили баг в pgx чужими руками
Подробная история, как это получилось, в нашей статье на Хабре → http://bit.ly/2InjaQv
Подробная история, как это получилось, в нашей статье на Хабре → http://bit.ly/2InjaQv
This media is not supported in your browser
VIEW IN TELEGRAM
Хранение кодовой базы: как это было и как мы пришли к монорепозиторию
Коротко объясняем на гифке. А подробно — в статье на Хабре. Почитайте, если интересно: http://bit.ly/3nrokd6
Коротко объясняем на гифке. А подробно — в статье на Хабре. Почитайте, если интересно: http://bit.ly/3nrokd6
PaaS в Авито: как это устроено
Платформа позволяет нам экономить время и ресурсы продуктовых инженеров на разных этапах разработки. А ещё — контролировать «зоопарк» технологий и быстрее выкатывать изменения на всю команду.
Выделили в статье наработки, которые потенциально можно переиспользовать другим компаниям: http://bit.ly/35IsJm8
Платформа позволяет нам экономить время и ресурсы продуктовых инженеров на разных этапах разработки. А ещё — контролировать «зоопарк» технологий и быстрее выкатывать изменения на всю команду.
Выделили в статье наработки, которые потенциально можно переиспользовать другим компаниям: http://bit.ly/35IsJm8
This media is not supported in your browser
VIEW IN TELEGRAM
Коротко о том, зачем компаниям нужны «облачные» UX-исследователи
А на Хабре рассказываем в деталях, как проводить ещё больше исследований, чтобы проверять больше гипотез и находить больше инсайтов.
При разработке сервисов без такого обойтись нельзя: http://bit.ly/35ZQ2Io
А на Хабре рассказываем в деталях, как проводить ещё больше исследований, чтобы проверять больше гипотез и находить больше инсайтов.
При разработке сервисов без такого обойтись нельзя: http://bit.ly/35ZQ2Io