海量用户积分排名算法探讨
问题:为2亿用户规模的网站设计一种算法,在每次用户登录时显示其当前积分排名。本文介绍了一种树形分区设计,它具有几种优点:1. 分区结构稳定,不受积分分布影响;2. 每次查询或更新的复杂度为积分最大值的log(n)级别,且与用户规模无关,可以应对海量规模;3. 不依赖于SQL,容易改造为NoSQL等其... ...
如何在IIS6,7中部署ASP.NET网站
在我的第一篇博客中,我发布过一个示例项目,主要演示了我的我的AJAX框架和我的通用数据访问层。虽然在当初我认为我已考虑地比较周全了,而且还提供了足够的说明文档,但在发布后的将近一年的时间里,还是有不少人给我发邮件,问我一些关于不能运行示例的问题。在所有问题中,主要集中在IIS和SQL SERVER的... ...
重温大师经典:Martin Fowler的持续集成
持续集成 作者:Martin Fowler 译者:滕云 原文发布时间:2006年5月1日 翻译时间:2012年2月25日 原文链接:http://www.martinfowler.com/articles/continuousIntegration.html (此翻译已获原作者同意) 持续集成(Co ...
android遥控器:控制电脑上的暴风影音播放(C#作为服务端)
不知道大家有没有和我一样的习惯,喜欢躺在床上看电影,手里还拿着手机玩。。。 所以我就想到了这样一个程序:用android手机控制电脑上的暴风影音播放(当然,同样的方法也适用于pps什么的)。大冷天的,来电话需要暂停电影电视的播放,只要在被窝里轻轻一晃手机,就停止播放了,感觉还是挺爽的,哈哈。 ...
写自己的ASP.NET MVC框架(下)
上篇博客【写自己的ASP.NET MVC框架(上)】我给大家介绍我的MVC框架对于Ajax的支持与实现原理。今天的博客将介绍我的MVC框架对UI部分的支持。注意:由于这篇博客是基于前篇博客的,因此有些已说过的内容将会直接跳过,也不会给出提示。所以,如果要想理解这篇博客,那么阅读上篇博客【写自己的AS... ...
.Net Framework SDK下的命令汇总
.Net SDK下有很多命令工具,有许多在我们平时开发应用中很有帮助。最近看书总结了一些,但是难免有点以偏概全,挂一漏万。下面就介绍这些命令的基本用法,实际应用中可以参考MSDN。 切入正题,打开SDK命令提示,如下图:1、ildasm (IL Disassembler IL 反汇编器)。 它是一个... ...
SQL Server中生成测试数据
简介 在实际的开发过程中。很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试。而生成的测试数据往往需要符合特定规则。虽然可以自己写一段程序来进行插入数据,但每一个项目就写一个插入数据的程序并不明智。本文主要介绍使用VS2010的数据生成计划在SQL Server中生成测试数据。 生... ...
.Net开发人员可以拥抱Entity Framework 了(EF4.3 Release!!!)
EF4.3于2月9号正式发布了,微软的EF小组最近一年开始发力,在4.3版本中新加了重要的特性:“数据库迁徙”。对于ORM框架来说,没有Code First功能,几乎没有吸引力,因为很少开发人员会去用那些自动生成的、难以驾驭的实体类,不够优雅。在Python等语言中的ORM框架,早就有了Code F... ...
Deadlock的一些总结
1.1.1 摘要 在系统设计过程中,系统的稳定性、响应速度和读写速度至关重要,就像12306.cn那样,当然我们可以通过提高系统并发能力来提高系统性能总体性能,但在并发作用下也会出现一些... ...
WP7游戏开发:TweeJump(cocos2d-xna)
TweeJump这篇教程简单描述了如何使用Cocos2d-XNA来制作一个简单的WP7游戏。你可以按照教程一步步来,或者干脆直接跳到文章的最后,下载SimpleGame。下载并安装Cocos2d-XNA你可以从下面的链接来下载Cocos2d-XNA的源文件 https://github.com/co... ...
浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
本篇文章是系列文章中的第三篇,前两篇的地址如下: 浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色 简介 在简单恢复模式下,日志文件的作用仅仅是保证了SQL Server事务的ACID属性。并不承... ...
对缓存的思考——提高命中率
开篇编写高效的程序并不只在于算法的精巧,还应该考虑到计算机内部的组织结构,cpu微指令的执行,缓存的组织和工作原理等。好的算法在实际中不见得有高效率,如果完全没有考虑缓存、微指令实现的话。前两篇博文局部性原理浅析介绍了程序的局部性原理,如何写出局部性良好代码。提高程序性能、何为缓存讨论了存储器层次结... ...
浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架
简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务日志将数据恢复到指定的时间... ...
HTTP协议详解
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大 ...
写自己的ASP.NET MVC框架(上)
写了几篇细说之后,今天打算换换口味,还是来写代码吧。所以,这次博客将以实际的代码来展示在ASP.NET平台上开发自己的框架,我希望也能让您发现这并不是件难事。我在前面的博客【用Asp.net写自己的服务框架】中,发布了一个用ASP.NET写的服务框架,那个框架我目前仍在使用中。近来,由于时常也会有人... ...
NoSQL和MemeryCache的出现意味着传统数据库使用方式的变革吗?
故事的起源 作为软件工程专业出身的程序员,之前所接受的关于数据库的教育都是基于关系型数据库。对key-value based数据库和document-based数据库的都只是仅仅了解而已。 最近公司要做一个类似电商的系统,我来负责数据库的设计和接口的提供。当然,我们使用的数据库也是传统的关系型数据库... ...
客户端与服务器持续同步解析(轮询,comet,WebSocket)
在B/S模型的Web应用中,客户端常常需要保持和服务器的持续更新。这种对及时性要求比较高的应用比如:股票价格的查询,实时的商品价格,自动更新的twitter timeline以及基于浏览器的聊天系统(如GTalk)等等。由于近些年AJAX技术的兴起,也出现了多种实现方式。本文将对这几种方式进行说..... ...
C#综合揭秘——细说多线程(上)
本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。 其中委托的BeginInvoke方法以及回调函数最为常用。 而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中... ...