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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
🌄 Экзистенциальные типы: Все о прозрачных типах

Недавно я понял, что иногда забываю какие-то детали. Хотя я много раз читал статьи, доки или писал это в коде. Например, я забываю некоторые детали прозрачных типов или дженериков.

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

В этой статье я постарался основательно подойти к вопросу и разобрать важные вопросы:
🟣Какие проблемы есть у протоколов и дженериков
🟣Что такое экзистенциальные типы
🟣В чем разница универсальных и Непрозрачных типов
🟣Какие проблемы решали some от any?
🟣Что такое экзистенциальный контейнер
🟣Когда Value Type может хранится в куче?

Если у вас по этой теме были проблемы, то очень советую эту статью.

🌿 Доступ к ней вы можете получить через летнюю скидку на бусти или чатбота
Please open Telegram to view this post
VIEW IN TELEGRAM
85
Качественные мок-собесы лучше слитых реальных

У недобросовестных представителей ит сейчас новый способ вовлечения — слитые собесы. Почему я считаю что это неэффективный способ обучения?

За последние 2 недели я усердно готовлюсь к марафону по мок-собесам. За мой большой опыт я провел уже 200 собесов (это очень много). Знаю как проводить алгоритмы, платформу, скрининги и даже проектирование с поведенческим. Участвовал в бурных обсуждениях внутри стартапов и бигтехов, менял и предлагал задачи, которые оценивают кандидатов. И понимаю какой огромный труд стоит за всем этим процессом. Я никогда так не готовился ни к одному собесу.

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

И вот представьте такую ситуацию. У вас есть два контента от двух разных интервьюеров:
- интервьюер Коля тратит огромное время на донесение инфы. Подбирает слова. Создает справедливые принципы оценки. Фильтрует адекватные задачи и вопросы. Он понимает всю ответственность своей публичной работы и тратит время на подготовку

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

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

Ну и если вы учитесь, то учитесь у тех, кто уважает свою работу и труд
622
📺 Подборка статей про менеджеры зависимостей

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

Подборка статей, которые помогут в этом разобраться:
🟣Менеджеры зависимостей
🟣Стать от Red Mad Robots "Swift Package Manager"
🟣Тернистый путь внедрения Swift Package Manager. Доклад Яндекса
🟣Cocoapods, Carthage, SPM: как выбрать менеджер зависимостей в iOS
🟣Swift Package Manager vs CocoaPods vs Carthage for All Platforms
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Задача недели

Можно решать разными способами:
🟣самый лаконичный
🟣самый быстрый
🟣самый читабельный
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Ссылка структур на саму себя

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

В статье рассказывается как обойти эту историю:
🟣Определить переменную с нужным типом в массиве
🟣Создать обертку над нужным типом
🟣Заменить структуру на класс 🪗
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🌄 Паттерны проектирования: Decorator vs Proxy

Паттерны проектирования — любимый блок многих собеседований и частый гость реальных споров на работе. Какой паттерн где лучше использовать и чем они отличаются друг от друга?

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

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


На слайдах можно увидеть разницу.

Детальную статью можно почитать в ноушене. Там я написал в чем же отличия этих паттернов от декоратора.

🌿 Доступ к ней вы можете получить через летнюю скидку на бусти или чатбота
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Мобильные разработчики, общий сбор!

29 августа в Санкт-Петербурге пройдёт VK JT Mobile, первая конференция VK для мобильных разработчиков на iOS и Android. Вспомним прошлое, обсудим будущее и, опираясь на наш опыт, расскажем, как моментально внедрять технологии, структурировать миллионы строк кода и постоянно улучшать продуктовые метрики.

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

Регистрируйтесь, если хотите реализовывать сложные в разработке, но простые для юзеров приложения, а также разбираться в инструментах и практиках, которые применяют наши специалисты 🙋
41
Understanding Sendable protocol in Swift 6

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

В этой статье можно легко познакомиться для чего нужен такой тип, какую проблему он решает и какие проблемы он создает 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
🌿 Результаты опросов среди руководителей "Определение грейдов в мобильной разработке"

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

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

Где задал такие вопросы:
🟣 Для каких задач нужны джуниоры?
🟣 Для каких задач нужны мидлы?
🟣 Определи критерии для сеньор позиции? В чем ключевая разница между мидлом и сеньором?

Более детальный анализ можно увидеть в ноушене
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
84