"Hi, Amigo!

It's hard to believe that you are already here! But wait a minute — I always believed in you, of course, because you carefully read and studied my lessons and studied some more. You are one of my best students!

I'll leave the inspirational speeches to the Captain, but I won't just let you go — after all, I have a lot of useful reading for you. Reading that will help you more easily bridge the gap between learning Java and real programming. Good luck to you!"

We'll talk a little about networking.

Let's start with what matters most by talking about what every social network, web service and web app, instant messenger and simple website is built on — the network.

Software architecture

Software architecture refers the structure created within an application, i.e. the entire program's modules and components and how they interact. Programmers have been working on good architectures for a very long time, so it is not surprising that we've heard of a lot of architectural patterns. You need to understand them: when writing a web application, it is critical to come up with a good architecture, because a web application has more components and modules than a regular application.


In this lessons, we'll learn about the HTTP and HTTPS protocols. But first, let's clarify one point: we're talking about protocols for sending data over a network at the application level of the OSI model. The article on networking will help you understand the OSI model.

The basics of Maven

Maven is a tool for managing and building projects — a Java programmer's helpful assistant.

It makes life easier for developers at every stage of work: from creating the project structure and connecting the necessary libraries to deploying the product on the server. You'll have to use Maven when working with any framework. So, today let's take a look at its main functions and see how to use them.


In this article, we'll get acquainted with servlets and write an application that you can brag about to your friends without sending them a JAR file and without forcing them to download Java. Let's write a simple web application.

Servlet containers

The previous lesson will teach you a lot about servlets. You'll learn how to use them to create web applications. But in this lesson, we'll take a closer look at an essential part of this fun: servlet containers.

Introducing the MVC pattern

We'll talk about what MVC is, touch on its history, explore the basic ideas and concepts embodied in MVC, take a step-by-step look at how to break up an application into Model, View, and Controller modules.

Let's write a small application using Spring Boot

Continuing our exploration of MVC we'll write a small web application using Spring Boot, and, using Spring MVC as an example, we'll see how data is sent from Java code to HTML pages.

Overview of REST in three parts