Heroku
Heroku
是由Salesforce.com提供的Paas(平台即服务),目前支持多种编程语言。Heroku注重开发者友好,使用简单,支持使用专门的Git服务器进行代码部署,开发者只需要使用Git
把程序推送到Heroku
的Git
服务器上,git push
命令会自动触发安装、配置和部署程序。这大大缩短了云平台的学习时间。或者你甚至可以使用现有的Dropbox账户或者github,直接开始在Heroku上部署你的代码。
此外,Heroku在数据存储上也提供多项选择。 Heroku Postgres提供SQL数据库即服务,它可与您的Heroku应用程序无缝衔接。Postgres拥有数据库连接器,支持Heroku上任何应用程序所使用的语言,并且可以通过dynos或者本机托管的外部连接,甚至其他第三方服务器访问。这意味着您可以选择一个混合功能的灵活关系型数据库来部署应用程序。
Heroku的平台上还拥有其他数据来源。 Heroku为用户整合了一个Redis缓存,以实现快速规范的内存缓存,为应用程序提速。值得一提的是,被称为Heroku Elements的一系列附加组件甚至允许您一键部署大量的Heroku预构建服务。 您可在dyno 上本地运行MongoDB或者无缝连接到MongoLab数据库集群。无需编码即可部署搜索API,如Yahoo BOSS和Searchify。 Heroku平台上的一切设计都是从应用的角度出发,旨在将平台建设变得尽可能轻松快捷。
Heroku在很多方面都表现卓越。它注重开发者友好,承诺简化使用,这意味着你可以在任何时候运行Heroku应用程序。有Salesforce.com做后盾,不仅让Heroku更加可靠,更表明它将拥有世界顶尖的工程师做技术支持。选择技术产品时一定要跳出既定的框架,看看三巨头以外的世界,你将发现Heroku是这个领域的佼佼者。Heroku
平台的灵活性极高且支持多种编程语言。Heroku
提供了大量的插件和扩展,可用于数据库、电子邮件支持和其他很多服务。
2.Dyno是什么?
Heroku并没有将重心放在实例或应用程序上,而放在了基于Linux容器的dynos。如果你需要更多dynos来处理应用程序的额外请求,只需按需增加dynos的数量即可。如果dynos请求更多内存或处理能力,单个Dynos也可以扩充。 Dynos托管您的网站或后台处理代码,Heroku则处理余下的全部交互任务。 Heroku的服务机制,以dyno为运行单元进行服务的托管,可以轻松地配置服务器集群。
Heroku
使用名为Dyno
的计算单元衡量用量,并以此为依据收取服务费用。最常用的Dyno
类型是Web Dyno
,表示一个Web
服务器实例。程序可以通过使用更多的Web Dyno
以增强其请求处理能力。另一种Dyno
类型是Worker Dyno
,用来执行后台作业或其他辅助任务。
3.什么是buildpack?
Buildpacks负责将部署的代码转变为一个slug,然后在一个dyno上面运行。Buildpacks由一系列的脚本组成,根据选择的编程语言,脚本会检索依赖,然后输出生成的资源或编译过的代码等。输出的东西会被Slug编译器装配进slug。
平台篇:
1.当在GitHub上面克隆下一个工程或者搭建成功一个工程后,想和Heroku上面的应用进行绑定怎么办?
进入到你本地的目录下,使用命令行:heroku git:remote -a [你的应用名字]完成绑定
2.本地开发时连接数据库的URL应该怎么获取?
云端数据库的URL通过命令
heroku run echo $JDBC_DATABASE_URL
查询,然后配置到本地的环境变量中。连接本地数据库的URL格式是:jdbc:postgresql://127.0.0.1:5432/lizhizhong?user=lizhizhong&password=itec1234
3.如何连接本地redis?出现Resource could not get from the pool是怎么回事?
点击此处查看本地redis配置;关掉代理重新登录。
5.云端redis的URL怎么获取?
heroku redis:credentials REDIS_URL
4.maven关联多个子项目的时候?
5.是如何通信的?
web dyno worker dyno
6.如何查看heroku上面的日志?
安装了CLI后,可以直接在控制台输入:heroku logs进行查看,或点击此处通过插件papertrail实现。
7.在Heroku上部署应用出现APP Crash可能的解决方法
很大可能是maven的配置出现了问题,检查pom.xml中有没有特别的标签。
8.注意 环境搭建的过程中,maven和postgrel的环境变量一定要配置。
框架篇:
1.在本地IDE进行开发时,出现强转失败的castexception时怎么办?
创建文件:target/classes/META-INF/spring-devtools.properties 添加内容:restart.include.v=/shiro-*
[点击此处](/ http://michael-j.net/2016/12/21/Spring-Boot反序列对象失败/)查看详细参考
Git篇:
1.git切换分枝:
git checkout -b lizhizhong
git add .
git commit -m "this is a comment"
git push origin lizhizhong (还不太标准)
前台篇:
1.什么是响应式的网页设计?
响应式网站设计(Responsive Web design)的理念是:页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整。具体的实践方式由多方面组成,包括弹性网格和布局、图片、CSS media query的使用等。无论用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。响应式网页设计就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这样,我们就可以不必为不断到来的新设备做专门的版本设计和开发了。
1.Git中stage,working tree和index的区别是什么?
stage:如果指文件,是一个被Git管理起来的文件(被追踪的),修改但是还没有被commit的状态,如果指工作区,可以理解为暂存区,既有改动后,执行Gitstatus看到的绿色文件的部分
working tree 工作树目录,即是克隆下一个库,在本地看到的以这个库为名字的目录,也是你要操作的目录
index:索引文件,可以理解为Git中记录每一次操作变化的
HEAD:当前最后一个提交
2.git中如何查看远端仓库的日志?
Git查看远端仓库的日志:
git log origin/master -n 3