自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(180)
  • 资源 (4)
  • 收藏
  • 关注

原创 ThinkPHP快捷方法使用总结

在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,文本将所有的字母函数总结下,方便以后查找。1、U()    URL组装,支持不同URL模式2、D()    实例化模型类,格式:[资源://][模块/]模型3、M()    实例化一个没有模型文件的Model4、I()  

2015-01-12 16:13:54 346 1

原创 LNMP环境搭建(三)MySQL数据库服务器的安装

安装之前,为mysql 建立名为mysql的用户名和用户组编译前需要安装cmake:同时也要安装gcc-c++和gcc,否则会出现如下错误:编译安装漫长的编译过程后,mysql会被安装到 / usr / local / mysql 下,接下来需要对mysql进行配置,是的mysql变得可用这里的 mysql_insta

2015-01-10 21:06:47 329

原创 LNMP环境搭建(二)集成Nginx与PHP

安装Nginx的方式有很多种,这里我们还是编译源代码进行安装,使用下列命令:如果安装过程中出现一下错误:则需要先安装PCRE:安装完成后,Nginx安装目录在 / usr / local / nginx 。接下来修改nginx的配置文件(/usr/local/nginx/conf/nginx.conf),使其能够处理PHP脚本:最后,启动Ng

2015-01-10 18:48:39 264

原创 JavaScript在离开页面是提示用户

如果用户正在页面执行比较重要的操作,如写博客、上传文件,此时,如果点其他链接、地址栏输入新的地址或者页面刷新时,应该给用户提示,确认时候要离开当前页面,用JavaScript可以轻松完成。

2015-01-09 19:57:29 279

原创 PHP设计模式之访问者模式

访问者模式实际上是让外部类能够获取树形结构的每个节点的对象,对每个对象进行操作的模式,它让我们在不改动原有树形结构的基础上扩展功能,比如统计等等。在这种模式下,必须有的几个要素:1、具体的元素对象,访问者实际要访问的位置(即节点)2、稳定的树形结构,每个节点都是一个元素对象,一般在组合模式下比较多,它提供给了让访问者能够进行访问的实际位置(即访问者访问的是具体的属性结构的某个节点的实例

2015-01-08 09:35:34 234

原创 LNMP环境搭建(一)搭建PHP环境

首先下载PHP安装文件,我们使用源码编译安装PHP5.4.36,到PHP官网下载PHP安装文件。接下来对PHP源码进行编译安装,进入源码目录之后,执行下列命令安装:注意:如果需要mysql的话,最好是在变异的时候就提供参数并且指定为使用mysqlnd库,否则单独编译 扩展的形式安装只能使用MySQL Client Library。出现如下错误:提示找不到

2015-01-07 23:15:15 299

原创 RBAC基于角色的用户权限管理

美国国家标准与技术研究院(The National Institute Of Standards And Technology,NIST)标准RABC(Role-based policies Access Control)基于角色的访问控制模型由4个部件模型组合成,这4个部件模型分别是基本模型RBAC0(Core RABC)、角色分级模型RBAC1(Hierachal RBAC)、角色限制模型RB

2015-01-07 20:50:48 581

原创 RABC权限管理

RABC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色和权限进行关联。简单的说,就是一个用户拥有若干角色,每个角色拥有若干权限。这样,就构成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般是多对多的关系角色是什么呢?可以理解为有一定数量的权限的集合,权限的载体。比如,一个论坛系统,“超级管理员”,“

2015-01-05 20:16:10 956

原创 Yii2.0 安装

安装你可以通过下面的2种方式来安装Yii 框架一种是通过Composer另外一种是直接下载Yii网站所提供的2个应用程序模板(高级开发模板和基本开发模板),在vendor目录中就包含Yii框架通过Composer安装如果还没有安装Composer,可以从http://getcomposer.org/下载安装,或者通过下面的命令在线安装curl

2015-01-02 20:52:41 166

原创 APMServ下Xdebug安装与使用

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。在apach中zend Optimizer与Xdebug都是通过zend_extension_ts加载动态库的;那么如果同时使用zend Optimizer与Xdebug的时候就会报错;apmserv 5.2.6 是用vc6编译的,所以下载xdebug.dl

2015-01-02 19:29:29 184

原创 MySQL日志

错误日志记录内容:包含了MySQLD启动和停止时,以及服务器在运行过程中发生的任何严重错误时的相关信息文件位置和格式:可以用- - log-error[ = file_name ]选项来指定mysqld保存错误日志文件的位置,如果没有给定file_name值,mysqld使用错误日志名host_name.err并在数据目录中写入日志文件。BINLOG

2015-01-02 09:20:39 176

原创 另外一些MySQL优化措施

使用MySQL连接池提高性能对于访问数据库来说,建立连接的代价比较昂贵,因此,我们有必要建立“连接池 ”来提高访问的性能。我们可以把连接当做对象或者设备,池中又有许多已经建立的连接,访问本来需要与数据库的连接的地方,都改为和池相连,池临时分配连接提供访问上使用,结果返回后,访问将连接交还。减少对MySQL的访问以优化SQL语句1)避免对同一数据做重复检索

2015-01-02 08:57:29 239

原创 MySQL锁的优化

获取锁等待情况可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:可以通过检查Innodb_row_lock状态变量来分析系统上的行锁争夺情况:另外,针对InnoDB类型的表,如果需要查看当前的锁等待状况,可以这是InnoDB Monitors,然后通过show innodb status查看,设置的

2015-01-01 21:15:36 230

原创 MySQL数据表的优化

优化表的数据类型表需要使用何种数据类型,是需要根据应用来判断的。虽然应用设计的时候需要考虑字段的长度留有一定的冗余,但是不推荐让很多字段都留有大量的冗余,这样即使浪费存储也浪费内存。我们可以使用PROCEDURE ANALYSE()对当前已有的应用进行表类型的判断,该函数可以对数据表中的数据类型提出优化建议,可以根据应用的实际情况酌情考虑是否实施优化,语法:输出的每

2015-01-01 20:21:19 202

原创 TortoiseSVN在Windows下的使用

安装及下载TortoiseSVN的下载地址是:http://tortoisesvn.net/downloads.html ,打开后,你要选择对应的平台:同时, 你也可以在下面找到语言包,下载第四个简体中文的语言包:首先运行TortoiseSVN-1.8.10.26129-x64/x32-svn-1.8.11.msi,安装完成后,再安装语言包LanguagePack_

2015-01-01 18:23:59 514

原创 Windows下SVN服务的搭建

Subversion是优秀的版本控制工具,目前Subversion已经迁移到了Apache网站上,下载地址:http://subversion.apache.org/packages.html这个是二进制文件包的下载地址,同样你也可以在左侧的导航栏中找到源代码、文档的下载地址。Windows下面的二进制文件包包括五种:这里使用VisualSVN Server服务端来作为演示

2015-01-01 13:11:00 192

原创 SQL语句优化

大量插入数据时SQL语句的优化1)对于MyISAM类型的表,可以通过以下方式快速地导入大量数据:这两个命令用来打开或者关闭MyISAM表非唯一索引的更新。在导入大量的数据到一个飞空的MyISAM表是,通过设置这两个命令,可以提高导入的效率。对于导入大量数据到一个空的MyISAM表,默认就是先导入数据然后才创建索引的,所以不用进行设置。er对于InnoDB类型的表,这种方式并不能

