Новый выпуск вышел в открытый доступ
Разберёмся, какие виды изображений бывают, как их добавлять в проект, как показывать на экране.
Разберёмся, какие виды изображений бывают, как их добавлять в проект, как показывать на экране.
Новый выпуск для подписчиков на Boosty
В прошлых главах мы разбирались с тем как работают потоки (Thread), различные примитивы синхронизации (mutext, semaphore, lock, etc) и runloop. В этой поговорим про GCD.
В прошлых главах мы разбирались с тем как работают потоки (Thread), различные примитивы синхронизации (mutext, semaphore, lock, etc) и runloop. В этой поговорим про GCD.
Новый выпуск для подписчиков на Boosty
В этой главе мы рассмотрим использование GCD, на примерах. Разберем какие инструменты для синхронизации в ней существуют и как заменить с помощью GCD семафоры и мьютексы.
В этой главе мы рассмотрим использование GCD, на примерах. Разберем какие инструменты для синхронизации в ней существуют и как заменить с помощью GCD семафоры и мьютексы.
Новый выпуск вышел в открытый доступ
Наконец на практике применим полученные ранее знания и сверстаем целый экран.
Наконец на практике применим полученные ранее знания и сверстаем целый экран.
Новый выпуск для подписчиков на Boosty
Для завершения темы GCD следует рассказать еще и о таймерах, которые работают с помощью ранлупа, а помощью планировщика очередей - DispatchSourceTimer. Этот таймер немного отличается от обычного Timer, но в целом предоставляет те же возможности.
Для завершения темы GCD следует рассказать еще и о таймерах, которые работают с помощью ранлупа, а помощью планировщика очередей - DispatchSourceTimer. Этот таймер немного отличается от обычного Timer, но в целом предоставляет те же возможности.
Новый выпуск для подписчиков на Boosty
После разбора операций, время перейти к еще одну фреймворку, не столь популярному, но все же иногда полезному - Operation. Operation возник позже GCD и по сути своей представляет всю ту же работу с очередями, но только в ООП стиле. В итоге он занял лидирующие позиции и уже наверное никогда не займет. Тем не менее периодически он используется, его можно встретить и лучше иметь представление как он работает.
После разбора операций, время перейти к еще одну фреймворку, не столь популярному, но все же иногда полезному - Operation. Operation возник позже GCD и по сути своей представляет всю ту же работу с очередями, но только в ООП стиле. В итоге он занял лидирующие позиции и уже наверное никогда не займет. Тем не менее периодически он используется, его можно встретить и лучше иметь представление как он работает.
Новый выпуск для подписчиков на Boosty
Наконец мы подошли к последней технологии работы с асинхронностью и многопоточностью - swift concurrency. Это самая свежая, удобная и одновременно забагованная и неизвестная из всех доступных нам технологий. Мы будем разбираться с ней в течении нескольких глав и пройдем путь, от рассмотрения простого синтаксиса, до полного понимания, что происходит у нее внутри.
Наконец мы подошли к последней технологии работы с асинхронностью и многопоточностью - swift concurrency. Это самая свежая, удобная и одновременно забагованная и неизвестная из всех доступных нам технологий. Мы будем разбираться с ней в течении нескольких глав и пройдем путь, от рассмотрения простого синтаксиса, до полного понимания, что происходит у нее внутри.
Новый выпуск для подписчиков на Boosty
После обзора на swift concurrency пора разобраться как работают Task и async/await, как правильно запускать задачи параллельно или асинхронно.
После обзора на swift concurrency пора разобраться как работают Task и async/await, как правильно запускать задачи параллельно или асинхронно.
Новый выпуск вышел в открытый доступ
Наконец на практике применим полученные ранее знания и сверстаем целый экран.
Наконец на практике применим полученные ранее знания и сверстаем целый экран.
Новый выпуск для подписчиков на Boosty
Еденицей паралельной работы являются задачи - Task. Как мы видели в прошлой главе мы можем запускать задачи из обычного кода, либо внутри других задач, для паралельного выполнения кода. Сегодня мы поговорим о том, что задачи выстраиваются в иерархию. Давайте разбираться что это такое и зачем оно нужно.
Еденицей паралельной работы являются задачи - Task. Как мы видели в прошлой главе мы можем запускать задачи из обычного кода, либо внутри других задач, для паралельного выполнения кода. Сегодня мы поговорим о том, что задачи выстраиваются в иерархию. Давайте разбираться что это такое и зачем оно нужно.
Новый выпуск для подписчиков на Boosty
Мы уже упоминали акторы (Actors), использовали MainActor для выполнения задач на главном потоке, в этой главе мы полноценно разберемся, что такое акторы, как их использовать и создавать.
Мы уже упоминали акторы (Actors), использовали MainActor для выполнения задач на главном потоке, в этой главе мы полноценно разберемся, что такое акторы, как их использовать и создавать.
Новый выпуск для подписчиков на Boosty
Мы почти разобрали все инструменты которые предоставляет Swift Concurrency. Осталось разобрать два последних AsyncSequence и Continuation. В этой главе мы будем разбирать AsyncSequence.
Мы почти разобрали все инструменты которые предоставляет Swift Concurrency. Осталось разобрать два последних AsyncSequence и Continuation. В этой главе мы будем разбирать AsyncSequence.
Новый выпуск вышел в открытый доступ
Итак, после практики в предыдущей главе у нас появилась объёмная вёрстка. Мы написали много кода, и разбираться в нём стало сложно. Для решения этой проблемы мы разделим его на небольшие UI-элементы.
Итак, после практики в предыдущей главе у нас появилась объёмная вёрстка. Мы написали много кода, и разбираться в нём стало сложно. Для решения этой проблемы мы разделим его на небольшие UI-элементы.
Новый выпуск для подписчиков на Boosty
Последний инструмент Swift Concurrency который нам осталось рассмотреть это Continuation. Он предназначен для связи Swift Concurrency и традиционного многопоточного кода.
Последний инструмент Swift Concurrency который нам осталось рассмотреть это Continuation. Он предназначен для связи Swift Concurrency и традиционного многопоточного кода.
Новый выпуск для подписчиков на Boosty
Пришло время поговорить о том как синхронизировать данные и перенаправлять между разными потоками.
Пришло время поговорить о том как синхронизировать данные и перенаправлять между разными потоками.
Так, я записал все темы про многопоточку которые хотел и даже те что не хотел.
Думаю было бы круто добавить примеров из реальной так сказать жизни, но в голову ничего особенного не идет. Может у вас есть какие то кейсы с многопоточностью, которые не ясно как делать. Кидайте в меня, я разберу на видео)
Думаю было бы круто добавить примеров из реальной так сказать жизни, но в голову ничего особенного не идет. Может у вас есть какие то кейсы с многопоточностью, которые не ясно как делать. Кидайте в меня, я разберу на видео)
Ну и следующий модуль пора делать. Пишите в комментариях про что вы хотите послушать и голосуйте лайками если тему уже кто то написал до вас)
Новый выпуск для подписчиков на Boosty
Иногда нам нужно отменить асинхронную задачу, если прошло достаточно много времени, разберемся как это делать в Swift Concurrency.
Иногда нам нужно отменить асинхронную задачу, если прошло достаточно много времени, разберемся как это делать в Swift Concurrency.
Новый выпуск для подписчиков на Boosty
В этой главе мы расскажем, что ждёт нас на этом курсе, какие вещи мы изучим и как глубоко.
В этой главе мы расскажем, что ждёт нас на этом курсе, какие вещи мы изучим и как глубоко.
Новый выпуск для подписчиков на Boosty
Архитектура является наверное самой обсуждаемой темой в разработке приложений. Причем любых мобильных приложений и даже не мобильных. Все хотят выбрать некую правильную архитектуру, чтобы работать было проще. Про архитектуру спрашивают на собеседованиях, про нее спорят в чатах и на код ревью.
К сожалению в большинстве случаев все это похоже на блуждание во тьме. Кто-то , что, то слышал, читал, готовился, пробовал и что-то рассказывает. Но многие даже не знают что это такое. Люди существа простые и хотят простых решений, желательно осязаемых, по этому запоминаются какие-то конкретные примеры, но не то что привело к рождению этих примерах. В этом курсе мы попытаемся простыми словами рассказать, что же такое архитектура на самом деле и как ее проектировать.
Архитектура является наверное самой обсуждаемой темой в разработке приложений. Причем любых мобильных приложений и даже не мобильных. Все хотят выбрать некую правильную архитектуру, чтобы работать было проще. Про архитектуру спрашивают на собеседованиях, про нее спорят в чатах и на код ревью.
К сожалению в большинстве случаев все это похоже на блуждание во тьме. Кто-то , что, то слышал, читал, готовился, пробовал и что-то рассказывает. Но многие даже не знают что это такое. Люди существа простые и хотят простых решений, желательно осязаемых, по этому запоминаются какие-то конкретные примеры, но не то что привело к рождению этих примерах. В этом курсе мы попытаемся простыми словами рассказать, что же такое архитектура на самом деле и как ее проектировать.
Архитектура сложная тема, потому что без конкретных кейсов она ничего не значит. Буду признателен если вы будете кидать мне всякие архитектурные вопросы или случаи из практики.
На следующее видео особенно было бы круто случаи когда был холивар в котором очень сложно было договориться
На следующее видео особенно было бы круто случаи когда был холивар в котором очень сложно было договориться