iOS Makes Me Hate
4.24K subscribers
1.61K photos
249 videos
24 files
1.62K links
Авторский канал про разработку. Путь продуктовых самураев в MAANG.

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK

лектор ВШЭ и тп

Самое большое сообщество практиков: https://boosty.to/lionbond

Сайт iosmakesmehate.tech
Download Telegram
🍏 В прошлом году молодёжь в России чаще выбирала iPhone: iOS обошла Android с небольшим отрывом, а самым популярным смартфоном стал iPhone 13, сменив iPhone 11
19
Модуляризация: как мы разбили 250+ модулей в экосистеме приложений adidas

Модуляризация — это не только важная штука для ускорения сборок.

Особенно она важна, когда ваши фичи приложения А используются в приложении Б.

Мне кажется Яндекс — это самая большая экосистема в СНГ. Открывая какой-нибудь супперапп вы увидите фичи десятка команд.

Алиса, Еда, такси, доставка, музыка, карты. Разные юр лица, разные экономики, разные страны и требования. Очень очень сложно. Тут не до правильности кнопок.

Такие проекты могут длиться годы. И это не просто техническая гигиена, а здесь реальный импакт на бизнес.

Вот и автор доклада рассказывает какие бизнес и техно проблемы они решали для развития экосистемы аппок Адидас
841
Mobile System Design: Авторизация и управление сессиями. Как сэкономить миллионы денег Кабанычу

Замечали, что в одних апка мы логинимся раз в год, а в других каждый второй запуск? Где-то есть пинкоды, где-то звонки, где-то пуш уведомления?

Авторизация — это бесконечная яма, которую очень долго можно обсуждать для больших проектов и на собесе систем дизайна.

С авторизацией я близко работал в СберЗдоровье, была фича с прогревом токена. А первая же моя команда в Авито — это мультипрофиль, потому что у одного человека могло быть несколько аккаунтов.

Теперь представьте, у вас миллион юзеров, каждый из которых переавторизовывается несколько раз в день.. Даже если одна SMS стоит 1 рубль, 1 лям таких операций === 1 лям рублей. Каждый месяц. Просто за вход.

В таких задачах важно было:
- упростить флоу переавторизации
- не убить безопасность
- не сломать существующих пользователей
- сократить расходы на SMS и внешние провайдеры

Давайте разберем какие могут быть авторизации и для чего они нужны. Сейчас мало кто юзает какой-то отдельный вид. Это смесь всех видов одновременно, но мы попробуем упростить и категоризировать по отдельности.

1️⃣ Только логин + пароль

Самый простой, но самый небезопасный метод. Здесь есть риск взлома и утечек пароля.

2️⃣ OTP/SMS/Email коды

Такие одноразовые пароли дают рукопожатие. Чаще всего тебе не нужно помнить пароль. У тебя меньше затрат на саппорт. Из минусов это дороговизна (особенно если это смс)

3️⃣ Token-based авторизация

Обычно после авторизации устройство получает короткоживущий Access Token и Refresh Token для перевыпуска. Из плюсов есть простая масштабируемость и контроль времени жизни. Из минусов — можно скомпрометировать токены. Нужно задумывать как хранить, отзывать, читать.

На помощь приходит механизмы "прогрева токенов". Токены обновляется до истечения, пока пользователь активен. Например, каждый раз когда вы вводите пин-код в апке банка, делаете действия или находитесь в звонке. Сложность таких систем уже в управлении сессиями, а не только авторизацией.

4️⃣ Passwordless

Самый трендовый тип авторизации это криптография + биометрия или идшники устройства. Юзер ничего не запоминает и не вводит. Апка понимает: "это точно он, потому что это его устройство".

При первой авторизации наш телефон генерит 2 ключа: private и public. Private key остается на устройстве. Public отправляется на сервер. Когда пользователь хочет войти, сервер генерирует случайную строку и отправляет ее на устройство. Телефон берет строку, берет private key и создает подпись. Private key участвует в операции, но никуда никогда не передается. Сервер проверяет подпись, строку и публичный ключ. Конечно же данные хэшируются.

Сейчас такой способ считается самым надежным и самым экономным для переавторизации.
144
Тренд «я из 2016»

Тогда я был фуллстэк разрабом. Позвали сфоткаться в этажах для сайта. Не помню зачем.

Мак считалось круто. Он кажется тупо выставочный был. Впервые за нем посидел. Еще не знал что свяжу свою жизнь с иос разработкой
23712
Если вы не знали, то знайте

TMS-90725: SDK version issue - This app was built with the iOS 18.5 SDK. Starting April 2026, all iOS and iPadOS apps must be built with the iOS 26 SDK or later, included in Xcode 26 or later, in order to be uploaded


