Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[english] Improve translation on: Framework and thoughts About Learning Data Structure and Algorithm #663

Closed
wants to merge 9 commits into from
38 changes: 22 additions & 16 deletions common_knowledge/OnlinePraticePlatform.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,35 @@

**Author: [labuladong](https://github.com/labuladong)**

Although I like to take exam-oriented education when I'm fine, I also found a trick from the exam-oriented education: If I can learn a certain skill in the form of a question, the efficiency and effectiveness are the best. For technical learning, I often face a dilemma: **I know a lot of theoretical knowledge, but some scenarios can’t be simulated, and I lack the opportunity to do it myself**. It's useful there is a workbook with standard answers.
Although I like to diss exam-oriented education, I also found a trick from the exam-oriented education: If I can learn a certain skill in the form of a question, the efficiency and effectiveness are the best. For technical learning, I often face a dilemma: **I know a lot of theoretical knowledge, but some scenarios can’t be simulated, and I lack the opportunity to do it myself**. If only there was a workbook with standard answers for me to prep!

So when learning new technologies, I will first search for online problem solving platforms. Do n’t mention that some gods have done very good online practice platforms. Here are a few platforms, which are learning Git, SQL, regular expression online training platform.
So when learning new technologies, I will first search for online problem solving platforms. It goes without saying some pros have built very good online practice platforms. Here are a few platforms, which are learning Git, SQL, regular expression online training platform.

### 1. Git exercises
### 1. Git Exercises

This is a project called Learning Git Branching, which I must recommend:
This is a platform called "Learning Git Branching", which I must recommend:

![](../pictures/online/1_english.png)

As in the welcome dialog box, this is indeed one of the **best** Git animation tutorials I have found so far, none of them.

When I used Git, I would `add .`,` clone`, `push`,` pull`, `commit`. The other commands would not be at all. Git is a downloader, and Github is a resource website, of course the execution of git commands depend on luck. I don't understand what version control is, and I don't bother to read the messy documents.
When I used Git, I would `add .`,` clone`, `push`,` pull`, `commit`. The other commands would not be at all. Git was a downloader to me, and Github was a resource website with free image hosting, and of course the execution of git commands depended on luck. I didn't understand what version control is, and I didn't bother to read the messy docs.

The tutorial on this site is not to give you detailed examples of modifying files, but to abstract each `commit` into nodes of the tree, **in the form of animation to break through the levels**, and let you use Git commands to complete your goals freely:
The tutorial on this site is not to give you detailed examples of modifying files, but to abstract each `commit` into nodes of the tree, **in the form of animation and breaking through the levels**, and let you use Git commands freely to achieve your goals:

![](../pictures/online/2_english.png)

All Git branches are visualized. You just enter the Git command on the command line on the left, and the branch will change accordingly. As long as the task goal is reached, you will pass the level! The website will also record the number of your orders, try to pass the minimum number of orders!

![](../pictures/online/3_english.png)

At first I thought that this tutorial only included version management of the local Git repository, but **later I was surprised to find that it also has a remote repository operation tutorial**!
At first I thought that this tutorial only included version management of the local Git repository, but **later I was surprised to find that it also has a tutorial on remote repository operations**!

![](../pictures/online/4_english.png)

![](../pictures/online/5_english.png)

It ’s really the same as playing a game. The difficulty design is reasonable and the fluency is very good. I can’t stop playing it anymore, and I get through in a few hours, cooool!
It’s really just like playing a game. The difficulty design is reasonable and the fluency is very good. Once I started, I couldn't stop playing it, and I sped through it in a few hours, cooool!

![](../pictures/online/6_english.png)

Expand All @@ -46,7 +46,7 @@ Tutorial website address:

https://learngitbranching.js.org

### 2. regular expression exercises
### 2. Regular Expression Exercises

**Regular expression is a very powerful tool**. It can be said that all data in the computer are characters. With the help of pattern matching tools such as regular expressions, operating the computer can be said to be even more powerful.

Expand All @@ -56,9 +56,9 @@ The exercise platform called RegexOne:

![](../pictures/online/9.png)

There are basic tutorials in front, and some common regular expression topics in the back, such as judging mailboxes, URLs, phone numbers, or extracting key information from logs.
There are basic tutorials in the beginning, and some common regular expression topics later behind, such as judging mailboxes, URLs, phone numbers, or extracting key information from logs.

As long as you write a regular expression that meets the requirements, you can go to the next question. The key is that each question has a standard answer. You can click the solution button below to view it:
As long as you write a regular expression that meets the requirements, you can go to the next question. The selling point here is that each question has a standard answer. You can click the solution button below to view it:

![](../pictures/online/10.png)

Expand All @@ -70,7 +70,7 @@ The test tool is a Github project called RegExr and its website:

![](../pictures/online/11.png)

It can be seen that after entering text and regular pattern strings, **the website will add nice and easy-to-recognize styles to regular expressions, automatically search for pattern strings in text, highlight matching strings, and also display each group captured string**.
It can be seen that after entering text and regular pattern strings, **the website will add nice and easy-to-recognize styles to regular expressions, automatically search for pattern strings in text, highlighting matching strings, and also display each group's captured string**.

This website can be used in conjunction with the previous regular exercise platform. Here you can try various expressions and paste them after successful matching.

Expand All @@ -79,25 +79,31 @@ RegExr URL:
https://regexr.com/

If you want to learn more about regex, there is a good advanced learning resource: [https://www.regular-expressions.info/](https://www.regular-expressions.info/).

![](../pictures/online/13.png)

And another high quality regex testing site is: [https://regex101.com/](https://regex101.com/).
![](../pictures/online/12.png)

### 3. SQL exercises

This is a website called SQLZOO with all the exercises on the left:
This is a website called SQLZOO with all the exercises on the left column:

![](../pictures/online/7.png)

SQLZOO is a very useful SQL practice platform. English is not difficult to understand. You can read the English version directly, but you can also switch to Traditional Chinese, which is friendly.
SQLZOO is a very useful SQL practice platform. English is not difficult to understand. You can read the English version directly, but you can also switch to Traditional Chinese, which might be more user-friendly to you.

Here are the more commonly used SQL commands, to give you a need, you write SQL statements to achieve correct query results. **The most important thing is that there is not only a detailed explanation of the usage of each command here, there is a multiple choice question (quiz) at the end of each topic, and there is a judgment system, and even some difficult questions have video explanations**:
The challenges on the site are the more commonly used SQL commands, you are given a need/goal to extract data, you write SQL statements to achieve correct query results. **The most important thing is that there is not only a detailed explanation of the usage of each command here, there is a multiple choice question (quiz) at the end of each topic, and there is a judging system, and even some difficult questions have video explanations**:

![](../pictures/online/8.png)

As for the difficulty, it's gradual, even friendly to novices, and the later questions are really more technical. I believe this is what people who love to think and challenge like! LeetCode also has SQL-related topics, but the difficulty is generally relatively large. I think it is more appropriate to brush the basic SQL commands in SQLZOO and then to LeetCode.
As for the difficulty, it's gradual, even friendly to novices, and the questions in later challenges become a lot more technical. I believe this is what people who love to think and enjoy challenges would like! LeetCode also has SQL-related topics, but the difficulty is generally much higher. I think it is more appropriate to brush up on the basics SQL commands in SQLZOO and then head over to LeetCode.

Website address:

https://sqlzoo.net/


[Previous: Difference Between Process and Thread in Linux](../common_knowledge/linuxProcess.md)
[Next: An analysis of Dynamic Programming](../dynamic_programming/AnalysisOfDynamicProgramming.md)