Nanofabrication: Techniques and Principles