My strategy is to have a rough idea of what's going on, but not feel like I have to learn or know everything to be a good developer. There's so much new stuff being developed these days that it's virtually impossible to know it all, but it is important to know enough to be able to make a good decision about what to learn or use in a given situation.
In my opinion I would focus on knowing the "timeless" development skills such as OO (cohesion, coupling, and encapsulation) and creating testable and high-quality software.
I would then supplement this by learning the technologies I need to do the stuff that I'm working on.
I believe there are many ways to achieve this information/skills. A combination of books, work experience, conferences, postcasts, and reading blogs and Q&A sites such as this one should be a good start.