iOS Makes Me Hate
3.93K subscribers
1.15K photos
168 videos
15 files
1.33K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
📺Swift Councurrency на практике: Параллельные запросы данных

GCD умер. Да здравствует SC.

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

Одна из популярных задач — это сделать несколько параллельных запросов и получить ответ в итоговый результат. Классика. Это как вопрос "Как забивать гвозди молотком?" 🤤

Где это встречается:
🌟При формировании экрана профиля, где его сущность состоит из многих моделей фио, подписок, избранного и тп.
🌟авторизация и регистрация. Где могут быть несколько сервисов куда нужно сходить.
🌟мессенджер и сокеты. Это когда есть сложная лента чата и нужно быстро реагировать на входящие/исходящие сигналы.

В этом посте на простейшей задачи мы разберем что такое async let? Когда важно его использовать? И как сделать свой код чуточку быстрее?

В следующем посте мы разберем глубже как работает async let. В более понятном и расширенном виде все задачи будут выходить в закрытом контенте.

Полезные ссылки:
- How to use Async Let to perform concurrent methods in Swift
- Async let explained: call async functions in parallel
- How to use async let in Swift?

1/3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1143
Кто такой Mobile Platform Engineer?

Продолжаем знакомиться с ролями мобильных разработчиков, мы уже познакомились с бардами, магами и кнопкокрасами mobdev, solution architect и верстальщиками. Теперь чуть подробнее про команду платформы.

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

В этой статье, наш дорогой друг и автор книги "Mobile System Design", рассказывает про ключевые отличия этих друх ролей.
6
Шум в интернете: О, нет! Ты выбрал неправильную UI архитектуру!

Из всего, чем я занимаюсь, больше всего меня увлекает системный дизайн. Поэтому, мой тир лист любимых блогеров на 80% про него.

Я не фанатею от сложных анимаций или Metal. Не фанат шаблонных паттернов вроде VIPER или TCA — часто они выглядят как затычки реальных дыр в навыках проектирования. Не цепляют вечные споры про "правильное" понимание SOLID или CLEAN.

Мне нравится проектировать сложные, но полезные системы, которые реально работают. С опытом приходишь к простому выводу: многие холивары в интернете — шум. Он крадет время, энергию и внимание.

Вместо этого ты начинаешь строить свою систему принципов и приоритетов. Они помогают лучше принимать решения: быстро, уверенно и с минимальными затратами. Твоя работа начинает сводить к оптимизации ресурсов и времени. Твоего и команды.

Один из таких лишних шумов — это спор про "идеальные архитектуры". Мне нравится, как точно выразился Tjeerd in 't Veen:

UI architectures are like fashion. They go in and out of style, and they can bring fresh perspectives, but they aren’t as important as you might think


Кто застал взрыв инфомусора в 2018, когда из каждого утюга придумывали новую архитектуру — тот помнит что в итоге все легко забылось: RIBs, VIPER, YARCH, UDF попытки. Это все попытки найти философский камень, который закроет проблему отсутствия опыта у разработчиков в проектировании. Ограничивая их и закрывая в клетке новых проблем.

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

В итоге, чтобы не попасться в ловушку времени я нашел хорошие принципы:
🟣 Проектируй систему на скучных и проверенных технологиях, чтобы помочь себе и другим. А не устраивай гонку за шаблонами.
🟣Не отвлекайся от главной цели — оптимизированно и вовремя запустить продукт, а не потратить все ресурсы команды ради флуда и споров.
🟣Принципы и приоритеты в команде — важнее строгих рамок архитектур. Ломай границы и правила архитектуры, если это вредит проекту.

А какие у вас принципы борьбы с шумом?
Please open Telegram to view this post
VIEW IN TELEGRAM
10551
Videcoding in prod

Одна из полезных лекций из серий туториалов anthropic.

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

Для меня все проще: ИИ — это тоже инструмент.

Чтобы быть в игре, надо учиться им пользоваться. Качество промт-инженерии — тоже навык. Нужно уметь перестраивать мышление и четко понимать результат, который вы ожидаете.

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

(пост был исправлен чатгпт 😬)
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🍗 Фичалид ака Фичадрайвер ака сеньор в 2025

Мы поговорили про мобайл девопсов, архитекторов, а теперь поговорим про менеджерскую ветку роста мобильного инженера.

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

Современный сеньор в 2025 это такой мини-тех-тимлид, который режет всем задачи, придумывает компромиссные решения. Короче, нужно брать на себя роль фичалидера для роста.

Фича-лид (feature lead) — это разработчик, который берёт на себя ответственность за реализацию конкретной фичи (функциональности/части продукта) от начала до конца, а не просто пишет код по задаче.


