由于SourceInsight没有Linux版本,因此想要在Ubuntu系统使用SourceInsight,必须通过Wine来安装软件。可以使用以下命令安装Wine:
#sudo apt-get install winewine安装后,接着安装SourceInsight
Applications --> Wine --> Configure Wine -->Applications --> Add Application 选择Si35Setup.exe执行文件,接下来就可以按照Windows安装软件的步骤进行了,Enjoy。
但是安装好后问题也随之而来了,每次运行Source Insight的时候,都会弹出一个提示框。内容如下:
there is no windows program configured to open this type of file.
这让我非常郁闷,每次想要使用SourceInsight的时候,都必须重新安转。这个问题一直困扰好久。今天心情好,决定再次与该顽疾斗争。在Google上搜索了一大堆文章,都遇到过这样的异常,但是没有一个明确的解决方法。只有从异常入手分析。
经过分析,造成该异常的主要原因是因为Wine的配置文件错误导致的,一气之下将home目录下的.wine配置文件删除了,再次运行Applications --> Wine --> Configure Wine -->Applications --> Add Application 安装SourceInsight
奇迹终于发生了,SourceInsight安装成功 ,congratulation!
SourceInsight和注册码下载
作者:范军 (Frank Fan) 新浪微博:@frankfan7 微信:frankfan7
问题描述:
本地存储在近年来的虚拟化架构设计中越来越受到关注,相比SAN来说,本地存储的成本低很多。是不是本地存储适合你的环境,还需要具体问题具体分析。本文仅以一个案例来帮你了解本地存储的利弊。
需求:
客户运行一个虚拟桌面的环境,目前大约有500台虚拟桌面,预计最多扩展到1000台。
虚拟机的主要用户是呼叫中心的客服人员。因为所有用户使用标准化的应用,采用Pooled Desktop。
虚拟机的RTO(RecoveryTime Objective)要求是1小时。也就是说如果一台虚拟机宕机,该用户在1小时内可以重新连接一台虚拟桌面。
客户的预算不多,存储设备如果花费很多的话有可能让这个项目夭折。
假设:
N/A
限制条件:
目前客户的共享存储的可用容量不能完全满足虚拟桌面项目的需求
架构设计倾向:
用户倾向考虑低成本的方案
架构推荐方案:
新建虚拟化平台的存储类型选择本地存储和Filer混合的方式。下图来自ABrief History of Desktop Storage Architecture一文
HostDASD (Host Direct Access Storage Device) 也就是指ESXi Host本地存储。
CorporateFiler 用于存储应用程序和用户数据
因为本案例是Pooled Desktop,所以没有User Persona,那么SAN也就用不上了。
上篇博客模拟Struts实现其实就是Struts实现原理,只是Struts进行了一定程度的封装
ActionServlet中央控制器
ActionForm
ActionForward
流程图
时序图
1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它默认在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,放入ActionMapping对象中,准备为struts初始化相应的对象。(面向对象思想)
2.发送请求:浏览器请求Tomcat,url是有规则的,比如*.action或者*.do。
3.截取url。
填充ActionForm:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的ActionForm对象中的成员变量中。
4.派发请求:控制器根据截取的url,得到对应的配置信息对象ActionMapping,再将请求派发到具体的Action,对应的ActionForm一并传给这个Action中的excute()方法。
5.处理业务:Action一般只包含一个excute()方法,它负责取得表单数据,执行相应的业务逻辑(调用其它的业务模块),并返回操作完毕后的转向地址信息ActionForward对象。
6.返回响应:Action将业务处理的不同结果返回一个目标响应对象ActionForward给总控制器。
7.查找响应:总控制器根据ActionForward对象,找到对应的资源对象,一般情况下为jsp页面。
8.响应用户:目标响应对象将结果传递给资源对象,将结果展现给用户。
小结
框架多的学不过来,而struts只是其中之一,可谓百家争鸣,各有所长,就像学习语言一样,不用都学,精通一门就好,掌握其原理,等到需要时是容易上手的,所谓精一通百就是这个道理。