I think, as a community, we all have to make a mental note, that this shit is tough but with struggle comes the reward. We could learn a lot from pro athletes. Our general rule that we are "lazy" is so bad. You should not be lazy. Do the damn thing. It will be hard, but you are doing it for a reward.
It is super hard to remember that fact, when you are deep down in Node.js trying to figure out how streaming and event loop goes on. But thats where notes and big posters come in :)
Two things have helped for me - one is to have a useful project in mind for the thing you are learning, so you have a payoff at the end. The other is digging into the details of the thing to really understand the subject - and make a mental note that you're implicitly committing to struggle and frustration in exchange for the reward of knowledge. If you aren't willing to struggle you won't get very far in any subject. It's great to have the initial interest/spark, but perseverance is what really changes you as a programmer.