2014-12-31 22:57:02 226

原创 MySQL索引优化

索引的存储类型MyISAM表的数据文件和索引文件是自动分开的;InnoDB的数据和索引是存储在同一个表空间里面,但可以有多个文件组成。创建索引的语法如下:索引的存储类型目前有两种(B-Tree和Hash),具体和表的模式相关:MySQL如何使用索引索引用于快速找出在某个列中有一特定值的行。对相关列使用索引是提高SELECT操作性能的最佳途径。查询

2014-12-31 21:43:00 181

原创 MySQL下优化SQL的一般步骤

通过show status和应用特点了解各种SQL的执行效率通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extended-status命令获得。SHOW STATUS可以根据需要显示session级别的统计结果和global级别的统计结果。以下几个参数对MyISAM和InnoDB存储引擎计数:Com_select:执行SELECT操作的次数

2014-12-31 21:20:00 186

原创 MySQL SQL模式(Mode)

MySQL服务器能够工作在不同的SQL模式下,并能够针对不同的客户端以不同的方式应用这些模式。这样,应用程序就能对服务器进行量身定制以满足自己的需求。这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行何种确认检查。这样,就能在众多不同的环境下、与其他数据库服务器一起更容易地使用MySQL。可以使用“--sql-mode="modes"”选项,通过启动mysqld模式来设置

2014-12-31 20:10:10 289

原创 SQL注入

SQL注入(SQL Injection)攻击具有很大的危害,攻击者可以利用它读取、修改或删除数据库内的数据,数据数据库中的用户名和密码等蜜柑信息,甚至可以获得数据库管理员的权限。如果能够再利用SQLServer扩展存储过程和自定义扩展存储过程来执行一些系统命令,攻击者还可以获得系统的控制权。而且,SQL Injection也很难防范。网站管理员无法通过安装系统补丁或者进行简单的安全配置进行自我保护

