Fork me on GitHub

2013年2月4日

摘要: 敏捷反应快速灵敏。 在敏捷软件开发领域,更注重的以人为核心,迭代,循序渐进的开发方法。相比传统的开发方法,这种方法能更快速的开发,上线,反馈,调整、迭代。以敏捷的姿态去发展产品。敏捷与传统开发的区别 有个非常有意思的游戏能够帮助大家理解敏捷和传统开发的差异。游戏有两个角色,一个是“老板”,另一个是“员工”,在2分钟内,“员工”需要在“老板”的完全指挥下,即“向前一步,向后一步,停,向左一步,向右一步”,完成60步移动的任务。“员工”需要执行“老板”的每一个指令,不允许做出相违背的动作。“老板”则不参与行动,只... 阅读全文
posted @ 2013-02-04 16:40 HackerVirus 阅读(159) 评论(0) 推荐(0)
摘要: 我们在用Visual Studio进行开发的时候,经常会跟dll或者exe的文件打交道,懂一点计算机的同学会想,dll文件里面存的应该是二进制吧,它不能直接运行,不过可以被exe的程序调用。懂点.Net的同学:哦,原来dll文件中存放的是经过编译后的MSIL,运行时,它会由一个叫JIT的编译器再编译为适合本地运行的二进制,供程序运行。那么今天,作为懂得不是一点点的我们,就应该了解这里面到底是些什么东西,这样会更好的理解.Net框架。已经不记得是在哪里记下的哪位大神笔记,贴在自家墙上的,如今拿出来晒晒,只为跟众多园友们分享分享!如图所示: 在.Net Framewo... 阅读全文
posted @ 2013-02-04 15:46 HackerVirus 阅读(223) 评论(0) 推荐(0)
摘要: asp.net MVC 提供了模型验证的快捷方式,我在上一篇博客中有专门提到模型验证的类型以及如何自定义验证,这次我们来探讨一下模型验证信息如何本地化,活着直白点说如何在不同语言中显示不同的错误信息。咱们先来说一下,不采用资源文件,我们如何处理错误信息的。首先我们定义UserModel 领域模型类1 public class UserModel2 {3 [Required(ErrorMessage="用户名不能为空")]4 public string UserName { get; set; }5 6 [Required(Erro... 阅读全文
posted @ 2013-02-04 15:44 HackerVirus 阅读(202) 评论(0) 推荐(0)
摘要: 在写完Object 672后,软件的一个致命问题暴露出来,如果服务器和客户端都在内网环境下,即双方都通过NAT来接触外网,那么此时客户端是无法直接和服务器交流的。解决方案可以是:1:把服务器部署在不存在NAT的公网环境下。2:使用常见的NAT穿透方法比如UDP打洞,或者STUN协议,但是这些方法都需要另一个已知的部署在公网环境下的服务器。3:就是这篇文章主要讨论的方案,即不需要部署任何公网环境下的服务器,通过路由器支持的UPnP协议来把内网的接口绑定到公网接口上。UPnP的一大优势就是不会像UDP打洞那样,内网接口不需要先向外部接口发送UDP包来把绑定的公网接口告诉NAT,而且对于对称NAT, 阅读全文
posted @ 2013-02-04 15:41 HackerVirus 阅读(567) 评论(0) 推荐(0)
摘要: 作为一个有多年程序编程经验的程序员,很多人的梦想是最早成为一名软件架构师,因为这个职位和工作内容听起来很神秘而拥有这个能力的人就像一位武林高手。在真正尝试做架构之前,我一直心中有一大堆问题,比方,什么是架构,为什么要做架构,架构和设计有没有区别?(包括很多在大学教软件设计的老师也讲不清楚这些东西)关于架构:当你想了解一个系统,你对构成系统的每一部分真正做些什么,他们之间怎么协作,以及他们怎么与系统周边相关的世界交互,就是架构该考虑的。系统架构3个关键部分定义:1.系统的各个元素和他们间关系2.系统的基本属性:系统做什么,系统怎么做3.设计和进化的原则: 这些原则使系统更容易被理解,使系统能按一 阅读全文
posted @ 2013-02-04 15:36 HackerVirus 阅读(291) 评论(0) 推荐(0)
摘要: 我曾经自学过C++,现在回想起来,当时是什么都不懂。说不上能使用C++,倒是被C++牵着鼻子走了。高中搞NOIP并不允许使用STL库,比赛中C++面向对象的机制基本没有什么用武之地,所以高中搞NOIP名为用C++,其实就是c加上了cout和cin。 前几天看韩老师的《老码识途》,里面记录了一些C++面向对象机制的探索,又勾起了我的兴趣。而这个学期自学了汇编,又给了我自己动手探索提供了能力基础,自己上手以后,从一个更加底层的视角看C++机制的实现,让我在黑暗中摸到了驯服C++的缰绳。引用:本质上是指针,这一点即使大家没有看反汇编应该也是猜到了。对象在内存上的布局: 1: class Fat... 阅读全文
posted @ 2013-02-04 15:27 HackerVirus 阅读(214) 评论(0) 推荐(0)
摘要: asp.net-模拟登陆今天我们继续上一次文章当中的内容:ASP.NET(get和post比较)讲解一下模拟登陆的情况.新建两个页面. 一、画好用户登录界面同时换下请求的地址。获取用户信息及判断代码插入位置:View Code二、登录演示如果用户登录失败了,用户想重新登录,为什么要把判断写到服务器上面呢?JS判断没法判断数据库去,所以只能放到服务器上面。还想在用户登录失败之后,返回登录页面怎么做呢?第一种解决办法拼html。登录失败显示登录界面代码插入位置:View Code三、登录失败提示用户演示想下登录失败之后怎么就更省事儿,更方便?登录失败之后就把用户输入的用户名和密码... 阅读全文
posted @ 2013-02-04 15:25 HackerVirus 阅读(155) 评论(0) 推荐(0)
摘要: 最近搞一个系统时由于在比较关键地方用到反射了,所以要关注了一下反射的性能问题。搜索一下,不难搜到老赵的这篇文章,下面是一些杂乱的笔记。(建议先看老赵的文章).Net4.0反射性能改善看老赵的文章,老赵得到的结果是这样的:?12300:00:00.0125539 (Directly invoke)00:00:04.5349626 (Reflection invoke)00:00:00.0322555 (Dynamic executor)而我把代码搞下来自己运行得到这样的结果:?12300:00:00.0009710 (Directly invoke)00:00:00.4142893 (Refle 阅读全文
posted @ 2013-02-04 15:15 HackerVirus 阅读(247) 评论(0) 推荐(0)
摘要: 上篇中完成了功能菜单的树形展现,下面说一下系统布局中心区域主业务功能区,通过使用标签页控件来实现打开多个tab页的方式,以便进行系统操作和业务办理。 首先说一下前台tab控件的初始化工作,在Home控制器的Index视图里,做以下操作: 1.在head标签内部加入对om相关css样式表的引用 @Styles.Render("~/OperaMasksUI/css/default/om-default.css") 2.在</body>标签之前加入以下对js文件的引用 @Scripts.Render("~/OperaMasksUI/js/jquery163. 阅读全文
posted @ 2013-02-04 15:09 HackerVirus 阅读(279) 评论(0) 推荐(0)
摘要: dreamhappy博客索引2013-02-04 09:43 by dreamhappy, 408 阅读,0评论,收藏,编辑最近翻看了之前写的文章,有价值的不是很多,更多的是零碎记录和经验分享我的程序优化-尽量减少数据库连接操作一步步实现网站的多语言版本使用YSlow分析前端页面性能域名空间那些事域名空间那些事 第二季说说程序中的日志HTML5在路上.net实体新解零碎记录[RESTful web services读书笔记] 接口设计中维持XML和JSON表述的兼容性用LINQ在集合中查询特定对象使用 scope_identity() 函数获得表的标识值SQL查询今天与昨天的记录,及本月记录、 阅读全文
posted @ 2013-02-04 15:00 HackerVirus 阅读(134) 评论(0) 推荐(0)