Как стать автором
Обновить
0.33

Gradle *

Система автоматизации сборки Java-проектов

Сначала показывать
Порог рейтинга
Уровень сложности

Как мониторить здоровье вашей Gradle-сборки

Время на прочтение 11 мин
Количество просмотров 4.7K

Как себя чувствуют ваши Gradle-сборки? Рассказываем, как проверить их состояние и как «подлечить», чтобы CI работал чётко.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Новости

Protobuf или Reflection в JNI

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 9.3K

Вы когда нибудь задумывались, на сколько grpc быстрый. Да в сети, ему равных нет. Если вы гоняете маленькие сообщения, которые надо быстро доставить, то лучше grpc попросту не найти ( найти, но по мнению автору protobuf остается движком сериализации, поддерживающим большее кол-во языков ). Но насколько он хорош? Сможет ли он к примеру сравнится просто с нативными вызовами?

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

Читать далее
Всего голосов 12: ↑8 и ↓4 +4
Комментарии 14

Убираем дублирование конфигурации Gradle и при чём здесь косы и горы

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 1.7K

Хотите избавиться от дублирования конфигураций и зависимостей Gradle в многомодульном проекте? В данной статье я расскажу свой способ от этого избавиться и упростить себе конфигурацию новых модулей.

Статья больше ориентирована на специфику Android, но может пригодиться и другим пользователям Gradle.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 8

Gradle для тестировщика

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 3.9K

Всем привет. Меня зовут Ирек, и я в профессиональном IT с 2012 года. Прошел путь от специалиста службы поддержки до разработчика. На данный момент занимаюсь автоматизацией тестирования в компании РТК ИТ.

В статье хочу рассказать о полезных для автоматизатора возможностях Gradle.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 0

Истории

Как проверить наличие обновлений зависимостей в Gradle?

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 2.5K

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

Именно об этом, Я и расскажу в этой статье.

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 9

Автоматизация публикации Android приложений в Google Play и Huawei AppGallery — инструкция от А до Я

Уровень сложности Сложный
Время на прочтение 19 мин
Количество просмотров 13K

Всё еще публикуете релизы Android приложений вручную? Почитайте наше подробное руководство как полностью автоматизировать публикацию Android приложений в Google Play и Huawei AppStore через Gradle и CI/CD. Подробно от А до Я.

Почитать инструкцию
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 11

Многомодульный BDSM. Бутылочные горлышки среди модулей

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 1.9K

Часто бывает, что после разбиения проекта на модули скорость его сборки сильно ниже ожидаемой. Причины могут быть разные, от кривых настроек Gradle до неподходящего железа. Сегодня я хочу разобрать одну из причин — бутылочные горлышки среди модулей, и как с ними бороться.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 1

JavaFx application with Spring boot

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 5.8K

В этой статье я продемонстрирую, как с помощью JavaFX и Spring Boot разработать Desktop-приложение с простыми и понятными инструкциями. Рассмотрим плюсы и минусы данного подхода, а так же посмотрим на варианты создания интерфейса для Java приложения. А так же обсудим как можно распространять Java приложение и не заботиться о том что у пользователя может не быть JVM или других необходимых инструментов для работы вашего крутого приложения.

Читать статью
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 23

Какие параметры компьютера влияют на скорость сборки Gradle проекта

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 5.1K

Как вы думаете, какие характеристики сильнее влияют на скорость сборки вашего проекта: частота CPU или частота оперативной памяти? Количество ядер CPU или количество оперативной памяти? Влияет ли скорость постоянной памяти на скорость сборки? Однажды у меня в голове возникли такие вопросы, и я решил найти на них ответы. Лучший способ для этого — провести тесты. Поэтому представляю вам их результаты и попытаюсь их объяснить в меру своих знаний. Если хотите узнать, что больше всего влияет на скорость сборки, ну или, может быть, хотите обновить компьютер для сборки, но не знаете, во что лучше вложится, то добро пожаловать в статью.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 10

Собственный и полезный Spring Boot Banner

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 3.3K

Добавление собственного Spring Boot Banner в приложение, от ручного к автоматическому.

Баннер – это первое что мы видим при запуске приложения, который по умолчанию говорит нам, что приложение работает на Spring Boot определенной версии.

Но при желании, мы можем добавить свой собственный баннер, с полезной для нас информацией.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 3

Не бойтесь использовать Gradle

Время на прочтение 9 мин
Количество просмотров 17K

Дорогие junior и все, кто занимается copy-past конфигов Gradle.

В этой статье я хочу простым языком рассказать вам о gradl'овой конфигурации сборки вашего проекта, чтобы вы не боялись использовать Gradle.

Читать далее
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 21

Как сделать удобное взаимодействие с Kotlin из Swift: решение с помощью плагина MOKO KSwift

Время на прочтение 8 мин
Количество просмотров 1.3K

Привет! На связи Алексей Михайлов, технический директор компании IceRock Development. В прошлой статье я рассказывал о том, какие проблемы есть в работе с Kotlin со стороны Swift, и рассматривал способы их решения. В этой статье подробно остановлюсь на третьем решении, которое мы используем на практике. Это Gradle-плагины, а именно плагин, который мы разработали сами.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Статический анализ кода в современной Java-разработке

Время на прочтение 9 мин
Количество просмотров 14K

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

Если вы идёте по пути подготовки развесистых страничек на wiki по стилям кодирования и правилам оформления кода, то это дурно пахнет. Есть другой более надёжный способ, как защитить вашу кодовую базу и добиться полного соблюдения всех принятых стандартов и соглашений. И это, конечно же, статический анализ кода.

Далее я покажу своё видение того, какие инструменты и в какой конфигурации должны применяться на Java проектах, а особенно в микросервисах.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 20

Ближайшие события

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business Code Conference
Дата 30 ноября
Время 17:30 – 00:00
Место Москва
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн
YaTalks 2023 — главная конференция Яндекса для IT сообщества
Дата 5 – 6 декабря
Время 9:00 – 23:59
Место Москва Белград Онлайн

Как мы ускоряли сборку Android-приложения из двух миллионов строк кода

Время на прочтение 18 мин
Количество просмотров 14K

Всем привет! Наверняка каждый Android-разработчик хоть раз сталкивался с проблемой скорости сборки своего проекта. После нехороших слов в адрес кодогенерации, покупок более мощного железа, многочисленных попыток распилить проект на небольшие параллельно собираемые модули и прохождений всех стадий торга мы продолжаем искать решение этой проблемы. К счастью, за годы развития и в Gradle, и Android Gradle Plugin (AGP) появилось много полезных штук для ускорения сборки, о которых я расскажу дальше.


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


Я расскажу на примере мобильного Яндекс Браузера. У нас было ~150 Gradle-модулей, ~2 млн LoC на Java/Kotlin, десяток Gradle-плагинов, тысячи строк кода в buildSrc и лёгкая дрожь от вопроса, сколько ещё может переварить билд-система. Не скажу, что это всё было категорически необходимо, но к написанным строчкам кода надо проявлять уважение.

Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 19

Gradle и нетривиальная конфигурация

Время на прочтение 22 мин
Количество просмотров 8.2K

Каждый из нас знакомился с новомодными библиотеками, фреймворками, инструментами по getting started статьям из документации. В них всё складывается как по полочкам, в пёстрых красках показывается как всё просто и легко. Однако зачастую картина меняется, когда в Ваш новорожденный проект требуется подключить не одну условную библиотеку, а набор. Getting started осложняются появлением инородных элементов, и в процесс приходится подключать инстинкты. Когда за плечами многолетний опыт разработки и не один поднятый с колен проект, такая задача не видится проблемной. Однако, когда Вы делаете это в первый раз, инстинкты подводят. Впоследствии оглядываясь назад, мы жалеем о том, что в начале у нас не было опыта, который есть сейчас. Да и откуда было бы его получить? Ведь в getting started о таком не пишут, а проекты, в которых мы работаем не с самого начала, уже прошли этап становления.

Читать далее
Всего голосов 11: ↑6 и ↓5 +1
Комментарии 12

[Android] Ускорение сборок flavors и buildTypes малой кровью и кастомным BuildConfig

Время на прочтение 7 мин
Количество просмотров 3.2K

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Объектно-ориентированный Gradle. Настраиваем Build types в Android, используя Kotlin DSL

Время на прочтение 4 мин
Количество просмотров 5.5K

В этой статье мы поговорим о том, как наша команда перешла на Kotlin DSL для описания Gradle файлов, и как в итоге мы получили типы сборок, описанные классами и имеющие общий интерфейс.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 4

Автоматизация changelog в системе сборки Gradle

Время на прочтение 4 мин
Количество просмотров 1.7K


Маленькой команде не составляет труда поддерживать историю изменений приложения в ручном режиме. Но, когда команда начинает расширяться, такой файл как changelog, находящийся в системе контроля версий, становится «узким горлышком» и приводит к постоянным конфликтам и росту напряжения в команде.


На помощь, как всегда, приходит автоматизация. Если интересно узнать о том, как автоматизировать генерацию changelog в gradle проекте, добро пожаловать под кат.

Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 4

Создание телеграм-бота (Spring Boot, Kafka, PostgreSQL), часть вторая

Время на прочтение 19 мин
Количество просмотров 5.4K

Всем привет, это вторая часть создания телеграм-бота (ссылка на первую часть), в ней мы реализуем Kafka Consumer, который будет ловить любые колебания в силе и выдавать нам всю информацию о действиях пользователя.

Читать далее
Всего голосов 6: ↑1 и ↓5 -4
Комментарии 1

Создание телеграм-бота (Spring Boot, Kafka, PostgreSQL), часть первая

Время на прочтение 17 мин
Количество просмотров 35K

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

Статьи будут разделены на 2 части, первая часть - создание основного бота с оправкой логов (Kafka Producer) и записью их в БД, вторая часть - обработка всех логов (Kafka Consumer).

Читать далее
Всего голосов 16: ↑10 и ↓6 +4
Комментарии 17

Вклад авторов

Работа

Java разработчик
331 вакансия