Что делает фичалид:
🟣Помогает продакту проработать фичу: какие есть сценарии, цели, риски
🟣Декомпозирует фичу на задачи, договаривается с другими инженерами
🟣Лидирует разработку, следит за сроками, качеством, решает блокеры
🟣Сводит вместе все части: фронт, бэк, дизайн, аналитика
🟣Помогает или организует тестирование: сам проверяет или с QA
🟣Катит фичу в прод, следит за метриками, реагирует на баги или фидбэк

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

В чём отличие от обычного разработчика?
🔘Фичалид отвечает за весь результат целиком
🔘Смотрит на фичу как на ценность для пользователя
🔘Согласовывает, организует, ведёт за собой
🔘Организует и фасилитирует обсуждение

Почему это важно для большинства компаний?
Фича-лиды снижают нагрузку с тимлидов и продактов, повышают скорость и качество фич. Это естественный переход от middle к senior-инженеру.

Скрин взят у моего бывшего рука из авито

Полезные ссылки:
- ожидание от сеньора в авито
- Feature Leading in Agile Teams
- A Great Developer Doesn't Always Make a Great Technical Leader
Please open Telegram to view this post
VIEW IN TELEGRAM
83
Forwarded from КиберТопор
⚡️В ЕС решили убить Android — европейские чиновники уничтожают главного конкурента iOS.

Рассказываем:
— 1 августа в ЕС заставляют производителей закрывать доступ к одной из главных особенностей Android — возможности разблокировки загрузчика;

— Если этого не сделать, телефон просто не сможет продаваться на европейских рынках;

— Получается, что продаваемый в Европе смартфон должен блокировать установку неавторизованного ПО, а также использовать технологии вроде Secure Boot и запускать только прошивки с цифровой подписью производителя;

— Раннее с Андроидом можно было делать практически всё, что угодно, но теперь это в прошлом;

— Это означает, что Android потерял своё главное преимущество в борьбе с Apple — кастомизации нет, свободы нет, ничего нет;

— Первыми отреагировали Samsung, которые незаметно отрубили bootloader unlock в прошивке OneUI 8;

Xiaomi и Google вскоре последуют за корейцами — в Китае-то bootloader уже отключен.


Пользователи «яблока» сегодня в экстазе.

🕹КиберТопор — Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Начинается через 5 минут. Так много про GPT-5 сказано, что ощущение, как со старыми презентациями айфонов.

Прямая трансляция

В комментариях делимся впечатлениями — я там.
уже в курсоре

бежим тестить
12
💎 Swift Concurrency: Разбор практических задач

Теория — теорией. Практика — основа.
В закрытой базе мы сделали обзор практических задач для SC:
🌟классические параллельные запросы
🌟частая задача на собесах в новой интерпритации используя SC
🌟Ограничение количества параллельных запросов
🌟И многое другое

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

Собрал в удобном формате правильно/неправильно. Кстати, чем больше погружаешься в SC, тем больше деталей замечаешь и не все так легко, как кажется.

Получить доступ можно 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Forwarded from TrendWatching
OpenAI раскатил ПОДРОБНЫЙ гайд по промтам для GPT-5 — Cookbook уже готов вам предложить лучшие варианты.

Там можно найти как готовые промты, так и инструкции по улучшению запроса, который приведёт в самому лучшему результату.

Пользуемся и заставляем GPT-5 работать на максимуме возможностей 😏
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Top Reading Lists

Мы то, что мы едим. Поэтому я не хочу выглядить так, будто навернул с утра мешок говна.

Последний год я активно пересматриваю свой рацион питания. Фильтрую мусор не только в еде, но и в остальном потреблении: кино, музыка, книги. Мне хочется очиститься. Вывести токсины. Стать лучше, говорить лучше, писать лучше, думать лучше.

Самое сложное пока с книгами. В нашем быстром зумерскем мире нет месту долгим занятиям. А книги — лучший тренажер для концентрации. Некоторые книги — это не легкая прогулка, а сложный тренажер, который нужно декодировать и изучать. Перечитывать 3-4 раза. Собрал полезную подборку книг, которую я когда-нибудь прочитаю хотяб на половину:

🟣https://blog.pragmaticengineer.com/my-reading-list/
🟣https://www.essentialdeveloper.com/book-suggestions
🟣https://swiftrocks.com/software-engineering-book-recommendations
Please open Telegram to view this post
VIEW IN TELEGRAM
101
📺 Мок интервью: База про СI/CD

Я считаю несправедливо непопулярной темой про CI/CD.

