Pull to refresh
31
0
Катерина @edeshina

Редактор в MobileUp

Send message

Пермишены (permissions) для тестировщика: зачем нужно, что такое и как с этим работать

Level of difficultyMedium
Reading time12 min
Views4.3K

Приветствую👋

В тестировании, особенно мобильном, существуют специфические области приложений, которые не всегда тестируются «вдумчиво» в силу своей необычности. Одна из таких областей — это разрешения или, как их принято называть, permissions (пермишены). Всё чаще я сталкиваюсь с ними в работе , на собеседованиях и в различных тренажерах по тестированию, поэтому решил погрузиться и более детально рассмотреть эту необычную и по-своему интересную часть мобильных приложений.

Меня зовут Антон, я QA Mobile в компании MobileUp. В статье я разберу, что такое пермишены, для чего нужны, какие виды существуют, где их можно найти и как тестировать.Эту статью я пишу исключительно с точки зрения ручного тестирования, но в конце текста оставлю интересные ресурсы, которые могут пригодиться для QA Auto (но это не точно 😄).

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments0

Большой обзор обновлений iOS и Android

Level of difficultyEasy
Reading time6 min
Views3.2K

Привет! Меня зовут Юля, я QA-техлид в MobileUp, более 4 лет занимаюсь тестированием мобильных приложений. Периодически я участвую в собеседованиях. И заметила, что одни из самых популярных вопросов для кандидатов — те, что касаются особенностей обновлений операциионных систем iOS и Android.

Найти на них ответы проблематично — нет места, где были бы собраны и структурированы все обновления. Поэтому я решила создать такой документ. Внутри вы найдёте информацию о последних версиях ОС и представленных обновлениях.  

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments3

Kotlin Multiplatform в мобильной разработке. Рецепты общего кода для Android и iOS

Level of difficultyMedium
Reading time9 min
Views7.4K

Kotlin Multiplatform — технология, которая позволяет использовать общую кодовую базу для бизнес-логики приложений разных платформ и писать платформенный код только там, где это необходимо. Хотя последнее время о ней много и часто говорят, найти информацию о нюансах внедрения KMP в проекты довольно сложно. В этом мы убедились лично, когда пытались разобраться, что и как именно можно безболезненно выносить в common-модуль. 

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments7

Postman Interceptor — альтернатива классическому сниффингу (краткий гайд по установке и взаимодействию)

Level of difficultyEasy
Reading time4 min
Views13K

Привет, хабровчане!

У вас было такое, когда снифаешь спокойно трафик через бесплатную версию Charles, а потом появляется окошко через час работы и закрывает программу? А может вы думаете, что переросли функционал других снифферов и хотите попробовать что-то новое и необычное? Или устали от грустного UI, когда перехватываете запросы? Если хотя бы на один вопросов вы ответили «да» — добро пожаловать в эту обзорную статью.

Меня зовут Антон, я QA Web & Mobile в компании MobileUp. И сегодня я расскажу о полезном инструменте для сниффинга трафика в вебе от команды Postman. А именно — о Postman Interceptor. В статье разберём, что это, для чего нужно, как установить и пользоваться. А в конце я оставлю ответы на вопросы, которые мне задавали коллеги, когда я рассказал про этот инструмент.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments6

Разбираемся в плагинах Jenkins

Reading time4 min
Views3.4K

Плагины — основное средство расширения функциональности Jenkins. Существует более тысячи плагинов, которые помогают интегрировать Jenkins с инструментами, представленными в цепочке DevOps-инструментов. С одной стороны, плагины позволяют создавать персонализированные интерфейсы, отвечающие нуждам и потребностям команд. Но с другой — могут становиться узким местом, замедлять и усложнять работу. 

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

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments0

Учимся создавать и настраивать Jenkins Jobs

Reading time6 min
Views13K

Jenkins CI позволяет разработчикам автоматизировать создание, тестирование и развёртывание кода. Кроме того, он оттачивает возможности для обработки любой сборки или непрерывной интеграции. Jenkins Jobs фокусируется на непрерывном создании и тестировании кода, чтобы любые внесённые изменения легко интегрировались в сборку. В этой статье мы посмотрим на Jenkins в действии — разберём, как создавать и настраивать Jenkins Jobs. 

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments1

Учимся конфигурировать и настраивать Jenkins

