Nowadays, new technologies are emerging, so we don't have that much time to study every technology. For most technologies, we only need to understand the concept and take a macro look at it and decide whether to study it in depth or not. With this understanding, you can easily chat with others, and make some reserves for future technology selection.
AD: wot2014: user tag system and user data operation training session
51cto is hosting the WOT Global Software Technology Summit to get tickets at a discount of RMB!
A few days ago, fork used the ruby China source code, which was confused by the unfamiliar Ruby technology stack.
I fork, not just to learn, but to build a community website in my mind in the shortest time. Therefore, it is impossible for me to buy a book for every new technology for the first half of the month.
I started Ruby China on the local machine. I registered a new user and found that I could not post. I was prompted that I had to register for more than a month. So I went to the relevant code:
- # Can Post?
- Def newbie?
- Return false if self. Verified = true
- Self. created_at> 1. Week. Ago
- End
The code won't lie for a week. So I can get rid of the text and put forward a pull request by the way.
The Code says that if it isself.verified
I am not a newbie. I went to the management background and checked it. The interface for modifying this field was not found. So I had to update this field in the database. I probably know that MongoDB is a database, but I don't know how to operate it.
Starting from a macro perspective
When I understand a new technical term, I will not directly fall into details, but grasp it from a macro perspective. Understand its background, why it appears, what problems it solves, what similar technologies it has, and how we work before. With a broad understanding, I can easily associate it with the technology I know so that I can understand it more quickly.
Practice
Open the official website and find that there is a great try it out. It takes 10 minutes to get a rough idea about the gameplay and then solve the actual problem.
I know from the try it out.help
Commandhelp
Yesshow dbs
,use ruby_china_dev
. Based on the experience of using SQL, I take it for granted that a field for updating a record should be as follows:
db.users.update({"_id":3}, {verified: true})
But sadly I found that the entire record was replaced. Well, this is a document-type database. Search for a dog:How to update specific field in mongodb
And quickly found the answer.
db.myCollection.update({condField: ‘condValue‘}, { $set: { dateField: new Date(2011, 0, 1)}}, false, true);
My requirements here are:
db.users.update({_id:3}, {$set:{verified:true}}, false, true)
The problem is solved.
As the Contact gets deeper and deeper, more and more problems will be encountered. I will put every solved problem in my Evernote, so that I can find the answer quickly next time. When I found that postach. Io is a blog system that can be synchronized with Evernote, I opened such a blog. It is easier for others to find the answer when they encounter the same problem.
When I am really interested in a technology and have enough time to learn it, I usually follow the steps below.
Teaching is the best course
When I practice enough, I may feel that I have mastered this technology. But when I try to express it, I will be surprised to find that there are still many concepts that seem to be understandable. So I will check the information and improve my system. It is only when I express what I learned in my own language and make the audience understand it.
It is very important to learn to share. We will summarize our technical experience, write a blog, compile a book and publish it, and then share our practical experience at industry conferences. In this way, we can become recognized experts in this field.
Postpone Learning
A colleague who reads more than 100 books a year said:
You can read dozens of books in a year, so you don't need to read any books. Spend more time picking books.
Nowadays, new technologies are emerging, so we don't have that much time to study every technology. For most technologies, we only need to understand the concept and take a macro look at it and decide whether to study it in depth or not. With this understanding, you can easily chat with others, and make some reserves for future technology selection. When faced with real needs, or you have enough time to make technical reserves, you can enter the practical part.
Programming is an industry where knowledge is updated quickly. Only those who are enthusiastic and have mastered a good learning method can take a long time.
Love programming, love life, and quickly adapt to new IT technologies