How to learn JAVA in 7 days

I found something on Twitter today

「 If you want to become a freelance engineer from inexperienced You have to study for at least a year ** useless ** </ font>, right? ** No, no! ** ** Programming acquisition ** 7 days ** </ font> ** Anyone can ** </ font> 」

It's a common programming school selling phrase

I will try to verify whether I can really learn programming in 7 days based on the Java study method I came up with.

Premise

I've heard about if and for statements at school, but I don't remember them, and I don't know object-oriented programming (OOP). There is no one like a mentor, I will study all by myself It is assumed that you can use the Internet and have obtained the necessary books in advance (however, you cannot ask people on Twitter, etc.) It is assumed that there is no work or errand for 7 days studying Java I will not take notes for myself (because it takes longer to take notes)

Verification

So let's get started The first thing I started with was ...

Progate

If you do a little research on the Internet, it will come out first! You can take the course for free halfway, and you can start with the Java execution environment prepared, so you can do it at a considerable speed. This time, we will pay a monthly fee of about 1000 yen and take a paid course. Click here for Progate

As I said earlier, it's not a stemmer w I think Progate is quite effective in the early stages as the fastest way to study.

Java courses range from I to V, but it will be over in 8 hours. Dojo on the way? There is something like, but let's ignore it I don't have time anyway!

** What you can understand with Progate ** Basic syntax for variables, if statements, for statements, etc. Parts related to object-oriented programming such as classes, methods, instances, encapsulation, inheritance, and generics

Java 2nd Edition

Progate can flow the approximate part at the fastest speed, but there are some parts that Progate does not come out. Exception handling, interfaces, functional interfaces, lambda expressions, streams, reflections, etc ... I think Progate is a great tool for studying the fastest, but it has very little content. To be honest, even if you master the contents of Progate perfectly, you are not at a level where you can make something.

Let's study quickly with Java 2nd edition, which allows you to understand the parts that did not appear in Progate! Click here for Java 2nd Edition

If you note here, there are some parts that are a little difficult to understand in Java 2nd edition that you can understand fluently. The reason is that Progate had a process of explanation, coding, and execution, but Java 2nd edition, which is easy to understand, ends with explanation and problems. The sample code comes out, but the execution result is hard to imagine and a little hard to understand. However, the explanations in this book are so polite that you can understand them if you read them carefully.

** What you can understand with Java 2nd Edition ** Exception handling, interfaces, functional interfaces, lambda expressions, streams, reflections, multithreading, annotations, collections, etc ...

However, you don't have to remember all of this perfectly from the beginning. If you can understand exception handling, interface, functional interface, lambda expression, and stream, that's OK. The reason is that it will come out to death after this, so even if I desperately come here ...

You can skip what you know In that case, I think that you can read and understand in about 10 hours.

Java SE 8 Silver exam questions

It's a black book that is commonly called [Click here for Java SE 8 Silver Questions](https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5Java-SE -8-Silver% E5% 95% 8F% E9% A1% 8C% E9% 9B% 86% EF% BC% BB1Z0-808% EF% BC% BD% E5% AF% BE% E5% BF% 9C-% E5% BE% B9% E5% BA% 95% E6% 94% BB% E7% 95% A5% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-ebook / dp / B01ASGJYIE / ref = sr_1_1? __ mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & keywords =% E5% BE% B9% E5% BA% 95% E6% 94% BB% E7% 95% A5 + Java + SE + 8 + Silver +% E5% 95% 8F% E9% A1% 8C% E9% 9B% 86% 5B1Z0-808% 5D% E5% AF% BE% E5% BF% 9C & qid = 1563609042 & s = digital-text & sr = 1-1)

When you read this book, your understanding, which was somehow until now, will be firmly imprinted on your brain. After reading this book a few times, you will be able to easily take Java Silver.

I think it's quite valuable in that sense, but I don't have time this time. If you understand the difference between static methods and instance methods, skip this step and go to the next one (because qualification is not the purpose!)

Java Programmer Gold SE 8

It's a purple book Click here for Java Programmer Gold SE 8

If your goal is to get a qualification, you should also read the Java Gold black book, but this time you should just read the purple book.

Java Gold has a little more detail that didn't come out in Silver Java-likeness finally comes out from here w

What can you make with what you understand so far? ?? It was a level, but when it comes to Java Gold level, it becomes a little better, and it will be possible to implement reading and writing of files, database access, multithreading, etc.

** What you can understand with Java programmer Gold SE 8 ** How to use the library included in the JDK Functional interfaces, lambda expressions, streams, etc.

This book is quite heavy, so let's take about 48 hours

Design pattern (TECH SCORE)

I'd like to say that the next book is ... but let's take a break and learn about GoF design patterns. There are various books on design patterns, but all of them just wrote implementation examples and didn't make much sense, so let's just go to a website that you can see for free.

TECH SCORE explains it in a fairly easy-to-understand manner Click here for the design pattern (TECH SCORE)

The important thing here is not to be bound by the implementation method. What I want to understand now is not the implementation method, but the ** design pattern ** </ font>

