Тимур Чеберда

Тимур Чеберда 

iOS разработчик, веду roadmap iOS разработчика

1 062subscribers

481posts

Showcase

2
goals8
8 of 8 paid subscribers
Если на меня подпишется 8 человек, то я смогу заказывать картинки у дизайнера и делать материал еще более наглядным и лучше доносить до вас 🎉
1 of 4
$172.85 of $279 raised
Роадмап по архитектурным паттернам: визуальный роадмап + уроки к нему. Для примера берите роадмап по SwiftUI (который уже готов)
$92.76 of $7 732 raised
Получил оффер? Буду рад символическому «спасибо» - любая сумма уместна. Это поможет в улучшении и продвижении нашего сообщества!
$20.87 of $20.9 raised
Крус по GIT от А до Я
$278.32 of $279 raised
КММ проект: струячим серию выпусков, с нуля, среднего размера(10-12 экранов), стримы и видео(стрим без лишнего), донатерам код(после каждой серии).

Урок №5 - Словари. Полностью переработан.

Здесь та же история, что и с массивами. Была карточка со ссылкой, базовый синтаксис и "дальше сам" по карточке. Теперь - это полноценный урок на 4.5-6 часов.
Три раздела с нуля: создание и доступ, изменение, итерация и трансформации. Каждый с визуализациями, примерами и нюансами, которые в карточке, увы, просто не помещались.
Что появилось:
1. Массив vs Словарь - таблица сравнения прямо в начале. Когда по номеру, когда по ключу, где O(1), где O(n). Чтобы не путать и сразу понимать, какую структуру выбрать.
2. default: и его отличие от ?? - то, что редко объясняют. dict[key, default: 0] += 1 работает, а dict[key] ?? 0 += 1 - нет.  Почему? Небольшое, но крайне действенное знание.
3. Нюанс с Optional значениями - dict[key] = nil удаляет ключ, даже если тип значения String?. Хочешь сохранить ключ с nil - нужен updateValue. Редкий кейс, но когда наступишь - дебажить будешь долго...
4. mapValues vs map - главная путаница со словарями. mapValues возвращает словарь, map возвращает массив кортежей. Разложил с примерами, чтобы не путать в будущем и запомнить.
5. Dictionary(grouping:by:) - группировка массива в словарь по признаку. Разделить оценки на "сдал / не сдал", сгруппировать имена по первой букве - это одна стрчока.
6. Проверь себя после каждого раздела - вопросы с кодом и скрытыми ответами. "Что вернёт updateValue для несуществующего ключа?", "Останется ли ключ после dict[key] = nil?". Как всегда проверяем теорию практикой!
7. Частые ошибки - 6 штук. Забытый Optional при доступе, force unwrap по несуществующему ключу, ожидание порядка в словаре, путаница mapValues и map.
8. 5 домашних заданий - от easy до medium+. Телефонная книга, переводчик, счётчик голосов с default:, прайс-лист с mapValues и filter, объединение классов через merge.
9. График повторения - через 1, 3 и 10 дней. На десятый день - метод Фейнмана: объясни вслух, почему dict[key] возвращает Optional, а array[index] нет. Вроде-бы мелочь, а знания держит в памяти!
Словари - это та тема, которую новички "вроде знают". А потом на собесе не могут ответить: "Чем отличается доступ в словаре от массива? Что такое Hashable? Когда что выбрать?". И вот тут начинается....
После массивов уже пойдет более легче, и да, знания про Hashtable и методы пробирования здесь не нужны, все-таки приложения учимся писать и понимать почему пишем так или иначе.
А подготовка к собесам и все знания для него, это самособой вовремя итогового написания приложения!
Если старую карточку уже прошёл - возвращаться не обязательно. Но если хочешь закрепить, пятое задание с merge и средним баллом - хорошая проверка.
Subscription levels2

Базовый уровень

$6.3 per month
• Доступ во все разделы notion: роадмап iOS разработчика, подготовка к собеседованиям, изучение разных тем по iOS и другие. Получение обновлений каждые 2 недели.
• Домашние задания по SwiftUI, UIKit.
• Разбор в формате видео домашних заданий по UIKit.
• Интерактивный роадмап по SUI: карта, контент, материал, описание тем.
• Ежемесячные созвоны, воркшопы, стримы + uikit
Доступ к телеграмм приложению для подготовки и обучению
+ chat

Не базовый уровень

$13.5 per month
 • Все перечисленное из тира "базовый".
 • Приоритет для участия в меропритиях.
 • Разбор в формате видео домашних заданий по SwiftUI.
 • NFT диплом о прохождении роадмапа.
 • Подпись во всех чатах
 • КМP роадмап в ноушене.
 • Размещение в таблице менторов.
 • Ежемесячные созвоныворкшопыстримы, мк + sui. Глубже материал (да-да, не удивляйся)
Расширенный доступ к телеграмм приложению для подготовки и обучению
+ chat
Go up