Photo by Sincerely Media on Unsplash
How did I begin to learn to code: the resources I used in a month
Want to learn how to program? This article will guide you through the jungle of technology and resources, helping you to build fast, interactive, and modern coding knowledge from lack of knowledge, along the forest path I have walked.
I spent a month learning how to get started with coding. Although it is sometimes challenging, it is a very useful experience.
The most difficult challenge is to choose what to learn and there learn it. There are so many languages, frameworks, and libraries-and many contradictory suggestions.
In addition, some learning resources are much better than others. If I knew which resources to focus on, my progress might be faster.
In this spirit, I think I will share something useful with me. If I feel a lot, I am very lucky. I can spend several hours learning these materials every day.
How fast you do it does not represent your potential as a developer, so don't worry about whether it will take longer to complete these materials. However, if you can put in the time, you can finish it in half a month.
these are the journeys I have experienced, which does not mean that you need to go through all of them.
Part I: HTML,CSS, and JavaScript
these are the three core languages of all Web applications, and (almost) it is impossible to build anything on the Internet without using them.
HTML
if you have never done any coding before, HTML is a good starting point. It is the core building block of the Internet. Unlike most other languages, it provides learners with real-time visual feedback on the code they are writing.
CSS
CSS is the natural companion of HTML. On the surface, it is very simple, although there are some concepts-especially related to layout and positioning-which may take some time to solve the problem.
the most difficult part of CSS is understanding the layout. Users asked me most of my layout problems on StackOverflow, so the fast 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.
JavaScript
HTML and CSS are not fully mature programming languages, so you will not be able to fully understand programming before you begin to learn programming languages. JavaScript is the programming language of the Web.
To be honest, although I tried js programming in junior high school, I can't even count the real Coding. Until now, I am also JavaScript Cainiao, so I can't give some help and suggestions on it.
since I started to learn backend, js only took me a short period of time.
GO
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.
Command line
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!