随笔分类 - 其他
摘要:接到上级一个生产环境MySQL死锁日志信息文件,需要找出原因并解决问题。我将死锁日志部分贴出如下: 在mysql中使用命令:SHOW ENGINE INNODB STATUS;总能获取到最近一些问题信息,通过搜索deadlock 关键字即可找到死锁的相关日志信息。 通过分析日志,我们知道如下信息:
阅读全文
摘要:聚集索引扫描,首先我们知道数据它是以索引键为叶节点排列起来的树形数据结构,表中每行的数据都附属在索引键中,对这样的表进行数据查找时,最快的方式当然是“聚集索引查找”。什么情况下才是“聚集索引扫描”呢?是当你要查找的数据的条件字段上没有索引时,此时查询执行器将对整个表中的数据挨个的进行读取确认符合查询
阅读全文
摘要:导语: 人生总是面临着许多抉择许多困惑!作为一名“攻城师”或“程序猿”的我们,工作的时候更是如此。你曾经是否苦恼过在系统中使用哪种文件编写客户端请求最合适或最高效呢?aspx、ashx、asmx到底该如何选择呢?如果有过并且没有时间静下来好好思考过这些问题(我们总是这样),那么请进来我这坐坐,一起品味一下,放松心情! aspx文件也就是普通的页面文件,ashx就是一般处理程序,他没有页面部分,asmx文件也就是轻量级的WebService。假如我们需要一个处理某个请求然后返回一个结果的程序,那么你会选择什么样的文件来编码呢?总的来说,这三种文件各有各的好处,我现在就从客户端发起一个get请..
阅读全文
摘要:在《企业级应用架构》系列文章发表之余,也得到了许多同行的反馈,有人说这套框架太重了或者技术学习太复杂了或者初学者不太好理解或者完全颠覆了传统APS.NET开发模式让人望而生畏。这些理由在笔者看来确实是问题,但笔者也不得不说,那样的框架组合架构在某些企业级应用中是必须的,因为它有着传统asp.net开
阅读全文
摘要:使用场景: 当你有一个Excel文件,需要把其中的数据高速录入到数据库中,文件中包含10万条以上数据。 设计方案: 我们将整个过程分成三个阶段,A(装载Excel文件)、B(读取Excel文件中的数据)、C(数据入库)。一种方法是常规的,ABC三个阶段顺序执行,直到全部数据入库。入库采用数据库的批量
阅读全文
摘要:一、使用IBM的AppScan和Acunetix应用程序漏洞扫描将博CMS5.5,得出一些漏洞。 此番扫描大小共23种类型问题,其中高危漏洞有三个,中危漏洞9个,低级漏洞11个。注意这些漏洞级别很有可能根据具体项目不同而会变得不同。总的来说这两个工具扫描出的漏洞差别还是蛮大的,有些同类型的漏洞命名也
阅读全文
摘要:记得上学时,学习数据库相关课程中要求我们一步一步按照“需求”-->概念结构设计-->逻辑结构设计-->物理结构设计的步骤完成。但来到公司实际项目中时,我却发现几乎没有一个项目是完全按照这个步骤来建立数据库的。很多项目基本就是从需求中直接获取信息,然后进入逻辑结构设计阶段最后到片面的物理结构设计阶段,
阅读全文
摘要:本架构在前一个版本的基础上进行了功能的升级,加上了常用的SOA应用部分,坚持将松散耦合、可扩展性、易维护性、可裁剪性进行到底。本架构依然站在福勒的肩膀上采用.Net技术实现其基本思想。系统在传统三层架构上新增了“传说中”的第四层,即“System Interaction(系统交互)”层.
阅读全文
摘要:本最小架构在1.0版本的基础上进行了进一步改进,适用于B/S结构的企业级系统应用,本系统依然站在巨人的肩膀上(马丁福勒),是在.NET领域中的实现模式的一种探索,供大家研究学习并应用于实际项目中。架构整体风格为三层架构,做到了松散耦合、可扩展性、易维护性等诸多有点。其较之前一个版本1.0而言已有较大
阅读全文
摘要:本人已经从事公司两套这类架构系统的开发工作啦!对于这套架构,我惊叹不已!BPS和CMS系统都是采用这套架构。但本人也同时渐渐发现了这套架构有诸多不足之处,于是本人利用闲暇时光进一步改进了这套架构。新架构是基于“领域模型”的企业级应用架构模式,使用了NHibernater+Spring.Net+MVC3的框架技术搭建。即便的是1.0版本,我也惊叹其几乎趋于完美了!这套架构是马丁.福勒关于“企业级应用架构模式”理论的.Net实践。 架构基于三层模型,使用了接口技术、工厂模式、MVC模式、适配器模式等设计技巧,使架构支持高度扩展、易于修改、易于维护等诸多优点。 主要特性如下 :1、三层结构2、使用.
阅读全文
摘要:标识权限 因为后台的访问控制都是基于Action级别 的控制,而我们使用系统都是以功能模块为最小单位的控制,所以我们首先需要建立一个Action和功能块的对应关系,如:“创建用户”功能对应的Action是“Create”。由于开发人员的差异有时候这种对应的关系很难得到保证。应该避免一个Action操作多种功能,这对与基于Action级别的访问控制不利。一般不存在一个操作对应多个Action。这样我们建立的Action和功能映射表就是一一对应的了,完全可以使用Controler+Action的名称来作为功能的权限标识,但是我们经常有出现重载的Action在GET和POST请求中,所以我们最终..
阅读全文
摘要:一、安全的身份验证原理 在用户每次访问站点的时候,为了方便的记住用户之前的某些操作,引入Session机制,为用户在内存中分配一个存储空间,同时标识该Session对象(生成唯一标识符),以及将该标识写入客户端Cookie中。这样每次用户访问页面的时候会将Cookie中的该标识发送到服务端,服务端取出来自客户端的Session标识找到内存中对应的Session对象即可知道该用户对应的内存存储区域以及其保存的数据。 上面这个标识只是为了跟踪用户的会话,但用户登录站点后,表示他已经具有某些特殊的权限,为了合法访问某些特殊权限页面,我们需要在通过登录验证的用户标识给他一个“身份验证票证”,其...
阅读全文
摘要:一、情景使用 如果遇到有一批数据要入库,每一条数据入库前都要和数据库现有的数据做比对,以防止数据的重复入库时使用本模式。二、模式定义和原理 将数据库中某张表或某批数据完整的加载到内存中,方便程序快速访问该资源,并在资源更新后,保证数据库中的数据和内存中的数据一致性。我们称之为“克隆模式”。 之所以我称之为克隆模式,是我认为此模式在解决程序快速比对数据库中数据时非常有用,它就像如今基因工程流行的克隆技术一样,将数据库中的某些数据完整的“克隆”到内存中,这样程序就可以只和内存打交道而无需和数据库打交道了。它将程序中需要与数据库中某些数据反复多次比较的数据一次性加载至内存,就能够减少与数据库的交互.
阅读全文