A Cookbook of Self-Supervised Learning