
В этой статье мы рассмотрим принципы работы памяти в Swift и разберемся, как Swift располагает байты в памяти, как управляет памятью и что из себя представляет жизненный цикл объектов.
AQA Lead & SDET
В этой статье мы рассмотрим принципы работы памяти в Swift и разберемся, как Swift располагает байты в памяти, как управляет памятью и что из себя представляет жизненный цикл объектов.
Если разобраться поглубже, язык Swift, является крайне продуманным и собрал в себе все лучшее из многообразия языков. Он быстрый, продуманный и очень оптимизированный. Каждый его инструмент, всегда преследует определенную цель и не всегда понятно с первого раза, какую же такую цель преследует изучаемый инструмент, но поверьте, цель есть всегда. Так и у протоколов есть масса возможностей и перекочевали они с Objective-C не просто так. Начнем мы с простого и плавно перейдем к более сложному (хотя протоколы весьма просты в усвоении и очень функциональны).
материал предназначен для новичков в разработке, которые только изучают язык и его возможности.
Как стать продакт-менеджером с 0 из другой профессии. Часть 2 — Личный план.
В этой части статьи мы поговорим о практическом применении материала первой части и переходе из одной профессии продукт-менеджера. В качестве примера возьмем менеджера по обслуживанию клиентов и аналитика, которые переходят в управление продуктом, и на их примере построим конкретные пути освоения профессии и разберем примеры перехода.
Данный материал является одним из возможных путей а не чудодейственным средством!
Прежде всего, давайте поговорим о двух концепциях обучения – «Т» и «Х». Эти концепции важны для дальнейшего понимания, выбора карьерного пути и перехода из профессии в профессию.
Об управление памятью в iOS ходят много слухов, поэтому я собрал все самые интересные в интернете и попробовал их структурировать в один большой
@State
, @Binding
, @ObservedObject
, @EnvironmentObject
и @Environment
. Итак, давайте попытаемся понять разницу между ними и когда, почему и какую из них мы должны использовать.Хабр, привет!
Меня зовут Борис. Я Mobile AQA lead в Vivid Money.
Это вторая статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.
Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.
В рамках этой статьи мы разберем такие этапы:
- зачем распараллеливать тесты?;
- распараллеливаем тесты, используя Xcode;
- распараллеливаем тесты, используя Fastlane.
Хабр, привет!
Меня зовут Борис. Я Mobile AQA lead в Vivid Money.
Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.
Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.
В рамках этой статьи мы разберем такие этапы:
- зачем ускорять время прохождения UI-тестов;
- что такое Test runner, и какие они бывают;
- что нужно для прогона тестов без компиляции проекта;
- делимся опытом, как это помогает нам.
Помните фразу «ему не дано быть лидером»? Но данность ли это? Уверена, что нет. Лидерские качества в себе можно развить, как и другие soft skills, а предрасположенность — харизма и прочие природные данные — всего лишь помогают в этом, но не являются определяющими. Как самостоятельно «прокачать» в себе лидерство и какие лидерские навыки особенно нужны разработчикам, которые хотят стать тимлидами?
DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus.
Prometheus был создан на SoundCloud в 2012 году и с тех пор стал стандартом для мониторинга систем. У него полностью открытый исходный код, он предоставляет десятки разных экспортеров, с помощью которых можно за считанные минуты настроить мониторинг всей инфраструктуры.
Prometheus обладает очевидной ценностью и уже используется новаторами в отрасли, вроде DigitalOcean или Docker, как часть системы полного мониторинга.
Что такое Prometheus?
Зачем он нужен?
Чем он отличается от других систем?
Если вы совсем ничего не знаете о Prometheus или хотите лучше разобраться в нем, в его экосистеме и всех взаимодействиях, эта статья как раз для вас.
Всем привет!
Мы продолжаем нашу серию статей о Kaspresso!
Это первая статья из раздела advanced, в котором мы будем рассказывать о тонкостях и деталях реализации фичей Kaspresso.
Когда сравнивают фреймворки автоматизации (На чем писать Android UI-тесты), в плюс Appium часто записывают исполнение adb-команд. А вот у Espresso и UI Automator этого функционала нет.
В Kaspresso мы попробовали это исправить и добавили AdbServer, о котором и поговорим.
Всем привет! Мы запускаем большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Статьи планируются разного уровня сложности: первые материалы будут рассчитаны на людей, которые никогда не программировали и ничего не автоматизировали, в последних вы найдете хардовые детали реализаций разных сложных механизмов и инфраструктуру. То есть в совокупности весь туториал будет полезен как для тех, кто лишь начинает поэтапное погружение в автоматизацию с Kaspresso, так и для опытных разработчиков, которые могут найти разные полезные детали реализаций или почерпнуть интересные практики.
Мы знаем, что вы долго просили подобный туториал. И наконец-то мы нашли время и энергию, чтобы претворить это в жизнь!
Итак, в первой статье мы очень подробно рассмотрим, как подготовить рабочее окружение для работы с Kaspresso, как скачать и запустить первые тесты на эмуляторах и реальных девайсах, а также как посмотреть результаты первых прогонов. Статья идеально подойдет тем, кто не имеет никакого опыта в разработке или автоматизации.
Всем привет. Мы в Avokado Project продолжаем рассказывать про автотестирование в Android. Эта статья — обзор и сравнение существующих инструментов для написания UI-тестов.
Давайте начнем с того, что вспомним, как обычно выглядит процесс тестирования. Будем называть сущность, которая взаимодействует с приложением, клиентом. Для взаимодействия с приложением клиенту обычно доступно несколько интерфейсов: API, REST API, CLI, GUI и т.д. И если, например, API используются клиентами-программами, то GUI используется человеком.
Ожидания от поведения приложения описываются в спецификации. Задача тестирования — проверить, что поведение приложения соответствует спецификации.
Доброго времени суток, хабровчане. В этом цикле статей, я бы хотел рассказать о реактивном программировании, а именно о фреймворке
RxSwift. На Хабре и в сети были статьи по RxSwift, но, на мой взгляд, они слишком трудны для начинающих. Поэтому, если вы начинаете постигать реактивное программирование в iOS, то прошу под кат.