
技术探讨
文章平均质量分 77
fangaoxin
知人不必言尽, 留三分余地于人, 留些口德于己;
责人不必苛尽, 留三分余地于人, 留些肚量于己;
才能不必傲尽, 留三分余地于人, 留些内涵于己;
锋芒不必露尽, 留三分余地于人, 留些深敛于己;
有功不必邀尽, 留三分余地于人, 留些谦让于己;
得理不必争尽, 留三分余地于人, 留些宽容于己;
得宠不必
展开
-
memcached在大负载高并发网站上的应用概述
大家可能对memcached这种产品早有了解,或者已经应用在自己的网站中了,但是也有一些朋友从来都没有听说过或者使用过。这都没什么关系,本文旨在从各个角度综合的介绍这种产品,尽量深入浅出,如果能对您现在或以后的工作有所帮助,笔者将感到无比荣幸。我要介绍的内容包括以下几个方面:1、memcached的简介2、memcached的应用场景3、memcached的安装4、memc原创 2011-08-25 10:38:25 · 1022 阅读 · 0 评论 -
Spring Security 基于数据库的权限管理配置
<br /> 目前在做一个原型系统,其中涉及到权限管理部分,研究了一下Spring Security,由于网上资料都是在配置文件里面定义url权限的,基本上没有存在数据库中的。在这个过程中我在网上找了很多资料,但是没有一个是完全能够解决问题的,acegi的例子springside倒是有一个。 而下面这段是一位网上朋友提供的,还不错,解析的清楚,大家可以参考<br />applicationContext-security.xml文件如下: <br />Java代码 <?xml version="1.0" e转载 2011-04-11 15:48:00 · 2294 阅读 · 0 评论 -
nhibernate使用
<br />使用步骤<br />1. 建立库表<br />2. 建立映射对象<br />3. 建立映射文件<br />4. 编写配置文件<br />5. 编写程序<br />详细说明<br />1. 建立库表<br /> 库: test<br /> 表: userinfo<br /> 字段:uid char(10), pwd char(20) uid为主键<br />2. 建立映射对象<br />using System;<br />namespace testNHibernate<br转载 2011-04-12 10:32:00 · 638 阅读 · 0 评论 -
华为软件编程规范和范例
<br />目 录<br />1 排版<br />6<br />2 注释<br />11<br />3 标识符命名<br />18<br />4 可读性<br />20<br />5 变量、结构<br />22<br />6 函数、过程<br />28<br />7 可测性<br />36<br />8 程序效率<br />40<br />9 质量保证<br />44<br />10 代码编辑、编译、审查<br />50<br />11 代码测试、维护<br />52<br />12 宏<br />5转载 2011-04-11 10:35:00 · 1177 阅读 · 0 评论 -
面向对象设计的11原则
<br /><br />面向对象设计是什么?都包含了哪些内容?它所带来的好处是什么?需要你为之付出些什么?在如今这个年代,问这些问题似乎显得很愚蠢,因为这年头几乎每位软件开发人员都知道如何使用某种面向对象编程语言。可是这个问题还是很重要,因为在我看来,绝大多数人在使用这些语言的时候并不知道为什么,而且也不知该如何最充分的运用它们。<br />软件业曾经爆发过的所有变革里,其中曾经有两个派系如此广泛的深入人心,它们就是结构化编程和面向对象编程。所有主流的现代编程语言都被它们两个激烈的影响着。实际上,要想不像结转载 2011-04-06 10:23:00 · 989 阅读 · 0 评论 -
分析SNS型网站Facebook模式的成功模式
<br /><br />国内真正在做sns网站的网站并不多,sns网站这条也不好走,但如果能成功,就是一个the big thing,但是还看不出来候选者。<br />那些批着Facebook(菲丝布克)网站之皮的社区网站,自己预测将有一半以上在两年之内死掉,另外一半会改回BBS(社区论坛)。<br />社区网站做sns网站悠着点好,先想清楚了再做,要做就做得有点创新,别蛮干,上来就扒别人的按钮和CSS。 sns网站是2008年中国互联网最火爆的现象了,无数的sns网站网站一夜之间纷纷涌现,前仆后继,慰为壮原创 2010-11-26 17:08:00 · 1097 阅读 · 0 评论 -
一个简单系统的设计之争
一个简单系统的设计之争蒋彪@南京 2010-9-201. 前言一个朋友最近在做一个小项目,想让我去评审评审设计,于是我就去听了听他们的设计,同时提出了自己的一点思路,发现了一点有趣的事情。抛开业务,这个系统要干的事情其实很简单:a. 将常用的SQL保存在DB服务器上b. 做一个web画面,让操作员得以访问SQL列表c. 在web画面上,可以针对选择的SQL,填写参数,并且交付执行d. 将SQL执行得到的结果数据,做成e原创 2010-11-12 17:50:00 · 569 阅读 · 0 评论 -
Session劫持原理简介
<br />session劫持是一种比较复杂的攻击方法。大部分互联网上的电脑多存在被攻击的危险。这是一种劫持tcp协议的方法,所以几乎所有的局域网,都存在被劫持<br />可能。<br /><br />两台主机要想进行TCP通信,必须经过一个三次握手的过程。三次握手过程中服务端和客户端一般会协商一个序列号。这个序列号一般是一个长整数。用来标记<br />每个数据包本来的顺序。服务端或者客户端使用这个序列号来重组在网络传输过程中乱序了的数据包。服务端和客户端在三次握手过程中还会协商其他的内容<br />比如w原创 2010-12-31 17:27:00 · 1651 阅读 · 0 评论 -
深度与规模--MySpace和FaceBook模式比较
<br />前不久,新浪科技译载了英国“经济学人”的一篇杂文,从通俗角度讲了点社交网络规模的问题。牛津大学的人类学教授罗宾。丹巴(ROBIN DUNBAR)发现,人脑的认知能力限制了社交网络的规模。根据他对大猩猩的大脑容量和社交网络规模的研究,推断出人类智力所允许的稳定的社交网络规模平均应该不超过148人,约等于150人,这就是在学界著称的“丹巴数字”。 <br /><br />现实世界如此,虚拟世界又如何?有社会学家常驻FACEBOOK网站进行研究,发现用户的好友数量平均为120人,女性用户的好友数略多于原创 2010-11-29 09:38:00 · 1511 阅读 · 0 评论 -
网站开发人员须知的62件事情
<br /><br /> 在我的印象中,关于网站开发,这样全面的概述性文章非常少见,因此也就非常有用。大家不妨看看,62件事情中你做到了多少?<br />界面和用户体验(Interface and User Experience)● 知道各大浏览器执行Web标准的情况,保证你的站点在主要浏览器上都能正常运行。你至少要测试以下引擎:Gecko(用于Firefox)、Webkit(用于Safari、Chrome和一些手机浏览器)、IE(你可以利用微软发布的Application Compatibil原创 2010-11-26 11:21:00 · 593 阅读 · 0 评论 -
微博及其盈利模式
<br />微博及其特点<br /><br /> 所谓微博,即微型博客的简称,它利用无线网络、有线网络、通信技术等工具和手段进行即时通讯,用户可以把自己的最新动态和想法以短信息的形式发送给手机和个性化网站群,而不仅仅是发送给个人。目前,twitter是世界上最为著名的微博网站,根据网络监测机构RJMetrics最近发布的报告显示,Twitter注册用户数目前已达7500万;国内的著名的微博是新浪微博,其它还有腾讯滔滔、9911、同学网、饭否、叽歪、嘀咕、做啥、FOLLOW5、雷猴等等。<br /><br原创 2010-11-26 14:59:00 · 1977 阅读 · 0 评论 -
Hibernate自定义表单完全解决方案(无需重置SessionFactory)
<br /><br />最近开发的一个系统,需要在不更改代码和重启系统的情况下提供对用户自动建表的支持,由于系统应用了hibernate,所以在建表同时也要建立持久化对象以及对这些对象注册<br />数据库是不确定类型的,目前在比如数据库类型支持,还有对象关系支持上都很简单,不过在现有基础上进行扩展,都是可以实现的 <br />实现步骤如下 <br />建立class->生成hbm.xml->在Hibernate'config里面注册持久化类->通知SessionFactory持久化类的新增 <br />1转载 2011-04-12 09:55:00 · 2345 阅读 · 1 评论 -
log4net使用
<br /><br />使用手记 <br /> 第一次使用log4net时比较顺利,是在web环境下。在web.config中加入log4net的配置。即可使用。现在要在app下使用。麻烦了半天。新加了一个app.config。读取其中的配置时,可以像web的web.config一样使用。但是在配置log4net后,就是不记日志。后来查到, 要在AssemblyInfo.cs中加入对配置文件的引用。如下:<br /><br />[assembly: log4net.Config.DOMConfigurat转载 2011-04-12 10:21:00 · 1359 阅读 · 0 评论 -
SVN安装配置和使用
<br />1. SVN简介<br />Subversion是新一代的版本控制工具,不仅仅应用于程序源代码管理,也可以广泛应用于其他需要协作管理数据的工作。Subversion 作为CVS 的重写版和改进版,其目标就是作为一个更好的版本控制软件,取代目前流行的CVS。Subversion 的主要开发人员都是业界知名的CVS 专家。Subversion支持绝大部分的CVS 功能/命令;Subversion 的命令风格和界面也与CVS 非常接近。当然,不同的地方正是对CVS 的改进。主要体现在:全局性的版本转载 2011-04-15 10:31:00 · 1028 阅读 · 0 评论 -
软件架构师探讨
1.人远比技术重要你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时候将主要精力都集中在技术上。显然,构件(components),EJB(EnterpriseJavaBeans)和代原创 2011-08-25 17:00:28 · 831 阅读 · 0 评论 -
php深度探讨
简介 先看看下面这个过程:我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的; PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);PHP总共有三个模块:内核、Zend引擎、以及扩展层; P原创 2011-08-25 11:20:16 · 1307 阅读 · 0 评论 -
Seo技术探讨
seo(search engine optimize)也就是搜索引擎优化,通俗来讲就是将目标网站进行优化,当用户在搜索引擎上输入关键词就能够准确定位到目标网站上。 大多数人可能立刻联想到如下这些手段:1、通过作弊手段来欺骗搜索引擎。2、寻找和利用搜索引擎的漏洞。原创 2011-08-25 10:55:27 · 773 阅读 · 0 评论 -
OOD的开闭原则
2.1 什么是开闭原则 开闭原则是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。 1988年,Bertrand Meyer在他的著作《Object Oriented Software C原创 2011-08-24 17:46:30 · 629 阅读 · 0 评论 -
里氏代换原则概述
4 里氏代换原则(Liskov Substitution Principle, LSP)4.1 什么是里氏代换原则 里氏代换原则是由麻省理工学院(MIT)计算机科学实验室的Liskov女士,在1987年的OOPSLA大会上发表的一篇文章《Data Abstr原创 2011-08-25 09:43:07 · 4661 阅读 · 0 评论 -
大型高并发高负载网站的系统架构
我在Cernet做过拨号接入平台的搭建,而后在Yahoo3721负载搜索引擎前端平台开发,又在猫扑处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可以和大家一起探讨一下。一原创 2011-09-08 14:39:56 · 824 阅读 · 0 评论 -
memcache 的源代码分析
1.关于本文档 本文档所有的分析都是在1.2版本之上,偶尔会提到比较1.1版本.其他版本没有阅读. 一个星期时间的工作,不可能对memcache有很深刻的分析.文档本身的目的在于为以后的研究准备一个总结资料.刚接触memcache时,对其设计分布转载 2011-09-07 17:15:48 · 938 阅读 · 0 评论 -
优化站点访问速度小结
网站访问速度由:WEB服务器、网站程序及数据库、服务器带宽及性能决定。1,WEB服务器设置:gzip压缩1) 打开Internet信息服务(IIS)管理器,右击”网站”->”属性”,选择”服务”。在”HTTP压缩”框中选中”压缩应用程序文件”和”压缩静态文件”,按需要原创 2011-09-01 10:59:37 · 609 阅读 · 0 评论 -
Apache与IIS的优劣对比点
<br /> <br /> 对于中小企业来说建立自己的网站,对外展示自己的页面是最平常不过的事情了。目前最流行的建立WWW服务工具就要属Apache与IIS了。那么他们之间都有什么区别呢?到底哪个工具才是最适合我们的呢?今天就来讨论下这个问题。<br /> 一、免费与收费之争:<br /> 虽然很多用户都使用IIS建立网站,他是集成于Windows操作系统中的组件。不过要想合法使用IIS就要购买正版Windows操作系统。<br /> 反观Apache,他是完全免费的。不需要支付任何费用就可以免费下载转载 2011-04-20 10:46:00 · 1694 阅读 · 0 评论 -
Lighttpd是什么,让多知名网站弃用Apache?
<br />一,Lighttpd简介<br /><br />Netcraft做的数据调查曾显示,今年一月份全球使用Lighttpd的网址为170,000,二月份这个数字达到了7000,000,在短短的一个月内惊人地增长了400%!在这些网址中,包括YouTube、Wikipedia和Meebo等。而且目前为止,使用Lighttpd的网址仍在以极高的比例增长,尤其是欧美等地的网址,许多新兴网站也纷纷选用Lighttpd,而且Lighttpd在Ruby on Rails社区中尤其受欢迎。<br /><br />转载 2011-04-19 11:31:00 · 1945 阅读 · 0 评论 -
复习Amazon Dynamo设计的一点分享
<br /><br /> 什么是Dynamo? Dynamo是Amazon的高效Key-Value存储基础组件(类似于现在被广泛应用的Memcached Cache),当前被用于Amazon很多系统中作为状态管理组件。在2007年年底Amazon的CTO就写了一篇介绍Dynamo设计的文章,今年年底又在日志中提出了对于那篇文章的一个补充:“Eventual consistency”。这也让我再次仔细的去回顾了一下Dynamo的设计思想,其中很多设计技巧是当前分布式系统设计也可以借鉴的。<br原创 2010-09-25 10:49:00 · 718 阅读 · 0 评论 -
NET正则基础之——正则委托
<br />1 概述<br />一般的正则替换,只能对匹配的子串做简单的处理,且只能是做string类型的处理之后,作为替换文本替换匹配子串,可以实现的功能比较有限。.NET的Replace()方法中的replacement参数,不仅可以是字符串,还可以是委托(delegate),在每次匹配成功时,都会调用委托方法,对匹配的子串进行处理之后,再作为替换文本返回,匹配子串使用委托方法,可以做任意复杂的处理,因此这种替换功能非常强大。<br />委托的类型可以是MatchEvaluator,也可以原创 2010-09-15 09:45:00 · 656 阅读 · 0 评论 -
HttpContext.Current.Cache vs. HttpRuntime.Cache
NET中Cache有两种调用方式:HttpContext.Current.Cache 和 HttpRuntime.Cache,这两种方式有什么区别呢?我们先看MSDN上的解释: HttpContext.Current.Cache:为当前 HTTP 请求获取Cache对象。 HttpRuntime.Cache:获取当前应用程序的Cache。 我们再用.NET Ref转载 2009-07-24 01:30:00 · 750 阅读 · 0 评论 -
AJAX中同时发送多个请求XMLHttpRequest对象处理方法
在ajax应用中,通常一个页面要同时发送多个请求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的XMLHttpRequest对象,也会造成浪费。解决的办法就是创建一个XMLHttpRequset的对象池,如果池里有空闲的对象,则使用此对象,否则将创建一个新的对象。下面是我最近写的一个简单的类:view plaincopy原创 2009-07-23 07:21:00 · 803 阅读 · 0 评论 -
如何写优雅的代码—#define?const?还是enum?
//======================================================================== //TITLE: // 如何写优雅的代码(2)——#define?const?还是enum? //AUTHOR: // norains //DATE: // Tuesday 21-July-20转载 2009-07-22 23:36:00 · 693 阅读 · 0 评论 -
浅谈线程池:线程池的作用及CLR线程池
原文发表于我的技术博客“老赵点滴 - 追求编程之美”,欢迎订阅。http://www.cnblogs.com/JeffreyZhao/archive/2009/07/22/thread-pool-1-the-goal-and-the-clr-thread-pool.html 线程池是一个重要的概念。不过我发现,关于这个话题的讨论似乎还缺少了点什么。作为资料的补充,以及今后文章所转载 2009-07-23 11:23:00 · 614 阅读 · 0 评论 -
从MySpace基于.NET平台的六次重构经历感受分布式
Myspace和Facebook都是很优秀的社交类网站,它们拥有的用户和fans之多,大家都很清楚。Myspace是一个基于.NET平台的,而Facebook更多是基于LAMP的。我们来看看MySpace配合.NET+Windows Server 2003+Sql Server 2000/2005+IIS怎么创造传奇的文章正文如下:在每个里程碑,站点负担都会超过底层系统部分组件的最大载荷,特别是数转载 2009-07-17 10:37:00 · 570 阅读 · 0 评论 -
谈谈Web Service与 .NET Remoting
随着时间的推移,已经形成这样一种惯例:即将应用程序构建成一组组件,分布于计算机网络之间,并作为整个程序的一部分一起运行。过去,分布式应用程序逻辑需要具备组件/对象技术,例如,Microsoft? 分布式组件对象模型 (DCOM)、Object Management Group 的公共对象请求代理程序体系结构 (CORBA) 或 Sun 的远程方法调用 (RMI)。这些技术提供了可靠的、可升级的体系原创 2009-07-17 10:34:00 · 641 阅读 · 0 评论 -
MVC原理(struts框架详解)
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。1、模型(Model) 模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑. 2、视图(View) 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。 3、控制器(controller) 控制器工作就是根据用户的输入,控制用户界面数据显示和更新model转载 2009-07-17 13:53:00 · 803 阅读 · 0 评论 -
MVC和MVP的一些思考
这篇文章是我近期对MVC和MVP的一些思考,在使用MVC/MVP模式的过程中曾经走过一些弯路。现在虽然改正了某些弯路,但不保证改正了所有的弯路(例如对渲染的理解),所以请阅读这篇文章的朋友不吝发挥你们的质疑。写这篇文章也是想知道自己还有什么地方是错的,我的最终方案是否可行?有交流才会有进步。你有一个苹果,我有一个苹果,我们交换后仍各有一个苹果,你有一个思想,我有一个思想,我们交换后......会有转载 2009-07-17 13:51:00 · 487 阅读 · 0 评论 -
.NET 体系结构杂谈
我们不能独立的使用C#语言,而必须和.net framework 一起考虑。C#编译器专门用于.net 这表示用C#编写的所有代码总在.net Framework 中运行。对于C#语言来说,可以得出两个重要的结论:1.C#的结构和方法论反应了.net的基础方法论2.在许多的情况下,C#的特定语言功能取决于.net的功能,或者依赖于.net的基类Microsoft 中间语言(Microsoft IN转载 2009-07-17 13:40:00 · 600 阅读 · 0 评论 -
基于MVC模式开发Web应用系统设计与实现的原理
MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据原创 2009-07-17 16:08:00 · 6942 阅读 · 0 评论 -
在Linux安装Memcache缓存服务器端的方法
Memcache缓存是个好软件,这里讲下在Linux下安装的方法:服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libev转载 2010-02-09 16:11:00 · 1788 阅读 · 0 评论 -
memcached完全剖析–1. memcached的基础
memcached是什么?memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为 mixi、 hatena、 Facebook、 Vox、LiveJournal等众多服务中 提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示转载 2010-03-15 10:27:00 · 569 阅读 · 0 评论 -
memcached全面剖析–3.memcached的删除机制和发展方向
memcached是缓存,所以数据不会永久保存在服务器上,这是向系统中引入memcached的前提。 本次介绍memcached的数据删除机制,以及memcached的最新发展方向——二进制协议(Binary Protocol) 和外部引擎支持。memcached在数据删除方面有效利用资源数据不会真正从memcached中消失上次介绍过, memcached不会释放已分配的内存。记转载 2010-03-15 10:51:00 · 592 阅读 · 0 评论 -
关键字加链接
<br />这个问题先说一下我的思路,再讨论一下楼主的思路和.NET中一些使用正则需要注意的地方<br /><br />因为是关键字替换,而关键字的数量也很多,所以从整体上来说有两种实现方式:<br />一种是在最外层循环关键字,每次替换一个符合条件的关键字,这样每循环一次,就要遍历一次源字符串<br />另一种是分次找出符合替换条件的子字符串,然后循环关键字进行替换,这样每次处理的源字符串相对较小,但关键字要遍历一次<br />因为相对于源字符串来说,关键字要小得多,所以一般来说还是后一种效率会高些<br原创 2010-09-15 10:05:00 · 1300 阅读 · 0 评论