- How To Find Broken Links Using Selenium WebDriver
In selenium - web browser automation, selenium automated testing, selenium testing, selenium webdriver, selenium webdriver in c#.net
What thoughts come to mind when you come across 404/Page Not Found/Dead Hyperlinks on a website? Aargh! You would find it annoying when you come across broken hyperlinks, which is the sole reason why you should continuously focus on removing the existe... […]
- Redis Streams in Action — Part 3 (Tweet Processor App)
In azure, databases, docker, java, nosql, redis, redis streams, tweets
Welcome to this series of blog posts that covers Redis Streams with the help of a practical example. We will use a sample application to make Twitter data available for search and query in real-time. RediSearch and Redis Streams serve as the backbone o... […]
- Apache Kafka for Industrial IoT and Manufacturing 4.0
In 5g, data in motion, event driven, industrial iot, internet of things, kafka, manufacturing, predictive maintenance, smart factory, software architecture
This post explores use cases and architectures for processing data in motion with Apache Kafka in Industrial IoT (IIoT) across verticals such as automotive, energy, steel manufacturing, oil&gas, cybersecurity, shipping, logistics. Use cases include... […]
- BlockHound: How it Works
In blockhound, blocking code, bug detection, java, reactive programming, tutorial
One of the talks in my current portfolio is Migrating from Imperative to Reactive. The talk is based on a demo migrating from Spring WebMVC to Spring WebFlux in a step-by-step approach. One of the steps involves installing BlockHound: it allows to chec... […]
- NoSQL Injections in Rocket.Chat 3.12.1: How A Small Leak Grounds A Rocket
In mongodb, nosql, nosql injections, rocket.chat, security, tutorial
Rocket.Chat is one of the most popular open-source solutions for team communication, written in JavaScript and TypeScript. It has more than 12 million users worldwide and there are over 800,000 server instances deployed that are being used to exchange ... […]