TGViewer
Channel Public Channel
iOS Mobile | YeaHub

iOS Mobile | YeaHub

@yeahub_ios_mobile

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

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Subscribers
248
Photos
406
Videos
36
Links
587

Showing posts older than #259 · Back to latest

Older Posts 17 shown
Post #257 58
#полезное
🤯 Модификаторы условного представления в SwiftUI
Интересная идея сделать логический модификатор и что-нибудь им сломать. Важно только понимать как такой модификатор может повлиять на логику отрисовки, анимации и производительность.

Что такое модификатор условного представления:
🟠Применяется к View только при выполнении условия
🟠Инкапсулирует условную логику для чистоты кода
🟠Упрощают композицию View
🟠Сокращают дублирование кода и улучшают читаемость

Скрытые побочные сайд-эффекты:
🔴Потеря состояния (@State, @FocusState, @StateObject)
🔴Проблемы с анимацией при изменении условий
🔴Сложно отлавливаемые ошибки в сложных пользовательских интерфейсах

Мое мнение, что лучше вообще не использовать. Более подробно про подводные камни такого подхода опысывал Chris Eidhof в блоге objc.io.

👉Новости 👉База вопросов
Post #256 54
#полезное
🛞 SwiftUI совет

Вы можете управлять размером Spacer, используя .frame()

Это полезно, когда требуется точное расстояние между представлениями, вместо использования гибкого пространства.

👉Новости 👉База вопросов
Post #255 56
#статьи
👨‍💻 Как одна строчка кода может сломать ваш iPhone

Это история о том, как ребята нашли одну из уязвимостей в iOS. Она стала одной из моих любимых из-за того, насколько просто было реализовать эксплойт для нее. Кроме того, она использует устаревший публичный API, который до сих пор используется во многих компонентах операционных систем Apple, и о котором многие разработчики никогда не слышали.

👉Новости 👉База вопросов
Post #253 57
#полезное
🥱 Regular Expressions in Swift

В Swift регулярные выражения реализованы через класс NSRegularExpression из Foundation, который позволяет создавать шаблоны и искать совпадения в строках. Для удобства можно расширить этот класс, чтобы упростить создание и проверку выражений, например, добавить метод matches(), который проверяет наличие совпадений в строке.

Однако стоит помнить, что чрезмерное использование регулярных выражений в больших текстах может негативно сказаться на производительности приложения. С выходом Swift 5.7 появился более современный и удобный инструмент - Swift Regex с лаконичным синтаксисом и билдерами регулярных выражений, который значительно упрощает работу и повышает читаемость кода по сравнению с NSRegularExpression

🚩 В статье подробно рассмотрены основы работы с NSRegularExpression, примеры использования, а также преимущества новых подходов Swift Regex с множеством практических примеров. Рекомендуем к прочтению всем, кто хочет глубже понять регулярные выражения в Swift и писать более эффективный и чистый код.

// matching a url
let link = Reference(URL.self)

let linkRB = Regex {Capture (as:link){.url()}}


👉Новости 👉База вопросов
Post #252 49
#полезное
🤓 Оптимизация математических вычислений в Swift с Accelerate
Accelerate Framework доступен на всех Apple ОС. Высокопроизводительный и энергоэффективный способ вычислений с использованием векторной обработки данных. Содержит API-интерфейсы для цифровой обработки сигналов vDSP. Сам фреймворк очень специфичный и изучить его сразу очень сложно. Статья же на конкретных примерах показывает где можно использовать фреймворк.
Использование vDSP функций:
🟠Пример кода суммирования массива значений
🟠Пример кода вычисления среднего значения массива
🟠Пример использования функции стандартного отклонения
🟠Преобразование Фурье

👉Новости 👉База вопросов
Post #251 48
#Собес #git
🤔 Что такое команда git cherry-pick?

Команда git cherry-pick позволяет выбрать и применить отдельный коммит из другой ветки в вашу текущую ветку, минуя другие изменения, которые были сделаны в той же ветке. Это полезно, когда вам нужно перенести только один коммит, а не весь набор изменений.

👉Новости 👉База вопросов
Post #250 56
#полезное
😵‍💫 Первый пример предупреждения о внешних покупках в iOS-приложении

