November 29, 2023

Технические стримы

Работа с сетевым слоем

Серия воркшопов, где начальной точкой является URLSession, а конечной точкой - async / await. Рассмотрим каждый нюанс, каждый аспект. Цель - более глубокое понимание работы с сетью, проектирование сетевого слоя.


[Урок 1] Сетевой слой от А до Я: Основы.

📖 В данном видео мы обсудили следующие аспекты на пути реализации сетевого слоя:
- Разобрали работу URLSession: устройство и возможности, почему работа с URLSession не вызывает "утечку памяти".
- Разобрали взаимосвязь с дженериками и @escaping замыканиями.
- Разобрали блок кода do catch.
- Как дебажить экран на утечку памяти.

Ссылка для просмотра: boosty | телеграмм


[Урок 2] Сетевой слой от А до Я: Advanced.

  • Разобрали работу URLSession вместе с кастомными ошибками.
  • Разобрали типы запросов, реализацию типов запросов.
  • Протестировали get и post запрос.
  • Изучили Alamofire, реализовали post / get запрос. Сравнили Alamofire против самописаного на URLSession + выводы.
  • Разобрали реализацию через Singleton и DI. Плюсы и минусы, разница, что в итоге использовать.

Ссылка для просмотра: boosty | телеграмм


Паттерны проектирования

Серия обучающих воркшопов, на которых разбираем анатомию паттернов: теорию, практику, реальные примеры, плюсы и минусы.


Delegate

  • Изучили анатомию паттерна, как он должен быть реализован, для чего указывать ключевое слово: AnyObject, weak.
  • Рассмотрели практическое применение в iOS: UITableView, UITextField и т.д.
  • Изучили реализацию при помощи тестового примера.
  • Изучили практическое применение и почему, в некоторых случаях, можно использовать unowned для делегата.

Ссылка для просмотра: boosty | телеграмм


Decorator

  • Изучили анатомию паттерна, как он должен быть реализован, как можно его использовать в UIKit'e.
  • Изучили практическое применение, улучшили проект на основе паттерна.
  • Плюсы и минусы влияния паттерна на проект.

Ссылка для просмотра: boosty | телеграмм


Решение задач на многопоточность

Разбор в формате видео, где есть одна задача, но множество решений, со своими плюсами и минусами.

[Concurrency] Thread safe: задача

Всем привет, задача на решение thread safe - весьма частый гость на собеседовании. Как мне кажется, если решение можно предоставить при помощи нескольких способов - это всегда лайк, а особенно если рассказать плюсы / минусы для каждого способа!

Ссылка для просмотра: boosty


[Concurrency] Синхронизация потоков

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

Ссылка для просмотра: boosty


[Concurrency] Параллельная загрузка изображений

  • Разбор задания, изучение проблемы.
  • Вспоминаем работу очередей, проецируем теорию на практику + объяснение.
  • Решение при помощи DispatchGroup + обсуждаем работу группы.
  • Решение при помощи корутин + разница с предыдущим решением + обсуждение корутин.

Ссылка для просмотра: boosty