自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 镜像文件和虚拟光驱

虚拟光驱不真实存在,不能读取真实的光盘。所以虚拟光驱要建立自己可以读取的光盘,就是虚拟光盘,这个虚拟光盘就是我们平时说的镜像文件,根据虚拟光驱的软件不同,格式也有所不同。如:*.ccd *.img *.sub *.cue *.bin *.iso *.bwt *.bwi *.bws *.cdi配合虚拟光驱可以实现光盘文件的读写操作,可以实现光盘文件的备份和保存。为什么要建立镜

2013-11-02 10:31:01 1275 2

原创 window的环境变量的妙用

1.快速打开深层文件夹     为了查找文件,往往需要打开“E:\My Documents\我的笔记本\各类会议”之类的深层或隐藏文件夹,通过“我的电脑”等常规方法往往比较麻烦。此时只要为深层或隐藏文件夹设置一个“环境变量”,就可以通过“运行”对话框直接打开它们了。假如我们需要打开本地硬盘上的“E:\My Documents\我的笔记本\各类会议”文件夹。可以单击“控制面板”中的“系统”按钮,

2013-10-28 18:51:52 707

原创 Xdebug的使用说明

Xdebug是一款PHP代码调试工具,支持本地和远程调试,是一名有经验的PHP程序员所必须要掌握的工具。xdebug安装和配置好后的使用有以下用处:    堆栈追踪和函数追踪;    错误信息;    内存分配;    剖析php脚本的信息;    代码覆盖率分析;    远程调试分析;1:debug重写了php里面var_dump()函数。     var_d

2013-10-22 10:22:19 1602

原创 explain命令详解

Mysql另一个强有力的工具Explain,这个工具能详细告诉你Mysql打算如何、执行你这个Query。•id                    :SELECT识别符。这是SELECT的查询序列号•Possible_key :该查询可以利用的索引,如果没有任何索引可以使用null•Key               : Mysql从 Possible_ke

2013-10-09 14:44:53 639

原创 mysql数据库优化大方向

优化主要有下几个方面:1:合理建表(至少达到3NF)2:建立索引(普通索引,主键索引,唯一索引,全文索引)3:分表技术(水平分割和垂直分隔)4:读写分离5:存储过程(模块化编程可提高速度)6:对mysql配置优化(最大连接并发数和缓存大小)7:mysql服务器硬件升级8:定时清除不需要的数据,定时碎片整理(尤其是MyISAM)详解如下:一:

2013-10-09 14:15:44 1225

原创 mysql日志类别及使用

my.ini里面可以找到  1. # 在[mysqld] 中輸入    2. #log    3. log-error=/usr/local/mysql/log/error.log    4. log=/usr/local/mysql/log/mysql.log    5. long_query_time=2    6. log-slow-queries= /usr/loc

2013-10-09 12:19:12 754

原创 mysql备份与还原

mysql完全备份和增量备份的使用,以及使用批处理文件做定时备份。

2013-10-09 12:05:00 978

原创 mysql 存储引擎简介和选择

MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++ API自己做一个引擎。创建指定引擎的表::::CREATE TABLE 表名( 字

2013-10-08 12:40:38 725

原创 初识反射API

反射api是php内建的oop技术扩展,包括一些类,异常和接口,综合使用他们可用来帮助我们分析其它类,接口,方法,属性,方法和扩展。这些oop扩展被称为反射,位于php源码/ext/reflection目录下。可以使用反射api自省反射api本身(这可能就是反射最初的意思,自己“看”自己)反射API的用处有以下:           检查类,是类的不可或缺的测试工具。         

2013-10-06 21:31:50 659

原创 注册表模式解析

注册表模式:实际上是单例模式,注册表类提供静态方法(或单例对象的实例化方法)来让其它对象访问其中的数据(通常是对象)。整个系统中的每个对象都可以访问这些数据对象。abstract class Registry { abstract static function get( $key ); abstract static function set( $key, $val

2013-09-27 13:22:22 720

原创 在ThinkPHP写Memcache缓存驱动的实现

ThinkPHP提供了方便的缓存方式,包括数据缓存、静态缓存和查询缓存等,支持包括文件方式、APC、Db、Memcache、Shmop、Sqlite、Redis、Eaccelerator和Xcache在内的动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作。下面我们来研究下Memcache缓存如何使用。系统的缓存实现是由缓存类和缓存驱动组成,缓存驱动扩展位于Exten

2013-09-25 16:53:43 1532

原创 Session锁和session_write_close和session_commit函数

session默认是文件存储,也可以存在数据库和内存,存入内存可以使用Memcached和Redis技术Session默认存在文件中,在这种情况下:使用session_start()函数之后就会对该sessionId文件锁定,直到还脚本执行完毕才存入文件和解锁,当一下情况会非常耗时:1:一个页面有多个ajax请求,并且多个ajax请求页都涉及到session,即都得操作同一个ses

2013-09-24 20:40:34 4823

原创 同源策略

所谓的同源就是要求这个URL的协议,主机,端口三部分都相同。一般我们说的域或者domain也是这里的源的概念。存在一种异常情况,javascript可以通过设置document.domain来修改主机和端口部分的值,如果这样做,设置后的值就会作为同源策略检查的标准。比如对于http://blog.csdn.net/yanical和http://bbs.csdn.net/可以执行下面的jav

2013-09-20 11:48:55 510

原创 访问者模式解析

表示一个作用于某对象结构中的各元素的操作,可以在不改变各元素的类的前提下定义作用于这些元素的新操作/** * 访问者模式 * * 表示一个作用于某对象结构中的各元素的操作,可以在不改变各元素的类的前提下定义作用于这些元素的新操作 * */ abstract class Visitor { abstract public function visitCro

2013-09-20 11:33:18 520

原创 命令模式解析

【意图】将一个请求封装为一个对象,从而使用你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求

2013-09-20 11:13:57 534

原创 session和cookies

浏览器禁用cookies后,同一个域名下的session读不出来了,开启cookies后,可以读取出session了。禁用cookies后怎么才可以读出服务器端的session?设置php.ini的session.use_trans_sid = 1可以在超链接上自动加上SESSIONID,在接受页加上$id=$_GET['PHPSESSID']用session_id($id);

2013-09-20 09:59:39 645

原创 面向对象软件设计中的开闭原则

what:软件设计过程中对扩展性开放,对修改关闭。即软件实体应该在不修改的前提下扩展,这个原则实际上为软件设计指明了目标。我们知道软件设计应当充分考虑软件的可维护性,即需求发生变化的时候软件结构能够灵活地适应这种变化。就评价软件的可维护性而言,“开—闭”原则提供了一个依据。实际上,设计模式的应用就是使软件的结构在某种程度上满足“开—闭”原则。how:在面向对象设计中,不允许更改

2013-09-19 10:47:35 788

原创 策略模式解析

策略设计模式:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化抽象策略(Strategy)角色:定义所有支持的算法的公共接口。通常是以一个接口或抽象来实现。Context使用这个接口来调用其ConcreteStrategy定义的算法具体策略(ConcreteStrategy)角色:以Strategy接口实现某具体算法环境(C

2013-09-18 10:41:19 474

原创 外观模式解析

外观模式:外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用;外观模式又称为门面模式,它是一种对象结构型模式。外观模式就是让client客户端以一种简单的方式来调用比较复杂的系统来完成一件事情;目的:1、为一个复杂子系统提供简单的接口2、减少客户端和子系统的耦合

2013-09-17 13:09:24 528

原创 观察者模式解析

观察者:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式(Observer Pattern)必须包含两个角色:观察者和被观察对象。观察者和被观察者之间存在“观察”的逻辑关联,当被观察者发生改变时,观察者就会观察到变化,并且做出相应的响应。观察者模式完美地将观察者和被观察者的对象分离开。该模式通常是向一个对象添加一个方法使本身

2013-09-17 12:32:53 628

原创 装饰者模式解析

装饰者模式:类的继承能够让类的结构层次更明了,对于一些属于类个性的方法一般硬编码到子类中。在定程度上在继承的类中硬编码子类共同的方法,但是如果这些共同的方法比较多的话,这样写并不是最理智的方法,而且如果后期扩展的话,父类中的方法会越来越多,且实际使用的方法是子类根据需要选择的,若要实现动态将职责附加到对象上,扩展功能,装饰者提供了比继承更具弹性的代替方案。要点: 1. 装饰者和被装

2013-09-17 10:40:36 615

原创 组合模式解析

组合模式:将对象以树形结构组织起来,以达成“部分-整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。从定义中可以得到使用组合模式的环境为:在设计中想表示对象的“部分-整体”层次结构;希望用户忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象。组合模式解耦了客户程序与复杂元素内部结构,从而使客户程序可以向处理简单元素一样来处理复杂元素。如果你想要创建层次结构,并

2013-09-17 09:14:44 501

原创 set_error_handler和trigger_error函数

set_error_handler函数为用户自定义错误处理函数,执行与程序执行期间。set_error_handler(错误处理函数名,错误类型)参数还可以是一个数组,数组的第一个数据是类名第二个是类中的方法。如果使用了该函数,会完全绕过标准的 PHP 错误处理函数,如果必要,用户定义的错误处理程序必须终止 (die() ) 脚本。注意:如果在脚本执行前发生错误,由于在那时自定义程序还

2013-09-16 16:09:16 1464

原创 单例模式剖析

面向对象编程中有这种情况,希望类只有一个实例且够成其他类的成员属性,这样如果直接作为全局变量在页面的前面定义类的实例,在其他类中当属性使用,这中做法破坏了oop的封装性,并且如果使用不当会导致命名冲突。而单例模式的设计就是专门为了解决这类问题的。顾名思义单例就是单个实例,那么这个类必须有一定的规范:构造方法私有   静态私有属性(本类的实例)  公开的静态方法(该方法为了判断该实例是否

2013-09-16 14:35:56 484

原创 BOM头信息

在window中使用记事本且存为utf-8时会在最前面加上一个BOM头信息,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。可以使用其他可以显示他的编辑器打开删除保存,或则在php中使用函数去掉

2013-09-16 00:45:48 899

原创 memcached使用内存保存session

对于登陆注册量比较大的网站,session直接写入文件。对于登陆访问量比较大的网站session本身就比较多,如果提高session的读取速度可以提高访问速度和减轻服务器一定的负担。而memcached可以做到这一点。修改的主要有两个参数:session.save_handler为memcache和session.save_path为tcp://ip:port方式一:修改php.ini的配置文

2013-09-13 23:01:46 1142

原创 Memcached分布式算法

memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。服务器端仅包括内存存储功能,其实现非常简单。至于memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。远端有多个memcached服务器,应用程序向服务器发送CRUD请求时,客

2013-09-13 16:00:13 811

原创 基础知识和细节问题

三种方式访问Memcached服务器:           1:php下载Memcache扩展库访问该服务           2:php下载Memcached扩展库访问该服务           3:telent请求该服务。该三种方式对memcached服务器的CRUD操作如下:1.2方式可以查php手册3.方式set/add 标识名  参数  存时间  字节数  /

2013-09-12 23:50:19 745

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除