Все чаще слышу, что на Xcode 26 куча проблем. Краши, едет верстка и в лучших традициях Appple. Обновляйтесь уже сейчас.
151
критерии 2к26
49
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Меня бесят строки поиска.

Решил сделать прописку через госуслуги. И это ад как если бы стоять в километровой очереди.

В нормальных строках поиска есть много погрешностей. Например, если ты делаешь опечатку (а я их могу делать много), то поиск "умный". Он как бы говорит "я понимаю ты тупой, но может ты искал вот это?"

В госуслугах есть долгие флоу заполнения документов. И здесь мало того что важен перфоманс в таких глубоких воронках. Но и доп гуд паттерны.

Вот я хочу писать "Тбмень" вместо "Тюмень". А еще иногда пишу "Юля" вместо... И хочу чтоб меня поняли.

В литкоде даже есть задача поиск сабстроки. А вы говорите алгоритмы не появляются на практике.
17
Соревнования по вайбкодингу

Каждую неделю в Яндексе проходят доклады самого разного масштаба, где внутренние сотрудники делятся своими находками и результатами. Здесь нет ограничений и любой автор может говорить все, что хочет. Мощное внутреннее технокомьюнити. И знаете, многое правда полезно.

Вчера пришел на внутреннюю техвстречу по достижениям в AI. На эту тему очень много контента в яндексе: от десятков курсов как пользоваться самыми популярными моделями до чатов на тысячу человек, где делятся самым полезным. Друзья, кто приходит из других компаний, сразу подмечают насколько же сильно развита аи культура и кросс-шаринг знаниями.

Но тут мне было интересно послушать про соревнования ERC3 (Enterprise RAG Challenge 3) в котором сотрудник яндекса взял первое место.

@aostrikov_ai_agents рассказывал как проходили соревнования. Там было около 100 задач и тебе нужно было настроить агентов, которые:
- решали задачи быстрее всего
- укладывались в заданные метрики и скоринги
- потребляли минимум токенов

В итоге настройка и оркестрация агентов превратились почти в спортивную дисциплину. Оптимизация, стратегия, микро-решения. Все как в хорошем соревновательном виде спорта.

Вот и я подумал может сделать челендж, собрать задачи на иос и потренироваться вместе с вами кто напишет лучшую инфру под собранные нами метрики.
135
This media is not supported in your browser
VIEW IN TELEGRAM
🥩 Рубрика Well Done: Медиа Лента

Я обещал делиться своими фичами, которые докатились до прода. На днях мы раскатили на 100% фичу — медиа ленту. Это фича которая поможет вам выбрать место куда сходить покушать.

Фича непростая. Мало того что она может быть на и так непростом экране с картой, множеством горизонтальных каруселей, так еще и сама довольно комплексная.

Медиа контент. Фильтрация и пагинация. Шапки и рубрикаторы. И все это в сложном около-BDUI экране. Грубо говоря это инстаграм (запрещенный в рф) в ленте маркетплейса. Такой вызов требовал много оптимизаций.

Самое сложное — это перфоманс, тк на симуляторах и тестовых устройствах проблем не было. Основные вызовы были на реальных устройствах с реальным интернетом. Здесь я почувствовал себя разрабом игр, которые после релиза бегут оптимизировать всё что попадет под руку.

Одно дело когда у тебя пара видосов на экране, другое когда их сотни на девайсах разных мощностей и софте. Батарея, температура, память, скорость. Все растет с каждой новой пачкой видео из реального прода.

Что я сделал:

🟣Архитектура. изначальное решение по вложенности итемов было O(n*m), но вложенные списки — это так себе. Поэтому нужно было переделывать логику на O(n). Что заметно импактнуло скорость

🟣Память. В первой версии память жрало где-то под 4 gb ОЗУ при 200 видео. Пришлось делать много оптимизаций в итоге сократив ОЗУ до 500 Mb. Всякие кэши, пулл, очистки и многое другое.

🟣Нетворк. Это отдельная проблема. Кодеки, форматы, системный плеер, приоритизация, префетчинг. Квота нетворка и голодание ресурсов.

🟣 Системный плеер. Пришлось брать почти часовую консультацию у команды Яндекс Плеера, которые подсветили много тонкостей работы системного плеера. На основе нее можно делать отдельный доклад. Объяснили зачем они пишут свою коллекцию и свой плеер для нее.

🟣Frame Based Layout. В большом комбайне из BDUI элементов — важны любые скорости. Поэтому в сложных расчетах лайаута пришлось отказаться от Auto Layout'а и SUI из-за их оверхедов.

🟣Системы мониторинга. Также мы улучшили текущие метрики. Я добавил WatchDog для проверки нагрузки главного потока и еще кучу всего для реалтайм мониторинга.

