I've found that once you have a sufficent level of familiarity with the thing you're learning, the best way to progress is to find a problem to solve and then use the resources you've found as a means to that end. It's nice if it's some little app that would actually be useful to you, but artificial puzzles (e.g. katas) or copied app ideas are fine too. Either way it helps focus your attention on the important parts and should give you "ah-ha!" moments where you finally grok any tricky concepts.
If you find a problem that you find particularly interesting then feel free to re-use it when learning other languages or technologies. Although in some ways it's not as satisfying as solving/implementing it for the first time, having a problem you already know lets you focus on the technology you are trying to learn. Also reimplementing the same thing in another language can help you to truly appreciate its differences, so long as you are careful to use it idiomatically.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.