使用するであろうほぼ全てのコードが有ります