Hello everyone, I’m Guide Brother ~

My school is a double non – one in jingzhou.

Throughout my freshman year, I didn’t really study programming. I spent every day hanging out and participating in various club activities.

At the end of the semester of the sophomore year, I finally decided that the technical direction I would go in the future was Java backend. So, I began to make a learning plan, began their own Java backend field to fight the monster upgrade road.

In my junior year, I basically learned some necessary technologies in the field of Java back-end, and I also made two practical projects with what I had learned. The whole process took me a summer vacation and half a semester, and the learning intensity was basically more than 10 hours every day.

This article is simply about: How did I learn to code?

👍 recommended
2021 latest actual combat project source download

What are the ways to learn?

Generally speaking, after we have a specific learning route and know what to learn, we usually have the following directions to learn:

video

Beginners of programming try to watch more videos, because video tutorials are easier to understand.

However, for those who are already more experienced, video tutorials tend to be slower to learn than documentation tutorials.

There are a lot of learning videos on MOOCs and Bilibili, just search for keywords (such as Java, MySQL) directly on them.

Mind you! When studying in Bilibili, don’t go to other areas after a while, it’s a little unbearable!

blog

Most of the blogs on the net have no system, you can look for some related blogs on the net when you are solving some knowledge points or problems.

For example, when I was learning about message queue Pulsar, I first read through the official documentation of Pulsar. Then, I found some relevant articles on the Internet to study in depth.

  • Kafka vs. Pulsar vs. RabbitMQ: Performance, Architecture, and Features Compared
  • Why Dropping Kafka for Pulsar?
  • 7 Reasons We Chose Apache Pulsar Over Apache Kafka
  • Kafka: What’s so good about Pulsar, a new big data analyst?
  • From Kafka to Pulsar, Bigo’s Way to Build Real-Time Messenger Systems
  • Apache Pulsar Performance Tuning in Bigo (1) Apache Pulsar Performance Tuning in Bigo (2)
  • Apache Pulsar’s landing practice in the field of energy Internet
  • .