2014-12-31 18:39:43 224

原创 MySQL存储引擎

几个常用存储引擎的特点特点MyISAMBDBMemoryInnoDBArchive存储限制没有没有有64TB没有锁机制表锁页锁表锁行锁行锁B树索引支持支持支持支持哈希索引支持支持全文索引支持

2014-12-31 17:44:24 177

原创 Windows下Git Bash 远程仓库

Git是分布式版本管理系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器一个原始版本,伺候,别的机器可以”克隆“这个原始版本库,而且每台机器的版本其实都是一样的,并没有主次之分。一台机器上其实也可以克隆多个版本库,只是,如果这台机器崩溃了,那放在它上面的所有库都会挂掉,这没有任何意义。所以,实际上的情况是,一台24小时开机的电脑作为服务器,其他每个人都从这个

2014-12-31 13:44:25 155

原创 Git的工作区与暂存区

Git与其他版本控制系统如SVN的一个不同之处就是暂存区的概念工作区(Wroking Directory):就是电脑中能看到的目录。版本库(Repository):工作区的隐藏目录.git 这个不算工作区,而是Git的版本库Git的版本库里醋了很多东西,其中最重要的就是stage(或叫index)的暂存区,还有Git 为我们自动创建的第一个分支master ,以

2014-12-31 12:44:08 197

原创 Windows下Git Bash的基本使用

创建版本库首先创建项目的目录,然后打开目录,在目录中右键,选择Git Init Here来完成项目仓库的初始化:也可以,选择“Git Bash”打开命令窗口输入命令“git init”来完成项目的初始化:初始化完成后,会在目录下创建一个.git的隐藏目录,用来存放项目信息。添加文件到版本库在项目目录下新建文件readme.txt,

2014-12-31 11:31:15 502

原创 PHP设计模式之装饰模式(Decorator)

装饰模式可以在不适用创造更多子类的情况下,给对象增加额外的职责,使对象的功能得以扩展抽象构件(Component)角色:定义一个对象接口,以规范准本接收附加职责的对象,从而可以给这些对象动态地添加职责具体构件(Concrete Component)角色:定义一个将要接收附件职责的类装饰(Decorator)角色:持有一个指向Component对象的指针,并定义一个与Compon

2014-12-30 17:00:48 233

原创 PHP设计模式之组合模式(Composite Pattern)