Reading time8 min
Views9.8K

У Jenkins есть разные конфигурации, которые можно задавать и настраивать в соответствии с потребностями различных проектов, команд и пользователей. Какие-то из этих конфигураций помогают управлять Jenkins как инструментом. А какие-то выполняют скорее статистическую роль, отслеживая работоспособность сервера Jenkins и его узлов. В статье разбираемся в деталях конфигураций и пытаемся понять, что с ними делать. 

Читать далее
Total votes 16: ↑10 and ↓6+4
Comments3

5 кейсов, как разработчику помогает знание DevOps-инструментов

Reading time7 min
Views4.5K

IT-сфера большая и многогранная. В ней обитают разработчики, сисадмины, инженеры и многие другие. Как правило, каждый специалист имеет конкретную зону ответственности и действует в её рамках. Однако сегодня всё чаще встречается мнение, что разработчикам было бы неплохо хотя бы на базовом уровне разбираться в DevOps-инструментах — «понимать, что окружает их кроме кода». 

Мы пообщались с Владиславом Килиным — тимлидом в компании Coolblue.nl — и узнали, как понимание DevOps-инструментов помогает разработчику улучшать рабочие процессы и эффективно справляться с задачами. 

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments0

MongoDB vs PostgreSQL: основные различия и особенности миграции

Reading time8 min
Views14K

Механизм хранения данных может меняться на протяжении всего жизненного цикла приложения. Абсолютно нормально, когда от решения, которое использовалось на старте, отказываются в пользу более подходящего спустя пару лет эксплуатации. Частый сценарий — «переезд» с MongoDB на PostgreSQL.

В статье расскажем о ключевых различиях между MongoDB и PostgreSQL, а также сложностях, которые возникают в результате смены СУБД. Дополнительно разберём способы миграции с MongoDB на PostgreSQL.

Ещё по теме: «Как перейти с MongoDB на Postgres без простоев и сократить расходы на 30%»

Читать далее
Total votes 15: ↑9 and ↓6+4
Comments4

Как перейти с MongoDB на Postgres без простоев и сократить расходы на 30%

Reading time19 min
Views6.3K

Рассказываем, как перейти с MongoDB на Postgres без простоев и сократить расходы на 30%.

Ещё по теме: «MongoDB vs PostgreSQL: основные различия и особенности миграции»

Читать далее
Total votes 10: ↑7 and ↓3+5
Comments3

Jenkins + Android

Reading time10 min
Views5.7K

Нередко управление «мобильным» CI/CD ложится на плечи разработчиков, хотя это и не относится к их основным обязанностям напрямую. Тогда возникают проблемы, связанные со снижением производительности и неэффективным расходованием времени. 

Чтобы оптимизировать управление «мобильными» CI/CD, важно иметь в команде человека, который разбирается и в мобильной разработке, и в CI/CD. Идеальная ситуация, когда это бывший разработчик мобильных приложений, который перешёл на должность инженера. Но, конечно, такой человек есть не везде. В статье дальше делимся правилами и рекомендациями, которые помогут избежать трудностей при настройке Jenkins для Android-проектов.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments0

Компонентный подход. Организуем навигацию с помощью библиотеки Decompose

Level of difficultyEasy
Reading time11 min
Views7.4K

Это третья часть из серии статей про компонентный подход. В предыдущей статье мы рассмотрели, как реализовать сложный экран, разбив его на набор простых компонентов. Применим эту же идею, чтобы организовать сложную навигацию.

В статье много практики. Сначала я покажу, как с помощью Decompose и Jetpack Compose создавать отдельные флоу приложения. Далее обсудим реализацию bottom-навигации. И, наконец, объединим несколько флоу воедино, чтоб получить навигацию по всему приложению.

Я покажу примеры из реального приложения. Вы увидите, что предлагаемый подход хорошо подходит для больших приложений с десятками, а то и сотнями экранов.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments2

GreenPlum: уникальные индексы для таблиц AO/CO

Reading time15 min
Views3.5K

Уникальные ограничения — классическая функция реляционной базы данных, которая обеспечивает уникальность столбца или группы столбцов во время ввода данных или построения индекса. Они могут быть указаны с помощью ключевых слов UNIQUE / PRIMARY KEY. Уникальные индексы — сущности, которые их поддерживают. Хотя такие ограничения всегда можно было указать в heap-таблицах, они не поддерживались в append optimized таблицах (AO/CO). 

