iOS Deep Tech
465 subscribers
29 photos
1 video
32 links
Доступ к систематизированным знаниям и практическому опыту, который поможет вам стать настоящими профессионалами в iOS-разработке 👾

Поддержать нас: https://t.me/tribute/app?startapp=dcYS-5hL96tXcw3d

Контакты: @kslff & @maxiMath & @a_kufaev
Download Telegram
Sendable 😄

Работая с async/await мы постоянно переключаемся между состояниями, в этот момент функции приостанавливаются и продолжают своё исполнение.

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

Sendable
Unchecked Sendable


Подробнее по ссылке 🫣

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
10522
Оптимизации и устройство массивов 😳

Массивы в Swift разработаны с учетом высокой производительности и эффективности использования памяти.

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


Подробнее тут 😎

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
9751
Set в Swift 👀

В Swift Set (множество) — это неупорядоченная коллекция уникальных значений одного типа. В отличие от массивов, где элементы могут повторяться и имеют определенный порядок, Set гарантирует, что каждый элемент присутствует только один раз, и не обеспечивает определенного порядка хранения.

Сеты используются, когда важно обеспечить уникальность элементов, быстро проверять наличие определенного значения и выполнять операции теории множеств, такие как объединение, пересечение и разность.


Подробнее по ссылке ❤️‍🔥

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
643
Global Actor 😋

Global Actor в Swift — это механизм, который позволяет обеспечить безопасный и синхронизированный доступ к глобальным данным и функциям в многопоточной среде, используя модель акторов для контроля доступа. Если говорить тезисно:

Это синглтон.
Умеет шарить своего исполнителя между вызовами.
Умеет шарить изоляцию между всеми вызовами.
Глобальный Actor можно применять к классам, методам, функциям, замыканиям.


Подробнее по ссылке 😤

iOS Deep Tech | Поддержать нас
1195
Actor isolation 🫨

Из прошлых статей можно сделать вывод, что Actor является потокобезопасным контейнером, который изолирует свой стейт и предоставляет доступ к нему только 1 задаче за одну единицу времени. Глобальный актор - делает тоже самое, только он шарит изоляцию между всеми всеми вызовами.

В этой статье мы поговорим о таких вещах, как:

isolation
nonisolated


Подробнее тут 🧐

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
1085
Continuation ❤️‍🔥

Мы уже говорили с вами про continuation. Здесь мы рассмотрим его применение немного в другом контексте.

Типы Continuation
Отмена задач c continuation


Подробнее по ссылке 👋

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
270763
Task Group 👏

Мы уже очень хорошо поговорили про базовые возможности Structured Concurrency. Но остался один базовый вопрос, который хотелось бы разобрать. Как нам запустить одновременно на исполнение несколько задач?

Async let
Виды Task Group
Динамическое добавление задач в группу


Подробнее тут 🤠

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
742
Поздравляем всех с Новым годом, а так же, делимся нашими маленькими итогами года 🎄

В новом году мы запланировали множество интересного контента и новых идей

Спасибо, что вы с нами! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
18321
AsyncSequence & AsyncStream 🤤

До этого момента мы с вами говорили только про задачи, которые исходят от пользователя, которые мы создаём сами, но что если нам нужно ловить последовательность каких-нибудь событий?

Подробнее по ссылке 😘

P.S: Данный раздел завершающий в рамках грейда Junior, дальше вас ждет раздел с практикой

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
753
Actor и Executor 🤓

Стоит сказать, что Actor, как и Task не выполняют никаких задач. Это просто обёртки для удобной работы в коде.
На самом деле за выполнение задач отвечают ActorExecutor и TaskExecutor.
Данных исполнителей мы можем подменять и писать свою реализацию.


Подробнее по ссылке 😁

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
942
Structured Concurrency. Практика 🤩

Пока без ответов, они будут позже, а пока, попробуйте сами

Если будут вопросы, не забывайте писать в комментарии

Подробнее по ссылке 👍

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
532
Task Local 🤫

Продолжая изучать Task, можно задаться следующим вопросом: если дочерние задачи умеют наследовать контекст родительской задачи, то где хранится вся эта информация? И можно ли, помимо служебных полей, передать ещё какие-нибудь свои метаданные?

Ответы вы найдете по ссылке 😑

iOS Deep Tech | Поддержать нас
Please open Telegram to view this post
VIEW IN TELEGRAM
11144