自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 抽象工厂模式

1.定义 为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。   2.通用类图   3.通用代码 3.1通用源码类图 3.2源码     4.优缺点 4.1优点 封装性,每个产品的实现类不是高层模块要关心的,关心的是接口 产品族内的约束为非公开状态 4.2缺点 产品族扩展非常困难:以“新增加一个产品”为例,这不仅会违反开闭原

2017-07-14 22:05:27 328

原创 单例模式

1.定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。   2.通用类图   3.通用代码     4.优缺点 4.1优点 由于单例模式在内存中只有一个实例,减少了内存开支和系统性能的开销 避免对资源的多重占用 可以在系统中设置全局的访问点 4.2缺点 没有接口,扩展困难 对测试不利 与单一职责有冲突

2017-07-11 21:20:48 326

原创 工厂方法模式

1.定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 2.通用类图*说明:抽象产品类Product负责定义产品的共性,实现对事物的最抽象的定义。抽象工厂类Creator,具体如何创建产品类是由具体的实现工厂ConcreteCreator完成的。 3.通用代码3.1抽象产品类

2017-07-11 21:19:29 345

原创 六大设计原则

*说明:参考书籍《设计模式之禅》第2版,作者:秦小波。 六大设计原则,按照英文首字母概括为SOLLID,可简单理解为solid-稳定的。 这六大设计原则如下: Single Responsibility Principle:单一职责原则 Open Closed Principle:开闭原则 Liskov Substitution Principle:里氏替换原则 Law of Deme

2017-07-07 18:54:30 335

转载 设计模式简明教程

学习设计模式的方法有很多。全面深入地学习,可以选择经典设计模式书籍。或者通过简短、清晰的教程快速了解设计模式。本文整理了23个设计模式的简明教程,其中多篇以讲故事的方式来学习设计模式。创建型模式一、Singleton,单例模式《案例:模式的秘密—单例模式(视频)》设计模式是前辈们在多年开发工作中经验的总结,可以提高代码的可重用性、可靠性和规范性,让代码更容易理解,而

2017-03-25 22:47:52 407

转载 哈希查找

哈希查找也称为散列查找。所谓的哈希其实就是在记录的存储位置和记录的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。查找时,根据这个确定的对应关系找到给定值的映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置上。哈希技术既是一种存储方法,也是一种查找方法。六种哈希函数的构造方法:(1)直接定址法函数公式:f

2017-02-25 19:21:37 832

转载 PHP正则表达式手册

3.2 非打印字符 字符含义\cx匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 ‘c’ 字符。\f匹配一个换页符。等价于 \x0c 和 \cL。\n匹配一个换行符。等价于 \x0a 和

2017-02-20 16:05:10 667

原创 无限分类

1.创建数据表create table shop_category( cate_id int unsigned not null auto_increment primary key, title varchar(32) not null default '', parent_id int unsigned not null default 0)ENGINE=InnoDB defaul

2017-02-19 21:09:10 270

原创 遍历一个目录下的所有文件和子文件夹

