https://hiraku.dev/2016/05/4309/
最佳化並不一定是最適合的