iOS Roadmap - Полезное | Swift, SwiftUI, Интервью
444 subscribers
107 photos
3 videos
8 files
195 links
iOS Roadmap: Swift, SwiftUI, архитектуры, интервью. Еженедельные подборки статей и видео, плейбуки, чек-листы, решения задач с пояснениями. Полезно начинающим и практикующим iOS-разработчикам.
Download Telegram
Forwarded from iOS Roadmap - Новости, анонсы и все события
PvP Дуэли в мини приложении

Привет, в приложении уже доступен для пользования функционал дуэлей. Он работает асинхронно, и вот как это устроенно:
Создаёшь дуэль - нажимаешь на кнопку "Быстрый матч"
Отвечаешь на 8 вопросов - это микс тем, сложность по нарастающей: лёгкие -> средние -> сложные -> последний средний
• Ждёшь когда ответит соперник, так же 8 вопросов

После того как ты и твой соперник прошли дуэль, вы получаете результаты. Эти результаты будут отмечаться в статистике в шапке экрана дуэлей и в футере как прошедший матч.

Кто побеждает? 🤔
1. Больше правильных ответов -> победа
2. Одинаковый счёт? Побеждает тот, кто быстрее отвечал на правильные вопросы: время на ошибки не считается - нельзя наугад тыкать быстро
3. Разница во времени ≤ 3 секунды? Ничья

Новый функционал позволит тебе ещё качественне и с интересом подойти к вопросу подготовки к собеседованию.

Даже если ты не готовишься к собеседованию, узнать кто же лучше знает вопрос и iOS разработку.

Если остались вопросы или предложения, можно отписать в комментарии или в лс, встретимся на дуэли! 🎮

Ссылка на мини приложение
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍21
AI решение для текущего рынка

Репозиторий career-ops насчитывает 13.4K звёзд и помогает с поисками работы.

Ты кидаешь ссылку на вакансию. Система сама парсит описание, сравнивает с твоим CV, оценивает совпадение по 10 параметрам, генерит PDF-резюме, заточенное именно под эту позицию.

Я насчитал 14 режимов:
• Оценка вакансии
• Генерация CV
• Сканирование порталов
• Батч-обработка десятка вакансий параллельно
• Подготовка к интервью
• Скрипты переговоров по зарплате
• LinkedIn

Советую изучить гитхаб и поспрашивать свою LLM как можно на твоём рынке и для тебя найти применение 🙏
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥41
Сегодня Apple отвечает на твои вопросы по Swift Concurrency

Возможно ты вспомнишь, как вечерами сидел и немного злился при миграции на Swift 6? А может-быть тебе не достаточно понятно:"Как же устроен async / await под капотом?"

Всё это и много другое можно будет сегодня спросить у разработчиков из Apple, напрямую! Да-да, не удивляйся...

Формат простой:
Задавать вопрос здесь
Отвечать будут здесь

Я бы посоветовал заранее подумать, до эфира, что хочется спросить и, возможно, подготовить код. Тогда ты сможешь одним из первых закинуть в Q&A секцию и не ждать очередь / пропустить.

Сегодня, в 20:00 по МСК


https://www.youtube.com/live/E95agtPgaa0
👍21🔥1
Swift Concurrency + Task.immediate

Представь, что ты на @MainActor и тебе надо вызвать async функцию:


@MainActor
func didTapButton() {
Task {
await viewModel.update()
}
print("после Task")
}


Угадай, что вызовется первым?
• update
• print

Спойлер: print

Task - это "давай положим в очередь. А выполним, когда executor освободится".

И возможно тебе требовалось:
1. Выполнить быструю задачу, которая заканчивается без реального suspend
2. Ловишь легаси колбэки, но точно знаешь, что он на main
3. Нужен порядок: сначала обновить state, потом продолжить синхронный код

И вот, в Swift 6.2 завезли Task.immediate

Как понятно из названия, в Task.immediate стартует тело задачи синхронно, на текущем executor'е и без enqueue. Гонит код до первой реальной suspension и только там отдаёт управление обратно на calling executor.


@MainActor
func didTapButton() {
Task.immediate {
await viewModel.update()
}

print("после Task.immediate")
}


Если update() успеет обновить state до того, как реально приостановится - обновление произойдёт до print.

Всё это, плюс await != suspension, как часто сгодится и др. разобрано глубже в пропозале:
https://github.com/swiftlang/swift-evolution/blob/main/proposals/0472-task-start-synchronously-on-caller-context.md

Или есть небольшое саммари:
https://www.avanderlee.com/concurrency/immediate-tasks-in-swift-concurrency-explained/

В ноушене будет скоро 👍️️️️️️
4👍2🔥2
Крупный редизайн для mini app

Привет! В мини-приложении не так давно появился режим дуэлей.

Если коротко - соревнуешься с реальным человеком на одинаковых вопросах: кто сильнее в iOS. Вопросы случайные, но обоим даются те же. Побеждает тот, у кого больше правильных ответов; при равном счёте решает суммарное время.


Рандомные вопросы одинаковы для обоих, побеждает тот, кто ответил правильнее. А в случае ничьи решает время.


Изучаю AI на практике, поэтому редизайн делал вместе с Claude Design, через агентов в Claude Code. Кто помнит, какой дизайн был раньше - оцените разницу.

Перепаковано всё: от баннера на вкладке "Интервью" до экранов ожидания, самой сессии и финальных результатов.

Если ты не пробовал, то самое время. Можно договориться с другом и сыграть один на один, или принять открытый вызов от любого игрока. Игра асинхронная, возвращайся к ней когда удобно.

Если есть идеи, пожелания, нашел баг - смело пиши @somestay07
5👍2🔥2