组合模式是一系列对象组合成树形结构来表示整体和部分之间的关系,组合模式的主要目的是达到,访问组合对象和访问单个对象具有一致性。这里的组合对象比较特殊,本身可以是由其他的对象组合而成,同事,这个组合对象又可以组成更复杂对象的一部分。抽象角色(MenuComponent):给参加组合的对象规定统一的接口,接口中包括管理节点的方法,如add、remove,可以定义一些接口的默认动作树叶组件(

2014-12-30 16:33:54 258

原创 PHP设计模式 外观模式(Facade)

外观模式(Facade Pattern):外部与子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口是的这一个子系统更加容易使用。外观模式又称门面模式,它是一种对象结构模式。模式的结构外观模式就是让客户端以一种简单的方式来调用比较复杂的系统,来完成一件事情。/***Facade 外观模式*//***摄像机

2014-12-30 16:03:34 267

原创 享元模式 Flyweight Pattern

享元模式的定义为:采用一个共享来避免大量拥有相同内容对象的开销。这种开销中最常见。直观的就是内存的损耗。享元模式以共享的方式高效地支持大量的细粒度对象。在名字和定义中都体现了共享这个核心概念,那么怎么来实现共享呢?要知道每个事物都是不同的,但同时又有一定的共性,如果只有完全相同的事物才能共享,那么享元模式可以说就是不可行的,因此我们应该尽量将事物的共性共享,而又保留它的个性。为了做到这

2014-12-30 14:32:50 130

原创 PHP代理模式Proxy Mode

代理,指的就是一个角色代表另一个角色采取行动,就像现实生活中,微软或联想不会直接把自己的系统或者电脑卖给客户,而是通过代理来完成它的销售业务。而客户,也不用为了买个Office或笔记本而到处去找联想工厂,或者微软公司,它只要找到厂商的销售代理就可以了。代理模式,就是给某一对象提供代理对象,并由代理对象控制具体对象的引用。代理模式涉及的角色:抽象主题角色,声明了代理主题和真实主题的公

2014-12-30 14:25:48 585

转载 桥接模式(Bridge)

桥接模式:将抽象部分与它的实现部分分离,使它们能够独立地变化应用桥接模式解决问题的思路:假设这样一个应用场景,消息发送模块,消息可以分为普通消息-->加急消息-->特急消息,而发送消息的方式可以有站内消息、手机短信、EMail。在不适用设计模式的情况下,我们一般会写一个普通消息类,并封装所有的发送方式在这个类里面,而加急消息和特急消息可以继承自这个普通消息。咋看上去这样做挺好,而且

2014-12-30 11:38:42 229

原创 Windows下Git库的创建

图形化打开Git GUI选择“创建新的版本库”:选择要创建的目录,单击“新建”后,即可完成对Git库的创建,创建完成后会出现如下界面:并在Git仓库目录下生成一个隐藏的Git目录,用于防止Git仓库的项目信息。命令行打开Git Bash进入Git命令行模式,默认情况下Git不是定位在你要建立仓库的地方的,使用cd进入建立仓库的地方

2014-12-30 09:38:54 230

原创 Windows下Git的安装

下载安装windows下的Git的下载地址为:http://msysgit.github.io/,目前的版本为1.9.5。下载完成后,一路默认下一步即可完成安装。安装完成后,双击桌面的快捷方式或开始菜单中的Git Bash会进入Git在Windows下的命令行模式,而打开时,可以以图形化的方式打开Git在命令行模式中输入git,即可显示git的常用用法:

2014-12-30 08:56:17 206

原创 Git安装

Linux在RedHat或CentOS中,使用yum install git就可以直接完成Git的安装。在Debian或Ununtu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装。老一点的Debian或Ubuntu,则要把命令改成sudo apt-get install git-core,这是因为以前有个软件页脚GIT(GNU

2014-12-29 22:03:39 206

原创 教程:2、第一个Python程序

在交互式环境的提示符">>>"下,直接输入代码,按回车,就可以立即得到代码执行的结果。如果想要Python打印出指定的文字,可以使用print语句,然后把希望打印的文字用单引号或双引号括起来,但不能混用单引号和双引号:又或者,你可以使用文本编辑器来编辑,要注意的是,绝对不能用Word和Windows自带的记事本。Word保存的不是纯文本文件,而记事本会自作多情地在文件开始地

2014-12-29 21:16:59 352

原创 教程:1、安装

首先,从Python的官方网站https://www.python.org/最新的3.4.2版本,地址是这个:https://www.python.org/ftp/python/3.4.2/python-3.4.2.msi然后,运行下载的MSI安装包,不需要更改任何默认设置,直接一路点“Next”即可完成安装。默认会安装到C:\Python34目录下,也可以自己选择安装路径,比如:C:\P

2014-12-29 20:37:01 213

转载 Redis、MongoDB、Memcache的比较

Redis和Memcache都是将数据放在内存中,都是内存数据库,不过Memcache还可以缓存注入图片、视频等文件数据类型:memcache在添加数据时需要指定数据库的字节长度,而Redis不需要虚拟内存:Redis在物理内存用完时,会将一些很久没用到的value交换到磁盘过期策略:memcahe在set时就指定,如set keyname 0 0 8,即永不过期;Redis可以通过例如expir

2014-12-29 16:50:40 187

原创 memcache函数整理

连接mixed Memcache::pconnect(string $host[, int $port[, int $timeout]])bool Memcache::connect(string $host[, int port[, int $timeout]])bool Memcache::close(void)说明:connect与pconnect的区别是connect可

2014-12-29 15:59:28 248

原创 memcache基础教程

memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。PHP的memcache

2014-12-29 15:36:50 344

转载 memcache协议

协议memcached 的客户端使用TCP链接 与 服务器通讯。(UDP接口也同样有效,参考后文的 “UDP协议” )一个运行中的memcached服务器监视一些(可设置)端口。客户端连接这些端口,发送命令到服务器,读取回应,最后关闭连接。结束会话不需要发送任何命令。当不再需memcached服务时,要客户端可以在任何时候关闭连接。需要注意的是,鼓励客户端缓存这些连接,而不是每次需要存

2014-12-29 13:33:36 291

煤矿DB14执法网协议

煤矿DB14执法网协议

2022-12-29

CSS实现WIN10 Loading效果

基于CSS3实现的Windows10的Loading效果代码,黑色背景

2019-01-07

C#开发经典实战1200例

C#开发经典实战1200例的实例资源,对应的书籍就是《C#开发经典实战1200例》

2014-12-28

C#从入门到精通 学习笔记

C#从入门到精通 学习笔记,减少读书的时间,更高效的学习

2014-10-29

QT类表PDF,用于方便查询

QT类表PDF,用于方便查询,QT是个很实用的开发软件,我是这样认为的

2012-10-12

空空如也

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

TA关注的人

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