Having read Steve Kaufmann's blog, I concur that the three keys of effective language learning are:
1. Attitude -> includes motivation and initiative, the most important factor. If you don't care, are not motivated, and/or lazy, you won't learn, period.
2. Time -> time spent getting exposure to the language, practising the skills of listening, speaking, reading and writing.
3. Attention to detail -> active listening, getting used to the sound system, absorbing the sentence structure.
I'd like to add that while speaking "fluency" can be faked i.e. made to appear fluent by intensive practise and memorization, listening comprehension i.e. understanding the spoken language cannot be faked. It's either you know it or you don't when people say something to you.
Another thing: lots and lots of hard work. Even if you have a good memory you still need to work hard. Consistency is the key.