白癜风可以治的好吗 http://m.39.net/pf/a_5683025.html代码管理工具
我使用过的版本控制工具有两种:早期的时候使用的是SVN,现在主要使用git,我
就我个人的观点,简单的说下两者的区别:
Git是分布式的,SVN是集中式的,好处是跟其他同事不会有太多的冲突,自己写的
代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;
Git下载下来后,在本地不必联网就可以看到所有的log,很方便学习,SVN却需要
联网;
Git鼓励分Branch(分支),而SVN,说实话,我用Branch的次数还挺少的,SVN
自带的Branchmerge我还真没用过,有merge时用的是BeyondCompare工具合并后再
Commit的;
SVN在Commit前,我们都建议是先Update一下,跟本地的代码编译没问题,并确保
开发的功能正常后再提交
SVN的主要功能
SVN属于集中化的版本控制系统,有个不太精确的比喻:SVN=版本控制+备份
服务器
SVN使用起来有点像是档案仓库的感觉,支持并行读写文件,支持代码的版本
化管理,功能包括取出、导入、更新、分支、改名、还原、合并等。
功能有许多我就不一一列了,SVN大都采用图形界面操作,直观,上手快。
Git的主要功能
Git是一个分布式版本控制系统,操作命令包括:clone,pull,
push,branch,merge,rebas,Git擅长的是程序代码的版本化管理。
SVN的优缺点
SVN对中文支持好,操作简单,使用没有难度,美工人员,产品人员,测试
人员,实施人员都可轻松上手。使用界面统一,功能完善,操作方便。
Git的优缺点
对程序源代码进行差异化的版本管理,代码库占极少的空间。易于代码的
分支化管理。不支持中文,图形界面支持差,使用难度大。不易推广。
SVN和Git哪个更适用于项目管理?
SVN更适用于项目管理,Git仅适用于代码管理。
一个研发队伍的成员正常包括:需求分析、设计、美工、程序员、测试、实
施、运维,每个成员在工作中都有产出物,包括了文档、设计代码、程序代码,这
些都需要按项目集中进行管理的。SVN能清楚的按目录进行分类管理,使项目组的管理处于有序高效的状态。
现在越来越多人使用git做为版本控制工具,我以前的公司也是使用git.
设计模式
在PHP中,我主要使用了以下两种设计模式
1、单例模式
单例模式顾名思义,就是只有一个实例。作为对象的创建模式,单例模式确保某一个
类只有一个实例,而且自行实例化并向整个系统提供这个实例。
单例模式的要点有三个:
一是某个类只能有一个实例;
二是它必须自行创建这个实例;
三是它必须自行向整个系统提供这个实例。典型的代表如框架中的基类对象。
2、简单工厂模式
①抽象基类:类中定义抽象一些方法,用以在子类中实现
②继承自抽象基类的子类:实现基类中的抽象方法
③工厂类:用以实例化所有相对应的子类
这种我们使用最常见,基本所有的MVC框架中都是这样产生的。
php的设计模式
1、单例模式2、工厂模式3、观察者模式4、命令链模式5、策略模式
单例模式:
一个类在整个应用中,只有一个对象实例的设计模式
类必须自行创建这个实例
必须自行向整个系统提供这个实例
三私:私有静态成员变量、构造函数、克隆函数
一公:公共的静态方法
2、工厂模式
可以根据输入的参数或者应用程序配置的不同一创建一种专门用来实例化并返回其它
类的实例的类
3、观察者模式
观察者模式提供了组件之间紧密耦合的另一种方法。
该模式:一个对象通过添加一个方法(该方法允许另一个对象,即观察者注册自己)全
本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观
察者使用该信息执行的操作与可观察的对象无关。
4、命令链模式:
以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。
每个处理程序都会自行判断自己能否处理请求,如果可以,该请求被处理,进程停止。
5、策略模式:
此算法是从复杂类提取的,因而可以方便地替换。
笔试常用术语
redis落地:持久化存储
定时跑批:执行定时任务
UV:UniqueVister的缩写,独立访客。
PV:pageview,即网站被浏览的总次数;
IP:即internetprotocol,指独立IP数,一天内相同IP地址只被计算一次;
PR值:全称为Pagerank(网页级别),是用于评测一个网页“重要性”的一种方法。Alexa:Alexa.