Tag web

Why Koala and not Wordpress?

This blog post should cover reasons behind the creation of Koala - static website generator. The Koala project aims to create simple to use, scalable and fast static website generator.

Read More

Upgrading Legacy Java Web Application to JDK 11

Java 11 (https://openjdk.java.net/projects/jdk/11/) was released on 25 September 2018, so I've decided I'll upgrade my legacy Java web application that was written at times of Java 6. Even two month after the release, surprisingly, the tooling is not mature enough.

Read More

Back-End Java Service - Improving Computation Performance by C/C++

Application user experience is a key part of overall user satisfaction. The worst part of a user experience is waiting for a result. I want to share how I dramatically improved performance of the Java back-end service that provides map data for my service.

The service works like any other web-based service. You visit a page with your web-browser, enter required data and wait for a result. Data are sent via REST-based API to Java web-server that runs a computation based on pre-computed map data. The initial architecture is on the following diagram:

Read More

Convert Image to JPEG in Java with Custom Compression Quality

Converting image to JPEG in Java is quite easy task if you use javax.imageio.ImageIO class. You just call:

BufferedImage image = ...;
OutputStream output = ...;
ImageIO.write(image, "JPEG", output);
Read More

HTTPS-Enabled Java Web Application Using nginx

Today, I'd like to share my approach to secure Java web application using nginx server. Recent industry shift to a secure internet basically require all websites to provide HTTPS access. It improves search ranking and especially privacy of your visitors. So, I will share my approach how I made it for my application. This tutorial applies for Linux, specifically Debian or Ubuntu.

Our architecture is laid out on the following diagram. Our clients are accessing nginx server that forwards decrypted calls to Java application.

Read More