整合教程最后代码，最新的版本，即最后部署在heroku上的版本