当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪Ubuntu安装SourceInsight异常及解决方法      由于SourceInsight没有Linux版本,因此想要在Ubuntu系统使用SourceInsight,必须通过Wine来安装软件。可以使用以下命令安装Wine: #sudo apt-get install winewine安装后,接着安装SourceInsight Applications --> Wi.........
    ▪实战虚拟化存储设计之四本地存储       作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 问题描述: 本地存储在近年来的虚拟化架构设计中越来越受到关注,相比SAN来说,本地存储的成本低很多.........
    ▪深入浅出学习Struts框架(二):多角度剖析Struts工作原理        上篇博客模拟Struts实现其实就是Struts实现原理,只是Struts进行了一定程度的封装 ActionServlet中央控制器 负责截取URI执行对应的业务控制器Action转向 ActionForm 收集表单数据转换数据类型.........

[1]Ubuntu安装SourceInsight异常及解决方法
    来源: 互联网  发布时间: 2013-11-19

由于SourceInsight没有Linux版本,因此想要在Ubuntu系统使用SourceInsight,必须通过Wine来安装软件。可以使用以下命令安装Wine:

#sudo apt-get install wine
wine安装后,接着安装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和注册码下载



作者:weihan1314 发表于2013-5-27 15:47:01 原文链接
阅读:56 评论:0 查看评论

    
[2]实战虚拟化存储设计之四本地存储
    来源: 互联网  发布时间: 2013-11-19

作者:范军 (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也就用不上了。


    
[3]深入浅出学习Struts框架(二):多角度剖析Struts工作原理
    来源: 互联网  发布时间: 2013-11-19

 

上篇博客模拟Struts实现其实就是Struts实现原理,只是Struts进行了一定程度的封装

ActionServlet中央控制器

  • 负责截取URI
  • 执行对应的业务控制器Action
  • 转向
  • 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只是其中之一,可谓百家争鸣,各有所长,就像学习语言一样,不用都学,精通一门就好,掌握其原理,等到需要时是容易上手的,所谓精一通百就是这个道理。

    作者:tcl_6666 发表于2013-5-27 20:36:15 原文链接
    阅读:72 评论:0 查看评论

        
    最新技术文章:
    ▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
    ▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
    ▪第三章 AOP 基于@AspectJ的AOP    ▪基于插件的服务集成方式    ▪Online Coding开发模式 (通过在线配置实现一个表...
    ▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
    ▪机器学习理论与实战(二)决策树    ▪Hibernate(四)——全面解析一对多关联映射    ▪我所理解的设计模式(C++实现)——解释器模...
    ▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
    ▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
    ▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
    ▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
    ▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
    ▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
    ▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
    ▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
    ▪.NET领域驱动设计—初尝(三:穿过迷雾走向光...    ▪linux下的块设备驱动(一)    ▪Modem项目工作总结
    ▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
    ▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
    ▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
    ▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
    ▪Hibernate从入门到精通(四)基本映射    ▪设计模式10---设计模式之原型模式(Prototype)    ▪Dreamer 3.0 支持json、xml、文件上传
    ▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
    ▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
    ▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
    ▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
    ▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
    ▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
    ▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
    ▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
    ▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
    ▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
    ▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3