Интересная статья, буду ждать продолжения. Коллега сейчас занимается настройкой CI/CD. Выбрали для себя Circle CI, ресурсы наши ограничены. Если посмотреть на образ, который предлагает Circle, то видны отличия от вашего.
Вы распаковываете sdk, подтверждаете работу с лицензиями. Потом запускаете в контейнере war с дженкинсом. В такой конфигурации нельзя собрать apk. Еще нужно установить tools, platform-tools, саму платформу, опционально ndk. С учетом используемых версии, конечно же. Логично было бы изолировать окружение собственно сборки apk от дженкинса. Но когда я игрался с TeamCity, мне не удалось запустить контейнер в контейнер. С нетерпением жду продолжения.
По итогам статьи не очень понятно, есть ли в алгоритме обфусцирования рандомизация. Иными словами, запустив сборку два раза подряд получу ли я тот же самый результат.
Интересная статья, спасибо. Я правильно понимаю, что вы копирования исходники в другой проект. Как в таком случае обеспечивается синхронизация двух проектов? Не совсем понимаю логику гула, когда для распространения IP пришлось подключить библиотеку play-services-maps. Размер сборки жестко ограничен, остается надеятся что ProGuard/R8 все вырежет. Наверняка есть декларации зависимости от OpenGL без самой библиотеки карт.
Редкий пример на Dribble ограничивается статическим макетом. В придачу идет куча анимаций. Например при смене набор данных, при смене периода просмотра. Ни слова про масштабирование данных. Как быть, когда в наборе присутствие и большие и малые величины.
Подход с тестовым заданием оправдан, если одно и то же задание (а зачастую они похожи) принимают несколько потенциальных работодателей. Домашний проект может стать хорошей отрывной точкой, при необходимости его можно дорабатывать под требования разных команд. История в Git покажет как у разработчика менялись подходы к решению проблем.
Интересная статья, буду ждать продолжения. Коллега сейчас занимается настройкой CI/CD. Выбрали для себя Circle CI, ресурсы наши ограничены. Если посмотреть на образ, который предлагает Circle, то видны отличия от вашего.
Вы распаковываете sdk, подтверждаете работу с лицензиями. Потом запускаете в контейнере war с дженкинсом. В такой конфигурации нельзя собрать apk. Еще нужно установить tools, platform-tools, саму платформу, опционально ndk. С учетом используемых версии, конечно же. Логично было бы изолировать окружение собственно сборки apk от дженкинса. Но когда я игрался с TeamCity, мне не удалось запустить контейнер в контейнер. С нетерпением жду продолжения.
По итогам статьи не очень понятно, есть ли в алгоритме обфусцирования рандомизация. Иными словами, запустив сборку два раза подряд получу ли я тот же самый результат.
Интересная статья, спасибо. Я правильно понимаю, что вы копирования исходники в другой проект. Как в таком случае обеспечивается синхронизация двух проектов? Не совсем понимаю логику гула, когда для распространения IP пришлось подключить библиотеку play-services-maps. Размер сборки жестко ограничен, остается надеятся что ProGuard/R8 все вырежет. Наверняка есть декларации зависимости от OpenGL без самой библиотеки карт.
Подскажите что за тип BIT у поля blocked в таблице Client.Я не нашел такого в документации sqlite.
Редкий пример на Dribble ограничивается статическим макетом. В придачу идет куча анимаций. Например при смене набор данных, при смене периода просмотра. Ни слова про масштабирование данных. Как быть, когда в наборе присутствие и большие и малые величины.
Стоило упомянуть, что в Kotlin нет свойств, а только поля. Это имеет прямое отношение к
val
иvar
параметрам первичного конструктора.Подход с тестовым заданием оправдан, если одно и то же задание (а зачастую они похожи) принимают несколько потенциальных работодателей. Домашний проект может стать хорошей отрывной точкой, при необходимости его можно дорабатывать под требования разных команд. История в Git покажет как у разработчика менялись подходы к решению проблем.
ООП-подход представлен в статье Writing Better Adapters