摘要: 在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题。Extjs为了解决这种问题,在Extjs 4.x版本中引入了MVC开发模式,开始将一个JS(Extjs)应用程序分割成Model-View-Controller三层,为JS应用程序的如何组织代码指明了方向,同时使...阅读全文
posted @ 2014-09-18 18:02 Qi Fei 阅读(17527) 评论(6) 编辑
摘要: AutoMapper是对象到对象的映射工具。在完成映射规则之后,AutoMapper可以将源对象转换为目标对象。阅读全文
posted @ 2014-08-18 10:14 Qi Fei 阅读(13529) 评论(8) 编辑
摘要: SSO的基本概念SSO英文全称Single Sign On(单点登录)。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。(本段内容来自百度百科)今天这篇文...阅读全文
posted @ 2014-04-09 17:57 Qi Fei 阅读(33714) 评论(41) 编辑
摘要: SQL Server 通过触发器用来保证业务逻辑和数据的完整性。在SQL Server中,触发器是一种特殊类型的存储过程,可在执行语言事件时自动触发。SQL Server中触发器包括三种:DML触发器、DDL触发器和登录触发器。 DML触发器:执行DML语句触发执行,例如操作数据表或视图的insert、update、delete语句,不包含select。 DDL触发器:执行DDL语句时触发执行...阅读全文
posted @ 2015-11-02 07:24 Qi Fei 阅读(803) 评论(0) 编辑
摘要: 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码...阅读全文
posted @ 2015-10-28 15:17 Qi Fei 阅读(383) 评论(0) 编辑
摘要: 一、定义变量--简单赋值 declare @a int set @a=5 print @a --使用select语句赋值 declare @user1 nvarchar(50) select @user1='张三' print @user1 declare @user2 nvarchar(50) select @user2 = Name from ST_User where ID=1 prin...阅读全文
posted @ 2015-10-28 15:03 Qi Fei 阅读(345) 评论(0) 编辑
摘要: 存储过程是一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等。 存储过程允许带参数: 输入参数:可以在调用时向存储过程传递参数,此类参数可用来向存储过程中传入值(可以有默认值) 输出参数:从存储过程中返回(输出)值,后面跟随OUTPUT关键字 存储过程的优点: 执行速度快 允许模块化设计 提高系统安全性 减少网络流量 ...阅读全文
posted @ 2015-10-28 14:48 Qi Fei 阅读(399) 评论(0) 编辑
摘要: 在编程过程中,我们通常把特定的功能语句块封装称函数,方便代码的重用。我们可以在SQL Server中自定义函数,根据函数返回值的区别,我们自定义的函数分两种:标量值函数和表值函数。自定义函数的优点:模块化程序设计更快的执行速度减少网络传输一个函数最多可以有1024个参数;在调用函数时,如果未定义参数...阅读全文
posted @ 2015-10-28 09:47 Qi Fei 阅读(331) 评论(0) 编辑
摘要: 批处理应用程序向SqlServer发送的一组命令,Sql Server会将其编译成一个可执行单元,称为执行计划,执行计划中的语句每次执行一条。每个不同的批处理用GO命令分割。GO命令不是SQL语句,它是告诉SSMS将GO之前的语句作为批处理一起发送给数据库引擎。注意:GO命令不能和其它SQL命令写在...阅读全文
posted @ 2015-10-28 09:46 Qi Fei 阅读(565) 评论(1) 编辑
摘要: 适可而止:You Ain’t Gonna Need It YAGNI原则指的是只需要将应用程序必需的功能包含进来,而不要试图添加任何其他你认为可能需要的功能。 在一个软件项目中,往往80%的时间花费在20%的功能上。 当你准备列出一个项目清单时,试着考虑以下问题: 通过降低抽象的层级,来实现低复杂度 根据特性将功能独立出来 适度接受非功能性需求 识别耗时的任务,并摆脱它们这些原...阅读全文
posted @ 2015-10-25 09:42 Qi Fei 阅读(400) 评论(0) 编辑
摘要: DRY——Don't Repeat Yourself Principle,直译为“不要重复自己”原则 DRY简而言之,就是不要写重复的代码。原则本身很简单,但是,对于OOAD(面向对象的分析和设计)来说,有着非常重大的意义。 DRY利用的方法就是抽象:把共同的事物抽象出来,把代码抽取到一个地方去。这样就可以避免写重复的代码。 举一个DRY的典型例子,如果在一个类构造的时候,需要进行成员的初始化,在...阅读全文
posted @ 2015-10-25 09:28 Qi Fei 阅读(346) 评论(0) 编辑
摘要: S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 单一责任原则: 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的...阅读全文
posted @ 2015-10-25 09:24 Qi Fei 阅读(290) 评论(0) 编辑
摘要: MongoDB的官方驱动下载地址:https://github.com/mongodb/mongo-csharp-driver/releases 目前最新的版本是2.10,支持.NET 4.5以上。由于我现在的程序还在.NET4.0上面构建,所以这里使用1.10.1版本。 添加引用 解压下载到的驱动,然后在我们的程序中添加引用: MongoDB.Bson.dll Mongo...阅读全文
posted @ 2015-10-20 13:30 Qi Fei 阅读(3637) 评论(1) 编辑
摘要: MongoDB的下载地址:http://www.mongodb.org/downloads MongoDB有32bit和64bit两个版本,32bit只能存放2GB数据。我们选择64bit版进行下载。 下载完成之后就行安装。不再赘述。 启动MongoDB服务器 打开windows命令行,进入安装目录: 然后,使用命令 mongod –-dbpath d:\mongodb\db 启...阅读全文
posted @ 2015-10-19 16:36 Qi Fei 阅读(465) 评论(0) 编辑
摘要: 需求描述:当用户的账户在另一个浏览器中登录的时候,需要把当前浏览器的登录强制下线。这种需求在业务系统,或付费视频服务网站中比较常见。 这种需求我称之为“单客户端(浏览器)”登录,与单点登录(SSO)有本质的区别,关于SSO的实现方案可以参考我的另外一篇文章:谁都能看懂的单点登录(SSO)实现方式(附源码) 关于这个功能的实现,我分为三个环节: 用户登录。 处理用户请求。 心跳请求,Keep ...阅读全文
posted @ 2015-10-18 20:27 Qi Fei 阅读(412) 评论(0) 编辑
摘要: Google 图片搜索功能 在谷歌图片搜索中, 用户可以上传一张图片, 谷歌显示因特网中与此图片相同或者相似的图片. 比如我上传一张照片试试效果:原理讲解 参考Neal Krawetz博士的这篇文章, 实现这种功能的关键技术叫做"感知哈希算法"(Perceptual Hash Algorithm),...阅读全文
posted @ 2015-07-16 18:04 Qi Fei 阅读(534) 评论(1) 编辑
摘要: 说一个简单的方法,在VS2012、win7 sp1下亲测可用。在开始菜单中找到VS 2012开发人员命令提示,然后执行命令:aspnet_regiis.exe -i运行完成后截图如下:阅读全文
posted @ 2014-11-25 21:14 Qi Fei 阅读(415) 评论(0) 编辑
摘要: Extjs GridPanel 提供了非常强大数据表格功能,在GridPanel可以展示数据列表,可以对数据列表进行选择、编辑等。在之前的Extjs MVC开发模式详解中,我们已经使用到了GridPanel,今天我们来介绍一下Extjs中GridPanel的详细用法。本文的示例代码适用于Extjs ...阅读全文
posted @ 2014-09-28 17:55 Qi Fei 阅读(49195) 评论(4) 编辑