fa
Feedback
SwiftyGroup

SwiftyGroup

رفتن به کانال در Telegram

Собираю единомышленников для совместного изучения Swift, подготовки к собеседованиям и прокачивания скилов:) Чат группы: https://t.me/swiftygroup @swiftygroup Все самое интересное: https://boosty.to/buik Админ: @VladimirBuik

نمایش بیشتر
2 370
مشترکین
+224 ساعت
-47 روز
-1730 روز
جذب مشترکین
ژوئیه '26
ژوئیه '26
+10
در 0 کانال‌ها
ژوئن '26
+31
در 0 کانال‌ها
Get PRO
مه '26
+112
در 0 کانال‌ها
Get PRO
آوریل '26
+43
در 0 کانال‌ها
Get PRO
مارس '26
+60
در 0 کانال‌ها
Get PRO
فوریه '26
+38
در 0 کانال‌ها
Get PRO
ژانویه '26
+110
در 1 کانال‌ها
Get PRO
دسامبر '25
+49
در 0 کانال‌ها
Get PRO
نوامبر '25
+58
در 0 کانال‌ها
Get PRO
اکتبر '25
+72
در 0 کانال‌ها
Get PRO
سپتامبر '25
+72
در 0 کانال‌ها
Get PRO
اوت '25
+47
در 0 کانال‌ها
Get PRO
ژوئیه '25
+46
در 0 کانال‌ها
Get PRO
ژوئن '25
+58
در 0 کانال‌ها
Get PRO
مه '25
+53
در 0 کانال‌ها
Get PRO
آوریل '25
+67
در 0 کانال‌ها
Get PRO
مارس '25
+146
در 2 کانال‌ها
Get PRO
فوریه '25
+83
در 0 کانال‌ها
Get PRO
ژانویه '25
+84
در 0 کانال‌ها
Get PRO
دسامبر '24
+110
در 1 کانال‌ها
Get PRO
نوامبر '24
+106
در 0 کانال‌ها
Get PRO
اکتبر '24
+139
در 0 کانال‌ها
Get PRO
سپتامبر '24
+115
در 0 کانال‌ها
Get PRO
اوت '24
+78
در 0 کانال‌ها
Get PRO
ژوئیه '24
+120
در 1 کانال‌ها
Get PRO
ژوئن '24
+68
در 0 کانال‌ها
Get PRO
مه '24
+192
در 1 کانال‌ها
Get PRO
آوریل '24
+226
در 0 کانال‌ها
Get PRO
مارس '24
+143
در 0 کانال‌ها
Get PRO
فوریه '24
+78
در 0 کانال‌ها
Get PRO
ژانویه '24
+53
در 0 کانال‌ها
Get PRO
دسامبر '23
+610
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
14 ژوئیه0
13 ژوئیه+2
12 ژوئیه0
11 ژوئیه0
10 ژوئیه+1
09 ژوئیه0
08 ژوئیه+1
07 ژوئیه+1
06 ژوئیه0
05 ژوئیه0
04 ژوئیه0
03 ژوئیه+2
02 ژوئیه+2
01 ژوئیه+1
پست‌های کانال
Собеседование: почему actor не гарантирует порядок ответов в UI? Вопрос ловит тех, кто запомнил actors как защиту от гонок, но не отделяет data race от логической гонки. Сильный ответ: actor сериализует доступ к своему изолированному состоянию. Но каждый await это точка приостановки, после нее другая задача может зайти в actor и изменить состояние. Data race не будет, зато устаревший ответ может приехать позже нового. Мини-пример:

actor ImageLoader {
    private var cache: [URL: Data] = [:]

    func data(for url: URL) async throws -> Data {
        if let cached = cache[url] { return cached }

        let (data, _) = try await URLSession.shared.data(from: url)
        cache[url] = data
        return data
    }
}
Код безопасен по памяти: словарь не мутируется из двух потоков одновременно. Но если экран запросил картинку A, потом B, ответ A может завершиться позже и перерисовать UI старым состоянием, если caller не проверяет актуальный id. На интервью хороший вывод звучит так: actor решает проблему изоляции данных, но порядок пользовательских намерений надо моделировать отдельно. Для SwiftUI это часто .task(id:), сравнение requestID перед присваиванием или cancellation старой задачи. Источник: The Swift Programming Language, Concurrency #Swift #Concurrency #Interview #iOS #Actors

