摘要:
Github,作为现在风靡全世界开发人员的社会化代码版本控制系统,我们应当了解并感受一下,如果用的不错的话,说不定会放弃我们所熟悉的各种版本控制工具,虽然Github最伟大的功能并不在于此。扫盲贴:什么是Github好吧,然后Step By Step的开始:1,下载Github客户端。https://help.github.com/articles/set-up-git2,安装github windows版本。如果你是mac或linux用户,请无视这条,并选择对应的版本。3,安装完成后,使用github网站的用户名密码登录。4,建立一个repository。如果要建立私人项目,则需要收费,最便 阅读全文
摘要:
当使用ViewModel并且某个属性为int或decimal等值类型时,我们如果使用Html.TextBoxFor或Html.TextBox方法,则输入了非数字字符,后台会自动校验,并提示:字段{0}必须是一个数字。 有时候我们需要自定义这个提示,具体可自定义一个ModelBinder类,继承自DefaultModelBinder,重写BindModel方法:public class DecimalModelBinder : DefaultModelBinder { public override object BindModel(ControllerContex... 阅读全文
摘要:
一、环境准备安装CentOS版本:6.2关于CentOS介绍,请参考:http://baike.baidu.com/view/26404.htmNginx版本:1.2.1关于Nginx介绍,请参考:http://baike.baidu.com/view/926025.htm二、Linux常用命令介绍工欲善其事,必先利其器。在进行Linux系统操作之前,我们必须掌握一些基础的命令,相信用过dos的人都不会太陌生,基本上包括windows、linux,其命令行模式都是从unix系统发展而来。在此仅列出一些,在本篇博客会涉及到的一些命令,更多的介绍请参考相关资料。ls用来显示某个路径下的文件和目录例 阅读全文
摘要:
应用场景好的代码即文档,好的代码,从文档的层面指的是功能明确、分类清晰,注释完整且清楚,便于阅读维护。开发人员也常常面临撰写详细设计文档的工作,如果平时的开发过程当中,对代码中的注释写的已经很清晰明了了,则完全可以提取出来作为文档的一部分。下面介绍一款代码注释文档生成工具SandCastle,可以生成专业的chm格式。下载安装包SandCastle:http://sandcastle.codeplex.com/ SandCastle Help File Builder:http://shfb.codeplex.com/如何使用打开程序:Sandcastle Help File Bui... 阅读全文
摘要:
开篇翻看了一下自己的博客,发现最近的一次年终总结,竟然还是2009年的。这说明在过去的两年里,我没有停下来思考,只是一味地做着一些有益或无益的事情。所以,这次的总结,除了时间跨度比较长之外,对我也有着特殊的意义:对于已经过去的30年,实在是太有必要做一个回顾了。
学习篇在23岁以前,自己的身份还一直打着学生的标签,从小学到中学,再到大学,成绩一直处于不是很好也不是很差的尴尬境地。就因为觉得自己头脑还算聪明,每次考试都是临时抱佛脚,没有竞争意识、没有目标,也就没有动力,也从没想过要把书读好。这种状态的直接后果就是,上不了好的大学。不得不承认环境对人的巨大影响,即使是辍学,乔布斯是在斯坦福,盖茨是在哈佛,扎克伯格也是哈佛,名校的资源和周围优秀的同学,会让你尽早找到方向和目标。而这些,则是我工作两三年后才逐渐体会到的,而人脉方面的资源则很难弥补。落后的几年时光,唯有在工作中加倍的学习和弥补。或许在抓住机遇后,才有可能成功。
工作篇从小并没有表现出来自己在电脑方面的天赋,游戏机除外。当然,家里也没有这个条件。之所以选择计算机行业,作为自己的工作领域,完全是因为2001年来北京后就读 阅读全文
摘要:
在很多时候,前端开发人员使用JS脚本,对页面Dom结构或者是样式做出了修改,会造成一些意想不到的bug。由于种种原因,例如:代码逻辑复杂、时间久了遗忘处理细节、或者根本就是接手修改别人遗留的bug,在这种情况下,debug就会变成一件头疼的事情。在此分享一些JS调试方面的技巧,针对各种疑难杂症,往往能起到较好的效果。Step 1:检查服务器直接render出来的内容 使用查看源文件的方式,这一步首先明确,页面HTML片段是否在服务器端就已经不正常了。Step 2:比较实际的HTML内容和服务器render出来的原始内容之间的差异 可以使用一些前端工具(例如:IE下的开发人员工具、F... 阅读全文
摘要:
应用场景对一个集合进行深拷贝复制,实现的方法有不少,现举一个常规实现方案:例如已有一个List<T> someListList<T> newList = new List<T>();foreach(var item in someList){ T t = new T(); //此处的属性如果是引用类型,还需要考虑该类型的深拷贝实现 t.P1 = item.P1; t.P2 = item.P2; ... newList.Add(t);}如果类似的需求不止一个,那我们就要反复书写类似的代码,这显然不符合代码重用的原则。思路首先想到的应该是扩展方法,并... 阅读全文
摘要:
关于匿名对象匿名对象是.Net Framework 3.0提供的新类型,例如:var obj = { Name = "aa", Value = 1 };就是一个匿名类,搭配Linq,可以很灵活的在代码中组合数据,例如:var r = from p in DbContext.Actions select new { A = p.Name, B = p.Text };特殊需求:给匿名对象属性赋值但有时候会有一些特殊的要求,需要给获取的匿名对象的某些属性进行赋值,例如如下的代码://根据上例使用LINQ获取的结果集foreach(var item in r) { ... 阅读全文
摘要:
IE8对JS的数组,采用属性遍历的方法,解析不一样的地方:有如下的代码Array.prototype.Contains = function (str) { if (!str) return false; for (var i = 0; i < this.length; i++) { if (this[i] == str) { return true; } } return false;}var tmp = new Array();tmp.push("1");tmp.push("2");tmp.push("... 阅读全文
摘要:
当我们在使用ASP.NET MVC实现页面跳转的时候,常用的应该是:
Redirect
RedirectToAction
RedirectToRoute
或者在前台使用脚本跳转。
阅读全文