Вообще, об этом можно написать большую статью или доклад. Но пока не все оптимизации сделаны и фича будет развиваться. Так что ждите новых серий.
Please open Telegram to view this post
VIEW IN TELEGRAM
3272
Когда меритократия становится театром: почему оценки перфоманс ревью в Big Tech несправедливы

О перфоманс ревью пишут много. Мне нравится, как о нем написал мой бывший лид Никита (который ща уже CL службы авторизации). А еще есть крутой выпуск у подкаста Андрея Бреслава (ex-JetBrains) и Александра Ложечкина.

Мне понравилась статья тем, как сравнивается конфликт философий с их процессом.

Автор делит на несколько категорий:

1️⃣ Справедливость vs реальность
Несмотря на разные системы оценки в бигтехах, результаты всегда примерно одинаковые, но процессы не являются честными, меритократичными или гуманными. Формально они могли бы выглядеть объективными и справедливыми, но на практике многое решается не системой, а личными взаимоотношениями, силой влияния менеджеров и структурой иерархии. А чаще и бюджетами, которые выделили на команду.

2️⃣ Иллюзия объективности
Roblox пытался создать более меритократичную систему на основе данных и алгоритма, но это лишь замаскировало субъективность, потому что те же руководители, имеющие влияние, могли толковать выводы алгоритма в свою пользу.

3️⃣ Иерархия важнее процесса
Автор делает радикальный вывод: не механизм оценки определяет карьерный успех, а иерархия, связи и культурные ожидания внутри компании. Даже самые сложные системы не могут заменить элементарного человеческого отношения и честного диалога о реальных достижениях человека.

Ставь 🖤 если считаешь перфоманс ревью справедливой оценкой или 💀 если нет
139
Prefetching Видео и правильная приоритизация.

Чем тяжелее данные, с которыми ты работаешь, тем важнее правильная работа с сетью.

На скриншоте: есть экран страниц контента. Каждый из вас скажет что правильнее заранее предзагружать следующие страницы для UX. Но бывает так, что на симуляторах, стейдж данных и тестовых устройствах все может работать отлично, но как обычно на реальном интернете и проде может возникнуть что-то не так.

5 параллельных запросов в сеть != 5× быстрее. Мы уже говорили про квоту или "пропускную трубу" нетворка. В случае с текстом или JSON это чувствуется слабо, но с видео правила игры меняются и экономика ресурсов становится куда жестче.

Если упростить: допустим у вас подключение 3 Мбит/сек (и да, этим каналом пользуется всё устройство, а не только ваше приложение). Преступно упростим, но представим что один запрос на видео и все 3 Мбит/с идут в него. Пять видео одновременно и каждый поток в среднем получит около 0.6 Мбит/с. Все запросы конкурируют за одну и ту же пропускную трубу и ресурсы.

В итоге вместо быстрого старта пользователь получает медленную и нестабильную загрузку.

Поэтому при плохой (а сегодня даже с хорошей) сети лучше не наглеть. Нужно фокусировать ресурс на одном видео и загружать остальное последовательно или с лоу приоритетами.

Важные советы:
- следите за лишними запросами вашей апки. Они могут сжигать ресурс сети.
- много потоков не всегда хорошо. Следите за качеством сети и подстраивайтесь под нее.
- правильно работайте с приоритетами.
- если ты префетчишь данные, то делай умно.
1352
короче, я вас понял. Судя по реакциям авторские технические посты с интересными задачами вам не интересны.

Поэтому я буду заниматься деградацией и стану корпорат герл. Вот вам фотка с офиса
46316131
Рецензия на книгу "ИИ-2041. Десять образов нашего будущего"

Отставить деградацию. В этом году мне хочется мощно увеличить интеллектуальную ценность себя и канала. Поэтому я поставил цель в среднем 1 полезную аудиокнигу в неделю. Начал с хайповой темы ближайших лет.

Я понял, что думаю об ИИ слишком примитивно. Одни думают это хайп. А другие что в ближайшие 2-3 года наша жизнь поменяется. Я где-то по-середине. Но автор показывает и множество других сторон.

Изменения будут не резкими, а ползучими и инертными. Кай-Фу Ли (не шутите) открыл окно в следующие 20 лет. Через личные историии тех людей, которые будут жить в той эпохе и тесно с теми технологиями. Без фантастики, но с удивлением. Будто прочитал книгу в стиле «Black Mirror».

Короче, книга мне понравилась. Как если бы читать книгу в 2006 про 2026.

Автор объяснил влияние ковида на развитие ИИ и роботов. Как эти страхи эпидемий, локдаунов и бусты в сфере ИТ еще будут влиять инерцией будущие 20 лет. Копнул и в глубинную психологию людей, которая позволит каждому новому поколению все больше одушевлять ИИ. Как дети свои игрушки.

