JavaRush /Java Blog /Random EN /JavaRush internship test: Useful links and hints
Level 30

JavaRush internship test: Useful links and hints

Published in the Random EN group
I want to share with you useful links, hints and tips that will help you complete a test assignment for an internship in a real project in JavaRush. Of course, you can just mindlessly copy the solution to a test task from the Internet, fortunately there are plenty of examples, but we want to figure out what we are doing :) This post is for those who did not find familiar words among the stack of technologies required by the task and want to fix it) A couple of weeks ago I reached level 30 and finally got access to the internship test task. At first I was in a stupor and just didn’t know where to start and what all these springs and hibernates were doing. Just when I started digging, I ran into a problem: a lot of resources and articles assume that you already have an understanding of the subject area. Simply put, they are too abstruse for beginners and instead of understanding, they cause the reaction “it’s too difficult!” Therefore, below I will try, based on my albeit small experience, to share successful links that helped me gain a basic understanding of the necessary technologies. Those who whined while learning on JavaRush that you have to learn a lot on your own - get ready, real hell awaits you here))

So, how to approach the task?

1. Understand why all these technologies are needed (I would start studying in the order listed below):

1.1. Maven

Its role in the project is to create the directory structure of your web project (it is standardized) from a special template called “archetype” + bringing libraries into your project (adding dependency to pom.xml). Those who completed the bonus task about parsing based on jsoup - there we ourselves manually downloaded the library from the Internet and hooked it up into an idea. Maven allows you not to download anything, but simply write in pom.xml which library you want to pull up and use in the project. A quick explanation of what Maven does in pictures -> here .

1.2. MySQL

This is your database management system (DBMS). The task does not require any deep knowledge of SQL and DBMS; here I can advise you to install the dbForge program to make your life easier, which will greatly help you when creating a database and working with it.

1.3. Spring

This framework will be the core of your web application. It is huge and its architecture consists of many modules. Good news: to complete the task you will need to understand only a few things in Spring: what Inversion of Control (IoC) is and understand how Spring MVC works (what should be the directory structure of your web project, who is the DispatcherServlet, how does it interact with the controller , view and model, etc.). There was especially a lack of materials for beginners that would explain things in their own words. But, thank God, such materials were found: Very simply about IoC, code connectivity, DI (the material is presented in a somewhat frivolous manner, but everything is clear) -> here (scroll down to the next articles on the page). Next, look for what @Autowiredan annotation is. Spring MVC is a series of video lessons (the first 11 lessons, each on average 7-10 minutes). Here you will find a series of video lessons; in general, I HIGHLY recommend watching this guy’s lessons! Despite the funny Hindu English, he explains everything in great detail and clearly, with clear examples. He also has lessons on other frameworks. WorkFlow applications on Spring MVC in pictures - see here .

1.4. Hibernate

This is a framework for working with databases. Roughly speaking, it allows you to pull information from a database and immediately embed it into a class object, and vice versa. You can start learning from here (before the first code examples).

1.5. HTML & CSS

To display your data on a web page, you will need to create this page using HTML and CSS within your jsp files. There are many good resources for getting into this topic. Personally, I studied XHTML and CSS using this series of video tutorials (I liked that the guy explains with humor, but at the same time very consistently and logically). The above links give an initial idea; as you get acquainted, you will probably have new questions. It’s important to stop in time and:

2. Start doing the task

2.1. Look at examples of completing the task, there are plenty of them on the Internet, and I believe you can easily find them. You've already learned the basic concepts - is there anything still unclear about how to do the task? If yes, then look for answers to specific questions. 2.2. Download a free trial of Intellij Idea Ultimate (30 days)! At first, I racked my brain for a long time about how to do the task; I accidentally came across on the forum that I needed to download the Ultimate Edition - without it it would be hard for you (the community edition does not support JavaEE) 2.3. Create a project template from a Maven archetype (for example, maven-archetype-webapp) or from a Spring MVC template in Ultimate idea (if necessary, you can then add support for the desired framework: Add Framework Support in the idea). 2.4. Try to make a simple HelloWorld message output to your browser (pass this message from the controller to the jsp page). 2.5. When you have mastered it, expand the functionality of your application based on examples on the Internet: create a database, model, service classes, configure the controller... And everything will definitely work out!) I hope this article will be useful to someone and will save time on studying the material. If you want to share your useful links, I’ll be glad to see them in the comments!