Fork me on GitHub

2013年5月27日

摘要: 闲聊下架构、框架,以及架构师...我们先来本人对下面这两个名词的个人见解:软件架构:几乎每个软件系统的架构都是不同的,因为软件架构的第一步就是根据当前项目的重要需求及约束来制定一个个技术决策。软件框架:可以分成行业框架和通用框架。通用框架是对大多数软件项目常用的模块(底层+高层)进行封装(同时暴露热点)的一个集合,能提高开发速度以及质量行业框架是针对某特定领域,把类似领域逻辑提取出来进行封装(同时暴露热点)的一个集合,能提高开发速度以及质量行业框架可以是基于通用框架之上的。站在架构师的角度,针对架构的开发,会慢慢演变为针对框架的开发(由于需要考虑复用以及对开发人员友好API特性)伸缩性:一般是 阅读全文
posted @ 2013-05-27 22:45 HackerVirus 阅读(198) 评论(0) 推荐(0)
摘要: 不用中间变量交换两个整型变量的值在我们平常的变量值交换方法中,我们一般都是采用中间变量的方法来实现变量值在两个变量之间互换。但是对于整型变量,我们可以用其他更多的方法来实现变量值互换,比如整型变量a,b在不利用中间变量的情况下,我们可以用:a=a+b; b=a-b; a=a-b;来实现变量值互换。在这里我们介绍一种更加快速的无中间变量的交换方法,即利用异或操作来实现变量值互换。主要代码如下:a = a^b;b = a^b;a = a^b;由于异或运算满足结合律和交换律,所以我们可以很容易得出上述等式是成立的。而且用于在计算机中位运算操作明显要比加减操作更快,所以上面这种方法更快。以下就贴出完整 阅读全文
posted @ 2013-05-27 22:19 HackerVirus 阅读(341) 评论(0) 推荐(0)
摘要: 让盘古分词支持最新的Lucene.Net 3.0.3好多年没升级过的Lucene.Net最近居然升级了,到了3.0.3后接口发生了很大变化,原来好多分词库都不能用了,所以上次我把MMSeg给修改了一下支持了Lucene.Net 3.0.3(参考《基于MMSeg算法的中文分词类库》)。然后我知道了.Net下还有一个盘古分词(http://pangusegment.codeplex.com/),但也不支持Lucene.Net 3.0.3,网上也不少人在问,于是就下载了它的最新代码,基于Lucene.Net 3.0.3更新了,顺便把它的词库给放到dll里面了,不然每次还要拷贝一个Dictionari 阅读全文
posted @ 2013-05-27 22:16 HackerVirus 阅读(207) 评论(0) 推荐(0)
摘要: zuitu团购模板引擎浅析接触过最土的朋友应该很熟悉 最土模板解析功能主要由 include/function/template.php文件完成 ,就是通过正则的替换,捕获来完成而已,与smarty的原理类似。下面分析下他的正则替换。 在template.php文件中有这段代码 1 function __parse($tFile,$cFile) { 2 3 $fileContent = false; 4 5 if(!($fileContent = file_get_contents($tFile))) 6 return false; 7 8 ... 阅读全文
posted @ 2013-05-27 22:15 HackerVirus 阅读(231) 评论(0) 推荐(0)
摘要: .NET(C#):再议值类型 - 原子性两年前我曾经写过一篇讲理解值类型,引用类型的文章,主要是讲常见的值类型,引用类型的区别。但是这两种类型的渊源不止那些,今天就说说值类型在线程方面的原子性问题。目录0. 概念阐述1. 使用Interlocked类型2. 使用引用类型来声明3. 通过装箱和拆箱4. 使用lock返回目录0. 概念阐述首先我想专门强调一下,“原子性”和“线程安全”属于容易混淆的概念,解决了“原子性”不等于解决了“线程安全”,但是如果连“原子性”都没有保证,那么肯定不是“线程安全”的。“原子性”属于“线程安全”考虑的一个范畴,本文也仅仅是讨论“原子性”问题。根据C#语言标准的描述 阅读全文
posted @ 2013-05-27 16:50 HackerVirus 阅读(633) 评论(0) 推荐(0)
摘要: 谈谈代码健壮性之极限值处理我们知道,web开发的数据不断在数据库端、服务器端、客户端进行传递。 我们为了防止脏数据,我们需要对每个数据项的极限值进行特殊的处理;或者,换个角度来讲,为了我们的代码更加的健壮,我们不得不考虑所有与业务相关的极限值的处理。 这里的”极限值处理“的定义比较宽泛,如 1> 处理空值(如null/undefined/''等) 2> 处理数据类型 3> 处理数据范围 4> 其他与业务相关的特殊值或范围的处理 在这里,我仅仅说说有关前端方面的极限值的处理情况。主要包含两点: 1> 页面显示的极限值处理 2> JavaScri 阅读全文
posted @ 2013-05-27 16:49 HackerVirus 阅读(972) 评论(0) 推荐(0)
摘要: .NET开发丰富的公共类库助你事半功倍(供下载免费使用)(干货).NET开发丰富的公共类库助你事半功倍(供下载免费使用) Good company on the road is the shortest cut.(行路有良伴就是捷径)。作为开发人员(苦逼)经常都在为一些常用的操作Baidu,Google,既耗时,又浪费青春,更没时间谈恋爱,苦逼就是这么来的。开发久了,我相信很个人身上都有自己的一套公共操作类库,不管多少,丰富与否,确实应该有那么一点儿。这是一种积累,知识的积累,积累的东西就要与人分享,放在自己硬盘,太可惜了。固步自封,走得很远比较难,话虽重了点,但确实是实话。我分享的多不多.. 阅读全文
posted @ 2013-05-27 16:47 HackerVirus 阅读(254) 评论(0) 推荐(0)
摘要: Verlet-js:超炫的开源 JavaScript 物理引擎Verlet-js是一个简单的集成 Verlet 的物理引擎,基于JavaScript编写,作者是Sub Protocol。粒子系统、距离限制、角度限制等,Verlet-js 都能支持,基于这些基础,它可以帮助你构建几乎任何你能想象到的任何东西。 下面的几个 Demo 的效果都很炫!有类似Google Gravity 的重力场效果,还有模拟现实布料、分形树和蜘蛛网等等,赶紧来围观吧!您可能感兴趣的相关文章Transit – 超平滑的 CSS 过渡和变换动画效果插件Squel.js – 基于 JavaScript 的 SQL 查询构. 阅读全文
posted @ 2013-05-27 16:27 HackerVirus 阅读(482) 评论(0) 推荐(0)
摘要: 国内邮箱服务器严重漏洞这几天学习了下邮箱服务器及邮件协议,发现了不少问题,于是就测试了一下各个大型邮箱服务商的服务器。(这个问题应该之前也有人发现的,可能我没找到把)经过测试发现了一个非常严重的问题(至少我觉得已经非常严重了),就是可以完全伪造任何人的邮箱地址发送邮件,比如:system@163.com 发送给除163邮箱的大多数邮箱。我测试了QQ、网易、新浪三家的邮箱服务器,都没有做任何的验证(腾讯的稍微好点)。我先说说这个漏洞存在哪里,首先邮箱服务器之间的通信,比如下面这个:A 发送服务器 B接收服务器A:链接BB:220 Welcome to Happy you and me SMTP 阅读全文
posted @ 2013-05-27 16:16 HackerVirus 阅读(278) 评论(0) 推荐(0)
摘要: GhostDoc Pro v4.5.13017已经注册的GhostDoc专业版本,测试工作正常有效!!http://download.csdn.net/detail/qiyingdai/5268078一款比较好用的 VS 插件,能够快速生成注释。这是 Pro 版本,与标准版本相比,支持对类、文件批量生成注释并且可以生成 CHM 帮助文件。具体差异请转到:http://submain.com/products/ghostdoc.aspx原版程序:http://pan.baidu.com/share/link?shareid=308749&uk=263646破解补丁:http://pan. 阅读全文
posted @ 2013-05-27 11:58 HackerVirus 阅读(376) 评论(0) 推荐(0)