2
Принципы разработки #mobile
909
3
Xcode 27 стал Apple silicon only Если в команде остались Intel Mac, Xcode 27 на них уже не запустится. Apple обновила ежедневный сценарий работы в Xcode 27. Проекты должны открываться быстрее, настройки синхронизируются через iCloud, панель инструментов можно полностью перестраивать, а темы меняют оформление всего приложения. Самое заметное ограничение: Xcode 27 поддерживает только Mac с Apple silicon. Ещё одно крупное изменение, Device Hub объединяет симуляторы и физические устройства в одном окне. Практический вывод: до обновления CI и рабочих машин проверьте архитектуру всех Mac, доступность нужных runtime и привычные сценарии управления Simulator. Бета подходит для отдельной ветки и тестового окружения, рабочую сборочную цепочку лучше не переносить вслепую. Источник: Apple Developer, Platforms State of the Union #iOS #Xcode #WWDC26 #AppleDeveloper
1 503
4
Interview: чем опасна actor reentrancy в Swift Concurrency? Сильный ответ: actor защищает mutable state от одновременного доступа, но после await другой вызов может зайти в тот же actor и изменить состояние. Вопрос на собеседовании обычно звучит просто: “Actor делает код thread-safe?” Ожидаемый ответ: да, но не магически для всей бизнес-логики. Actor serializes access к своему isolated state, однако Swift actors are reentrant: на suspension point actor может выполнить другую работу. Мини-ловушка: actor Counter { private var value = 0 func incrementSlowly() async { let oldValue = value await Task.yield() value = oldValue + 1 } } Если два клиента одновременно вызовут incrementSlowly(), оба могут прочитать 0 до await, а затем оба записать 1. Actor не нарушен, data race нет, но логическая инварианта потеряна. Как отвечать сильнее: не держите важный read-modify-write через await. Сначала дождитесь внешней async-работы, потом зайдите в actor и обновите state; либо перечитайте state после suspension; либо разделите метод так, чтобы инвариант обновлялся без suspension point. Источник: The Swift Programming Language / Concurrency #Swift #Concurrency #Interview #Actors #iOS
1 374
5
Работа с сетью #mobile
1 455
6
Что выведется в консоль?
1 793
7
بدون متن...
1 619
8
Скомпилируется ли данный код? Если да, то какое значение будет у константы example2?
1 693
9
#квиз
#квиз
1 366
10
Разницу между Map, FlatMap и CompactMap в Swift. #mobile
1 724
11
Всем привет!😊 Нашёл интересную статью о том, как в SwiftUI с помощью .fixedSize решить задачу с карточками разной высоты. Автор показывает кейс: в горизонтальном ScrollView нужно сделать все карточки высотой как самая высокая. Обычный .frame(maxHeight: .infinity) растягивает их на весь экран, а связка .fixedSize для HStack и .frame(maxHeight: .infinity) для карточек даёт нужный результат. Главная мысль: не стоит игнорировать «странные» модификаторы SwiftUI — иногда именно они решают задачу одной строкой. Мой перевод: https://telegra.ph/Nakonec-to-ya-nashyol-kejs-dlya-fixedSize-05-14
1 827
12
Способы обработка ошибок в Swift #mobile
1 444
13
Способы обработка ошибок в Swift #mobile
1
14
Способы обработка ошибок в Swift #mobile
1
15
Изучаете программирование? Хотите стать классным айтишником с высокой ЗП? Пока многие паникуют из-за бума ИИ, вы можете стрем
Изучаете программирование? Хотите стать классным айтишником с высокой ЗП? Пока многие паникуют из-за бума ИИ, вы можете стремительно войти в сферу IT при помощи сборки "IT в деле" которую мы составили. Специально для вас разбили нашу сборку мини папки по конкретным тематикам:) Что внутри сборки: - Каналы о программировании и разработке: Python, CSS, HTML, Java и Swift - GameDev и каналы о QA тестироварии, создание игр, помощь для ваших проектов и реальный опыт от тестировщиков 💍 - Авторские каналы и вайбкодинг: IT & AI, простые заметки с проектов, работа с нейросетями, и как они реально влияют на индустрию 🔤 - Информационная безопасность: многое узнаете о работе хакеров и о том, как защитить себя в этом интернет-хаосе. 🔫 Для каждого здесь что-то найдётся! Выберите интересные вам каналы или подпишитесь на всю сборку, и найдите то, что нужно вам для следующего шага в IT.
1 418
16
Всем привет👋 Решил перезапустить рубрику «Вопросы с собеседований» Теперь хочу делать её в новом формате: - адаптировано под мобильную версию - в тёмной теме Буду постепенно обновлять старые темы и добавлять новые вопросы.
1 528
17
بدون متن...
2
18
Порядок вывода?
1 715
19
بدون متن...
1 309