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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
👁 Observer Паттерн

lvl: mid

Поприветствуем один из популярных паттернов. А также один из моих любимых.

Удивительно, как многие не знают реализацию самого популярного паттерна для изменения данных.

Для большинства легче затащить RxSwift или Combine, которые в 90% юзаются только для прослушки данных пары классов. 🚨 Не стоит тащить эти либы, если только биндите и слушаете события. Они нужны для реактивных архитектур и то не всегда.

Здесь на помощь приходит он.

Пример опять максимально упрощенный и скорее академический, который не советует требованиям в реальном проде. Это вы должны всегда учитывать, когда смотрите что-то в интернете.

Чего вы еще ждете от бесплатных постов? Тут банально формат не позволяет делать качественный контент для ВАШЕГО прода и не подходит под контексты. Проектирование - очень индивидуальная вещь, которая зависит от бизнес приоритетов, легаси и ресурсов.

Хотите норм разборы — заказывайте консультацию или оформите в будущем подписку на симуляторе💳 и то не факт, что я смогу помочь. Тут лучше обговаривать на берегах
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍6💯3🏆21🔥1
Так, походу разработка уже вымирает и ИИ скоро нас заменит. Делаю доклады "как работать на 3х работах используя ИИ". Зафиксирую авторские права на этот контент и подам в суд на всех копипастеров

https://www.youtube.com/watch?v=RmaCJyvSyUE
😁5
🤍 Когда пришел в авито очень кайфовал от скорости сборок и организации процессов настройки окружения. На каждый чих и пук нежного разработчика есть куча хуков и команд с парой букв. Если кто не знал, у нас есть свой внутренний сборщик модулей, который в разы переплевывает Tuist.

После огромных проектов, с групповыми танцами с бубнами и сборками по 40 минут ты мягко говоря удивишься, когда более 60 разрабов работают с проектом и он собирается за пару минут на м1. Разрабам на интел чуть не везет, но все же.

Команда Speed — это эталон организации технических команд, когда целый отдел из сильных разрабов (даже есть из фейсбука), следят за твоими секундами по настройке окружения, билдингу и всему, что занимает хоть лишнюю секунду твоей жизни. Всем бы в дом такую команду

https://youtu.be/YnojvzNPVeg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍86🔥3
🔃 Delegate

lvl: jun

Удивительный паттерн. Мы все его юзаем постоянно, но скажи нам объяснить что это — зависнем и испытаем когнитивную перегрузку. Пойдем к доке:

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

В отличной статье Джона Сандела также описывается цель делегата:

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

Говоря другими словами, мы зависим от абстракции, а не от деталей. А делегат — это исполнитель, который выполняет часть задач от своего руководителя. Протокол же — это список обязанностей, которые передадут исполнителю. И пока он не выполнит реализацию требований — работа не будет начата.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
143
🕖 Dynamic Dispatch Performance

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

Все очень просто. Берем measure для трекинга и класс. Для него будем играться с модификаторами и смотреть на результат.

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

Внутри теста на перфоманс — инициалиция класса и цикл на 10 млн операция с вызовом публичного метода.

Посмотрим на результат в картинках
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁2
📔 "Head first. Паттерны проектирования" 

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

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

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

Дико впечатлен книгой даже не как учебным материалом, а формой подачи и учетом особенностей нашего мозга. Однозначно украду приемы для симулятора и канала.

Не советую. Пусть эта книга будет только моей.

#books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
ChatGPT — новое открытие. Если вы не знали, то половина постов в канале сгенерил он. Еще и код за меня на работе пишет и по зуму болтает.

Без шуток. Я начал детальней следить за этой штукой. Не скажу, что нейросети заменят настоящих спецов. Многие на swiftUI перейти не могут 3 года, а кто-то от obj-c. О чем вы говорите? Но мамкиных экспертов, коих развелась целая куча — заменить должен. Да и на работе помочь сгенерить доку, переписать один говнокод на другой говногод или кнопку сверстать.

Тут можно познакомиться с нашим будущим
😁7🎉1
🔝 Собрал подборку трендов на 2023 год для разрабов

- Безопасность данных
- ИИ и АР
- Чат-боты
- Наручи
- Голосовые помощники
- Swift 6

1 | 2 | 3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Минутка философии. Текст опять сгенерирован нейросетью.

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

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

Когнитивные искажения работают на новичков эффективнее. Ведь вместо книг они впервую очередь пойдут гуглить. А гугл выдаст ютуб. Эффект телевизора. Ореола. Матфея.

Сейчас читаю книгу «программист-прагматик». Куча идей, актуальных и сейчас. Интересней оформленных. Звучат живей нынеживущих. Лень или чувство прямого эфира на первом ряду заставляет игнорировать старые бесплатные советы

Нет. Это не необходимо, чтобы найти работу. ИТ сейчас с каждым годом доступней. Но одновременно сложнее.

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

Многие идеи нужно учитывать по жизнеспособности. Удивительно, как много живых идей в печатном варианте, чем тех, что остались в цифровом
👍12💯2
Message Dispatch Performance

Рубрика "Разрушители мифов".

По горячим следам прошлого поста с бенчмарками Virtual Table. Давайте затестим миф о быстроте диспетчеризации на сообщениях.

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

Так ли это проверим через тот же measure и дополнительной либы hyperfine
👍93
Ну что, дорогие пАдписЩики

Поздравляю всех, кто выжил в этом году. Впереди еще испытание. Чтоб в наступающем году билд стоял и быстрые апрувы в стор были.

Итоги года подводить не буду. Говорить об его безумии тоже. Легче точно не будет.

С наступающим 🤡🤡🙂🕺❤️❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2310🎅6🎄5