FPS не падай, девайс не грейся
«Это невозможно», — сказала Причина,
«Это безрассудно», — ответил Рассудок,
«Это бесполезно», — отрезала Гордость,
«Попробую», — шепнул Лёша, наш iOS-разработчик, и пофиксил просадки FPS.
Как? Да вот так: http://bit.ly/3rH0VZb
#iOS_avitotech #статья_avitotech #habr_avitotech
«Это невозможно», — сказала Причина,
«Это безрассудно», — ответил Рассудок,
«Это бесполезно», — отрезала Гордость,
«Попробую», — шепнул Лёша, наш iOS-разработчик, и пофиксил просадки FPS.
Как? Да вот так: http://bit.ly/3rH0VZb
#iOS_avitotech #статья_avitotech #habr_avitotech
Avito iOS meetup #9
В первый день весны собираем не хоровод вокруг Масленицы, но iOS-митап.
Вместе с Тимофеем Солониным помечтаем об идеальных модулях и поговорим о том, как работает наша новая система модульности — Independency. Вспомним о прошедшей зиме, кастомных URL-схемах и универсальных линках на выступлении Вахида Бетрахмадова. В завершение Тимур Юсипов расскажет, как мы логируем ошибки iOS-приложения в нашу аналитику, что видели там интересного и как исправляли.
Виртуально берёмся за руки и встречаем трёх спикеров из платформенных команд Авито.
1 марта в 18:00 ждём вас на блины, ой, то есть, митап: http://bit.ly/34Db6Xh
#iOS_avitotech #avitoiOSmeetup
В первый день весны собираем не хоровод вокруг Масленицы, но iOS-митап.
Вместе с Тимофеем Солониным помечтаем об идеальных модулях и поговорим о том, как работает наша новая система модульности — Independency. Вспомним о прошедшей зиме, кастомных URL-схемах и универсальных линках на выступлении Вахида Бетрахмадова. В завершение Тимур Юсипов расскажет, как мы логируем ошибки iOS-приложения в нашу аналитику, что видели там интересного и как исправляли.
Виртуально берёмся за руки и встречаем трёх спикеров из платформенных команд Авито.
1 марта в 18:00 ждём вас на блины, ой, то есть, митап: http://bit.ly/34Db6Xh
#iOS_avitotech #avitoiOSmeetup
В iOS-приложении Авито проводится огромное количество UI-тестов. Масштабы действительно впечатляющие, и, чтобы облегчить себе жить, мы написали тест-раннер Emcee, который умеет скейлиться в ширину по физическим машинкам.
Делимся в статье тест-раннером Emcee, результатами его работы, как внедрить и использовать, к чему нужно быть готовым, и что о нём говорят наши коллеги.
https://bit.ly/3tPPWyV
#iOS_avitotech #статья_avitotech #habr_avitotech
Делимся в статье тест-раннером Emcee, результатами его работы, как внедрить и использовать, к чему нужно быть готовым, и что о нём говорят наши коллеги.
https://bit.ly/3tPPWyV
#iOS_avitotech #статья_avitotech #habr_avitotech
Emcee — the test runner for iOS developers
/ ENG
There are thousands of UI tests in the Avito iOS app. We created the Emcee test runner to support the complexity and scale of autotesting. It allows us to horizontally scale the process of iOS autotesting across physical machines using iOS simulators.
5 min read: http://bit.ly/3umFVJO
* Emcee is available on our Github repository: http://bit.ly/37tC1pc
#iOS_avitotech #статья_avitotech #medium_avitotech #github_avitotech
/ ENG
There are thousands of UI tests in the Avito iOS app. We created the Emcee test runner to support the complexity and scale of autotesting. It allows us to horizontally scale the process of iOS autotesting across physical machines using iOS simulators.
5 min read: http://bit.ly/3umFVJO
* Emcee is available on our Github repository: http://bit.ly/37tC1pc
#iOS_avitotech #статья_avitotech #medium_avitotech #github_avitotech
Medium
Emcee — the test runner for iOS developers
An ultimate open source solution for running iOS tests in parallel locally and across many Macs.
This media is not supported in your browser
VIEW IN TELEGRAM
Всем привет! Возвращаемся с новой датой Avito iOS meetup:
31 мая, в 18:00.
Напомним суть:
Спикеры — эксперты из платформенных команд Авито. Занимаются созданием инструментов для iOS-разработчиков компании.
Расскажут о нашей новой системе модульности, deep linking и логировании ошибок iOS-приложения в систему аналитики.
Регистрация и подробности тут.
#iOS_avitotech #avitoiOSmeetup
31 мая, в 18:00.
Напомним суть:
Спикеры — эксперты из платформенных команд Авито. Занимаются созданием инструментов для iOS-разработчиков компании.
Расскажут о нашей новой системе модульности, deep linking и логировании ошибок iOS-приложения в систему аналитики.
Регистрация и подробности тут.
#iOS_avitotech #avitoiOSmeetup
Avito iOS meetup #9
Сегодня в 18:00
В программе:
🍏 Как работает наша новая система модульности — Independency — Тимофей Солонин:
• как работает наша система модулей;
• почему CocoaPods — это зло;
• что такое Independency;
• как всё перелинковать и не сойти с ума.
[18.00–18.35]
🍏 Deep linking в Авито — Вахид Бетрахмадов:
• кастомные URL-схемы и универсальные линки;
• как устроен deep linking в Авито;
• почему у нас около 300 уникальных deep link’ов.
[18.35–18.45]
🍏 Ошибка.log() — Тимур Юсипов:
• логирование ошибок iOS-приложения в систему аналитики;
• какие интересные ошибки видели;
• какие и как ошибки исправили.
[18.45–19.25]
Ссылка на трансляцию.
#iOS_avitotech #avitoiOSmeetup
Сегодня в 18:00
В программе:
🍏 Как работает наша новая система модульности — Independency — Тимофей Солонин:
• как работает наша система модулей;
• почему CocoaPods — это зло;
• что такое Independency;
• как всё перелинковать и не сойти с ума.
[18.00–18.35]
🍏 Deep linking в Авито — Вахид Бетрахмадов:
• кастомные URL-схемы и универсальные линки;
• как устроен deep linking в Авито;
• почему у нас около 300 уникальных deep link’ов.
[18.35–18.45]
🍏 Ошибка.log() — Тимур Юсипов:
• логирование ошибок iOS-приложения в систему аналитики;
• какие интересные ошибки видели;
• какие и как ошибки исправили.
[18.45–19.25]
Ссылка на трансляцию.
#iOS_avitotech #avitoiOSmeetup
YouTube
Avito iOS meetup #9
31 мая в 18.00 проведём Avito iOS meetup #9. Выступят трое спикеров из платформенных команд Авито. Они занимаются созданием инструментов для iOS-разработчиков компании и расскажут про нашу новую систему модульности, deep linking и логирование ошибок.
Программа:…
Программа:…
Перед вами доклад Тимофея Солонина с крайнего Avito iOS meetup.
Тут о работе нашей системы модульности, сложностях с CocoaPods, сути Independency и грамотной линковке.
Помечтать об идеальных модулях с Тимофеем
#avitoiOSmeetup #видео_avitotech #iOS_avitotech
Тут о работе нашей системы модульности, сложностях с CocoaPods, сути Independency и грамотной линковке.
Помечтать об идеальных модулях с Тимофеем
#avitoiOSmeetup #видео_avitotech #iOS_avitotech
YouTube
Как работает наша новая система модульности — Independency | Тимофей Солонин, Авито
Вместе с Тимофеем:
— Узнаем, как разделено на модули приложение Авито.
— Соберём ужасного монстра из CocoaPods.
— Помечтаем об идеальных модулях.
— Узнаем, что такое Independency.
— Попробуем всё перелинковать и сохранить рассудок.
00:00 — Представление…
— Узнаем, как разделено на модули приложение Авито.
— Соберём ужасного монстра из CocoaPods.
— Помечтаем об идеальных модулях.
— Узнаем, что такое Independency.
— Попробуем всё перелинковать и сохранить рассудок.
00:00 — Представление…
Вспомнить всё… про кастомные URL-схемы и универсальные линки. Никаких ремейков, просто напоминаем о прошедшем Avito iOS meetup с выступлением Вахида Бетрахмадова.
Смотреть доклад
#avitoiOSmeetup #видео_avitotech #iOS_avitotech
Смотреть доклад
#avitoiOSmeetup #видео_avitotech #iOS_avitotech
YouTube
Deep linking в Авито | Вахид Бетрахмадов, Авито
Вспомним, что такое кастомные URL-схемы и universal links, а также разберём одну из возможных реализаций обработки deep link’ов в приложении.
00:00 — Представление темы и спикера
00:32 — Что такое deep linking
00:52 — Возможности поддержки deep linking…
00:00 — Представление темы и спикера
00:32 — Что такое deep linking
00:52 — Возможности поддержки deep linking…
Сделать логирование ошибок — полезно.
Зачем? Вот вам три вида задач:
📌 мониторить резкие отклонения показателей от нормы;
📌 проверять влияние продуктовых и технических изменений в A/B-тестах;
📌 разбираться в проблемах у пользователей.
Подробнее рассказывает Тимур Юсипов в докладе Ошибка.log()
Смотрим тут!
#avitoiOSmeetup #видео_avitotech #iOS_avitotech
Зачем? Вот вам три вида задач:
📌 мониторить резкие отклонения показателей от нормы;
📌 проверять влияние продуктовых и технических изменений в A/B-тестах;
📌 разбираться в проблемах у пользователей.
Подробнее рассказывает Тимур Юсипов в докладе Ошибка.log()
Смотрим тут!
#avitoiOSmeetup #видео_avitotech #iOS_avitotech
YouTube
Ошибка.log() | Тимур Юсипов, Авито
Как мы логируем ошибки iOS-приложения в нашу систему аналитики, какие интересные ошибки увидели и как исправили.
00:00 — Представление спикера и темы
01:05 — Виды и точки отказов
02:32 — Логирование: зачем, куда и что
04:32 — Зачем нам своё решение для логирования…
00:00 — Представление спикера и темы
01:05 — Виды и точки отказов
02:32 — Логирование: зачем, куда и что
04:32 — Зачем нам своё решение для логирования…
Наша команда Speed сделала систему модульности в Авито, освободилась от CocoaPods и перелинковала приложение по технологии Independency.
На конференции Mobius iOS-инженер Тимофей Солонин и эксперт Влад Алексеев разобрали доклад про всё это, а мы с вами делимся тут.
Усаживайтесь поудобнее, и полезного просмотра!
#iOS_avitotech #видео_avitotech #avitoteam
На конференции Mobius iOS-инженер Тимофей Солонин и эксперт Влад Алексеев разобрали доклад про всё это, а мы с вами делимся тут.
Усаживайтесь поудобнее, и полезного просмотра!
#iOS_avitotech #видео_avitotech #avitoteam
YouTube
Тимофей Солонин — Independency: сбрасываем оковы CocoaPods
Ближайшая конференция: Mobius 2025 Spring, 9–10 апреля, Москва + онлайн. Подробности и билеты: https://jrg.su/ojGU3B
— —
Independency — это новая система модульности Авито. В докладе Тимофей расскажет:
1. Как приложение Авито поделено на модули.
2. Для…
— —
Independency — это новая система модульности Авито. В докладе Тимофей расскажет:
1. Как приложение Авито поделено на модули.
2. Для…
Логирование ошибок помогает мониторить работу приложения в реальном времени и реагировать на резкие скачки метрик. А ещё фиксировать изменения при АВ-тесте на небольшую аудиторию.
iOS-разработчик Авито Тимур Юсипов рассказывает про логирование с описанием инструментов, которые мы используем для разных задач своего приложения.
Вы узнаете, как мы классифицируем ошибки и как понимаем, какие из них затрагивают пользователей. Поймёте, как логировать ошибки с экранов приложения и какие сложности могут возникнуть. И, вероятно, сможете их избежать.
#iOS_avitotech #статья_avitotech #habr_avitotech
iOS-разработчик Авито Тимур Юсипов рассказывает про логирование с описанием инструментов, которые мы используем для разных задач своего приложения.
Вы узнаете, как мы классифицируем ошибки и как понимаем, какие из них затрагивают пользователей. Поймёте, как логировать ошибки с экранов приложения и какие сложности могут возникнуть. И, вероятно, сможете их избежать.
#iOS_avitotech #статья_avitotech #habr_avitotech
Пять наших статей за 2022 год. Весьма крутые материалы, которые мы решили организовать в пост этим январским вечером. Вот так просто.
🚀 Раннер Emcee. Всем айосерам по тестовой ферме
Влад Алексеев рассказывает, что представляет из себя тест-раннер Emcee (спойлер: умеет скейлиться в ширину по физическим машинкам и как им пользоваться. Обратите на него внимание, если у вас тоже много UI-тестов и вы хотите уйти от ручного тестирования.
Время чтения: ~6 минут
#ios_avitotech
🚀 Как мы закрыли все объявления частных пользователей защитными номерами
Павел Голов из юнита Communication описывает в статье наш опыт по закрытию объявлений частных пользователей защитными номерами. Какие задачи решает виртуальный номер и зачем мы это сделали? Читайте в статье.
Время чтения: ~17 минут
#infosec_avitotech
🚀 На что обращать внимание на алгоритмических секциях собеседований
Всего несколько минут на чтение, чтобы проще и легче проходить собеседования. Опытом поделился Саша Канчурин. В материале — некоторые повторяющиеся ошибки, которых можно избежать при прохождении алгоритмической секции.
Время чтения: ~5 минут
#avitoteam
🚀 Ошибка.log(): как логируются ошибки в мобильном приложении Авито
Совет от автора: логируйте перформанс вашего приложения и ошибки. В статье можете узнать, как это делают в Авито, и какую пользу мы от этого получаем. Поделился Тимур Юсипов.
Время чтения: ~18 минут
#ios_avitotech
🚀 Как подружить разработчиков и тестировщиков с помощью кастомной TMS: опыт Авито
Василий Юдин, инженер и техлид команды разработки инструментов для тестирования, рассказывает о собственном хранилище тестов с выгрузкой из кода. Почему решили использовать своё решение, а не готовое, как выглядит тестовая модель и что умеет делать TMS — в статье.
Время чтения: ~13 минут
#qa_avitotech
#статья_avitotech #habr_avitotech
🚀 Раннер Emcee. Всем айосерам по тестовой ферме
Влад Алексеев рассказывает, что представляет из себя тест-раннер Emcee (спойлер: умеет скейлиться в ширину по физическим машинкам и как им пользоваться. Обратите на него внимание, если у вас тоже много UI-тестов и вы хотите уйти от ручного тестирования.
Время чтения: ~6 минут
#ios_avitotech
🚀 Как мы закрыли все объявления частных пользователей защитными номерами
Павел Голов из юнита Communication описывает в статье наш опыт по закрытию объявлений частных пользователей защитными номерами. Какие задачи решает виртуальный номер и зачем мы это сделали? Читайте в статье.
Время чтения: ~17 минут
#infosec_avitotech
🚀 На что обращать внимание на алгоритмических секциях собеседований
Всего несколько минут на чтение, чтобы проще и легче проходить собеседования. Опытом поделился Саша Канчурин. В материале — некоторые повторяющиеся ошибки, которых можно избежать при прохождении алгоритмической секции.
Время чтения: ~5 минут
#avitoteam
🚀 Ошибка.log(): как логируются ошибки в мобильном приложении Авито
Совет от автора: логируйте перформанс вашего приложения и ошибки. В статье можете узнать, как это делают в Авито, и какую пользу мы от этого получаем. Поделился Тимур Юсипов.
Время чтения: ~18 минут
#ios_avitotech
🚀 Как подружить разработчиков и тестировщиков с помощью кастомной TMS: опыт Авито
Василий Юдин, инженер и техлид команды разработки инструментов для тестирования, рассказывает о собственном хранилище тестов с выгрузкой из кода. Почему решили использовать своё решение, а не готовое, как выглядит тестовая модель и что умеет делать TMS — в статье.
Время чтения: ~13 минут
#qa_avitotech
#статья_avitotech #habr_avitotech
This media is not supported in your browser
VIEW IN TELEGRAM
10 октября | 19:00 | в офисе на Лесной и онлайн
Тимур Долотказин из кластера Монетизации AvitoTech расскажет, как переводил свои приложения на SwiftUI.
Максим Сурков из команды Умного дома МТС поделится опытом интеграции подхода async/await в проекты и в прод.
Александр Сычёв из Тинькофф Страхования объяснит сущность нового решения Apple — mergeable libraries.
Полезной информации,
Поэтому стоит зарегистрироваться уже сейчас, если хотите понетворкать вместе с нами офлайн.
Гостей с подтвержденными приглашениями на Лесную, 7 будут пропускать по паспорту, поэтому вы его не забудьте, пожалуйста
До встречи на митапе!
#iOS_avitotech #avitoiOSmeetup
Please open Telegram to view this post
VIEW IN TELEGRAM
Async / Await. Лучшие практики, советы и особенности
— доклад iOS-разработчика Умного Дома МТС Максима Суркова.
Тезисы:
— structured concurrency в Swift;
— особенности async/await, actors, tasks;
— сравнение с текущими многопоточными инструментами.
Максим представит доклад на Avito iOS meetup #10. Ждём всех 10 октября 19:00 в офисе на Лесной или онлайн.
📍 Забронировать место
📺 Получить напоминание о трансляции
#iOS_avitotech #avitoiOSmeetup
— доклад iOS-разработчика Умного Дома МТС Максима Суркова.
Тезисы:
— structured concurrency в Swift;
— особенности async/await, actors, tasks;
— сравнение с текущими многопоточными инструментами.
Максим представит доклад на Avito iOS meetup #10. Ждём всех 10 октября 19:00 в офисе на Лесной или онлайн.
#iOS_avitotech #avitoiOSmeetup
Please open Telegram to view this post
VIEW IN TELEGRAM
SwiftUI — уже пора?
— доклад iOS-инженера из кластера Монетизации Тимура Долотказина.
Тезисы:
— 4 года SwiftUI: стоит ли переходить?;
— опыт перехода на новый (старый) фреймворк;
— подводные камни и ключевые выводы.
Тимур представит доклад на Avito iOS meetup #10🕊️
Ждём всех 10 октября 19:00 в офисе на Лесной или онлайн.
📍 Забронировать место
📺 Получить напоминание о трансляции
#iOS_avitotech #avitoiOSmeetup
— доклад iOS-инженера из кластера Монетизации Тимура Долотказина.
Тезисы:
— 4 года SwiftUI: стоит ли переходить?;
— опыт перехода на новый (старый) фреймворк;
— подводные камни и ключевые выводы.
Тимур представит доклад на Avito iOS meetup #10
Ждём всех 10 октября 19:00 в офисе на Лесной или онлайн.
#iOS_avitotech #avitoiOSmeetup
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня в 19:00 встречаемся на Avito iOS meetup #10 🕊️
Будет много кейсов. Мы уже упоминали о них тут и тут.
Ещё из интересного — доклад iOS-разработчика Тинькофф Страхования Александра Сычева:
Гармония статики и динамики: погружаемся в mergeable libraries
Тезисы:
— Различия и преимущества статических и динамических фреймворков;
— Внутреннее устройство mergeable libraries;
— Интеграция в iOS-проекты;
— Сравнение производительности статических и динамических фреймворков.
Ждём всех заинтересованных зрителей и слушателей!
📺 Присоединиться к трансляции на YouTube
#iOS_avitotech #avitoiOSmeetup
Будет много кейсов. Мы уже упоминали о них тут и тут.
Ещё из интересного — доклад iOS-разработчика Тинькофф Страхования Александра Сычева:
Гармония статики и динамики: погружаемся в mergeable libraries
Тезисы:
— Различия и преимущества статических и динамических фреймворков;
— Внутреннее устройство mergeable libraries;
— Интеграция в iOS-проекты;
— Сравнение производительности статических и динамических фреймворков.
Ждём всех заинтересованных зрителей и слушателей!
#iOS_avitotech #avitoiOSmeetup
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, через два часа, в 19:00, начнётся Avito iOS meetup #10 🕊️
Всех гостей, кто получил подтверждение на встречу, ждём по адресу Лесная, 7 — в офисе Авито.
Если вы будете с нами онлайн, подключайтесь к прямому эфиру на нашем YouTube-канале.
#iOS_avitotech #avitoiOSmeetup
Всех гостей, кто получил подтверждение на встречу, ждём по адресу Лесная, 7 — в офисе Авито.
Если вы будете с нами онлайн, подключайтесь к прямому эфиру на нашем YouTube-канале.
#iOS_avitotech #avitoiOSmeetup
Please open Telegram to view this post
VIEW IN TELEGRAM
Делимся материалами с Avito iOS meetup #10 🕊️
📺 Async / Await. Лучшие практики, советы и особенности
Максим Сурков (МТС) — рассмотрит structured concurrency в Swift, поговорит о async/await, actors, tasks и проведёт аналогии с уже существующими инструментами для работы с многопоточностью
📺 SwiftUI — уже пора?
Тимур Долотказин (Авито) расскажет про свой опыт перехода на новый (старый) фреймворк, подводные камни и выводы, к которым он пришёл.
📺 Гармония статики и динамики: погружаемся в mergeable libraries
Александр Сычев (Тинькофф Страхование) о новом решении Apple – mergeable libraries, он рассмотрит их внутреннее устройство и разберёт, как можно интегрировать их в свои iOS-проекты.
Ссылка на наш плейлист.
Фотографии с мероприятия лежат в альбоме Вконтакте🔵
#iOS_avitotech #avitoiOSmeetup
Максим Сурков (МТС) — рассмотрит structured concurrency в Swift, поговорит о async/await, actors, tasks и проведёт аналогии с уже существующими инструментами для работы с многопоточностью
Тимур Долотказин (Авито) расскажет про свой опыт перехода на новый (старый) фреймворк, подводные камни и выводы, к которым он пришёл.
Александр Сычев (Тинькофф Страхование) о новом решении Apple – mergeable libraries, он рассмотрит их внутреннее устройство и разберёт, как можно интегрировать их в свои iOS-проекты.
Ссылка на наш плейлист.
Фотографии с мероприятия лежат в альбоме Вконтакте
#iOS_avitotech #avitoiOSmeetup
Please open Telegram to view this post
VIEW IN TELEGRAM