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

Редактор в MobileUp

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

Level of difficulty Medium
Reading time 9 min
Views 5.2K

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

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

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

Reading time 4 min
Views 11K

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

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

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

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

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

Reading time 4 min
Views 2.5K

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

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

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

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

Reading time 6 min
Views 9.4K

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

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

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

Reading time 8 min
Views 7.1K

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

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

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

Reading time 7 min
Views 4.3K

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

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

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

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

Reading time 8 min
Views 11K

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

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

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

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

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

Reading time 19 min
Views 5.9K

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

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

Читать далее
Total votes 11: ↑8 and ↓3 +5
Comments 3

Jenkins + Android

Reading time 10 min
Views 5.2K

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

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

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

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

Level of difficulty Easy
Reading time 11 min
Views 6K

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

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

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

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

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

Reading time 15 min
Views 2.6K

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

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

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

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

Reading time 7 min
Views 1.4K

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

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

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

Reading time 10 min
Views 4.9K

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
Comments 1

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

Reading time 8 min
Views 7.3K

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

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

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

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

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

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

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

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

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

Reading time 8 min
Views 11K

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

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

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

Reading time 10 min
Views 12K

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

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

Читать далее
Total votes 40: ↑36 and ↓4 +32
Comments 27

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

Reading time 9 min
Views 5.6K

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

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

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

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

Reading time 7 min
Views 6.2K

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

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

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

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

Reading time 10 min
Views 7.7K

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

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

Читать далее
Total votes 11: ↑8 and ↓3 +5
Comments 7

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

Reading time 11 min
Views 26K

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

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

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

Information

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