Please finish here in about 3 hours

Effective Java 3rd Edition

This book is a translation of the book by Joshua Bloch, the creator of Java. There are 3 editions from the first edition, but the contents are different for each. The 3rd edition also describes the contents of Java SE 8, so there is a method that can be used as it is.

As a prerequisite to reading this book, you must somehow understand the basics and design patterns of Java. Conversely, if you read this book and understand the meaning, you can think that beginners are no longer out. Click here for Effective Java 3rd Edition

** What you can understand in Effective Java 3rd Edition ** Points to be aware of when designing and implementing Java Usefulness of immutable objects

What surprises me in this book is that the content I studied hard at Java Gold is dismissed as "Don't use that kind of thing" w Is the coding standard made based on this book? I often see that, so if you can understand this, you can somehow design and implement it.

This book is also quite heavy, so do you want to save it for about 60 hours?

Spring Boot 2 Introduction to Programming

By the way, I think you have some understanding of the language Java. From here, let's touch on the areas that are actually used for work (sorry, even if you understand so far, it is delicate whether it will be work ...)

Speaking of Java framework, Spring Framework! !! !! With that new face, there is Spring Boot. Quite simply, you will be able to create a web server using Java. Click here for an introduction to Spring Boot 2 programming

This book is fairly polite and is much better than looking at a suitable website on the internet. However, the contents are a little old ...

Environment construction is saying something like STS, but now if you use Spring initializr, environment construction will be completed in one shot w

No, it's really convenient, isn't it? Since I started reading this book, I learned about the existence of Spring initial izr, so I have a terrible memory of stumbling when I started reading.

In this book, I wrote the code using the language Groovy at the beginning, but anyone who has come so far can fix it to Java by intuition. By the way, the builder is explained with the pattern using Maven and the pattern using Gradle, but ** Please absolutely use Gradle ** </ font>

Now, if you look up various things on the Internet, you can see that the patterns in Maven are explained firmly, but the Spring Framework and various libraries that accompany it are aiming for XML removal. With Maven you have to write in XML, but Gradle can be written like Java It's Java-like, but it's actually Grooby.

** What you can understand in Spring Boot 2 Programming Primer ** MVC basics Environment How to use Thymeleaf (template engine) Database access

One of the goals of this book is to create a Web service, so there are quite a lot of explanations around the screen using Thymeleaf. I feel that there are more explanations of Thymeleaf than Spring.

I forgot to say that database access uses Mybatis, so you can skip the database access part. Instead, read the Mybatis documentation Click here for the official Mybatis documentation Click here for the official Mybatis-Spring documentation

Mybatis documents are disjointed for some reason ... w When I search Mybatis for a while, it says that I'm worried about Japanese localization, but that's not the case at all. It's pretty easy to understand, and there are few wasted parts, so you can read it in a little spare time.

Besides Mybatis, Hibernate seems to be popular, so it may be better to study that as well.

Let's spend about 15 hours including the introduction to Spring Boot 2 programming and the official documentation of Mybatis. Spring Boot 2 The introduction to programming is thick, but there are many places where you can skip it.

A thorough introduction to Spring

Finally this is the last If you can read this, it feels pretty cool? I think i can be

It's a bit old, but it covers the important parts of Spring. The explanation is also fairly polite and easy to understand, and the parts that I could not touch in the introduction to Spring Boot 2 programming are explained firmly. Click here for a thorough introduction to Spring

It's not just about moving, it's about creating a good system using Spring functions and how to reduce development man-hours.

I haven't read through this book yet, so I don't know some parts, but I think it's safe to say that almost everything is packed here.

However, there are some writing styles that have been added due to the version upgrade and some writing styles that have been deprecated, so let's chase after reading this book. Please take a look at the article below as it explains briefly. N things to keep in mind when reading "Introduction to Spring" and "Introduction to Spring" in the Reiwa era

This book is almost completely memorized, so please read it quickly in about 24 hours. If you don't understand, you can look back at it later.

inspection result

It is a result announcement whether you can learn Java in 7 days

First, let's calculate the required time

Progate 8 hours

Java 2nd Edition 10 hours

Java Programmer Gold SE 8 48 hours

Effective Java 3rd Edition 60 hours

Design pattern (TECH SCORE) 3 hours

Spring Boot 2 Introduction to Programming + Mybatis Official Documentation 15 hours

A thorough introduction to Spring 24hours

** Total 168 hours! ** **

7 days * 24 hours is 168 hours, so ...

** Conclusion! ** **

** You can learn JAVA in 7 days! !! !! !! ** </ font>

No, I was able to learn JAVA in 7 days. I wish I could stay focused for 7 days without sleeping ... w

Summary

I was able to prove that the programming school is not a liar If you really don't like self-study, you might have a programming school. If it is a book, 30,000 yen is enough for all, so it can not be said that it is cost effective unless the mentor has considerable value.

But it's reckless to dare to learn programming in 7 days ... Good luck to those who are trying to learn programming in 7 days

Recommended Posts