Unfortunately I don't think there is a good book. I learned by trial and error.
Thanks for the heads-up, I'm gonna bang my head on it for some time.
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.