一致性Hash算法(KetamaHash)的c#实现
最近在研究"一致性HASH算法"(Consistent Hashing),用于解决memcached集群中当服务器出现增减变动时对散列值的影响。后来 在JAVAEYE上的一篇文章中,找到了其中的 KetamaHash 算法的JAVA实现(一种基于虚拟结点的HASH算法),于是为了加深理... ...
程序员的目标应该是向牛人看齐而不是当经理或者赚大钱
最近这个话题很热,不吐不快,标题叫程序员的目标不够醒目,不得以用了下吉日风格的标题,莫怪莫怪。不知是不是因为最近灾难频发,大家都比较困惑。很多程序员的困惑是,费了比别人多的努力,每天加着班,没有女朋友,没有生活,我的目标就是当个经理,赚大钱,确很难实现。是的,就这个目标来说我可以肯定的说,90%以上... ...
对JavaScript开发中困扰的思考
Web项目大大小小也做过十几个了,JavaScript代友也写了上万行。发现在前端开发上,大家都没有统一的想法。首先是框架选择,现在看来,除了那种只有几个页面的小网站,毫无疑问应该以JQuery这样的成熟框架为主,自己写的扩展为辅。很多项目负责人不想用JQuery,可能网站连GZip不支持或者不设置... ...
使用Mongodb存储上传物理文件并进行SQUID加速(基于aspx页面)
之前在阅读MongoDB GFS文档时,学习了它如何存储物理文件(包括大文件)的方式。为了加深印象,专门写了一个上传文件存储到Mongodb的示例。当然后因为是存储到文档数据库中,所以就不能用普通方式来访问这些物理文件了,这里又专门写了一个aspx页面专门读取这些文件(比如图片或MP3... ...
十年技术,不要再迷茫
前几天看到多年的兄弟又换工作了,他在QQ签名上写了一句“三十而立,网海茫茫;十年技术,一场空!哎,何处是归途”,看了以后,我回想了一下,感觉我和他也差不多,说实在的,我们计算机班46个人,现在搞软件这行的就剩5个人,转眼间,我们工作都快十年了,而我们几个人的处境其实差不多,也许是物以类聚,人以群分,... ...
想成为优秀的技术人员你必须做到的几件事情
找工作的这几天,收获颇多。思考得最多的问题可能就是对未来的一个规划。无意中看到下面几条经验,发现和自己想的也差不多,就分享出来。我要求自己做到这些,同时也希望对您也有所帮助。英文的原文是:Things you need to remember to become a successful devel ...
C# 4动态编程新特性与DLR剖析
拓展动态编程的新领域——C# 4动态编程新特性与DLR剖析 ===================================================注:很久没有发文了,贴一篇新文吧。从Word直接贴过来的,没仔细排版,诸位海涵。有关DLR和C# 4动态特性的详细介绍,请参看本人拙著《.... ...
如何让普通变量也支持事务回滚?
有一次和人谈起关于事务的话题,谈到怎样的资源才能事务型资源。除了我们经常使用的数据库、消息队列、事务型文件系统(TxF)以及事务性注册表(TxR)等,还有那些资源直接可以纳入事务进行状态的管理呢?我说如果我们按照.NET事务模型的规范对相应的资源进行合理的封装,原则上我们可以让任何可编程的资源成为事... ...
WPF Multi-Touch 开发:Windows 7 安装多点触屏模拟器
本系列将介绍Multi-Touch(MT)多点触控技术的相关内容,使开发人员了解如何在Windows 平台中开发出具有MT 功能的应用程序。众所周知Windows 7 操作系统自身已经支持具有MT 功能的硬件设备, 画板程序(Paint)就是一个很好的例子,如果你的显示设备具有MT 功能,便可以... ...
我看Java 程序员 和 .NET 程序员
Quitgame在博客园发表了一篇《Java 程序员 和 .NET 程序员》后,一石激起千层浪,遭到了很多博客园网友的拍砖。 说实话,在博客园发表这种文章,跟在JavaEye或其他Java开源社区发表Java不如.Net的文章结果是一样的:会遭到很多.Net或Java粉丝的攻击。 Quitgam... ...
Java 程序员 和 .NET 程序员
1、Java 程序员大多会一些设计,知道设计模式,知道 IoC;相反,.NET 程序员很多没有做过设计,也不知道什么叫设计模式 IoC。 原因:.NET 程序员大多认为设计没有必要,有什么功能需要直接拿Visual Studio开始编码了,一旦发现搞错了重新修改一下也不是什么难事。2、Java 程... ...
基于Visual Studio 2010 进行敏捷/Scrum模式开发
根据Forrester Research今年第二季度的一份研究报告,在超过1000名专业开发人员中,采用敏捷模式进行软件开发的已经有10.9%采用了Scrum模式,在所有的敏捷开发模式中名列首位,而在所有的软件项目管理模式中,敏捷模式更是被35%的开发人员所采用。当然,研究报告为我们呈现的仅仅是一个... ...
快速搞懂 SQL Server 的锁定和阻塞
本帖提供两种做法,可避免在 SQL Server 事务锁定时产生的不正常或长时间阻塞,让用户和程序也无限期等待,甚至引起 connection pooling 连接数超过容量。 ...
在ASP.NET中自动合并小图片并使用CSS Sprite显示出来
前几天MS的ASP.NET小组推出了一个小组件:Sprite and Image Optimization Framework,用于生成Sprite CSS,及将小的图片生成一副大图。 下载地址:h... ...
你可能不知道的10个JavaScript小技巧
尽管我使用Javascript来做开发有很多年了,但它常有一些让我很惊讶的小特性。对于我来说,Javascript是需要持续不断的学习的。在这篇文章中,我将列出10个Javascript使用小技巧,主要面向Javascript新手和中级开发者。希望每个读者都能至少从中学到一个有用的技巧。 ...
NHibernate3.0剖析:Query篇之NHibernate.Linq自定义扩展
在NHibernate中,几乎所有的面向对象查询语言(HQL、Criteria、QueryOver)都是可扩展的,Linq也不例外。我们可以扩展自定义LINQ-provider并将LINQ扩展方法转换为SQL。 ...
程序员应知——团队精神
大家都知道,现在的软件开发已经不再是20年前个人英雄主义的时代,一个超级程序员就能够搞定一切的情况已经很少存在了。更多的情况是我们都是以团队的形式进行系统的设计和开发,因此,团队精神也变得越来越重要。 早在我刚刚毕业要踏入到软件开发这个行业的时候,就在自己的简历里面写到:具有很强的团队精神。然而,说... ...
NHibernate3.0剖析:Query篇之NHibernate.Linq标准查询
NHibernate.Linq基于HQL AST分析器的Linq Provider,使用ISession接口的Query()扩展方法创建一个NHibernate.Linq查询。这篇利用单一对象学习下NHibernate.Linq最基本的标准查询。 ...
讨论:WCF可序列化的ActiveRecord实现有意义吗?
本文的目的,是探讨WCF可序列化的ActiveRecord实现是否有意义。 ActiveRecord模式简介 ActiveRecord模式是Martin Fowler的企业应用架构模式中提到的一种数据访问模式,如下图: Person类包含lastName, firstName等这些属性,一个Pers... ...
Microsoft Ribbon for WPF 正式发布
之前写过几篇关于WPF4 中开发Ribbon 工具栏的文章,其中利用的是WPF Ribbon Control 控件库,开发出类似Office 2007 样式的Ribbon 工具栏。当然CodePlex 也提供了Fluent Ribbon Control Suite 项目可以写出Office 20... ...