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): -
Immutable Java object
Что такое неизменяемый объект? Когда вы создаете новое значение для такого объекта, на самом деле создается новый объект, и старый объект остается неизменяемым. Это будет более эффективным по времени и памяти, чем изменение изначального объекта. Это обеспечивает безопасность многопоточного программирования, поскольку неизменяемые объекты могут быть разделены между несколькими потоками без риска изменений и ошибок.
-
Karaf в Kubernetes
Модульный karaf в микросервисе. Мозг в трубочку. А почему бы не кубер в bundle карафа? А может сразу windows в bundle? (были опыты запуска урезанного windows в bundle). Речь идет о модульной java. Модульная java? А это она! Karaf это реализация OSGi. OSGi - шина с плагинами (java-модулями, в терминах OSGi называется bundle), ктр. взаимодействуют между собой. Один bundle отправляет сообщение в шину через интерфейс, предоставленный шиной, а другой/другие bundle, ктр. заявляют, что могут реализовать интерфейс, обрабатывают сообщение. При этом источник даже не знает кому и сколько читателей. И еще одна фишка Karaf (может быть основная) замена функциональности без остановки всего сервиса.
-
Mockito
1. Mockito.mock() (ЭТО МЕТОД)
Метод Mockito.mock() позволяет нам создать фиктивный объект класса или интерфейса. -
Netty
Netty - удобные клиент и сервер для взаимодействия программ по сети. Можно чем угодно обмениваться (не только json).
Конспект
Пример -
Автоматизация хаоса - Camunda
Давно прочитал в журнале Компьютерра статью "Автоматизация хаоса". 1999 год!!! В google полно документов на эту тему. Пару слов хочется черкнуть от себя. В большинстве проектов, на которых приходилось работать, так или иначе возникает эта тема.
Хотя и не очень явно. -
Виды тестирования
Виды тестирования:
1. Unit tests2. Интеграционное
- REST
- behave-restfull - интересный способ описания тестов с помощью специального языка Gerkin (Behave тестирование с помощью RestAssured проекта shop_kotlin)
- REST tests (RestAssured)
- База данных (DataJpaTest)
- Given-When-Then tests
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)
В задаче опроса филиалов в проекте МТС -
Интеграционное тестирование с JUnit
Предупреждение: я знаю, что JUnit для UNIT тестов и цена им небольшая. Речь о применении JUnit в ИНТЕГРАЦИОННЫХ тестах. И с другой стороны, на тех проектах, где мне приходилось работать, интеграционное тестирование проводилось вручную. Можно это дело автоматизировать.
-
Конвертирование речи в текст
Результаты поиска инструментов перевода речи в текст
Оглавление:
-
Многомодульный проект
Описан способ организации разработки, когда один из модулей (library) используется в нескольких проектах (application1, application2,... applicationN). Чаще, и возможно проще, переиспольуемый модуль разрабатывается отдельно и затем подключается как зависимость через репозиторий maven. При изменении library его maven версия получает новый идентификатор и это изменение должно быть учтено в целевых проектах. Заготовка проекта: https://github.com/cherepakhin/multi-module.
В проекте два модуля Application и Library. -
О CompletableFeature
Интересно было узнать о возможностях CompletableFeature.
Проект и описание находится тут https://github.com/cherepakhin/completablefeature_many_benchmark -
Области памяти - Stack, Heap
Stack – Каждый поток имеет свой стек, который создается в тоже время, когда создается поток. Стек (локальная или рабочая память потока) содержит фреймы, которые создаются при каждом вызове метода и хранят локальные переменные и промежуточные результаты, возвращают значения для методов и выбрасывают исключения, если это необходимо. Задается параметром Xss (default 1Mb, примеры: -Xss1m, -Xss1024k).
-
Определение Spring beans
Проект для демонстрации на Kotlin https://github.com/cherepakhin/spring_config_k
Аналогичный проект на Java https://github.com/cherepakhin/spring_config -
Покрытие тестами 100%
Задача: довести покрытие тестами до 100%. Зачем? А почему бы и нет?
-
Пример на Kotlin для конвертирования JSON массива в список объектов.
Пример на Kotlin для конвертирования JSON массива в список объектов. Дан сервис:
-
Пример работы с базой данных и списками в java
-
Простые примеры 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
Страница 1 из 2