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
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
91
📺 Мок интервью: База про С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% рассказывает доклад, а потом мы свободно докручиваем тему.

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Как бы вы его сделали на проекте? МОЖНО ВЫБРАТЬ ТОЛЬКО 1 ВАРИАНТ
Anonymous Poll
43%
Заюзаю Combine
4%
Заюзаю RxSwift
11%
Заюзаю Observabled
20%
Заюзаю NotificationCenter
18%
Напишу свой обсервер без этой вашей реактивщины
4%
Другое
📺Подборка реализаций Observer’ов

Одна из самых частых на практике задач — это обновление экрана при изменении какой-то сущности.

Например, вы авторизовались и нужно изменить статус, отправить всем потребителям об изменении свойств:
🔘Добавили товар в корзину и нужно пересчитать стоимость в 3-4 местах.
🔘Удалили услугу из избранного.
🔘измененили статус юзера или его тип.

Если ты этого не делал, то значит не прошел боевой опыт новичка. Почти все плееры или чаты основаны на этом паттерне.

Чтобы это все понять лучше нужно погрузиться глубже. Мы уже разбирали создание своего Notification Centre'а. Сейчас я поднапрягся и решил узнать как можно сделать это в 2к25. По современному.

В посте мы познакомимся самым популярным и обыденным вариантом: Combine в SwiftUI.
Это тоже обсервер, который работает скрыто в ядре движка. А в базе знаний расширенная статья.

Ну и допом я решил собрать все самые популярные и не очень решения этой задачи в одном месте с важными вопросами. Это будет новый формат с теорией, практикой и квизом:
🌟Теория и определения. С диаграмой
🌟в чем отличие Delegate vs Observer vs Мультиделегат (а также пара секретных паттернов Mediator и тп)
🌟Разберем 10 самых интересных реализаций
🌟Для чего нужны отписки и где их писать
🌟и другое


🌴А также собрал все самые полезные материалы чтобы быть экспертом. Получить доступ по последней летней скидке можно 💰тут или ⭐️ тут

Лето заканчивается, а значит настал новый сезон контентов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
191
В комьюнити мы решили делать регулярные созвоны, где в неформальной форме будем обсуждать разные вопросы под пивас.

Если всем зайдет, то будет публичный доступ.

Удивлен, что тема AI так популярна
171
Так, ну че. Ща будет анпакинг.

Целый год засматривался на фитнес браслет whoop. Мне дико нравится тема с более детальным изучением сна и циклами восстановления. Поэтому буду тестить.

Почему не watch от Apple? Ну лично я считаю часы и наушники max оверпрайсами. Ватчи хуже откалиброваны и в целом это больше мультиорганайзер, чем фитнес браслет.

У кого есть такой делитесь впечатлениями.

Это не реклама если че
9411
⌨️ Практический Swift Councurrency: Batching

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

Например, уже полтора месяца активно разбираем Swift Councurrency, проводим опросы и анализ что интересно аудитории, как вокруг внезапно за последние недели начинают выпускать новые статьи или роадмапы. Даже льстит, что мы так влияем на индустрию 🫣

Хватит шуток, приступим к работе. Этот месяц мы активно решили разбирать практические задачи. Одна из частых в продакшене, но непопулярных у популистов задач — это батчинг.

🌿 Batching — это важный инструмент оптимизации. Мы копим события или элементы и отправляем их пачкой по одному из правил. Где это встречается:
- при проектировании аналитических модулей
- чаты
- сложные логеры

Зачем это нужно?
- меньше сетевых запросов
- улучшение перфоманса
- экономия батарейки

Это очень крутая задача для лайфкодинга или систем дизайна. Можно много где развернуться и оценить как свои знания, так и кандидата.

На скрине сделал очень простую версию для знакомства с концепцией. Более production ready будет в закрытой базе вместе с другими практическими задачами. С более детальным описанием многих корнер-кейсов.

Интересные ссылки:
- Algorithm | Concurrent Batch Processing | Swift
- Простая реализация батчей
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7
📺Всё про MobDevOps

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

Мы с @MeGaPk решили разобрать подробнее все мифы и заблуждения этой темы.

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

🧬 Получить доступ 💰тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
41