Pull to refresh

Kotlin + Maven toolchain

Level of difficultyEasy
Reading time5 min
Views723

Главная идея статьи - это показать как заставить ЭТО (kotlin & maven toolchain) работать вместе. Детального описания Maven toolchain здесь не будет, но есть краткое описание новых улучшений.

Решение нестандартное, попахивает немного хаком.

Вкратце о Maven toolchain.

Эта фича позволяет подключать нужную версию jdk (или других инструментов) автоматически. До апреля 2024 года maven toolchain плагин был довольно слабенький (по сравнению с gradle toolchains).

Но вот недавно (в апреле 2024) подъехала новая версия, которая поддерживает новые фишки, как в gradle.

...

Похакаем maven ))
Total votes 3: ↑5 and ↓-2+7
Comments1

Сбой навигационной системы остановил работу марсианского зонда НАСА MAVEN

Reading time2 min
Views710

Произошедший в начале года сбой навигационной системы орбитального зонда НАСА MAVEN (Mars Atmosphere and Volatile EvolutioN) подорвал возможность аппарата проводить научные исследования и изучать атмосферу Марса. 19 апреля космическое агентство вывело устройство из безопасного режима с ограниченными возможностями. 

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

Вышел IntelliJ IDEA 2023.1

Reading time5 min
Views8.9K

Вышло обновление IntelliJ IDEA 2023.1 с усовершенствованным пользовательским интерфейсом, улучшениями производительности, в результате чего импорт Maven стал быстрее, а функции IDE теперь доступны при открытии проектов. Новая версия обеспечивает упрощенный процесс фиксации благодаря фоновым проверкам. IntelliJ IDEA Ultimate также поддерживает навигацию для сопоставлений запросов Spring Security.

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

НАСА сообщило о двухнедельной паузе в передаче данных на марсианские исследовательские аппараты

Reading time1 min
Views942

Американское космическое агентство объявило о двухнедельном перерыве передачи данных на марсианские исследовательские аппараты из-за положения Земли, Марса и Солнца.

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

Космический зонд MAVEN запечатлел Марс в ультрафиолете

Reading time1 min
Views1.7K

НАСА представило два новых снимка Марса в ультрафиолете, сделанных космическим зондом MAVEN (Mars Atmosphere and Volatile EvolutioN). Благодаря этим данным учёные могут подробнее изучить особенности поверхности и атмосферы Марса.

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

13 декабря проведем Naumen Java Meetup #2 для опытных разработчиков

Reading time2 min
Views428

13 декабря проведем Naumen Java Meetup #2 для опытных разработчиков.

→ Зарегистрироваться на митап.

В программе:

🔸 Continuous dependency update: как обновить тысячи Maven зависимостей и не сойти с ума — Денис Абрамов, Naumen

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

Рано или поздно приходит понимание, что всем этим зоопарком надо как-то управлять, желательно автоматически.

Я расскажу, как, используя maven плагины, чуточку Groovy и очень много Jenkins, мы в Naumen Service Management Platform пришли к решению этой проблемы.

Доклад будет полезен разработчикам и девопсам, которые сталкиваются с поддержкой систем с множеством внешних зависимостей.

🔸 Spring и Camunda BPMN — метод построения асинхронной шины бизнес-процессов — Семён Немытов, BI.ZONE

Обзорный доклад фреймворка, который можно интегрировать в актуальную платформу Spring на базе языка Java. Он поможет ускорить процесс написания функционала и наглядно увидеть структуру бизнес-процесса.

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

🔸 Spring Security. Повседневное и неочевидное — Павел Кислов, Домклик

Повесть кратко и с юмором о том:

— как устроен современный Spring Security;
— как он работает в Spring Boot-приложениях;
— как это исторически сложилось;
— какие нововведения пришли начиная с версии 5.7;
— что меняется при переходе на Spring Boot 3.0.

Этот доклад — kindly reminder, который позволит знающим освежить забытые прописные истины, а незнающим, понять принципы работы и посмотреть под капот must have инструмента для любого современного Spring-приложения.

Встречаемся онлайн 13 декабря в 16:00 мск 🧡

P.S. Если вы из Екатеринбурга — ждём на афтепати, где вживую вы сможете пообщаться со спикерами, программным директором и познакомиться друг с другом. Место и время встречи смотрите на сайте.

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

Как ускорить прогон тестов в многомодульном проекте Maven

Reading time8 min
Views3K

Большое количество модулей Maven замедляет сборку проекта и время прогона тестов. Для того, чтобы сохранить многомодульную структуру проекта и быстро прогонять тесты, мы в Wrike написали новый инструмент — Maven Modules Merger, который сократил время некоторых сборок с 50 до 12 минут. В статье подробно расскажу о том, с какими проблемами нам помог справиться Maven Modules Merger и поделюсь подробностями его создания.

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

Скрещиваем ужа с ежом: OpenJDK-11 + GraalVM

Reading time12 min
Views6.3K
Привет, Хабр! В свете не самых давних новостей про политику Oracle относительно лицензирования джавы всё острее встаёт вопрос ухода от оракловых версий в сторону OpenJDK. Оданко в OracleLabs уже давно делают весьма крутую штуку под названием GraalVM, который представляет из себя крутой JIT-компилятор, написанный на джаве, а также рантайм для запуска кода на таких языках как JavaScript, Ruby, Python, C, C++, Scala, Kotlin, R, Clojure. Впечатляет, правда? Но не о крутоте полиглот-среды я хочу вам рассказать. Речь пойдёт про сложности вкорячивания самой свежей сборки грааля в экосиситему OpenJDK 11 и чуток про производительность, совсем чуток…
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments6

Семантика средств разрешения зависимостей

Reading time13 min
Views3.1K

Средство разрешения зависимостей


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


Ограничения обычно задаются именами модулей и номерами версий. В экосистеме JVM для модулей Maven будет ещё указано наименование организации (group id). Кроме того, ограничения могут содержать диапазоны версий, исключаемые модули, переопределения версий и т.п.


Три основных категории пакетов представлены OS-пакетами (Homebrew, Debian-пакеты, и т.п.),
модулями для конкретных языков программирования (CPAN, RubyGem, Maven, etc) и расширения, специфичные для приложения (Eclipse plugins, IntelliJ plugins, VS Code extensions).

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments1

Telegram Bot — помощник в планировании мероприятий

Reading time3 min
Views24K
Всем привет :)

Хочу показать вам свою разработку и очень хотелось, чтобы эта вещь стала полезной не только мне и моему окружению, а всем-всем-всем.

image

И сразу к делу. Это бот для телеграмма. Называется он так: EventPlannerChecker

По этому имени вы его можете найти с помощью поиска в телеграмме.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments24

TelegramBot. Базовый функционал. Мухи отдельно, котлеты отдельно. (Часть 2)

Reading time13 min
Views44K
Продолжаем разрабатывать базовый функционал для бота в телеграм. В предыдущих частях обсуждался момент, что работу бота по получению сообщений, обработке и отправке нужно разделять. Давайте попробуем с помощью базовых инструментов Java Core сделать нашего бота многопоточным и асинхронным. Придумаем ему такое задание, которое занимает очень много времени на обработку. Рассмотрим как работают команды в телеграмме и как их нужно обрабатывать.

Это продолжение первой части статьи по программированию ботов для телеграмм на Java
TelegramBot инструкция по созданию базового функционала для бота. (Часть 1)
Кому интересно дальше, милости прошу под кат…
Читать дальше →
Total votes 9: ↑4 and ↓5-1
Comments7

TelegramBot. Базовый функционал. Стикеры и смайлы. (Часть 3)

Reading time7 min
Views53K
Один из вопросов, который часто приходит в личку — как работать со смайлами(эмодзи) и стикерами.

Как с ними работать, какими инструментами пользуюсь я и т.д.

В данной части будут рассмотрены такие вещи: как создать сообщение со стикером, как обработать полученное сообщение со стикером, как найти в тексте сообщения все смайлы(эмодзи), как создать сообщение с использованием смайлов (эмодзи).

Кому интересно, прошу под кат.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments1

Автоматизация HotFix в Maven проектах с использованием TeamCity

Reading time5 min
Views2.5K

Я из компании Luxoft.
В этом посте будет описана настройка автоматизации HotFix в Maven проектах с использованием Teamcity.


Чтобы сделать HotFix обычно делается много ручных действий:


  1. Создать бранч для релиза, на который вы хотите выкатывать HotFix
  2. Исправить ошибку в релизе
  3. Измененить bugfix версию в релизном бранче
  4. Выкатить тег bugfix версии

Пункты 1,3,4 можно автоматизировать.

Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments6

Простой и удобный шаблон тестового фреймворка на selenide для UI автотестов

Reading time5 min
Views20K
Здравствуйте.

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

Что будем использовать: Java, Selenide, Alure, TestNG, Maven.


Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments4

Создаем Gatling скрипты с помощью VS Code

Reading time3 min
Views3.8K

Перевод статьи подготовлен в преддверии старта курса «Нагрузочное тестирование».





Предисловие


Недавно, благодаря комментарию одного из студентов, изучающих мой курс Gatling Fundamentals, я узнал о том, что вы можете создавать Gatling скрипты с помощью Visual Studio Code. Я, честно говоря, понятия не имел, что это возможно, — но был приятно удивлен, обнаружив, насколько хорошо это работает!

Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments0

Maven плагин для JPackage из Java 14

Reading time3 min
Views4.2K
Добрый день!

Не так давно вышла новая Java 14. Среди многих интересных фич меня заинтересовала одна, а именно упаковщик jpackage (пока в инкубаторе).

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

Описание, как пользоваться инструментом, есть в статье.

Поиграв с упаковщиком, мне захотелось попробовать внедрить его на своем pet-проекте.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments7

Простое решение для визуального регрессионного тестирования на Java + Selenium Webdriver + aShot

Reading time4 min
Views13K
Здравствуйте.

Я уже публиковал статью о своем опыте автоматизации визуального регрессионного тестирования.

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



VisualRegressionFramework — это довольно простое решение для небольших проектов. Для проекта с которым я работаю написано около 50 автотестов (страницы + элементы).
Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments5

[кейс Locomizer] Как за два с половиной года ускорить расчёт тепловой карты в 20 000 раз

Reading time31 min
Views3.7K
Данная статья является продолжением серии «Кейс Locomizer», см. также


Здравствуйте.

КПДВ: TC, EMR, IDEA

Знаете, что такое «постмортем»? Это повествование о том, как мы дошли до жизни такой.

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

К тому же, если я просто кину ссылку на репозиторий с таким софтом, вряд ли кто-либо сможет врубиться, что это и зачем, и для решения каких задач может быть полезно. Даже если переведу с английского три десятка страниц инструкции по началу работы. Всё же, фреймворк на Spark — это не очередная поделка на ангуляре, надо понимать, что курилипочему авторы написали его именно таким, а не иначе.

Данная статья — историческая вводная по One Ring. Кода в ней нет, и рассказ скорее популярный, чем научный. Зато только про разработку, и ни о чём другом, кроме двух с половиной лет разработки.
Погнали в Нуменор?
Total votes 6: ↑6 and ↓0+6
Comments38

Отображение разработчикам статуса контроля качества исходного кода в SonarQube

Reading time5 min
Views6.8K

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


Задача: Показывать разработчикам статус контроля качества исходного кода в SonarQube.


Есть два способа решения:


  • Запускать скрипт проверки статуса контроля качества исходного кода в SonarQube. Если контроль качества исходного кода в SonarQube не проходит, то фейлить сборку.
  • Показывать на главной странице проекта статус контроля качества исходного кода.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments12

Организация разработки в изолированной сети — как управлять зависимостями?

Reading time10 min
Views2.2K

Как можно собрать актуальный стек используемых библиотек и фреймворков чтобы комфортно заниматься разработкой если вы самоизолировались в глухой деревне, летите 8 часов в самолете или в вашей компании лимитирован доступ к всемирной паутине настолько, что вы не можете пользоваться публичными репозиториями артефактов, например таким, как maven central? Как же нам предоставить все необходимые артефакты, от которых мы зависим, включая транзитивные зависимости? Как потом их обновлять вместе с новыми версиями фреймворка?


image


Попробуем найти ответы на эти вопросы. В данной статье я хочу рассказать о нашем новом инструменте CUBA SDK — консольной утилите, которая позволяет определять все транзитивные зависимости для Maven-библиотек и управлять ими в удаленных репозиториях. Также в статье мы рассмотрим пример, который позволит вам использовать наши наработки для любого Java приложения с применением Maven-зависимостей.

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments0
1
23 ...