tgindex
SwiftyGroup

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

Последний пост
25 июн.
Последнее чтение
21:41
Постов за неделю
0
Всего постов
43
Тип
открытый
Язык
русский
Категория
Технологии (по похожим)
В каталоге с
12 авг.
Подписчики
2 366
−2 за 4 дн.
Сутки
+1
+0,04%
Неделя
 
Месяц
 
Просмотров на пост
1 707
40 постов
Вовлечённость
72,1%
к подписчикам
Постов в день
0,0
всего 43
Упоминаний
0
каналов
Охват размещения
оценка
1/24сутки в ленте
1/48двое суток
1/72трое суток

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

  • 25 июн.1 234916

    Собеседование: почему 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

  • 24 июн.1 1571526

    Принципы разработки #mobile

  • 18 июн.1 7131512

    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

  • 15 июн.1 5201014

    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

  • 10 июн.1 6042443

    Работа с сетью #mobile

  • 5 июн.1 90236

    видео или голосовое, без подписи

  • 5 июн.1 7202

    #квиз

  • 29 мая1 807191

    видео или голосовое, без подписи

  • 29 мая1 45553

    #квиз

  • 20 мая1 8922328

    iOS map.pdf

  • 14 мая2 0792126

    Всем привет!😊 Нашёл интересную статью о том, как в SwiftUI с помощью .fixedSize решить задачу с карточками разной высоты. Автор показывает кейс: в горизонтальном ScrollView нужно сделать все карточки высотой как самая высокая. Обычный .frame(maxHeight: .infinity) растягивает их на весь экран, а связка .fixedSize для HStack и .frame(maxHeight: .infinity) для карточек даёт нужный результат. Главная мысль: не стоит игнорировать «странные» модификаторы SwiftUI — иногда именно они решают задачу одной строкой. Мой перевод: https://telegra.ph/Nakonec-to-ya-nashyol-kejs-dlya-fixedSize-05-14

  • 6 мая1 7231833

    Способы обработка ошибок в Swift #mobile

  • 5 мая1 707102

    Изучаете программирование? Хотите стать классным айтишником с высокой ЗП? Пока многие паникуют из-за бума ИИ, вы можете стремительно войти в сферу IT при помощи сборки "IT в деле" которую мы составили. Специально для вас разбили нашу сборку мини папки по конкретным тематикам:) Что внутри сборки: - Каналы о программировании и разработке: Python, CSS, HTML, Java и Swift - GameDev и каналы о QA тестироварии, создание игр, помощь для ваших проектов и реальный опыт от тестировщиков 💍 - Авторские каналы и вайбкодинг: IT & AI, простые заметки с проектов, работа с нейросетями, и как они реально влияют на индустрию 🔤 - Информационная безопасность: многое узнаете о работе хакеров и о том, как защитить себя в этом интернет-хаосе. 🔫 Для каждого здесь что-то найдётся! Выберите интересные вам каналы или подпишитесь на всю сборку, и найдите то, что нужно вам для следующего шага в IT.

  • 29 апр.1 9095337

    Всем привет👋 Решил перезапустить рубрику «Вопросы с собеседований» Теперь хочу делать её в новом формате: - адаптировано под мобильную версию - в тёмной теме Буду постепенно обновлять старые темы и добавлять новые вопросы. #mobile

  • 24 апр.1 955142

    видео или голосовое, без подписи

  • 24 апр.1 55625

    #квиз

  • 14 апр.2 73128169

    Наткнулся на «Чертовски понятный Swift Concurrency» — и это реально одна из самых вменяемых штук по теме. Без духоты, без «магии», без объяснений в стиле ну это просто запомни. Там нормально раскладывают: — что такое async/await — как работают Task и TaskGroup — почему компилятор орёт на Sendable, MainActor и изоляцию — и главное — как это всё реально понять головой, а не заучить Короче, если Swift Concurrency у вас до сих пор ощущается как что-то мутное и раздражающее — очень советую. Вот ссылка: https://fuckingapproachableswiftconcurrency.com/ru/

  • 10 апр.1 732123

    🟦 Агентские Facebook под белое за 3% ℹ️ Для кого? — Белые iOS приложения; — Белые Android приложения; — E-commerce / товарка; — Любая белая реклама без банов. ☑️ В чем выгода? — 3% комиссии (рынок 6-9%); — Не нужно вязать карты; — Полный сетап под ключ (аккаунты, прокси, фанки, дата сеты); — Быстрые замены; — Ответы на любые вопросы по заливам; — Вечные пиксели; — Оформление ФП под ваш дизайн; — Круглосуточная поддержка 7 дней в неделю, 365 дней в году. 🔥 Какие условия? — От 5000$ спенда в месяц; — Исключительно белая реклама; — Около нулевой бан рейт. ✉️ По всем вопросам: @fbm_vladimir 💬 Наш канал: @fbm_agency ⌚️📱📲💻⌨️🖥🖨🖱 💳 Карты для FB, Google и Tik-Tok 💻 Лендинги🎨Крео для рекламы 🙋 Аренда PWA 🥛 Moloco Ads 3% 🇺🇸 English 💬 Связь 📩 Чат [FBM]

  • 10 апр.1 4411050

    Сейчас задания на рефакторинг кода — один из самых популярных форматов на собеседованиях. Все чаще дают не задачу “написать с нуля”, а готовый код и просят: — найти ошибки — объяснить, что в нем плохо — предложить, как это исправить Вот хороший материал с таким разбором: https://apptractor.ru/info/media/naydi-i-isprav-oshibki-v-kode-zadachi-s-sobesedovaniya.html Совет простой: тренируйтесь не только писать код, но и читать чужой. На собеседовании это сейчас очень хорошо показывает уровень разработчика. И для практики дополнительно можно самому разбирать такие места: — retain cycle — работа с UI не из main thread — force unwrap / implicitly unwrapped optional — слишком связанный код во ViewController — отсутствие DI — слабая обработка ошибок — нарушение Swift-style в моделях — неправильная работа с памятью и async-кодом

  • 8 апр.1 29746

    🧭 Погружаемся в iOS вместе с Podlodka iOS Crew Работа с iOS — это не только про красивый фронтенд. С 13 по 17 апреля пройдет новый сезон Podlodka iOS Crew — «Фундаментальный iOS». В этот раз организаторы планируют супер глубокое погружение в то, как устроена операционная система. 💡Участники конференции: • погрузятся в детали Swift Generics и Swift Dictionary, • узнают, как создать свою ферму виртуальных iPhone с настоящей iOS, • разберут актуальные подходы работы с Metal и Core Image, • погрузятся в то, как внедрить современные мультимодальные LLM в приложения для iPhone, используя аппаратные возможности устройств, • пройдут по процессу собеседования вместе с тимлидом платформенной команды. Всё это — в формате утренних и вечерних Zoom-сессий и общения с коллегами в закрытой группе Telegram. 🧠Если вы хотите обновить свои знания о фундаментальных основах iOS и погрузиться в практику вместе с опытными экспертами, подключайтесь к Podlodka iOS Crew👇 🔗 Посмотреть программу и присоединиться А промокод ios_crew_17_EPTcz6 дает скидку 500р🎁

SwiftyGroup — tgindex