Объединяем Combine и Swift Concurrency
Современные приложения часто сочетают в себе множество компонентов, имеющих сложную логику и взаимодействующих между собой. По мере разрастания приложения сложность системы растёт взрывообразно и часто выходит из-под контроля. Чтобы как-то сгладить этот эффект, применяются различные паттерны дизайна приложения. Один из таких паттернов — UDF, Unidirectional Data Flow.
Александр рассмотрел типичную задачу, с которой сталкивается практически каждый мобильный разработчик. Разобрал, какие технологии уже есть в нашем распоряжении, и показал, как создать несколько инструментов, чтобы склеить их между собой – в частности, связать механизм Backpressure в Combine с Continuations в Swift Concurrency. И объяснил, как все это поможет в тестировании многопоточного кода.
Современные приложения часто сочетают в себе множество компонентов, имеющих сложную логику и взаимодействующих между собой. По мере разрастания приложения сложность системы растёт взрывообразно и часто выходит из-под контроля. Чтобы как-то сгладить этот эффект, применяются различные паттерны дизайна приложения. Один из таких паттернов — UDF, Unidirectional Data Flow.
Александр рассмотрел типичную задачу, с которой сталкивается практически каждый мобильный разработчик. Разобрал, какие технологии уже есть в нашем распоряжении, и показал, как создать несколько инструментов, чтобы склеить их между собой – в частности, связать механизм Backpressure в Combine с Continuations в Swift Concurrency. И объяснил, как все это поможет в тестировании многопоточного кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
• Диагональ увеличат и добавят новую кнопку.
Главной темой станет появление AI фишек в iOS 18.
Please open Telegram to view this post
VIEW IN TELEGRAM
Reflection в iOS: как посмотреть содержимое любой сущности
В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего.
В данное статье расскажут, какие возможности есть у Reflection в Swift, в чем его ограничения и какие могут быть подводные камни. А так же рассмотрят его применение на примерах и так далее.
В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего.
В данное статье расскажут, какие возможности есть у Reflection в Swift, в чем его ограничения и какие могут быть подводные камни. А так же рассмотрят его применение на примерах и так далее.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как создать пользовательские значения @Environment в SwiftUI
Оболочка свойств @Environment в SwiftUI позволяет нам обмениваться данными между представлениями без явной передачи данных из представления в представление.
Хотя SwiftUI предоставляет множество встроенных значений среды, бывают случаи, когда нам нужно создавать пользовательские значения в соответствии с нашими конкретными потребностями.
Узнайте, как обмениваться данными между представлениями SwiftUI без явной передачи данных в данной статье.
Оболочка свойств @Environment в SwiftUI позволяет нам обмениваться данными между представлениями без явной передачи данных из представления в представление.
Хотя SwiftUI предоставляет множество встроенных значений среды, бывают случаи, когда нам нужно создавать пользовательские значения в соответствии с нашими конкретными потребностями.
Узнайте, как обмениваться данными между представлениями SwiftUI без явной передачи данных в данной статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
Пользовательское всплывающее окно в SwiftUI
Всплывающее окно - это своего рода модальное сообщение, которое появляется перед содержимым приложения для предоставления важной информации или запроса решения.
SwiftUI предоставляет множество API для отображения оповещений, всплывающих окон, таблиц действий, модальных таблиц. Однако ни одно из них не позволяет нам отображать пользовательское всплывающее окно.
В этой статье покажут, как повторно создать используемый компонент SwiftUI для представления пользовательских всплывающих окон и панелей.
Всплывающее окно - это своего рода модальное сообщение, которое появляется перед содержимым приложения для предоставления важной информации или запроса решения.
SwiftUI предоставляет множество API для отображения оповещений, всплывающих окон, таблиц действий, модальных таблиц. Однако ни одно из них не позволяет нам отображать пользовательское всплывающее окно.
В этой статье покажут, как повторно создать используемый компонент SwiftUI для представления пользовательских всплывающих окон и панелей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчики против тестирования
Всем привет! Сегодня у нас в гостях Александр Сычёв(эксперт из KTS). Мы побеседуем с ним на тему тестирования. Обсудим, должен ли разработчик писать тесты, какими они должны быть, почему у нас не работает пирамида тестирования и начнёт ли ИИ писать тесты вместо нас.
💬 Т-Г канал Саши @headOfMobile
📹 Ютуб Екатерины https://www.youtube.com/@CaptainSingleton
🔢 Школа разработчиков KTS @ktsdaily
Всем привет! Сегодня у нас в гостях Александр Сычёв(эксперт из KTS). Мы побеседуем с ним на тему тестирования. Обсудим, должен ли разработчик писать тесты, какими они должны быть, почему у нас не работает пирамида тестирования и начнёт ли ИИ писать тесты вместо нас.
Please open Telegram to view this post
VIEW IN TELEGRAM
Записали мок-собес по дизайн системе, в субботу пишем с ребятами из "Дизайн Такой @design_takoy" совместный подкаст. Ждите 🙂
Привет друзья! Сегодня пятница и мы нашли для вас интересный iOS собес, где в роле интервьюера выступает голосовая реализация ChatGPT. В роли кандидата - senior ios dev.
Поэтому присаживайтесь поудобнее, доставайте блакноты для записи и приятного просмотра!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
AI: типовые задачи iOS разработчика
Статья на Хабре описывает задачи, которые могут быть решены с помощью искусственного интеллекта в разработке iOS-приложений. В частности, рассматриваются две типовые задачи: публикация аватара и ввод буквенно-цифровых идентификаторов.
Для решения первой задачи предлагается использовать нейронную сеть YOLOv3 для классификации изображений, что позволяет фильтровать неподходящие фотографии.
Вторая задача решается с помощью OCR (распознавание текста) для ввода текста с изображений. Обсуждаются инструменты Apple для создания и использования нейронных сетей в мобильных приложениях.
Статья на Хабре описывает задачи, которые могут быть решены с помощью искусственного интеллекта в разработке iOS-приложений. В частности, рассматриваются две типовые задачи: публикация аватара и ввод буквенно-цифровых идентификаторов.
Для решения первой задачи предлагается использовать нейронную сеть YOLOv3 для классификации изображений, что позволяет фильтровать неподходящие фотографии.
Вторая задача решается с помощью OCR (распознавание текста) для ввода текста с изображений. Обсуждаются инструменты Apple для создания и использования нейронных сетей в мобильных приложениях.
Виды логирования в Swift
Цель статьи — сэкономить время начинающих разработчиков, уберечь их от бесконечного потока непонятных сообщений в консоли и от нервов, потраченных на поиск «той самой» строки, которая всё объясняет. Мы разберем виды принтов и напишем свой небольшой логгер, который можно внедрить сразу, параллельно чтению.
Логирование — важный инструмент в арсенале разработчика. Оно помогает систематизировать наши сообщения (коих со временем может появиться огромное количество), дает возможности фильтрации и многое другое. В этой статье посмотрим, какие инструменты от Apple у нас в распоряжении
Продолжение в статье
Цель статьи — сэкономить время начинающих разработчиков, уберечь их от бесконечного потока непонятных сообщений в консоли и от нервов, потраченных на поиск «той самой» строки, которая всё объясняет. Мы разберем виды принтов и напишем свой небольшой логгер, который можно внедрить сразу, параллельно чтению.
Логирование — важный инструмент в арсенале разработчика. Оно помогает систематизировать наши сообщения (коих со временем может появиться огромное количество), дает возможности фильтрации и многое другое. В этой статье посмотрим, какие инструменты от Apple у нас в распоряжении
Продолжение в статье
В App Store появилось новое приложение Сбера — Умный онлайн.
Банк также предупредил, что старые версии скоро перестанут работать.
Качаем, пока не удалили.
Банк также предупредил, что старые версии скоро перестанут работать.
Качаем, пока не удалили.
• До сих пор часы не умели распознавать сон и считали, что вы спите, лишь когда включен спящий режим.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Стэнфордский курс CS193P «Разработка iOS приложений в SwiftUI»: русскоязычный конспект с адаптацией к iOS 17
Если вы хотите получить фундаментальные знания по разработке iOS приложений с помощью SwiftUI, вам следует пройти стэнфордский курс CS193P.
В иллюстрированных русскоязычных конспектах этого курса сделаны пометки, касающиеся изменений в iOS 17, а также восполнены некоторые фрагменты лекций, где есть звук, но пропадает изображение, когда профессор демонстрирует что-то «в живую».
Если вы хотите получить фундаментальные знания по разработке iOS приложений с помощью SwiftUI, вам следует пройти стэнфордский курс CS193P.
В иллюстрированных русскоязычных конспектах этого курса сделаны пометки, касающиеся изменений в iOS 17, а также восполнены некоторые фрагменты лекций, где есть звук, но пропадает изображение, когда профессор демонстрирует что-то «в живую».