programming
2017
2016
Selenium Tests with Maven and Selenide
Selenide is nice wrapper around selenium web driver allowing to simplify writting UI tests with Selenium.
Some of the cook features are:
- jquery-like selector syntax, e.g.
$("div.myclass").is(Condition.visible)
- Automatic screenshots on assertion failure
- Easy starting Selenium WebDriver
- And others
So, let’s write some tests on selenide and make it run from maven in a normal browser or in headless mode.
Spring+Freemarker Tips
I hope you will find following tips useful when developing Spring Boot application with Freemarker.
DevMode Javascript Exception Handler
2015
Secure Java Coding Best Practices
Making your web application flawless against security attacks is a challenge for every java developer. In this article I will briefly describe common practical development techniques that can help you to achieve it.
Secure Java Logging with Logback
Deploying application into secure environment adds some restrictions on logging and log management. OWASP community gives some useful recommendations.
Implementing Automatic Reconnection for Netty Client
One of the first requirement of Netty ISO8588 client connector was the support for automatic reconnect.
One of the first receipts I came across was Thomas Termin’s one. He suggests adding a ChannelHandler which will schedule the calling of client’s connect()
method once a Channel becomes inactive. Plus adding ChannelFutureListener which will re-create a bootstrap and re-connect if initial connection was failed.
Although this is a working solution, I had a feeling that something is not optimal. Namely, the new Bootstrap is being created on every connection attempt.
So, I created a FutureListener which should be registered once a Channel is closed.
Java Application Development Tutorial
I’ve been meaning to write a small tutorial for building web applications. Now it’s time! Let’s define the steps and choose some solutions for developing back-end java web application.
I will give my design recommendations and list a technologies I would use. You may have your own opinion and you may share it in comment. Over time, this post may change since my favourites are also changing over time.