Java field more blog into a system, recommend JavaGuide (project address: https://github.com/Snailclimb…

👍 recommended
2021 latest actual combat project source download

Official website (official document)

Unless the official documentation of some domestic project is available in Chinese, it is likely to be in English.

In addition, the official documentation is often relatively rough, not suitable for beginners as learning materials.

However, we must read the official documents. Only through the official documents can you know the latest technical trends of the technology you learn, can you know what modules this technology has to learn, and can you know what problems this technology can help you solve.

For example, here is the Spring website. From the home page, you can get an idea of what Spring can do for you:

  • Rapid Website Development
  • Software to develop microservice architectures
  • Develop responsive architecture software
  • .

books

The content of books is more systematic, more systematic. Books, however, have a time-limitation problem. Here are a few things you can do to keep abreast of the latest technology developments:

  • Watch what’s happening in the tech community like GitHub Trending
  • Watch out for some public technology sharing
  • Keep an eye on some tech titans
  • .

What should I pay attention to in the process of self-study?

English reading ability

Most of the good technical books are foreign, almost all in English, and most of the official technical documentation is in English, too.

Therefore, it is very important to improve your English reading ability. It doesn’t matter if your English reading ability is temporarily poor. Youdao translation and Google translation are your best teachers. If you’re using Chrome, I also recommend installing a Mate Translate plugin. This plugin is too friendly for web pages to read English documents, it can be a one-stop translation of your web pages and marked text paragraphs.

More practice! How to remember! More practical!

Whether you’re watching a video or reading a book, it’s best to practice with it and record some of the key points.

In addition, if you are watching a video, it is a good idea to read a book while watching the video.

The knowledge points that are not understood in the learning process must be solved as soon as possible. How to solve it? Preferred Baidu /Google, through the search engine can not solve the words to find friends around or know some people on the Internet.

In addition, must carry on the project actual combat! A lot of people at this point say what if I don’t have a real project to do? I think it can be done in the following ways:

  1. Practical project video/column: find a practical project video or column on the Internet that matches your abilities and job search needs, and work with your teacher to make it. In the process of following the teacher, you must have your own thinking, not superficial. For many knowledge points, others’ explanation may just be enough to meet the project. If you want more knowledge, you will learn to study deeply about important knowledge points by yourself.
  2. Action-based Open Source Projects: There are a number of Action-based Open Source Projects on GitHub or Cloud. You can choose one to study. In order to better understand the project, you can improve or add functionality to the original project based on your understanding of the original code. Java class projects in action, you can find from the Awesome – Java repository, which has a lot of awesome projects.
  3. Start from scratch: do something you want to do by yourself, learn something you can’t do, and sell it now. This is a tall order, and I recommend that you use this method after you have already had a project experience. If you haven’t worked on a project before, it’s better to stick to the two methods above.
  4. .

Do projects not only to do, but also improve, improve. Also, if your teacher has a Java back end project, you can apply to be a part of it.

Make sure you learn how to manage your time. There’s a lot to learn. There’s a lot to learn. Don’t spend all your time learning about frameworks. Algorithms and data structures are really important!

Don’t think of learning to code as a test-taking test when you’re a student

You may have noticed that too. A lot of students who are really, really good at programming are actually not that good. In college, those who were the best at coding tended to be the ones with average grades.

Why is that?

I think it’s mostly a question of a shift in thinking. A lot of people, when they learn programming, they think I’m going to write this API down, I’m going to write this library down. This kind of study, lead to only one result that is you will be very uncomfortable! Because it’s not something to learn by rote. I really think this is a class test! Learn from the point of view of working on a real project, starting with how you can use what you’ve learned to solve real programming problems.

Take myself as an example: I write Python in my daily life, mostly by looking at the official documentation or the grammar taught in some books. If something doesn’t work, I’ll look it up.

Look for good code

Without looking at good code, it’s hard to improve the quality of the code you write.

Look at good code, but don’t get caught up in “best practices.” Many times there is no “best practice” for any scenario. There is no silver bullet.

What are some good pieces of code to learn?

In the case of Java, if you don’t know what source code to read, you can start with a few commonly used collections from the JDK. In addition, I would recommend reading Dubbo, because it feels a little easier, the modules are clearly divided, and the comments are detailed. Once you understand the basics of RPC and know how to implement an RPC framework yourself, it doesn’t seem that taxing.

In addition, any framework of the source code are 10W + line, it is impossible to see again. To pick where it’s important to look, for example if you’re looking at the Spring source code you need to look at IoC and AOP to see how a Spring Bean is created step by step. If you need to look at the Spring Boot source code, you will need to know how Spring Boot is started and how Spring Boot is automatically configured.

Don’t learn by rote

When learning theoretical knowledge, we can take more time to organize notes.

However, when learning how to use a framework, it is not necessary to spend a lot of time organizing and taking notes.

You can always check the document, remember the key words can! Spring Boot Query Param = Spring Boot Query Param = Spring Boot Query Param = Spring Boot Query Param = Spring Boot Query Param = Spring Boot Query Param = Spring Boot Query Param

“Spring Boot+ Redis” is an example of how to use Redis. If you need to use Redis for your Spring Boot project, you can search “Spring Boot+ Redis” to find out more about this tutorial.

All you have to do is connect the things that are commonly used, and just know that it’s there. According to their actual ability, and then to the bottom of the things to learn.

For more good programming habits, see: Becoming a Less Bad Programmer.

I am the Guide brother, embrace open source, like cooking. GitHub is close to the author of the 10W thumb up open source project javaGuide. In the next few years, I hope to continue to improve JavaGuide and strive to help more friends to learn Java! ‘! 凎! Click to see my 2020 work report!

The original is not easy, welcome thumb up share. See you next time!