Thumbnail image

Udemy - 2 new courses just published

I spent last couple of months preparing recordings for two new Udemy courses. Now I was finally able to make those published. Here are some details. FullStack Vaadin (14-23+) - Practical Solutions Topics covered by this course: create a full featured single page application using VAADIN collaboration using server @Push technology export application data in MS Excel format with formatting and some other features export application data in PDF format with formatting, embedded images or bar-codes including MongoDB as persistent data storage using GridFS as an attachment/file uploads data storage FullStack SpringBoot (2+) - Practical Solutions Topics covered by this course:

Seminář HCL Domino 12 – 10.6.2021 – prezentace ke stažení

Letošní klasický seminář o technologiích HCL Domino jsme (TCL DigiTrade) uskutečnili 10.6.2021. Děkujeme všem přihlášeným za účast. Níže naleznete odkazy na jednotlivé prezentace ke stažení. Novinky z oblasti produktů HCL – Petr Kunc HCL Domino 12 – novinky – Stanislav Marszalek HCL Nomad – Notes klient pro mobilní zařízení – Petr Kunc HCL Domino 12 Backup – David Marko Odkaz na rozšíření šablony pošty o možnost organizace on-line schůzek v různých systémech. (z přednášky p. Kunce) (klient Notes musí být alespoň 11.0.1 FP3 nebo 12.0)

Robot Framework - Basic usage

Robot Framework is a great generic tool for a behaviour oriented tests. Here are my various notes for an initial basic usage (WIP). Useful Libraries: RESTinstance - for testing REST endpoints - pip install --upgrade RESTinstance RobotFramework Faker - fake data generator library - pip install robotframework-faker QWeb - set of very usefully RobotFramework keywords - pip install QWeb RobotFramework Browser - better browser automation - pip install -U robotframework-browser

Robot Framework - Initial setup notes

Robot Framework is a generic open source automation framework. It can be used for test automation and robotic process automation (RPA). It’s actively supported, with many industry-leading companies using it in their software development. Robot Framework is open and extensible and can be integrated with virtually any other tool to create powerful and flexible automation solutions. Being open source also means that Robot Framework is free to use without licensing costs. Robot Framework has easy syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries implemented with Python or Java. The framework has a rich ecosystem around it, consisting of libraries and tools that are developed as separate projects.

Neo4J with Docker Compose

Neo4J is a graph database available for quite a long time. They are actually pioneering this area for years and Neo4J is stable solution in this area. My current project is using Neo4J as the one for database backends so its great time to dig into it. First step is to read some documentation and run this locally in docker, so I can play with. Useful documentation: Top Ten Reasons for Choosing Neo4j Graph Database Use Cases Neo4J Documentation free book Graph Data Science For Dummies Spring data for Neo4J reference guide To run current Neo4J version locally in Docker, we can create following docker-compose.

Thumbnail image

HCL Domino 12 beta3 + Docker = upgrade

V jednom z předchozím článků jsem ukazoval, jak zprovoznit Domino R12 beta2 ve formě Docker containeru. Nyní již máme betu ve verzi 3, a tak se můžeme podívat, jak provést upgrade Docker containeru tak, abychom nepřišli o existující data. V zásadě budeme potřebovat udělat jen několik málo kroků: stáhneme si z Flexnetu Domino R12 beta3. Jedná se o soubor s názvem: Domino_12.0_DockerImage_Beta3.tgz předpokládáme-li, že máme lokálně běžící Docker, provedeme natažení image do Dockeru příkazem: docker load --input Domino_12.0_DockerImage_Beta3.tgz od předchozí beta2 instalace máme lokálně datový adresář se soubory beta2 verze. Ten použijeme při startu containeru Domino R12 beta3. Mělo by nám tedy stačit nastartovat Domino 12 container s příslušným odkazem na volume adresář.

Thumbnail image

NATS Server native + MQTT and Node-RED

Node.RED is a serious tools but also a great toy for quick prototyping. To run Node.RED locally we need to install NodeJS and thus having npm tool available. Then just issue following installation command: npm install -g --unsafe-perm node-red. If everything goes right, we have Node.RED installed, and we can run it by invoking node-red from command line. When Node.RED running, we should see a following line in console listing: 12 Apr 08:15:02 - [info] Server now running at That says Node.RED is running an HTTP UI on . Now we can use standard MQTT nodes and imported NAT plugin to make a publish/subscribe connections to NATS.

NATS Server and Elixir integration

NATS have many client libraries available. There is one for Elixir too, so lets make a little experiment. To make a new Elixir project, we can use mix with simple command. mix new nats_demo cd nats_demo Elixir has iex console available, so we can play online and see results instantly. That’s really great for experimenting. Let’s see how nats support fits here. To use NATS in Elixir we can use Gnat library, which is quite mature. To use it, we can add {:gnat, “1.2.1”} dependency into mix.exs. Finally, run mix deps.get from console and dependency is loaded. To run an interactive console we call:

NATS with JetStream introduction

NATS describes itself like this: “NATS messaging enables the exchange of data that is segmented into messages among computer applications and services. These messages are addressed by subjects and do not depend on network location. This provides an abstraction layer between the application or service and the underlying physical network. Data is encoded and framed as a message and sent by a publisher. The message is received, decoded, and processed by one or more subscribers.” Simply said, if you are using RabbitMQ, ActiveMQ or any other MQ, chances are, that NATS can be very fast and easier to run&maintain alternative.

Apache ActiveMQ Artemis and SpringBoot using MQTT

Let’s add something to our existing Artemis and Spring Boot integration. The former example was based on JMS(AMQP) communication protocol. To enhance our example we add MQTT producer and consumer today. Just little remainder. This implementation is a clear proof-of-concept just to explore how things are supposed to work. It’s not production quality code. We are adding new dependency to pom. Details about usage are available here <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-mqtt</artifactId> <version>5.4.5</version> </dependency> Next step is to create a several @Bean configurations. @Configuration public class MQTTConfig { @Bean public MqttPahoClientFactory mqttClientFactory() { DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory(); MqttConnectOptions options = new MqttConnectOptions(); options.