Рубрика «Блог компании DataArt»

Всегда ли нужны Docker, микросервисы и реактивное программирование? - 1

Автор: Денис Цыплаков, Solution Architect, DataArt

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

Если вы не делаете что-то принципиально новое, например, первый в мире интернет-поисковик или искусственный интеллект для управления запуском ядерных ракет, создать дизайн хорошей системы довольно просто. Достаточно учесть все требования, посмотреть на дизайн похожих систем и сделать примерно так же, не совершив при этом грубых ошибок. Звучит как чрезмерное упрощение вопроса, но давайте вспомним, что на дворе 2019 год, и «типовые рецепты» дизайна систем есть практически для всего. Бизнес может подкидывать сложные технические задачи — скажем, обработать миллион разнородных PDF-файлов и вынуть из них таблицы с данными о расходах — но вот архитектура систем редко отличается большой оригинальностью. Главное тут — не ошибиться с определением того, какую именно систему мы строим, и не промахнуться с выбором технологий.

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

Переход на Kotlin в Android-проекте: Tips and Tricks - 1
Автор: Сергей Ешин, Strong Junior Android Developer, DataArt

Уже более полутора лет прошло с тех пор, как Google объявил об официальной поддержке Kotlin в Android, а самые матерые разработчики начали экспериментировать с ним в своих боевых и не очень проектах больше трех лет назад.

Новый язык тепло приняли в Android-сообществе, и подавляющая часть новых проектов на Android стартует с Kotlin на борту. Важно и то, что Kotlin компилируется в JVM-байткод, следовательно, полностью совместим с Java. Значит, в существующих Android-проектах, написанных на Java, тоже есть возможность (более того — потребность) задействовать все фичи Kotlin, благодаря которым он и приобрел столько поклонников.

В статье я расскажу об опыте миграции Android-приложения с Java на Kotlin, трудностях, которые пришлось преодолеть в процессе, и объясню, почему все это было не зря. Статья в большей степени рассчитана на Android-разработчиков, только начинающих изучение Kotlin, и кроме личного опыта, опирается на материалы других членов сообщества.Читать полностью »

Оффлайн-режим на iOS и особенности его реализации на Realm - 1

Автор: Екатерина Семашко, Strong Junior iOS Developer, DataArt

Немного о проекте: мобильное приложение для платформы iOS, написанное на языке Swift. Цель приложения — возможность шаринга дисконтных карт между сотрудниками компании и их друзьями.

Одной из целей проекта было изучить и попробовать на практике популярные технологии и библиотеки. Для хранения локальных данных выбрали Realm, для работы с сервером — Alamofire, для аутентификации использовался Google Sign-In, для загрузки изображений — PINRemoteImage.

Основные функции приложения:

  • добавление карты, ее редактирование и удаление;
  • просмотр чужих карт;
  • поиск карт по названию магазина/имени пользователя;
  • добавление карт в список избранных для быстрого доступа к ним.

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

Позже мы решили расширить оффлайн, добавив режим записи. Информация об изменениях, сделанных пользователем, сохранялась и при появлении интернет-соединения синхронизировалась. О реализации такого read-write оффлайн-режима и пойдет речь.Читать полностью »

Блокчейн-благотворительность — DataArt победил на хакатоне Malta Blockchain Summit - 1

Команда DataArt победила на крупнейшем блокчейн-хакатоне, недавно прошедшем на Мальте. За двое суток коллеги разработали платформу для проведения благотворительных онлайн-лотерей и завоевали приз в 25 тысяч долларов.

Рассказы победителей и ссылки на проект под катом.Читать полностью »

iOS runtime mobile exploration with Objection, или Хакаем собственное приложение - 1

Автор: Андрей Батутин, Senior iOS Developer, DataArt.

Не раз и не два, придя на работу (или просто встав с кровати), я обнаруживал в почте гневное письмо, суть которого сводилось к тому, что в аппсторовской сборке приложения ничего не работает, и все надо срочно чинить.

Иногда причиной были мои косяки. Иногда — моих коллег. А иногда — даже самого Apple Inc.

Но самые убийственные сценарии были связаны с багами, которые воспроизводились только на аппсторовских/релизных сборках. Ничто так не ставит в тупик и не заставляет выть перед макбуком, как невозможность подключить дебагер к собственному приложению и посмотреть, что же там происходит.Читать полностью »

QA Fest 2018: обзор главной QA-конференции Украины - 1

21–22 сентября в Киеве собрались около тысячи тестировщиков и тех, кто в принципе интересуется Quality Assurance. В этом году QA Fest проходил в пятый раз, в третий раз его партнером выступал DataArt. О самых интересных докладах и организации ивента рассказала Эллина Азадова — Senior QA в DataArt Kherson.Читать полностью »

Обход SSL Pinning в iOS-приложении - 1

Привет, меня зовут Андрей Батутин, я Senior iOS Developer в DataArt. В предыдущей статье мы говорили, как можно сниффить трафик нашего мобильного приложения с помощью HTTPS-прокси. В этой обсудим, как обходить SSL Pinning. На всякий случай, рекомендую прочитать первую статью, если вы ее еще не читали: это понадобится для понимания приведенного ниже текста.

Собственно, на практике SSL Pinning применяют, чтобы описанный способ инспекции и модификации трафика мобильного приложения не был доступен плохим парням или любопытному шефу.Читать полностью »

Как сниффить HTTPS-трафик iOS-устройства - 1

Привет, меня зовут Андрей Батутин, я Senior iOS Developer в DataArt, и сегодня мы будем сниффить HTTPS-трафик твоего «Айфона».Читать полностью »

JS-код, римские цифры, геометрические загадки: как мы шифруем свой возраст - 1

Каждый год ко дню рождения DataArt мы дарим коллегам фирменные футболки. В год нашего двадцатиления традиции исполнилось 10 лет. Мы отыскали и сфотографировали футболки, с которых все начиналось, и модели последних лет. В некоторых зашифрованы загадки, о которых успели забыть даже их авторы. Читать полностью »

Java Eastern European Conference 2018: доклады и впечатления - 1

Автор: Игорь Мастерной, Senior Developer, лидер Java-сообщества DataArt

18–19 мая в Киеве прошла JEEСonf — одно из самых ожидаемых событий для всего Java-сообщества Восточной Европы. DataArt выступил партнером конференции. На четырех сценах выступали докладчики со всего мира: Фолькер Симонис — представитель SAP в JCP и контрибьютор OpenJDK, Юрген Хёллер — главный инженер Pivotal, отец всеми любимого Spring Framework, Клаус Ибсен создатель Apache Camel, и Хью МакКи — евангелист в Lightbend.

График был очень насыщенным: за два дня более 50 выступлений, по 45 минут на каждое. 10 минут перерыва — и бежим на новый доклад. На то, чтобы посмотреть все видео, когда они появятся в сети, потребуется много времени. Поэтому кратко опишу доклады, которые я счел наиболее интересным и на которых побывал лично.Читать полностью »