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

Редактор в MobileUp

Send message

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

Level of difficultyMedium
Reading time9 min
Views6.5K

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

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

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

Level of difficultyEasy
Reading time4 min
Views12K

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

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

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

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

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

Reading time4 min
Views2.9K

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

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

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

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

Reading time6 min
Views12K

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

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

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

Reading time8 min
Views8.8K

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

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

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

Reading time7 min
Views4.4K

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

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

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

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

Reading time8 min
Views13K

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

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

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

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

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

Reading time19 min
Views6.1K

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

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

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

Jenkins + Android

Reading time10 min
Views5.4K

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

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

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

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

Level of difficultyEasy
Reading time11 min
Views7K

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

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

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

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

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

Reading time15 min
Views3.2K

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

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

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

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

Reading time7 min
Views1.6K

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

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

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

Reading time10 min
Views6K

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.3K

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

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

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

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

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

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

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

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

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

Reading time8 min
Views13K

Продолжаем делиться конспектами Алексея Барабанова, 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.4K

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

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

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

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

Reading time7 min
Views7.4K

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

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

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

Как настроить OpenVPN на Debian 11. Часть 2

Reading time10 min
Views8.9K

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

В первой части мы запустили OpenVPN на Debian 11. Однако, прежде чем начать его использовать, нужно создать файл конфигурации для клиентской машины. Во второй части разберём, как создать инфраструктуру, которая будет генерировать файлы конфигурации клиента. А также отдельно рассмотрим, как установить клиентский VPN-профиль на Windows, macOS, Linux, iOS и Android.

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

Как настроить OpenVPN на Debian 11. Часть 1

Reading time11 min
Views29K

Когда вы настраиваете удалённый доступ, важно не только предоставить всем сотрудникам подключение к нужным сервисам, но и позаботиться о безопасности. В этом помогает VPN — виртуальная частная сеть. VPN-сервер действует как единая точка входа: он аутентифицирует пользователей и создаёт зашифрованный туннель между их устройствами и частной сетью. А ещё он считается более гибким решением, чем, например, SSH Jump Server. 

Вы можете использовать платный VPN или создать и администрировать собственный. В этой статье разбираем, как настроить OpenVPN на Debian 11.

Читать далее
Total votes 13: ↑11 and ↓2+11
Comments18

Information

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