1.要点(1)递归(2)几个函数:is_dir()、opendir()、readdir()、closedir()2.程序举例<?php header("Content-type:text/html;charset=utf-8"); function my_scandir($dir){ $files=array(); if (is_dir($dir)) {

2017-02-19 19:02:07 1512

原创 从url中提取文件的扩展名

1.使用的函数1.1解析url的函数parse_url()返回一个关联数组,此数组中的键有◦ scheme - 如 http ◦ host  ◦ port  ◦ user  ◦ pass  ◦ path  ◦ query - 在问号 ? 之后  ◦ fragment - 在散列符号 # 之后 1.2获取路径中的文件名string basename

2017-02-19 16:41:39 2435

原创 PHP创建多级目录

1.使用到函数1.1新建目录的函数bool mkdir(string $pathname [,int $mode=0777 [,bool $recursive=false [,resource $context]]])参数说明:pathname——目录的路径mode——默认的mode是0777,意味着最大的可能访问权,mode在windows下被忽略recursive——t

2017-02-18 10:10:23 422

转载 数据库范式——第一范式、第二范式、第三范式

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF)

2017-02-17 21:26:19 444

原创 nginx高并发优化

1.安装nginx1.1解压nginx,进入到目录1.2配置安装选项#./configure --prefix=/usr/local/nginx --add-module=/app/ngx_http_consistent_hash-master --with-http_stub_status_module配置选项是一致性哈希,以及nginx监控模块stub_status1.3安

2017-01-16 21:57:02 1223

原创 memcached的安装、配置及使用

1.安装1.1下载libevent库Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,memcached 需要本文开头libevent 库#yum install libevent-devel1.2下载安装memcached#wget https://storage.googleapis.com/google-code-archive-downloads/v2/cd

2017-01-16 16:14:32 345

原创 负载均衡

1.认识负载均衡负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡的意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。2.nginx负载均衡配置upstream myser

2017-01-12 21:42:58 2121

原创 expires缓存技术

1.什么是expires?expires是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。如果文件变动较频繁,不要使用expires来缓存。expires起到控制页面缓存的作用,合理的配置expires可以减少很多服务器的请求。2.nginx配置expires查阅官方

2017-01-12 14:23:24 4313

原创 LNMP自定义安装教程

一、安装linux1.安装虚拟机VMware2.安装centos6.5二、安装nginx服务器1.官网http://nginx.org/,选择stable version版本,复制下载链接地址2.进入目录/usr/local/src/下#wget http://nginx.org/download/nginx-1.10.2.tar.gz下载得到nginx压缩包

2017-01-11 15:44:35 790

原创 报表打印技术-web打印

1.第一种方法:打印指定框架中的内容  此方法可以控制具体的打印内容  点击参考2.第二种方法:通过CSS样式打印表格  CSS样式打印控制的是指定表格的背景,不能控制表格内容的输出。  主要会用到CSS样式的media类型,media是媒体类型,用于直接引入媒体的属性。语法格式如下:  @media screen | print | projection |

2016-12-26 21:17:49 1160

原创 打印指定区域的内容

1.在php或html中插入javascript语句: function printdiv() { var headstr = ""; var footstr = ""; var newstr = document.getElementById('divId').innerHTML;//将要打印的指定内容 var oldstr = do

2016-12-24 22:10:37 553

转载 如何在DOS窗口中显示UTF-8字符

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在cmd.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。如果想正确显示UTF-8字符,可以按照以下步骤操作:1、打开cmd.exe命令行窗口2、通过chcp命令改变代码页,UTF-8的代码

2016-12-24 21:42:37 490

原创 预防中文在mysql数据库乱码以及网页

一、背景:当数据库、数据表都创建好后,发现:编写代码从数据库提取记录到网页,或者由网页向数据库中写数据时,出现了中文乱码的问题。点击参考解决办法这种情况是先出现问题再解决。二、如何未雨绸缪?事先设定好字符编码格式。【本案例统一设置utf8编码】1.修改数据库配置文件 my.ini  在[mysqld]组下添加下面的语句  character_set_

2016-12-24 21:36:57 302

原创 解决mysql数据库中文乱码的问题

1.查看数据库当前的编码格式命令:show variables like '%character%';+--------------------------+---------------------------------------+| Variable_name            | Value                                 |+----

2016-12-24 20:45:16 382

原创 关于问题 mysql"Access denied for user root@localhost" 的解决办法

1.问题来源:  最近由LAMP转到LNMP,初次使用LNMP,为了快速入门,直接安装LNMP组合安装包。  当启动mysql数据库时,出现如下的错误信息  2.问题分析  错误信息的大意是:用户root没有使用密码访问localhost主机时被拒绝。  那么我想应该为访问mysql设置访问密码3.解决办法(1)使用mysqld_safe命令启动mysql,设置

2016-12-18 17:36:39 42250

转载 请回答1988-最后的德善旁白

岁月依然流逝一切终将过去年岁渐长青春之所以美丽恐怕这就是原因在刹那的瞬间 耀眼闪烁之后再也无法回去双八年 我们双门洞的故事就此结束怀念那个时期 怀念那个胡同并不只是因为怀念年轻时候的自己而是因为那里有爸爸的青春 妈妈的青春朋友们的青春和所有我爱着的青春也因为没能对那些再也无法聚到一起的年轻的风景最后问候一声 而感到惋惜如今对已经逝去的

2016-12-08 18:59:25 3448

原创 向mysql数据表中插入数据失败的原因

1.案例代码:$sql1="insert into content(category,subject,content,username,release_date) values('{$category}','{ $subject}','{$content}','{$user}','{$date}')";//向数据表中插入数据的操作$res1=dml($sql1);2.错误原因:

2016-12-04 20:48:11 20574

原创 Fatal error: Call to a member function fetch_array() on a non-object问题的解决办法

案例:使用mysqli操作数据库时,//查询操作function dql($sql){    $conn=@new mysqli('localhost','root','root','forum');    if ($conn->connect_error) {        die('数据库连接错误!');    }    $result=$conn->query

2016-12-02 21:43:30 20499 1

转载 四层和七层负载均衡的区别

(一)  简单理解四层和七层负载均衡:  ① 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求

2016-11-28 16:25:48 210

转载 Apache 与 Nginx 比较

Nginx轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在 PHP 处理慢或者前端压力很大的情况下,很容易出现进程

2016-11-28 16:16:47 215

转载 php 文件上传后缀名与文件类型对照表

php文件类型对照表ie火狐id后缀名php识别出的文件类型0gifimage/gif1jpgimage/jpeg2pngimage/png3bmpimage/bmp4psdapplication/octet-strea

2016-11-26 21:45:11 496

原创 Notice: Undefined index: action in ... 问题分析及解决办法

问题情景:语句 echo "删除";下面的程序本意是通过GET到action值来执行相应的del删除操作:if($_GET['action']=='del'){. . .}当点击删除操作之后,文件的确是被删除了,但是出现了下面的Notice提示Notice: Undefined index: action in ... 原因分析:没有点击删除之前,a

2016-11-23 16:37:56 4234

转载 href与action的区别、get与post的区别、什么时候用get、什么时候用post

1.   href与action的区别href只能get参数,action能get参数又能post参数href一般用于单个连接,可以带参数(URL重写),是采用get方式请求的,在地址栏中可以看到所有的参数;action一样用于表单的提交(如:注册)等,他可以提交大量和比较复杂的参数,可通过post和get两种方式提交。如果选择post方式 则在地址栏中看不到提交的信息。简单讲:单

2016-11-23 10:23:28 2063

原创 导致PHP程序死循环的一个原因

最近自己在做两个开源的小项目:留言板项目、在线文件管理系统。(一)做留言板项目时,在分页显示用户留言时出现死循环,出现死循环的代码如下:require_once 'db.php'; //db.php 文件中定义了 display 函数/*分页*/require_once 'db.php';$pageSize=2; //每页显示的数量$count=num(); //数据表的

2016-11-22 17:25:19 1415

转载 PHP页面间参数传递的四种方法详解

我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用。--------------------------------------------------------------------------------第一种:   使用客户端浏览器的cookie。cookie很容易理解,就是

2016-11-21 09:59:10 356

原创 yii中load()、validate()、save()

1、load()与validate()要一起用      load()只是加载数据,validate()才是验证。2、更新和添加都用save()      可以不用validate(),因为save方法会先调用validate()再执行insert()或者update()。      yii通过$model->isNewRecord 来判断是不是一条新纪录,然后调用inse

2016-11-08 13:39:00 5129

原创 Yii2-用属性的方式来访问类的一个方法

1、在模型类中定义一个方法public function getUser(){ return $this->hasOne(user::className(), ['userid'=>'profileid']); //关联查询}2、在控制器中访问public function actionQuery(){ $user=User::find()->w

2016-10-30 15:29:59 523

转载 MySQL多表查询之外键、表连接、子查询、索引

本章主要内容:一、外键二、表连接三、子查询四、索引一、外键:1、什么是外键2、外键语法 3、外键的条件4、添加外键5、删除外键1、什么是外键:主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的。所以说,如果谈到了外键,一定是至少涉及到两张表。例如下面这两张

2016-10-29 17:23:51 2538 2

转载 HTML字符实体与转义字符串

1、为什么要用转义字符串?HTML中,&等有特殊含义(,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?这就要说到HTML转义字符串(Escape Sequence)了。 转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有

2016-10-28 15:24:11 938

转载 yii中ActiveForm表单工具的用法总结

ActiveForm 要和 Model/ActiveRecord 配合使用的。 所以 先要张表 像这样 ↓+----------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------

2016-10-21 20:32:06 589

转载 Yii rules常用规则举例

1234567891011121314151617181920212223242526272829303132333435

2016-10-16 13:50:47 496

转载 Yii2.0 rules验证规则大全

required : 必须值验证属性[['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredValidator 的别名, 确保了特性不为空. email : 邮箱验证['email', 'email']; #说明:CEmailValidator的别名,确保了特性的值是一个有效的电邮地址.

2016-10-16 13:46:59 266

空空如也

空空如也

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

TA关注的人

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