Search
Write a publication
Pull to refresh
8
3.2
Алексей Обложко @ant1free2e

User

Send message

Оценка технического долга в IT-системах

Level of difficultyEasy
Reading time26 min
Views933

Каждый раз, когда мы выкатываем обновление платформы быстрой разработки корпоративных приложений Jmix, мы популярно рассказываем о том, что изменилось и как перейти на новую версию. Несмотря на доступность технических материалов и удобных инструментов, аспект накопления технического долга как был, так и остается сильно недоинвестированным со стороны команд разработки. Проценты капают, а через пару лет вопросы к нам - “Почему так сложно на новую версию переходить!? Что-то вы тут недоработали”.  

Мы разрабатываем Jmix уже более 10 лет, и за это время видели много случаев игнорирования командами работы с техническим долгом. Предлагаем вашему вниманию статью, которая поможет диагностировать операции по работе с техническим долгом и понять, где образовались разрывы. Не благодарите - просто скачайте Jmix и попробуйте;) 

Читать далее

Cборка Java-проектов в GitFlic Kubernetes-агентом

Level of difficultyEasy
Reading time6 min
Views819

В последнее время, многие общепризнанные в мире сервисы оказались недоступны для разработчиков из России и им приходится искать аналоги. Одной из таких альтернатив для GitHub является сервис GitFlic. Это такой же хостинг исходных кодов, который, кроме того, предоставляет возможность использовать в работе реестры артефактов и пакетов для различных технологий. В нашем случае это можно засчитать за УТП (Уникальное торговое предложение), ведь не многие разработчики знают о сторонних registry-сервисах продолжая пользоваться DockerHub, который работает “по умолчанию”. Кроме того, развертывание собственного такого сервиса, соответствующего всем требованиям корпоративной безопасности, может потребовать немалых ресурсов.  

Чтобы исходный код стал артефактом, т. е. ресурсом, готовым к развертыванию в тестовых или продуктивных средах без лишней ручной работы желательно иметь некоторый пайплайн, т. е. сборочный конвейер, который выполнит все преобразования. GitFlic не предоставляет агентов пригодных для сборки контейнерных образов, но позволяет подключать собственные. В данной статье мы настроим сборочный пайплайн для Java разработки на фреймворке Jmix с использованием агента, работающего в кластере Kubernetes.  

Читать далее

Jmix/Spring-приложение в IFrame

Level of difficultyEasy
Reading time6 min
Views526

Предположим, у нас появилась задача встроить какой-то функционал, реализуемый системой на Jmix/Vaadin/Spring на другой сайт или в веб-приложение. Сейчас существует большое количество статических генераторов и других систем управления содержимым, где у разработчика есть доступ только к фронтенд-части. Если это не портальная система, обычным решением в таких случаях будет использовать встраивание через IFrame. 

Для того чтобы приложение с интерфейсом на Vaadin открывалось в айфрейме за пределами локалхоста, ему требуется включенная поддержка cookie, что по современным стандартам безопасности возможно только если и сайт и приложение, находящиеся на разных доменах, работают по протоколу HTTPS доверенного уровня и для сессионных кук включен параметр Secure и выключен SameSite. Поэтому нам придется немного заморочиться, что бы это все заработало в Spring Boot-приложении даже если речь идет о тестовых средах.  

Читать далее

Работаем с JSONB в JPA EclipseLink

Level of difficultyMedium
Reading time7 min
Views1.6K

Поддержка полей JSONB в СУБД PostgreSQL стала результатом большой работы команды PostgresPro и приблизила использование форматов и инструментов для работы с JSON в этой базе данных к статусу полноценной. В отличии от текстового в своей основе типа JSON, JSONB позволяет строить индексы по содержимому поля, что должно значительно ускорить поиск по таким данным. Также он реализует некоторые оптимизации, например не поддерживает дубликаты ключей в рамках одного уровня JSON-структуры, а если они все-таки встречаются, использует последнее значение.

В этой статье мы попробуем подключить и использовать функционал JSONB-полей в нашем java-приложении на фреймворке Jmix. Если вы используете Spring, решения по настройке и, может быть, даже использованию могут слегка отличаться, т. к. там используется ORM Hibernate.

Читать далее

Простые коммуникации в Java-приложении

Level of difficultyEasy
Reading time11 min
Views5K

Привет, 

Как вы уже, наверное, знаете, Jmix — это такая платформа для разработки корпоративных приложений, построенная на основе фреймворков Spring, Vaadin и других классных технологий с открытым исходным кодом. 

Ее использование позволяет абстрагироваться от многих сложностей фронтенд-разработки. Разработчикам не обязательно учить JavaScript/TS, погружаться в особенности популярных фронтенд-фреймворков, тренироваться в верстке, чтобы иметь возможность создавать полнофункциональные веб-приложения. Достаточно просто писать код на Java и немного компоновать экраны в XML. При разработке интерфейса для Jmix под капот уходят также некоторые механики, связанные с «перекладыванием джейсонов», что открывает дополнительные возможности для написания интерактивных веб-приложений с использованием готовых компонентов и дополнений. 

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

Читать далее

Мониторим и нагружаем приложения Jmix

Level of difficultyMedium
Reading time15 min
Views2.6K

Инструменты мониторинга работы приложений могут быть полезны не только DevOps’ам, но и разработчикам для исследования производительности приложения в поиске, например узких мест в его работе, поэтому в данной статье мы не только настроим мониторинг для Jmix-приложения, но и подготовимся к его синтетическому нагрузочному тестированию. Особенностью платформы Jmix в силу того, что она использует фреймворк Vaadin, является тот факт, что работа UI интегрирована с бекендом, но это также значит и то, что и метрики можно использовать прозрачно, т.е. замерять ими работу интерфейсного слоя. 

Читать далее

Настройка конвейерной сборки Java-проектов в GitLab

Level of difficultyMedium
Reading time8 min
Views4.9K

Автоматическая доставка проектных артефактов в тестовые и продуктивные среды является безусловной необходимостью современных процессов промышленной разработки ПО. 

Мы пройдем полный процесс создания пайплайна для сборки и деплоя при помощи GitLab и сопутствующего ПО. Все операции мы проделаем на одном компьютере, хотя ничто не должно вам помешать сразу или в дальнейшем масштабировать полученное решение на один или несколько серверов. Для экспериментов лучше иметь достаточно современный компьютер с количеством оперативной памяти не менее 16 гигабайт, производительным процессором и хорошим интернет-каналом. 

Предполагается, что у вас уже установлены Docker и ssh-сервер и вы немного умеете со всем этим обращаться. 

Читать далее

Information

Rating
2,407-th
Works in
Registered
Activity