Fork me on GitHub

2012年6月18日

摘要: 本节换一种方式解读,把我消化过的东西反刍出来可能这样大家容易理解些,knockout.js大量使用闭包,非常难读。我们从viewModel看起:function MyViewModel() {this.firstName = $.observable('Planet');this.lastName = $.observable('Earth');this.fullName = $.computed({getter: function () {return this.firstName() + " " + this.lastName();},s 阅读全文
posted @ 2012-06-18 14:28 HackerVirus 阅读(128) 评论(0) 推荐(0)
摘要: .NET 4 中 包含了新名称空间System.Threading.Task。它包含的类抽象出了线程的功能。使用Task类创建的任务是后台线程,所以在前台线程全部终止的时候,如果任务还没有全部执行万,就会被被动终止。启动任务 怎样启动一个任务?代码中我们首先要添加using System.Threading.Tasks;引用。我们可以使用TaskFactory类或Task类的构造函数和Start()方法。在启动任务时,会创建Task类的一个实例。首先我们看一段代码using System;using System.Text;using System.Threading.Tasks;using. 阅读全文
posted @ 2012-06-18 14:27 HackerVirus 阅读(247) 评论(0) 推荐(0)
摘要: 网络爬虫基本原理(一) 网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。这篇博客主要对爬虫以及抓取系统进行一个简单的概述。一、网络爬虫的基本结构及工作流程 一个通用的网络爬虫的框架如图所示: 网络爬虫的基本工作流程如下: 1.首先选取一部分精心挑选的种子URL; 2.将这些URL放入待抓取URL队列; 3.从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机的ip,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列。 4.分析已抓取URL队列中的URL,分析其中的其他URL,. 阅读全文
posted @ 2012-06-18 10:13 HackerVirus 阅读(152) 评论(0) 推荐(0)
摘要: .Net项目分层与文件夹结构大全我先来抛砖引玉:传说中的弦哥:tips:1."解决方案文件夹"能帮助你很好的规划项目结构2.通过对"解决方案文件夹"前面加数字1,2,3,4....,能让项目按你想要的顺序排序3.公司名.项目名.包名.架构名的命名空间 命名约定能让你的项目结构更清晰4.分项目的多少还是要根据项目具体情况和架构设计,分太多编译速度慢不说,其实用起来也麻烦一晴:点评:一个比较简单的博客网站,用的是MVC,命名啥的还是比较规范的。建议:可以把Controller和Model从网站项目中提出来xu_happy_you:点评:典型的Petshop控 阅读全文
posted @ 2012-06-18 10:10 HackerVirus 阅读(627) 评论(0) 推荐(1)
摘要: 在简单了解了Unobtrusive JavaScript形式的验证在jQuery中的编程方式之后,我们来介绍ASP.NET MVC是如何利用它实现客户端验证的。服务端验证最终实现在相应的ModelValidator中,而最终的验证规则定义在相应的ValidationAttribute中;而客户端验证规则通过HtmlHelper<TModel>相应的扩展方法(比如TextBoxFor、EditorFor和EdidtorForModel等)出现在生成的被验证HTML元素中。毫无疑问,服务端验证和客户端验证必须采用相同的验证规则,那么通过应用ValidationAttribute特性定义 阅读全文
posted @ 2012-06-18 10:10 HackerVirus 阅读(177) 评论(0) 推荐(0)

2012年6月17日

摘要: 之前我们一直讨论的Model验证仅限于服务端验证,即在Web服务器根据相应的规则对请求数据实施验证。如果我们能够在客户端(浏览器)对用户输入的数据先进行验证,这样会减少针对服务器请求的频率,从而缓解Web服务器访问的压力。ASP.MVC 2.0及其之前的版本采用ASP.NET Ajax进行客户端验证,在ASP.NET MVC 3.0中,jQuery验证框架被引入是我们可以采用Unobtrusive JavaScript的方式进行客户端验证。[本文已经同步到《How ASP.NET MVC Works?》中]目录一、Unobtrusive JavaScript二、以内联的方式指定验证规则三、单独 阅读全文
posted @ 2012-06-17 17:12 HackerVirus 阅读(163) 评论(0) 推荐(0)
摘要: 上一篇《用C#实现网络爬虫(一)》我们实现了网络通信的部分,接下来继续讨论爬虫的实现3. 保存页面文件这一部分可简单可复杂,如果只要简单地把HTML代码全部保存下来的话,直接存文件就行了。 1 private void SaveContents(string html, string url) 2 { 3 if (string.IsNullOrEmpty(html)) //判断html字符串是否有效 4 { 5 return; 6 } 7 string path = string.Format("{0}\\{1}.txt", _path, _in... 阅读全文
posted @ 2012-06-17 17:11 HackerVirus 阅读(321) 评论(0) 推荐(0)
摘要: 该编辑器的其他功能都跟Notepad++差不多,但是唯一的不同就是,只要你安装了Pascal(Free Pascal),可以直接在编辑器上运行你做的程序。另外,在使用Free Pascal编程的时候相信大家一定都遇到过Free Pascal自动退出的情况吧?如果在该代码编辑器中运行你做的软件,出现崩溃等情况时,代码编辑器不会退出,你的代码也不会丢失。好了,废话不多说,下载地址如下:http://filemarkets.com/file/td650739/1f87a9fc/ 阅读全文
posted @ 2012-06-17 17:11 HackerVirus 阅读(457) 评论(0) 推荐(0)
摘要: knockout.js试图将微软历经验证的成功方案MVVM解决方案引进JS,因此很有必要学习下。MVVM是专门为解决富交互频变动的界面开发而生,这与web开发非常相似。产经经理与测试与什么主管,他们看不懂后端的东西,也只能对前端的看得到的东西指手划脚了,因此变动是非常频繁的,每次变动,但伴随着痛若的事件重新绑定与代理,以及与它们相关的业务代码的调整,在JS这种调试特喝别痛苦的语言中,情况就更严重了。每次改版都加剧前端离职的决心,前端换了几波人才把项目做出来。jQuery号称是改变人们写JS的方式,但只是提供了更好的砖瓦而已(原生API是沙石)。想获得后端那样开发效率,必须有Struts2, S 阅读全文
posted @ 2012-06-17 17:09 HackerVirus 阅读(183) 评论(0) 推荐(0)
摘要: 公司的一个项目使用CMake作为跨平台构建工具;业务有需求,当然要好好研读一下官方的技术手册。目前的计划是先把官方手册翻译一下,了解清楚CMake中的各种命令、属性和变量的用法。同时在工作中也会阅读CMake的真实源码,后续会基于此陆续写一些工程中使用CMake的心得。CMake的版本也在不停更新,有些新的命令和变量会随着版本更新添加进来,这是后事了,暂且不管;现在锁定CMake 2.8.3作为手册翻译的版本。 作为园子里的新丁,文章在术语和表达等等方面会有欠缺的地方,还请大侠们慷慨指点。另外,罗马不是一天建成的,长长的手册翻译完也不知道要经历多少日升月落;不过还是希望自己能够坚持下去:-)。 阅读全文
posted @ 2012-06-17 08:08 HackerVirus 阅读(262) 评论(0) 推荐(0)