Want to learn how to code? This article will guide you through the jungle of technology and resources to help you go from no knowledge to fast, interactive and modern coding skills, following the forest path I took.
I spent a month learning how to start coding. Although sometimes challenging, it is a very useful experience.
The most difficult challenge is to choose what to learn and learn it. There are so many languages, frameworks and libraries - and many conflicting suggestions.
Also, some learning resources are much better than others. If I knew which resources to focus on, my progress might be faster.
With this in mind, I think I will share something useful with you. If I feel a lot, I am very lucky. I can spend several hours a day studying these materials.
How fast you do it doesn't reflect your potential as a developer, so don't worry if it takes you longer to complete these materials. However, if you have the time, you can finish it in half a month.
These are the paths I have taken, which does not mean you have to go through them all.
These are the three core languages of all web applications, and it is (almost) impossible to build anything on the web without using them.
If you have never done any coding before, HTML is a good place to start. It is the core building block of the web. Unlike most other languages, it gives learners real-time visual feedback about the code they are writing.
CSS is HTML's natural companion. On the surface, it is very simple, although there are some concepts - particularly relating to layout and positioning - that can take some time to understand.
The most difficult part of CSS is understanding the layout. Users asked me most of my layout questions on StackOverflow, so the quick Google search solved most of my problems.
H5 and CSS took me about two days. Usually, when you want to know something about coding, it is always the quickest way to get started directly.
since I started to learn backend, js only took me a short period of time.
Go is an extremely cool language, especially in modern efficient Web programming.
Go is the language that I choose to learn from the backend, and it is also the language that I prefer to learn more. As a beginner in the language, I still can't distinguish the characteristics and quality of various languages, which usually requires years of coding experience or experience of using multiple languages to be clear.
I have experienced the use of C ++ STL and certain Java coding, but from the perspective of the past, it can only be achieved in more than ten days.
I spent about three days on The Way To Go. Before that, I read The guide for getting started with Go in The Cainiao tutorial. Although this book is relatively brief about the advanced features of the Go language, it is undoubtedly enough as an introduction.
Even if I read English, maybe you prefer reading Chinese books, but as a coding staff, English is undoubtedly the language that must be learned. after that, I did a little crawler practice, involving goquery,gocolly crawled Feilu's novel website first and then crawled various business information of various regions.
This probably took me a day. (Knowledge of reading documents learned from here)
Then I started reading the Go Source Code package, traversing each function of each package through their godoc. When I started reading the internal logic of each function, I was stopped because of the huge knowledge system. It took me about three to four days. (Drawing skills learned from here)
At this time, I started to develop a cloud API access service for sending text messages. At that time, understanding and accessing the Alibaba Cloud market brought me trouble, and it was never easy to find a solution to the demand. It took about a week to learn about the access between go and MySQL and the HTTP communication between different terminals.
The following is the background management of the Carousel graph. Here, I began to learn about table design and learn more about MySQL.
Finish the carousel graph (the more you consider, the more you need to do, but the coding may not be changed, it should follow the power law) and start the design of the order system, which is the most difficult part to learn the background functions.
At the same time, I also spent a lot of time consulting and designing, and also contacted with the use of gorm. After finishing the design of the order system, I got a great improvement because I considered a lot of adaptation to the actual situation. After that, the more difficult business must be the game server.
After that, I completed the background construction of an app, which was combined and spliced by various modules. The difficulty here is mainly in teamwork, so it is not detailed here.
here, my go-to-study process has come to an end.
Part 2: other essential parts of any developer toolkit
Git and GitHub
Git is the so-called versioning system, and GitHub is the most popular cloud-based Git Service.
In short, Git allows you to back up files, track changes, share your progress with other developers, and collaborate with projects.
When you have just learned and do not need to use Git, it can feel like a hard job. However, this is worthwhile: most professional developers not only rely on GitHub (or similar services) but also have active GitHub configuration files to help you ensure worker safety.
The earlier you start to hand over your work to GitHub, the more experience you will have as a developer.
the command line is the most important part. It is necessary to understand the operation of the command line. At the same time, it is very simple to learn. There are not only many tutorials on the Internet, but also many private Linux dishes of brother no.
However, my suggestion for tools is that if it is not necessary, I just need to know.
The best way to use Git is through "terminal" or "command line", which is also important for modern Web developers, allowing you to use NPM (Node package manager) or Yarn you can easily add third-party packages to your website. There are also many websites that can help you take this step
part 3: What is the next step?
This is all I have learned in a month.
The content to be learned includes Kubernetes,Istio, and gRPC. This is a lot of technology, and it is best to know them too!
Did you find this article valuable?
Support Abser·Ari by becoming a sponsor. Any amount is appreciated!