Из самых простых для меня идей мне понравилось каким бы был ChatGPT 26. Почувствовал будто автор специально написал это для таких как я 🤤

Такие книги полезны для обогощения качественными мыслями. Расширением фантазий для идей ваших стартапов. Да и даже для интеграций в новых масштабных фичей в найм.
Please open Telegram to view this post
VIEW IN TELEGRAM
104
Media is too big
VIEW IN TELEGRAM
ШОК КОНТЕНТ!

Записали подкаст с платформенным iOS'ером из UBER. И он рассказал про наш канал…

2 часа на одном дыхании. Супер душевно обсудили абсолютно все. От жизни, такси, доставки. Стоимость жизни и услуг. Хрючево по бейджикам в офисах. BDUI. И конечно собесы, алгосы, релокация, офферы и даже местные госуслуги.

Обсудили даже как ИИ помогает/меняет на работе. Какие политики сейчас в FAANG'ах. В Убере кстати есть аи соревнования.

По понятным причинам выпуск будет максимально анонимным c фоном в subway surf
12156
Без рефералки ты никто?

Еще с весны 2025 слышу, что рынок сломан. Найти работу откликаясь даже тысячи раз "из улицы" стало почти невозможно. Даже если ты сеньор х10 программист. Единственный рабочий вариант - это рекомендации и рефералки.

Резюме больше не внушают доверия. Посты в LinkedIn почти не дают выхлопа. А недавно гость из Uber вообще сказал, что в Европе сейчас по-настоящему работают только рекомендации. Будет ли у нас такое? Оно уже сейчас настало.

В СНГ ситуация становится похожей... Уровень доверия снизился, стоимость найма выросла. В итоге самый простой и безопасный способ для компании нанять человека - это взять того, за кого может поручиться уже работающий внутри специалист. Поэтому компании развивают внутри закрытые системы обучения, найма и других hr механизмов.

Одни считают, что это плохо. Социальные лифты сломаны. Для людей "не из индустрии" и новичков двери фактически закрываются. Ты либо набираешь рекомедательную базу уже из универа с практик. Либо идешь очень долгим тернистым путем.

Другие видят в этом плюс. На первый план выходит нетворк, усиливается внутренняя конкуренция, и рынок постепенно отфильтровывает случайных туристов. Остаются только "свои", где будет снова ламповая уютная итшечка.

Правда в том, что это просто новый фильтр. Раньше барьер были опыт и скиллы. Сейчас это "кто за тебя может поручиться". Если у тебя нет сети контактов, то никакая идеальная строчка в резюме уже не спасет.

Кстати поэтому мы будем больше в этом году нетворкаться оффлайн и онлайн 😬

Как считаешь ты?

Ставь 🖤 если рынок по рефералкам это хорошо. Или 💀 если плохо.
Please open Telegram to view this post
VIEW IN TELEGRAM
861912
делать обзоры офисов яндекса?
Anonymous Poll
28%
да
28%
нет
43%
только в стиле корпорат герл
2
Кто такой гейткипер?

В комьюинити часто бывает популярен термин "гейткипинга". Но мне кажется сейчас никто толком не дал этому термину определение. Просишь дать определение, а толком и не дают. Решил собрать книги и ресурсы, где поднимают эти определения в разных формах. Ведь сейчас в ру комьюнити это "слышу звон, а udp это легаси"

1️⃣ Мифический человеко-месяц, или Как создаются программные системы

В этой книге говорится о росте больших систем. Как в этой системе кто и почему получает право "решать". Автор в будущем стал основной для Scrum'а и Agile.

2️⃣ Peopleware: Productive Projects and Teams

Почему формируются касты "настоящих инженеров"? Откуда берется снобизм в профессии? Почему токсичная экспертиза убивает команды? Автор пытается это разобрать и изучить.

3️⃣ Высоконагруженные приложения. Программирование, масштабирование, поддержка

В книге нет прямого разбора гейткипинга, но есть разбор "почему сеньоры злые?". Чаще это связано не с злостью, а страхом дилетантизма. Здесь скорее раскрывается вторая сторона гейткиперства.

4️⃣ эссе "Hackers and Painters"

Самая вкусная статья которой уже 10 лет про "Хакеров и Художников". Как формируется элита в IT. Почему "мы не такие как вы" - это встроенный баг профессии. И откуда корни у этого всего.
722
Сегодня выступал с лекцией в Высшей Школе Экономики. Обучал юные и талантливые умы гейткипингу iOS разработке.

Вообще сильно заинтересован обмениваться с юными талантами. Мне очень понравилось. Прокачиваю себя как педагог и спикер.

Если нужно преподавать в вашем универе - пишите 🙃
16221112