Новый выпуск вышел в открытый доступ
Разберемся как определяется цвет, из чего он состоит, как его правильно перенести из figma
Разберемся как определяется цвет, из чего он состоит, как его правильно перенести из figma
Новый выпуск для подписчиков на Boosty
В прошлой главе мы разобрались со стандартными ранлупами RunLoop и CFRunLoop. Мы упоминали, что они так или иначе работают с различными источниками событий. В этой главе мы поговорим о том, что это за источники, какие они бывают, зачем нужны и как создавать свои источники.
В прошлой главе мы разобрались со стандартными ранлупами RunLoop и CFRunLoop. Мы упоминали, что они так или иначе работают с различными источниками событий. В этой главе мы поговорим о том, что это за источники, какие они бывают, зачем нужны и как создавать свои источники.
Яндекс продолжает набор в Школу мобильной разработки!
Школа мобильной разработки – это 3 месяца прокачки профессиональных скиллов, по Android, iOS и Flutter разработке для начинающих и более опытных разработчиков.
Сперва — онлайн-лекции от экспертов Яндекса. Затем — практика в офисах в Москве, Санкт-Петербурге или Екатеринбурге, где плечом к плечу с другими участниками, разработчиками и менеджерами Яндекса вы будете решать настоящие задачи.
Всем иногородним студентам, которые успешно пройдут онлайн-этап, Яндекс оплатит билеты и проживание на период второго этапа. А лучших участников позовёт в штат или на стажировку. Конечно, обучение в Школах — бесплатное.
Чтобы попасть в школу, подайте заявку и сделайте тестовое. Прием заявок открыт до 21 апреля включительно. Сами занятия начнутся в начале лета.
Читайте подробнее и подавайте заявки на странице Школы.
Школа мобильной разработки – это 3 месяца прокачки профессиональных скиллов, по Android, iOS и Flutter разработке для начинающих и более опытных разработчиков.
Сперва — онлайн-лекции от экспертов Яндекса. Затем — практика в офисах в Москве, Санкт-Петербурге или Екатеринбурге, где плечом к плечу с другими участниками, разработчиками и менеджерами Яндекса вы будете решать настоящие задачи.
Всем иногородним студентам, которые успешно пройдут онлайн-этап, Яндекс оплатит билеты и проживание на период второго этапа. А лучших участников позовёт в штат или на стажировку. Конечно, обучение в Школах — бесплатное.
Чтобы попасть в школу, подайте заявку и сделайте тестовое. Прием заявок открыт до 21 апреля включительно. Сами занятия начнутся в начале лета.
Читайте подробнее и подавайте заявки на странице Школы.
Школа мобильной разработки Яндекса
Летняя школа Яндекса для разработчиков мобильных приложений. Больше половины выпускников получают офер
Уже через 30 минут присоединяйтесь к открытой сессии с Михаилом Рубановым (Dodo). Разберемся:
- какие типичные ошибки реализации доступности встречаются в популярных сервисах;
- как можно спроектировать прототип интерфейса, который подойдет для незрячих людей, и преобразовать его в код.
- какие типичные ошибки реализации доступности встречаются в популярных сервисах;
- как можно спроектировать прототип интерфейса, который подойдет для незрячих людей, и преобразовать его в код.
YouTube
Открытая сессия: Как дизайнить доступность для скринридера / Михаил Рубанов (Dodo)
Приходи на новый сезон iOS Crew (https://podlodka.io/ioscrew) - по промокоду VOICEOVER скидка 500 рублей. компании начали заниматься доступностью приложений: адаптировать дизайн-систему, добавлять поддержку скринридера. Но все еще сложно дизайнить для незрячих…
Новый выпуск вышел в открытый доступ
Разберёмся, какие виды изображений бывают, как их добавлять в проект, как показывать на экране.
Разберёмся, какие виды изображений бывают, как их добавлять в проект, как показывать на экране.
Новый выпуск для подписчиков на 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
Пришло время поговорить о том как синхронизировать данные и перенаправлять между разными потоками.
Пришло время поговорить о том как синхронизировать данные и перенаправлять между разными потоками.
Так, я записал все темы про многопоточку которые хотел и даже те что не хотел.
Думаю было бы круто добавить примеров из реальной так сказать жизни, но в голову ничего особенного не идет. Может у вас есть какие то кейсы с многопоточностью, которые не ясно как делать. Кидайте в меня, я разберу на видео)
Думаю было бы круто добавить примеров из реальной так сказать жизни, но в голову ничего особенного не идет. Может у вас есть какие то кейсы с многопоточностью, которые не ясно как делать. Кидайте в меня, я разберу на видео)
Ну и следующий модуль пора делать. Пишите в комментариях про что вы хотите послушать и голосуйте лайками если тему уже кто то написал до вас)