Fork me on GitHub

2012年5月30日

摘要: 总的来说,针对目标Action方法参数的Model绑定完全由组件ModelBinder来实现,在默认情况下使用的ModelBinder类型为DefaultModelBinder,接下来我们将按照逐层深入的方式介绍实现在DefaultModelBinder的默认Model绑定机制。[源代码从这里下载][本文已经同步到《How ASP.NET MVC Works?》中]目录一、简单类型二、复杂类型三、数组四、集合五、字典一、简单类型对于旨在绑定目标Action方法参数值的Model来说,最简单的莫过于简单参数类型的情况。通过《初识Model元数据》的介绍我们知道,复杂类型和简单类型之间的区别仅仅在 阅读全文
posted @ 2012-05-30 09:18 HackerVirus 阅读(176) 评论(0) 推荐(0)
摘要: 原理会话劫持是指通过非常规手段,来得到合法用户在客户端和服务器段进行交互的特征值(一般为sessionid),然后伪造请求,去访问授权用户的数据。获取特征值的非常规有段主要有如下几种:首先是猜测的方式,如果我们的sessionid的生成是有规律的,那么使用猜测的方式就可以到达非法获取的目的,如图所示:其次是session fixation攻击。session fixation攻击是指用户通过XSS、网络嗅探、本地木马来得到特征值,这些交互的特征值一般来说放置在浏览器的Cookie中(当然,我们也知道sessionid也可以通过URL来传递,这样的话,获取就简单多了)。然后诱使用户去完成一次登录 阅读全文
posted @ 2012-05-30 09:17 HackerVirus 阅读(320) 评论(0) 推荐(0)
摘要: [续《通过实例模拟ASP.NET MVC的Model绑定机制:简单类型+复杂类型]》]基于数组和集合类型的Model绑定机制比较类似,对于绑定参数类型或者参数类型的某个属性为数组或者集合,如果ValueProvider根据对应的Key能够匹配多条数据,那么这些数据最终将会转换为绑定的数组/集合的元素。此外,针对数组/集合的Model绑定还支持基于索引的方式。[源代码从这里下载][本文已经同步到《How ASP.NET MVC Works?》中]一、基于名称的数组绑定对于针对NameValueConllectionProvider来说,通过GetValue方法得到的ValueProviderRe 阅读全文
posted @ 2012-05-30 09:16 HackerVirus 阅读(379) 评论(0) 推荐(0)
摘要: 最近比较忙,没有时间写一些joomla教程,今天抽空来说说如何扩展上传图片的同时生成缩略图,这样就不用在显示图的时候设置宽度高度,而且可以让页面加载很快,对于图片展示类型网站和模版类网站,我想都是需要这样一个实用的功能的吧.joomla1.5版本没有自带这个功能,今天我就来实现,并且在上传的时候自动存入数据库.在数据库里面,我们用当前时间戳来保存图片名字,这样不会有重命名问题.如果你想保存原名字,那么你可以存入数据库。对于图片我们只保存一张图片文件的名字,缩略图我们使用前缀_时间戳来保存,时间戳和大图是一样的.这样可以减少一个字段。好了原理就是这样。 对于上传来的图片,我们需要进行处理,例如我 阅读全文
posted @ 2012-05-30 09:14 HackerVirus 阅读(230) 评论(0) 推荐(1)

2012年5月29日

摘要: 今天,我在写C#代码时,突然发现一个最熟悉的陌生人 —— string.Format。在写C#代码的日子里,与它朝夕相伴,却没有真正去了解它。只知道在字符串比较多时,用它比用加号进行字符串连接效率更高(当然也更方便)。可是却从来没有问过为什么?在生活中也有类似的现象,与你朝夕相处、你最熟悉的人,你往往不会进一步去了解她(他),你已经习惯了她(他),你认为你已经太了解她(他)了。。。真的是这样吗?这值得去思考。。。博问中的一个问题 ——StringBuilder,String.concat(),String+String 哪一个效率高?激发了我的好奇心,想一探string.Format的究竟,而 阅读全文
posted @ 2012-05-29 18:10 HackerVirus 阅读(452) 评论(0) 推荐(0)
摘要: 对于前台开发而言,为了降低文件大小,js文件和css文件的压缩和组合几乎是默认的规矩。我们利用YUI Compressor 和 google Compiler 可以很容易的完成文件的压缩。 甚至 yui compressor 本身都已经支持 多文件的批量压缩。但是,为了更好的处理这些机械化的事情,我们通常还是需要脚本来辅助,让这些工作可以更好的自动化,可配置化。网上有很多类似的脚本工具,或者有的也已经编译成了可视化的工具来使用。我自己以前也写过python版本的,也用过同事写的类似的脚本,基本也都是python版本的。鉴于大多数前端的攻城师们对js更为熟悉,所以,这里也提供一个简易的nodej 阅读全文
posted @ 2012-05-29 09:30 HackerVirus 阅读(487) 评论(0) 推荐(0)
摘要: 在现在很多项目中,都会使用到jQuery Tools中scrollable。特别对于显示Photo Gallery,当然目前国内国外都有第三方非常优秀的的类似jQuery Tools。这是一个基本demo地址:http://jquerytools.org/demos/scrollable/index.html项目中使用了3个Tab,简称TabA,TabB,TabC,每个Tab下面对应一张图片,图片上有很多hot point,用户点击hot point之后,显示一个overlay。上面的图片是使用Scrollable制作的,上面的图片时一系列的,可以点击previous和next按钮来显示上一张 阅读全文
posted @ 2012-05-29 09:28 HackerVirus 阅读(249) 评论(0) 推荐(0)
摘要: 目前而言,Python 3.2存取XML有以下四种方法: 1.Expat 2.DOM 3.SAX 4.ElementTree以以下xml作为讨论依据<?xml version="1.0" encoding="utf-8"?><Schools> <School Name="XiDian"> <Class Id="030612"> <Student Name="salomon"> <Scores> <Math>98& 阅读全文
posted @ 2012-05-29 09:23 HackerVirus 阅读(335) 评论(0) 推荐(0)

2012年5月28日

摘要: 1.pdf 轉換 txt通過 PDFBox 組件,生成txt文件。需要下載PDFBox 組件。2.word excell 轉換txt直接調用相應組件,另存為txt。需要注意:2.1 word 文檔關閉,需要調用 object SaveChange = false; app.Quit(ref SaveChange, ref obj, ref obj);2.2 excell 文檔關閉,需要調用 wbk.Close(Type.Missing, Type.Missing, Type.Missing); wst = null; wbk = null; app.Quit();在... 阅读全文
posted @ 2012-05-28 18:17 HackerVirus 阅读(253) 评论(0) 推荐(0)
摘要: 由一个简单的例子来分析多线程的执行,先看看简单的例子,代码如下:class Program { static int count = 0; static void Main(string[] args) { for (int i = 0; i < 10; i++) { Thread t = new Thread(Run); t.Name = i.ToString(); t.Start(); }... 阅读全文
posted @ 2012-05-28 18:09 HackerVirus 阅读(207) 评论(0) 推荐(0)