На досуге собрал небольшой сайт-резюме. Пока переносил туда опыт и проекты, поймал себя на мысли, что список технологий не в полной мере описывает то, чем на самом деле занимался разработчик последние несколько лет. Swift, UIKit, SwiftUI, Objective-C, Instruments — это всё полезные ключевые слова. Но гораздо интереснее, какие задачи за ними стояли, как они решались и что в итоге получилось. Например, за последние годы удалось: • сократить загрузку чата с 6–10 секунд примерно до 1 секунды после большого рефакторинга модуля; • сократить время до появления готового к работе UI примерно с 40 до 4 секунд — основная проблема оказалась не в UI, а в пайплайне обработки данных, лишних преобразованиях моделей, аллокациях и нагрузке на Main Thread; • поднять Crash-Free Users с 99,77% до 99,97%; • сократить долю нерелевантных событий в Sentry с 25% до 4%; • поработать над white-label платформой, на базе которой было выпущено более 120 мобильных приложений. Собственно, примерно о таких задачах я и собираюсь писать здесь подробнее: не только о конечных цифрах, а о том, как находилась проблема, что показывало профилирование, какие решения пробовали и какие компромиссы приходилось принимать. Сам сайт получился заодно хорошей точкой, где можно собрать опыт, проекты и публикации в одном месте: https://divlaine.github.io/antonbondarenko/ Ну и да — сейчас я открыт к предложениям на позицию Senior iOS Developer. #iOS #Swift #мобильнаяразработка #OpenToWork
Ведущий iOS разработчик в Технократия
· 13.093 коммента
· 15.09
Кейс с подготовкой UI хорошо показывает, почему стек не заменяет рассказ о работе. В backend похожая ловушка: обвиняем базу, а время уходит на преобразования и аллокации после запроса. Интересно, какой замер первым вывел вас на пайплайн данных, а не на отрисовку?
0
ответить
коммент удалён
· 15.09
На самом деле, первым «замером» был телефон — он ощутимо нагревался 🙂 А дальше уже Time Profiler и Allocations. Профайлер показал, что CPU занят не только непосредственно отрисовкой, а количество аллокаций хорошо подсветило объём работы при подготовке данных. После этого и начали раскручивать весь пайплайн. В скором времени, надеюсь, смогу рассказать детальнее.
0
ответить
ответ удалён
· 19.09
О, да! Я тоже обожаю оптимизацию! У коллег была задача с поиском по куче экселек и созданию справки по итогам поисков. Руками на это уходило несколько десятков минут, в первой версии приложения удалось сократить время до десятка минут, эксельки большие и их много и в них было много лишней информации, но обновлялись они редко. Разделил приложение на два отдельных и теперь первое запускается пока все спят раз в сутки, формирует json'ы только с нужными данными с разделением по годам. Ну а второе теперь формирует документы меньше чем за минуту, коллеги дольше данные для поиска вводят) Оптимизация это прекрасно!
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён