Pull to refresh

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

Reading time2 min
Views708

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

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

Вышел IntelliJ IDEA 2023.1

Reading time5 min
Views8.8K

Вышло обновление 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
Views422

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-путь построения Go проектов

Reading time7 min
Views5.3K

Сначала небольшая предыстория. В начале 2010-х, я сделал небольшую утилиту-конвертер для BIN файлов эмулятора БК-0010 в WAV файлы. Утилита была написана на Python с целью максимальной переносимости, работала без проблем и я на какое то время забыл о ней. Но в 2016м появился пользователь "неИТшник", понятия не имеющий про Python и как его устанавливать. Он хотел простой исполняемый файл-монолит, который "просто бы работал". Мне его просьба показалась логичной и я решил переработать утилиту в виде набора бинарных исполняемых файлов для основных платформ.


image


Python и Java не давали такую возможность (если конечно не было желания раздуть утилиту на много десятков мегабайт). Потенциально решение можно было сделать на C/C++, но при таком целевом охвате платформ, сложности с кросс-компиляцией выходили бы за рамки отведенного на задачу времени (а мне надо было поддерживать кросс-сборку для Windows, Linux и MacOS в 64 и 32 битных вариантах). Так что я обратил внимание на набирающий популярность язык Go, который к тому времени уже стал достаточно зрелым и единственным, кто без "плясок с бубном" обеспечивает всю требуемую кросс-компиляцию прямо из коробки (!).

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments5

Опыт перевода Maven-проекта на Multi-Release Jar: уже можно, но ещё сложно

Reading time10 min
Views4.1K

У меня есть маленькая библиотека StreamEx, которая расширяет возможности Java 8 Stream API. Библиотеку я традиционно собираю через Maven, и по большей части меня всё устраивает. Однако вот захотелось экспериментов.


Некоторые вещи в библиотеке должны работать по-разному в разных версиях Java. Самый яркий пример — новые методы Stream API вроде takeWhile, которые появились только в Java 9. Моя библиотека предоставляет реализацию этих методов и в Java 8, но когда расширяешь Stream API сам, попадаешь под некоторые ограничения, о которых я здесь умолчу. Хотелось бы, чтобы пользователи Java 9+ имели доступ к стандартной реализации.

Total votes 31: ↑29 and ↓2+27
Comments16

Внедряй, масштабируй: опыт применения автотестов в ВТБ

Reading time8 min
Views8.7K
Наше подразделение создает полностью автоматические пайплайны для вывода новых версий приложений в прод-среду. Разумеется, для этого требуются автоматизированные функциональные тесты. Под катом — история о том, как, начав с тестирования в один поток на локальной машине, мы дошли до многопоточного запуска автотестов на Selenoid в пайплайне сборки с Allure-отчетом на GitLab pages и в итоге получили крутой инструмент для автоматизации, который смогут использовать будущие команды.


Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments5

Простое решение для визуального регрессионного тестирования на 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 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

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

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

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

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

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

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

Laconic POM для Maven: скрываем многословность pom.xml

Reading time1 min
Views2K

Зачастую, одна из претензий к Maven - выбор многословного XML для описания проекта. Polyglot for Maven должен был решить эту проблему, но проект не "взлетел". Для буквального сокрытия этой проблемы существует IDEA-плагин Laconic POM.

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

Ускорение Maven сборки

Reading time6 min
Views7.8K

Узнайте, как сделать сборки Maven более быстрыми и эффективными

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

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

Миграция со Spring Boot на Quarkus. Магия или безумие?

Reading time10 min
Views9.8K

Quarkus – это стек Java, приспособленный для работы с OpenJDK HotSpot (или OpenJ9 на zSeries) и GraalVM, собранный из оптимизированных библиотек и стандартов Java. Он хорошо подходит для создания сильно масштабируемых приложений, при этом значительно скромнее использует ресурсы CPU и памяти, нежели другие фреймворки Java. Quarkus может работать с традиционными веб-приложениями, бессерверными приложениями и даже с функциями, предоставляемыми как услуга.

Существует много документированных случаев, в которых организации переносили свои приложения на Quarkus. В этой статье рассмотрим один из таких миграционных путей: со Spring Boot на Quarkus. Есть в этом своя магия и свое безумие. Магия – это когда миграция осуществляется как по мановению руки, и ни одной строки кода при этом менять не приходится. Безумие – в том, чтобы попытаться осознать, как все это делается.

Читать далее
Total votes 10: ↑6 and ↓4+2
Comments2
1
23 ...