小规模低性能低流量网站设计原则

2012年2月27日 ken 没有评论

到处都是什么大规模啊,高流量啊,高性能之类的网站架构设计,这类文章一是满足人们好奇心,但看过之后也就看过了,实际收益可能并不大;另外一个副作用是容易让人心潮澎湃,没学走先学跑,在很多条件仍不具备的情况下,过度设计、过度扩展(高德纳大爷也说过,”过早优化是万恶之源”),所以,这里反弹琵琶,讨论一下小规模低性能低流量的网站该如何搞法。

如果站点起步阶段可能就是一台机器(或是一台虚拟机,比如 JobsDigg.com ),这个时候,去关注什么数据拆分啊,负载均衡啊,都是没影子的事情。很多大站点的经验绝不能照搬,辩证的参考才是硬道理。

拥抱熟知的技术 阅读全文…

PHP autoload机制详解

2012年2月25日 ken 没有评论

autoload机制概述
在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这 也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例 子: 阅读全文…

优秀PHP程序员应具备的5大能力

2012年2月25日 ken 没有评论

MySQL能力

在开发上的应用基于几个能力体现:

(1)了解:知道用PHP连接数据库;懂得写一些简单的SQL;建一些简单的索引;懂得用工具简单操作一下数据库(增删改库表结构数据等等)。

(2)熟悉:懂得在开发应用上设计数据库,建立一些有效的索引,用explain分析SQL性能,压力测试等等。

(3)很熟悉:深入了解数据库索引、存储引擎原理以及运行机制,能有效地构建高性能可扩展的数据库结构/架构,有效地优化数据库性能配置并加以调试,分析数据库运行状态。

(4)精通:简单地说具备以上所有能力的同时,有多年高负载分布式环境下的优化管理经验。 阅读全文…

分类: 程序员 标签:

一位IT培训从业教师的爆料(转)

2012年2月24日 ken 没有评论

看到这篇文章,觉得很不错,我很庆幸自己当初抵住诱惑,没有去上所谓的培训机构,把这篇文章贴出来,觉得有必要提现一下对IT培训行业不了解的人~呵呵!!下面是我转的文字:

在阅读本文的过程中,不时地冒出一个词“震惊”,如今IT培训机构存在的这些潜规则,让人感到害怕。随着IT技术的发展,培训机构已不再向起初那样一切为 了学员着想,都以经济利益作为大前提。

如今的IT培训机构可以说是多如牛毛,在很多人的眼里,参加IT培训,不仅能获取知识,还能增加就业成功的几率。尽管我们也知道 很多资质不够的培训机构混杂其中的现象并不少见,但接到这封来信的时候,我们还是感到了震撼,因为这是一封从事IT行业培训十多年的一位教师的自白,更重 要的是,这位教师来自于知名的培训机构。 阅读全文…

分类: 程序员 标签:

代码重构

2012年2月24日 ken 没有评论

重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件 的扩展性和维护性。

也许有人会问,为什么不在项目开始时多花些时间把设计做好,而要以后花时间来重构呢?要知道一个完美得可以预见未来任何变化的设计, 或一个灵活得可以容纳任何扩展的设计是不存在的。系统设计人员对即将着手的项目往往只能从大方向予以把控,而无法知道每个细枝末节,其次永远不变的就是变 化,提出需求的用户往往要在软件成型后,始才开始”品头论足”,系统设计人员毕竟不是先知先觉的神仙,功能的变化导致设计的调整再所难免。所以”测试为 先,持续重构”作为良好开发习惯被越来越多的人所采纳,测试和重构像黄河的护堤,成为保证软件质量的法宝。 阅读全文…

分类: PHP高级开发 标签:

PHP简单工厂模式(simple factory)趣味讲解

2012年2月23日 ken 没有评论

简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出那一种产品类的实例。

1.工厂模式的几种形态

工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。工厂模式有以下几种形态:
(1)简单工厂(Simple Factory)模式,又称静态工厂方法模式(Static Factory Method Pattern)。
(2)工厂方法(Factory Method)模式,又称多态性工厂(Polymorphic Factory)模式或虚拟构造子(Virtual Constructor)模式;
(3)抽象工厂(Abstract Factory)模式,又称工具箱(Kit 或Toolkit)模式。下面就是简单工厂模式的简略类图。

简单工厂模式,或称静态工厂方法模式,是不同的工厂方法模式的一个特殊实现。在其他文献中,简单工厂往往作为普通工厂模式的一个特例讨论。
学习简单工厂模式是对学习工厂方法模式的一个很好的准备,也是对学习其他模式,特别是单例模式和多例模式的一个很好的准备。 阅读全文…

php工厂模式闲聊

2012年2月23日 ken 没有评论

我们在用smarty的时候,经常要声明$smarty = new smarty();并且要定义很多smarty的参数,我们以前常用的作法是把它们放在某个全局文件中,要用的时候调用一下.下面我们用工厂模式简单阐述一下用工厂模式的解决方式:
我们声明一个工厂类,这个类继承自smarty类库
class mySmartyFactory extends smarty
{
function __contruct()
{
//在此初始化一切smarty需要初始化的东东.
$this->template_dir = ‘dir/to/template_dir/’;
$this->cache_dir = ‘dir/to/cache_dir/’;
}
}
当然,运行本文件之前必须导入smarty类文件.
当我们要用smarty的时候,就可以直接这样$mySmarty = new mySmartyFactory ();//所有的东东都在类内部初始化了,无需我们重复去做.
简而言这,工厂模式就是对类的封装,使我们在用原始类的时候能够在不改变类本身(smarty)的前提下对对象进行大量的操作.

至于多个类的工厂模式,比如更复杂的抽象类或接口等,其基本前提都是这样的.

良好的学习技巧和工作方法可以有效提高自己

2012年2月23日 ken 没有评论

摸索好的工作方法和学习技巧可以更块更有效的提高个人专业技能和工作效率。

努力,相比是一个基本前提,我想大家在都会尽力做到最好。

但是,找到适合自己的学习技巧和工作方法,可以更有效提高自己各个方面的能力。虽然成功没有捷径,不代表做事没有方法和技巧可循。

摸索一套适合自己的学习技巧和工作方法,可以做到事半功倍,大大提高效率,增强个人成就感。

PHP工厂模式的好处

2012年2月18日 ken 没有评论

顾名思义,工厂是可以加工零件的,PHP程序中的工厂模式也有相同的功能,可以方便的使用一个静态的工厂方法来实例化某一个类,那么这样做的好处是什么呢?初学PHP的设计模式,以下是我个人的理解

一般我们实例化一个类会给它一些参数以便在其构析的时候可以根据不同的参数反馈出我们需要的结果。
举例说明,以下是一个User类,非常简单: 阅读全文…

PHP设计模式漫谈之工厂模式

2012年2月18日 ken 没有评论

最初在设计模式一书中,许多设计模式都鼓励使用松散耦合。要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程。在更改一个代码片段时,就会发生问题,系统其他部分 —— 您曾认为完全不相关的部分中也有可能出现级联破坏。

该问题在于紧密耦合 。系统某个部分中的函数和类严重依赖于系统的其他部分中函数和类的行为和结构。您需要一组模式,使这些类能够相互通信,但不希望将它们紧密绑定在一起,以避免出现联锁。

在大型系统中,许多代码依赖于少数几个关键类。需要更改这些类时,可能会出现困难。例如,假设您有一个从文件读取的 User 类。您希望将其更改为从数据库读取的其他类,但是,所有的代码都引用从文件读取的原始类。这时候,使用工厂模式会很方便。 阅读全文…