По опросу в канале аудитория посчитала, что это легче, чем "красить кнопки". Я посчитал это булщитом и большим заблуждением в сети. Поэтому я искал эксперта, кто может пояснить за CI/CD.

Как сказал Иван @MeGaPk:
Жизнь делится на "до СI/CD" и "после"


В этом выпуске мы поговорили про:
🟣почему зарплаты MobDevOps'ов самые большие на рынке
🟣Почему многие думают, что СI/CD это только настройка Xcode Cloud или Jenkins
🟣как внедряют АИ кодревьюеров в CI/CD флоу
🟣Самые полезные функции для работяг
🟣Стоимость настройки на стандартном проекте
🟣Fastlane и другие тулкиты
🟣Как доказать бизнесу важность CI/CD

Выпуск на следующих выходных. А я по традиции буду чаще публиковать посты всю неделю для фактуры и глубины контекстов.
Please open Telegram to view this post
VIEW IN TELEGRAM
2471
Mad Brains: Подписка в iOS: сборки, CI, bundle ID, сертификаты

По традиции, перед каждым новым выпуском нашего мок-интервью/подкаста/воркшопа, я наваливаю фактуры и контента по этой теме. И эта неделя будет про CI/CD и около того.

Начнем с классиков. Ребята с Mad Brains в ютуб контенте — лучшие. Мне нравится их трушность и формат посиделок. Где в неформальной обстановке они обсуждают разные технические вещи. Отчасти, в последних наших видосах мы начали также делать. Сначала спикер 50% рассказывает доклад, а потом мы свободно докручиваем тему.

Кстати, ставь лайк если нравится такой формат и ждешь такого свободного контента как у них от нас.
1129
📱Терминалы Сбера скоро начнут принимать оплату iPhone
17
Книга "Mobile DevOps"

Ого, а вы знали что для Mobile DevOps'ов есть даже отдельная книга? Кекус.

Я всегда считал это таким "закрытым клубом", кто почти не структурировал инфу и не особо хочет ей делиться. А оказывается есть даже книги.
112
Эстическое программирование. Что есть творчество?

Мой любимый классик Достоевский писал, что отсутствие творческого подхода в деле — признак бессилия.

В ит у нас есть много задач, о которых нужно задумываться:

🛠 Функциональность — это инженерная сторона. Здесь мы занимаеся соблюдением требований, оптимальностью, прорабатываем устойчивость к ошибкам. Нужно сделать минимальный объем работы.

💎 Но есть и художественная сторона. Это — эстетизм. Мы, как фронтенд разрабы, чаще оцениваем приложения именно этими метриками. Гармонией архитектуры. Выразительностью кода. Вниманием к деталям, которые делают продукт "приятным в руках".

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

Любая архитектура — это дизайн. Но не любой дизайн — это архитектура.


Архитектура всегда предполагает проектирование: мы выбираем модули, связи между ними, границы ответственности. Это процесс, где есть структура, правила, ограничения. А дизайн может быть чисто утилитарным. Например, мы выбрали архитектуру TCA/VIPER для мобильного приложения — это дизайн, но в нем нет особого авторского штриха.

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

Позвольте мне стать Толстым Достоевским и определить что является силой и творчеством. Так что убивает бессилие?
🟣Изящное решение сложной задачи. Минимальное, но мощное.
🟣Неочевидная, но логичная структура. Упрощает жизнь всем.
🟣Выразительность кода. Когда читаешь код и понимаешь без комментариев.
🟣Умение отрезать лишнее. Творчество не в добавлении, а в удалении ненужного.

Но это не призыв делать красоту ради красоты. У всего есть баланс, где любое решение должно быть в меру эстетичным и функциональным.
Please open Telegram to view this post
VIEW IN TELEGRAM
1511
You're all CTO now

Прикольный микро-пост.

Автор был разработчиком, потом CTO. Со временем он почти перестал писать код, оставив только небольшие исправления. Он сравнивает, что текущие программисты становятся такими же менеджерами АИ-агентов.

У практиков формируются новые навыки:
🟣Коммуникации и формулировок. Раньше программисты прятались за языками программирования, а сейчас мы выравниваемся живой речью.
🟣Декомпозиции и удержание контекста.
🟣Выстраивания приоритетов.
🟣Понимания работы и ограничений AI.

Работа становится более стратегической и уходит в сторону от кодинга. Это новый этап для инженеров: ты одновременно управляешь, решаешь сложные задачи и координируешь AI. Это новая среда и навыки, которые также нужно тренировать и качаться в этом.
Please open Telegram to view this post
VIEW IN TELEGRAM
131