java
-
@Before @After в тестах
-
Camunda start
Ссылки:
https://www.holunda.io/camunda-bpm-data/snapshot/
Camunda BPM Data с примерами от энтузиастов. Добавлена типизация переменных.
Пример на Java
Пример на Kotlin
Для запуска выполнить:cd ~/prog/java/spring-boot/camunda_springboot_db ./run.sh
В браузере открыть: http://localhost:8080
Откроется страница:
имя/пароль: demo/demo
После ввода откроется страница:
http://localhost:8080/camunda/app/welcome/default/#!/welcome
Cocpit (админка для Camunda):
-
Dagger
Dagger — фреймворк для внедрения зависимостей (Dependency Injection, DI) в приложения на платформе Java. Разрабатывался компанией Square, но сейчас поддерживается Google.
Документация: https://dagger.dev/dev-guide/
Github: https://square.github.io/dagger/
Очень примитивный пример: https://github.com/cherepakhin/dagger_simple
Hello World: https://github.com/cherepakhin/dagger_hello_worldЗадачи Dagger
- Автоматическое внедрение зависимостей в объекты (классы, интерфейсы, контексты и другие объекты);
- Управление жизненным циклом зависимостей;
- Создание синглтонов (единственных экземпляров) или одноразовых зависимостей (создаются новые экземпляры при каждом запросе);
- Обработка сложных зависимостей;
- Модульное тестирование (возможность заменять реальные зависимости на фиктивные или подставные объекты).
-
GWT
Стартовый проект GWT
Getting Started GWT
GWT Quick Guide
Работа с GWT с библиотекой ExtGWT (очень неплохо описано)
Новое в Ext GWT 3.0 (... UI binder забавный. Типа была разметка html и логика на js, теперь разметка на xml и логика на java...)
https://javastudy.ru/gwt/gwt-hello-world-example
Интеграция GWT со Spring Boot
Начальная настройка проекта, создание и запуск простейшего проекта GWT + Spring Boot: GitHub Quick Start GWT Boot -
GWT + Spring Boot
Стартовый проект GWT
Getting Started GWT
GWT Quick Guide
Работа с GWT с библиотекой ExtGWT (очень неплохо описано)
Новое в Ext GWT 3.0 (... UI binder забавный. Типа была разметка html и логика на js, теперь разметка на xml и логика на java...)
https://javastudy.ru/gwt/gwt-hello-world-example
Интеграция GWT со Spring Boot
Начальная настройка проекта, создание и запуск простейшего проекта GWT + Spring Boot: GitHub Quick Start GWT Boot -
GWTP
GWTP (GWT Platform) — полноценная платформа Model-View-Presenter для приложений Google Web Toolkit. Она предназначена для упрощения разработки приложений на основе GWT. Что-то типа MVC для GWT.
Wiki GWTP
Некоторые возможности GWTP: -
Immutable Java object
Что такое неизменяемый объект? Когда вы создаете новое значение для такого объекта, на самом деле создается новый объект, и старый объект остается неизменяемым. Это будет более эффективным по времени и памяти, чем изменение изначального объекта. Это обеспечивает безопасность многопоточного программирования, поскольку неизменяемые объекты могут быть разделены между несколькими потоками без риска изменений и ошибок.
-
JavaFX, Spring Boot, WebFX
JavaFX
-
Karaf в Kubernetes
Модульный karaf в микросервисе. Мозг в трубочку. А почему бы не кубер в bundle карафа? А может сразу windows в bundle? (были опыты запуска урезанного windows в bundle). Речь идет о модульной java. Модульная java? А это она! Karaf это реализация OSGi. OSGi - шина с плагинами (java-модулями, в терминах OSGi называется bundle), ктр. взаимодействуют между собой. Один bundle отправляет сообщение в шину через интерфейс, предоставленный шиной, а другой/другие bundle, ктр. заявляют, что могут реализовать интерфейс, обрабатывают сообщение. При этом источник даже не знает кому и сколько читателей. И еще одна фишка Karaf (может быть основная) замена функциональности без остановки всего сервиса.
-
Kotlin style для Java программистов
Конспект Kotlin Code Style: Best Practices for Former Java Developers
Частые ошибки:
- Использование
if (x != null)вместо оператора Elvis? - Цикл и временная коллекция для результатов, вместо
filter, map if/else ifвместоwhen- Частое использование
var, где можно использоватьval
- Использование
-
Mockito
1. Mockito.mock() (ЭТО МЕТОД)
Метод Mockito.mock() позволяет нам создать фиктивный объект класса или интерфейса. -
Netty
Netty - удобные клиент и сервер для взаимодействия программ по сети. Можно чем угодно обмениваться (не только json).
Конспект
Пример -
Spring MVC (ссылки)
Примеры на gihub от OTUS
Примеры VIEW на gihub от OTUS
Примеры Spring MVC и React на gihub от OTUS
Много чего учебного, в том числе и Spring MVC
Загрузка файлов в Spring MVC -
UI на java
Оглавление:
-
Vaadin
Tutorial "Components and Layouts": https://vaadin.com/docs/v14/flow/tutorial/components-and-layouts
Для разработки Vaadin приложений, кроме java, нужен настроенный node:$ node -v v20.0.0
Описание Vaadin 8 https://vaadin.com/framework
Генерация Spring Boot в Spring Initializr https://start.spring.io/ -
Wicket
"Wicket относится к категории программных каркасов (application framework). Являясь надстройкой над Servlet API, Wicket предоставляет всю необходимую инфраструктуру для функционирования приложений, включая средства для управления жизненным циклом объектов, разграничения прав доступа, локализации, обработки исключительных ситуаций, поддержки сессий пользователей и т.п." ( Разработка Web-приложений с использованием Wicket)
(что-то типа React? Vue? Очень примитивно работа React выглядит так. Есть View, Action, State. View вызывает Acton, который меняет State, а View отслеживает изменения в State. В Wicket примерно также: View отслеживает изменения в Model).
Template Engines for Spring
Примеры из книги "Wicket in action": Wicket test examples на моем github. Не все примеры, только несколько, для того, чтобы понять работу Wicket. Все примеры в https://github.com/perty/wicket-test-examples -
Автоматизация хаоса - Camunda
Давно прочитал в журнале Компьютерра статью "Автоматизация хаоса". 1999 год!!! В google полно документов на эту тему. Пару слов хочется черкнуть от себя. В большинстве проектов, на которых приходилось работать, так или иначе возникает эта тема.
Хотя и не очень явно.
-
Виды тестирования
Виды тестирования:
1. Unit tests2. Интеграционное
- REST
- behave-restfull - интересный способ описания тестов с помощью специального языка Gerkin (Behave тестирование с помощью RestAssured проекта shop_kotlin)
- REST tests (RestAssured)
- База данных (DataJpaTest)
- Given-When-Then tests
- Эффективный подход к тестированию WEB-КОНТРОЛЛЕРОВ в Spring Boot приложениях(habr)
3. Нагрузочное
Yandex tank test
Еще тесты:
Интеграционное тестирование на Kotlin проекта ktor_shop (https://ktor.io) - REST
-
Два слова о Camel
Spring boot велик и могуч, но есть есть и другие инструменты.

Camel позволяет абстрагироваться от кода и сосредоточиться на конфигурации, взаимодействии компонент. Camel это интеграционный клей, который соединяет компоненты системы, предоставляя коннекторы. Примеры коннекторов: rest, ftp, Spring bean и еще много всяких: https://camel.apache.org/components/next/index.html#_components.
-
Динамическое создание Spring Bean в RunTime
Создания бинов с параметрами из базы данных и создания массива бинов и передачей этого массива как зависимость в другой бин.
Различные способы задания конфигурации Spring Beans (Java)
Различные способы задания конфигурации Spring Beans (Kotlin)
В задаче опроса филиалов в проекте МТС
Страница 1 из 3