В статье разберём, как уникальные индексы помогают принимать более эффективные решения по планированию. А также рассмотрим примеры базовых сценариев и объясним, как они обрабатываются. 

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments1

Партицирование в GreenPlum 7: рекурсия и наследование

Reading time7 min
Views1.8K

Важно понимать поведение рекурсии и наследования, чтобы получить правильную парадигму партицирования. Как и в предыдущей статье, в этой разбираемся с новыми командами в GreenPlum 7 и изменениями в легаси-командах.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments0

Партицирование в Greenplum 7: что нового

Reading time10 min
Views6.8K

Greenplum 7 — первая версия СУБД, совместимая с секционированными таблицами из PostgreSQL: World DB. 

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

В рамках слияния с PostgreSQL 12 Greenplum 7 вобрал в себя весь синтаксис PostgreSQL для разбиения таблиц, сохранив при этом синтаксис Greenplum. В результате у Greenplum 7 есть шанс взять лучшее из обоих миров — что именно, обсудим в этой статье. 

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments1

RabbitMQ: дополнительные возможности

Reading time8 min
Views8.9K

Сегодня обсудим узкоспециализированные возможности и кейсы использования RabbitMQ. Эти вещи полезны не всем, но в некоторых случаях помогают сэкономить уйму времени.

Что конкретно разберём:

расчёт количества консьюмеров по формуле Эрланга;

шардирование — различные способы балансировки;

дедупликацию сообщений в очереди;

многоуровневую очередь повторных попыток;

приоритеты сообщений.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments0

Разбираемся с RabbitMQ: High Availability и High Load

Reading time8 min
Views15K

Продолжаем делиться конспектами Алексея Барабанова, IT-директора «Хлебницы». На этот раз обсудим специфику работы RabbitMQ с высокими нагрузками (High Load) и обеспечением высокой доступности (High Availability). Рассмотрим различные методы увеличения производительности и горизонтального масштабирования, разберём и настроим внутренние инструменты. Также по мере погружения постараемся изучить основные подводные камни всех подходов.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments1

[Личный опыт] Плохая колбаса и бассейн на крыше: как системный инженер живёт и работает в ОАЭ

Reading time10 min
Views12K

Наш спикер и экс-CTO Слёрма Марсель Ибраев почти год живёт и работает системным инженером в Абу-Даби. Мы поговорили с Марселем, и он поделился, как прошёл собеседование на иностранном языке, хотя его английский и сейчас далёк от идеала, а до переезда в ОАЭ был ещё хуже.

А ещё рассказал про квартиру в ЖК с бассейном на крыше и назвал зарплату, на которую не стоит соглашаться айтишнику, планирующему жить в Эмиратах.

Читать далее
Total votes 30: ↑26 and ↓4+32
Comments27

Как установить и настроить LXD на Ubuntu

Reading time9 min
Views6.8K

LXD позволяет создавать контейнеры и управлять ими. В статье разберём, как настроить LXD и использовать его для запуска Nginx в контейнере. А также рассмотрим, как перенаправить трафик из Интернета в контейнер, чтобы сделать пробную веб-страницу доступной.

Данный материал не претендует на самое современное правильное решение для продакшена, а больше формирует понимание работы контейнеров, существующих альтернатив Docker.

Читать далее
Total votes 11: ↑10 and ↓1+10
Comments6

Как настроить непрерывную интеграцию в Jenkins при отправке изменений в репозиторий

Reading time7 min
Views8.2K

Jenkins — инструмент с открытым исходным кодом для автоматизации повторяющихся задач, связанных с непрерывной интеграцией и доставкой программного обеспечения. Благодаря надёжной экосистеме плагинов и широкой поддержке он справляется с разнообразными рабочими нагрузками для создания, тестирования и развёртывания приложений. В этой статье разберём, как настроить Jenkins для автоматического тестирования при отправке изменений в репозиторий.

Мы будем интегрировать Jenkins с GitHub, чтобы Jenkins получал уведомления, когда новый код загружается в репозиторий. Когда Jenkins получит уведомление, он проверит код, а затем протестирует его в контейнерах Docker, чтобы изолировать тестовую среду от хост-машины Jenkins. В качестве примера будем использовать приложение Node.js. 

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity