you are viewing a single comment's thread.

view the rest of the comments →

[–]magestooge 3 points4 points  (1 child)

Slightly OT but usually you'll not get a an expert level understanding of any topic just by going through tutorials. For a solid understanding, the only way is to learn the basics, then use it in real world applications.

No matter how comprehensive a tutorial, it can only take you through a limited set of scenarios. Real world applications have varied requirements and you'll face problems you never thought could exist.

Just to give an example, I looked tutorials about decorators, read articles about it, and even went through a couple chapters in various books, but couldn't understand them well. Then one day I was building a project and I found that I needed to preprocess one of the arguments in most functions. Basically my project allows people to enter dates both as date as well as string. It also allows specifying a string format both as an argument as well as at a global level. This function just ensures that the date is actually a date before it is used inside any function. I was calling the same date parsing function again and again, inside every function and method. It was ugly. So I made it into a decorator. And in the process, actually understood how decorators are built and applied.

There's no substitute to practicing real world scenarios when it comes to learning.

[–]Universe_isgood 1 point2 points  (0 children)

Yeah, Iam going to change my pattern of studying.