Fork me on GitHub

2013年8月27日

摘要: 基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计自从上篇《基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍》总体性的概括,得到很多同行的关注和支持,不过上一篇主要是介绍一个总体的界面效果和思路,本系列的文章将逐步介绍其中的细节,本文主要介绍整个Web开发框架中的MVC控制器的设计。在设计之初,我就希望尽可能的减少代码,提高编程模型的统一性。因此希望能够以基类继承的方式,和我Winform开发框架一样,尽可能通过基类,而不是子类的重复代码来实现各种通用的操作。1、登录控制的控制器基类设计我们知道,一般我们创建一个MVC的控制器,都是基于Controller这 阅读全文
posted @ 2013-08-27 22:27 HackerVirus 阅读(228) 评论(0) 推荐(0)
摘要: EF里单个实体的增查改删以及主从表关联数据的各种增删改查本文目录EF对单个实体的增查改删增加单个实体查询单个实体修改单个实体删除单个实体EF里主从表关联数据的各种增删改查增加(增加从表数据、增加主从表数据)查询(根据主表找从表数据、根据从表找主表数据)修改(修改从表的外键)删除(删除主从表关系、删除主表数据、删除主从表数据、修改从表数据外键)补充内容SaveChanges方法提交多次操作DbSet.Add方法返回当前实体源码和系列文章导航注:本章节多次演示了各种删除,要重复查看效果,需要解开注释初始化数据方法。一、EF对单个实体的增查改删增加单个实体: /// /... 阅读全文
posted @ 2013-08-27 22:20 HackerVirus 阅读(336) 评论(0) 推荐(0)
摘要: bootstrap插件学习-bootstrap.collapse.js先看bootstrap.collapse.js的结构var Collapse = function ( element, options ){} // 构造器Collapse.prototype = {} //构造器的原型$.fn.collapse = function ( option ){} //jQuery原型上自定义的方法$.fn.collapse.defaults = {} // 默认参数$.fn.collapse.Constructor = Collapse // 重写jQuery原型自定义方法的构造器名$(fu 阅读全文
posted @ 2013-08-27 22:17 HackerVirus 阅读(458) 评论(0) 推荐(0)
摘要: TCP通讯处理粘包详解一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消息数据,所以就会引发一次接收的数据无法满足消息的需要,导致粘包的存在。处理粘包的唯一方法就是制定应用层的数据通讯协议,通过协议来规范现有接收的数据是否满足消息数据的需要。在应用中处理粘包的基础方法主要有两种分别是以4节字描述消息大小或以结束符,实际上也有两者相结合的如HTTP,redis的通讯协议等。在平时交流过程发现一些朋友即使做了这些协议的处理,但有时在处理数据的时候也会出现数据不对的情况。这 阅读全文
posted @ 2013-08-27 22:15 HackerVirus 阅读(314) 评论(0) 推荐(0)
摘要: asp.net mvc4使用百度ueditor编辑器前言 配置.net mvc4项目使用ueditor编辑器,在配置过程中遇见了好几个问题,以此来记录解决办法。编辑器可以到http://ueditor.baidu.com/website/download.html#ueditor处下载.net 的开发包,如下图,我下载的是1.2.6.1net版本的开发包。配置:1、将开发包放到mvc4项目中,在我的项目中我放到了Content目录下2、在模板页中引入js和样式文件:3、在页面中配置初始化编辑器,在页面中配置textarea显示为编辑器,编辑器更多的参数设置可参考ueditor.config.. 阅读全文
posted @ 2013-08-27 22:13 HackerVirus 阅读(424) 评论(0) 推荐(0)
摘要: JS兼容性问题(FF与IE)不同浏览器中js兼容问题大全1.document.formName.item('itemName')问题说明:1 //IE下(两种)2 document.formName.item("itemName");3 document.formName.elements ["elementName"];4 //Firefox下5 document.formName.elements["elementName"];6 //解决方法:7 document.formName.elements[" 阅读全文
posted @ 2013-08-27 22:10 HackerVirus 阅读(269) 评论(0) 推荐(0)
摘要: VS条件断点的一个坑今天早上要调试一个方法,所以在方法的入口处也就是’{’打了一个条件断点,可是随后就发现对这个方法的调用都无法获得正确的结果了,不管传递什么参数,方法的返回值都一样,而且这个返回值与输入的参数完全无关,这个问题折腾了我一早上,差点把我搞崩溃,而且诡异的是,这个问题只有在调试程序的时候才会出现,如果不调试直接运行的话,就是完全正常的。在抓耳挠腮了一早上之后,用尽了各种办法找不到原因,偶然把条件断点点开,终于发现了问题,原来我把'”==”不小心打成了”=”,如果在代码中出现这种问题的话,代码肯定会编译失败的,可是在条件断点里并不会进行类似的检查,并且由于写成了赋值=,还把 阅读全文
posted @ 2013-08-27 22:05 HackerVirus 阅读(312) 评论(0) 推荐(0)
摘要: 动手做实验的重要性想说一下动手做实验的重要性前言有时候一个人会有很多想法,或者当你看到别人的文章的时候你会有想法,又或者想验证一下别人的观点这时候就需要自己动手做实验来验证了,想法无处不在比如:我delete了一条数据,我能不能通过事务日志[fn_dblog]()把他恢复呢?如果能恢复我能不能写一个数据库恢复工具来恢复已经delete了的数据???您需要不断地去想,用自己所学到的知识去设计实验并证明自己的想法再比如:我现在看到一篇文章《SQL Server中使用带有Persisted值的计算列》文章地址:http://database.ctocio.com.cn/dbzjdysummary/4 阅读全文
posted @ 2013-08-27 21:39 HackerVirus 阅读(508) 评论(0) 推荐(0)
摘要: 在ubuntu上安装nodejs[开启实时web时代]作为一名菜鸟,竟然在centos桌面上连输入命令行的地方都找不到,是在是对不起开山祖师,最后苍天不负苦心人,在ubuntu上找见了【安装过程参考了http://cnodejs.org/topic/4f16442ccae1f4aa270010b5,】NODEJS的特点:Node.js的使用事件驱动,非阻塞I / O模型,使得它重量轻,高效,完美的数据密集型实时应用程序运行在分布式设备,在实时web应用上有很强的竞争力第一步:安装依赖包1. 安装python 2.6版或者更高(ubuntu默认都已安装,可以在terminal中使用 pyhton 阅读全文
posted @ 2013-08-27 21:31 HackerVirus 阅读(194) 评论(0) 推荐(0)
摘要: 排序和搜索 如果给你1,000,000个整数来排序,你会选择什么算法?消耗的时间和空间呢?解析: 我个人倾向于用随机化的快速排序。 首先是它在平均意义上来看比同样O(nlogn)的归并排序和堆排序快(见4-41)。 另外,和堆排序相比,快速排序的元素扫描是线性的,而且交换常被限制在一个有限范围内。假如这所有的整数不能存入内存,那么发生缺页中断的次数也小于堆排序。当然,当数据量更大时,问题就会牵扯到内部排序(英文维基/百度百科)和外部排序(英文维基/百度百科)的讨论。 同时,在《编程珠玑》上看到,如果这些数字有特征,如不重复出现,且范围不是很大,那么可以设计出专门的算法来完成,比如使用... 阅读全文
posted @ 2013-08-27 13:40 HackerVirus 阅读(165) 评论(0) 推荐(0)