Недавно Apple проиграли суд, после которого приложениям в США было разрешено использовать внешние покупки в приложении.

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

Кроме плашки с надписью сверху рядом с кнопкой скачивания также добавили тег external purchases.

Это предупреждение есть и на iOS, и в веб-версии.

👉Новости 👉База вопросов
Post #249 56
#полезное
🥺 SE-0481: Weak let
Swift предоставляет слабые ссылки на объекты с помощью модификатора weak. Слабые ссылки становятся nil при уничтожении объекта. Текущее правило требует объявления слабых ссылок с ключевым словом var. Это вызывает проблемы с потокобезопасностью при использовании слабых ссылок в параллельных контекстах. Предложение позволяет объединить weak с Sendable.
Мотивация:
🟠Классы с слабыми сохраненными свойствами не могут быть Sendable
🟠Замыкания с явными слабыми захватами не могут быть Sendable
🟠Разрешение слабой ссылке быть неизменяемой (weak let) решит проблему

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

Обходное решение:
🟣Обертывание слабых ссылок в структуры позволяет обойти ограничение
🟣weak ссылки в структурах ведут себя иначе, чем в других типах
🟣weak теперь можно комбинировать с let

👉Новости 👉База вопросов
Post #248 51
#полезное
😊 Swift Regex — инструмент для проверки регулярных выражений

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

🛠 Сам инструмент доступен здесь.

А исходный код можно посмотреть на GitHub (и внести собственный вклад при желании): репозиторий.

👉Новости 👉База вопросов
Post #247 48

Forwarded from YeaHub

🥳 В YeaHub теперь 2040 пользователей!

На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:

- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.

А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.

И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪

👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
  • 👍 1
Post #246 54
#новости
😇 Что нового в SwiftWasm

Поддержка WebAssembly в Swift движется очень быстро. Начиная со Swift 6.1 для сборки Wasm больше не нужен кастомный пропатченный тулчейн, достаточно официального! Короче говоря, если вы еще не пробовали собирать веб-приложения на Swift, сейчас самое время попробовать.

👉Новости 👉База вопросов
fatbobman.com Building WASM Applications with Swift Swift 6.1 now supports official WebAssembly builds via SwiftWasm—no patches needed. Use JavaScriptKit for seamless Swift–JavaScript interaction in WASM apps.
Post #245 54
#Собес #git
🤔 Как вы находите коммит, который что-то нарушил после операции слияния?

Для поиска коммита, который нарушил код после слияния, можно использовать команду git bisect . Этот инструмент помогает найти коммит, который вызывает проблему, путем бинарного поиска.

👉Новости 👉База вопросов
Post #244 55
#статьи
❤️‍🔥 В чем сложность сделать калькулятор

Для многих из нас калькулятор был чуть ли не первым приложением, которое мы написали еще на Basic или Pascal. Казалось бы, в чем сложность, когда все математические операции уже определены. Так вот, держите историю про то, что математика – это сложно, и почему калькулятор на Android работает корректнее, чем на iOS.

👉Новости 👉База вопросов
Post #243 56
#полезное
📞 Поддержка Swift в Copilot Code Review

Copilot Code Review – это AI агент от GitHub, который автоматически реаьюит ваш код: ищет баги, проблемы с перфомансом, и даже предлагает фиксы. Так вот, он вышел из Beta, и вместе с этим анонсировали поддержку Swift. Затаскивайте в ваши проекты и расскажите, как работает!

👉Новости 👉База вопросов
Post #234 59
#полезное
😊 Новая секция Develop in Swift туториалов, посвящена Machine learning
Apple обновили свой список туториалов по решению практических задач с использованием Swift.В ней можно найти пошаговые инструкции и готовые проекты по решению следующих задач:
🟠Естественный язык. Изучите возможности фреймворка Natural Language по анализу настроений текста.
🟠Распознавание текста на изображении. Пример использования связки Vision и Translation фреймворков для идентификации и перевода текста на изображении.
🟠Интеграция ML моделей в приложения
🟠Тренировка своих моделей

👉Новости 👉База вопросов
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →