Home » Author Archives: Lefteris Karageorgiou

Author Archives: Lefteris Karageorgiou

Lefteris is a Lead Software Engineer at ZuluTrade and has been responsible for re-architecting the backend of the main website from a monolith to event-driven microservices using Java, Spring Boot/Cloud, RabbitMQ, Redis. He has extensive work experience for over 10 years in Software Development, working mainly in the FinTech and Sports Betting industries. Prior to joining ZuluTrade, Lefteris worked as a Senior Java Developer at Inspired Gaming Group in London, building enterprise sports betting applications for William Hills and Paddy Power. He enjoys working with large-scalable, real-time and high-volume systems deployed into AWS and wants to combine his passion for technology and traveling by attending software conferences all over the world.

JPA @Embedded And @Embeddable Example

1. Introduction In this post, we will examine the functionality of two JPA annotations, the JPA @Embedded and the @Embeddable. We will leverage the power of Spring Data JPA and H2 in memory database to create the code examples and run the unit test. 2. Project Setup To run the code examples of this post, we will use the following ...

Read More »

Java Quartz Architecture Example

1. Introduction In this post, we will take a closer look at the architecture of Quartz, a very popular open source job scheduling library that can be used in Java applications. We will see an architectural diagram and learn all the main and optional components of Quartz by providing code examples. 2. Project Setup To run the code examples of ...

Read More »

Java Quartz Logging Example

1. Introduction In this article, we will explore Java Quartz Logging application using two of the most widely used logging frameworks, Logback and Log4j. Quartz is a very popular open source job scheduling library that can be used in Java applications. The main concept of Quartz is that a scheduler holds a list of jobs that are triggered at specific times or repeatedly. 2. Project Setup ...

Read More »

Java Quartz with MySQL Example

1. Introduction In this article, we will go through the configuration needed to setup MySQL, the most famous open source database, with Quartz, a very popular open source job scheduling library that can be used in Java applications. The main concept of Quartz is that a scheduler holds a list of jobs that are triggered at specific times or repeatedly. In the code examples we will ...

Read More »

SQL Data Types Tutorial

1. Introduction SQL is the language used to communicate with Relational Databases such as MySQL, Oracle, MS SQL Server, PostgreSQL, etc. In this post, we will examine the various SQL Data Types and provide examples for MySQL, which is the most widely used open-source database. This post requires some knowledge in SQL and a tutorial for a complete understanding of ...

Read More »

Java Immutable Objects Example

1. Introduction In programming, an object is considered immutable if its state cannot change after it is created. Java not only supports immutable objects but as a best practice, they should be widely used. In this post, we will take a look at how to create immutable objects, their use cases and some examples of immutable Classes. The technologies that ...

Read More »

Java HashMap vs TreeMap Example

1. Introduction A very important data structure in programming is the Map which is used for extremely fast lookups. In this post, we will take a look at two implementations of the Map data structure in Java, the HashMap and TreeMap classes. The main difference between those two implementations is that the HashMap offers better lookup and insertion times but ...

Read More »

Java ArrayList vs LinkedList Example

1. Introduction One of the most commonly used data structures in programming is the Array. Java comes with two implementations of the Array data structure, the ArrayList and LinkedList classes. In a nutshell, the ArrayList is a resizable-array implementation, whereas the LinkedList is a doubly-linked list implementation. In this post, we will cover the differences between the methods and time ...

Read More »

Java public static void main(String[] args) Example

1. Introduction In every programming language, when a program starts the execution it has to start from somewhere. For Java, the entry point for a program is the main method. In this post, we will examine this very important method and learn how to use it to start simple programs. The technologies that we will use in the code examples ...

Read More »

Java OOPS Concepts Tutorial

1. Introduction Object-Oriented Programming System, also known as OOPS, is a programming paradigm where the main concept of a program is based on objects that communicate with each other. OOPS has become the most popular programming paradigm for large and complex programs. Java is one of the most widely used OOPS languages. In this post, we will take a look ...

Read More »