These are some books and online articles I recommend for those learning Drupal:
General theory
To get the most out of Drupal, you need to work with it and it's content-centric, modular approach. If you approach creating Drupal sites the same way you approached creating traditional, webpage-centric sites, you'll spend a lot of time fighting Drupal and won't, in the end, get many of the advantages that were the reasons you chose to use Drupal in the first place.
To become more familiar with "The Drupal Way" and the Drupal development eco-system, I recommend these articles: