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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Продвинутый разбор как работает Git

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

Но гит — мощнее, чем нам кажется.
82
🌄 Разбор задач из реальной практики: управление памятью

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

В этом примере разберем задачу с двумя классами:
🟣escaping клоужера
🟣циклами сильных ссылок
🟣delayed deallocation

💎 Получить доступ можно по телеграм-боту со скидкой или через бусти
Please open Telegram to view this post
VIEW IN TELEGRAM
6
🌿 Техники решения алгоритмов: Prefix Sum

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

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

Их не очень много, но достаточно, чтобы потратить время. Одна из таких техник — это prefix sum.

🟣 Когда она используется?
Когда нужно работать с суммами элементов подмассивов.

Основная идея — создать массив prefix, где prefix[i] равно сумме всех элементов до i индекса включительно.

Статьи для изучения
🟣Prefix Sums and Applications
🟣Algo & DS(1) — Prefix Sum Series in Swift

Задачи для закрепления:
🔴Product of Array Except Self
🔴Subarray Sum Equals K
Please open Telegram to view this post
VIEW IN TELEGRAM
75
Что сложнее бэкэнд или фронт?

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

Все задачи сложные и требуют своих скиллсетов.

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

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

Здесь нет единой метрики сложности. У всех задачи просто разные.

Хороший тред про frontend и backend
95
📺 Вопросы для подготовки и проведения собесов: Core Data

Сделал сборник вопросов для самопроверки.

В нем затронул:
🟣Что такое Entity?
🟣Как работать с Context'ом?
🟣Чем отличаются реляционные базы от нереляционных?
🟣Как Core Data работает с многопоточностью?
🟣Как работают миграции?
🟣И другие вопросы

💎 Получить доступ можно по телеграм-боту со скидкой или через бусти
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Premium Book Club

Раньше я очень много читал. Книги, по сути, можно сказать, были моим главным источником образования. В 2018 году я прочитал около 100 книг. Тогда я назвал этот период "книжный запой".

Сейчас я грущу, что не могу заставить себя читать много. Либо занят работой, либо чем-то еще.

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

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

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

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

Вступайте. Проведем эту жизнь с пользой. Все бесплатно и без подписок)
20
🌿 Детальный разбор SOLID: Что такое Dependency Inversion?

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

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

В ней я постарался разобраться:
🟣Что такое DIP?
🟣Что такое модули верхних модулей и нижних уровней?
🟣Что такое зависимость в Swift?
🟣Где происходит инверсия зависимостей?
🟣Чем отличается Inversion of Control от Dependency Injection?
🟣Почему все покрывается абстракциями?
🟣Как найти нарушение в Swift Коде и многое другое

Много кода и примеров.

💎 Получить доступ можно по телеграм-боту со скидкой или через бусти
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Hashable vs AnyHashable

Мы уже хорошо погружены в работу протокола Hashable. Но часто приходится слышать в чем же отличия Hashable от AnyHashable?

Можно легко разобраться, если мы знаем что такое приставка Any. В статье Type Erasure в Swift мы также детально разбирали как сделать свои контейнеры для протоколов.

🟣 Когда пригодится AnyHashable?

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

Первое, что приходит в голову, написать код вот так:


let collection = Set<Hashable>()


Но мы получим ошибку компиляции. Поэтому на помощь приходит наш Type Erasure AnyHashable:


let collection = Set<AnyHashable>()


Так мы избавимся от ошибки компиляции и решим нашу задачу
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Forwarded from Воробей
Сорри, одинаковые фотки скинули: разбираем новинки с презентации Galaxy Unpacked

🎧 Наушники у Samsung лучше — они двухдрайверные и Lossless поддерживают
Часы ярче и громче, чем Apple Watch. Это лайк

А вот систему One UI почти всю стыбзили у Apple. Дизлайк
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
43
Какой архитектурный паттерн лучше всего подходит под Clean Architecture
Anonymous Poll
25%
MVVM
32%
VIPER
30%
VIP
11%
MVP
8%
MVC
3%
RIBs
13%
REDUX
7%
Другое
2
Почему голосуете за VIPER? Если брать книгу Роберта Мартина, то там чистый VIP.

VIPER не придуман Мартином, он популярен только в платформе iOS. А когда писалась книга паттерна даже не было. Как и айфонов.
73