自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript 单例模式

单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。最基本的单例模式——对象字面量对象字面量可以包含大量的属性和方法,将这些方法和属性组织在一起var Singleton = { attribute1: true, attribute2: 10, method1: funct

2013-06-23 22:41:17 1029

原创 JavaScript 作用域

作用域 (Scope):作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。一、全局作用域:在代码中任何地方都能访问到的对象拥有全局作用域,以下几种情形拥有全局作用域① 最外层函数和在最外层函数外面定义的变量拥有全局作用域:var a = 'global';function

2013-06-20 18:14:57 604

原创 JavaScript 继承

一、构造函数的继承:1、构造函数绑定:使用call或者apply,将父对象的构造函数绑定在子对象上:function Animal () { this.type = "";}funtion Dog (name, color) { Animal.apply(this, arguments); this.name = name; this.color = c

2013-06-20 01:59:03 588

原创 JavaScript 惰性载入函数

在JavaScript代码中,由于浏览器之间行为的差异,多数JavaScript代码包含了大量的if语句,以检查浏览器特性,解决不同浏览器的兼容问题。例如添加事件的函数:function addEvent (element, type, handler) { if (element.addEventListener) { element.addEventListener

2013-06-18 17:20:11 2146

原创 WEB前端开发修炼之道 笔记

一、网站重构:1.Web标准:结构、样式和行为分离二、高质量的HTML:1.语义化标签2.尽可能减少无语义标签span和div3.在语义不明显,既可以用p也可以用div的地方,尽量用p,因为p默认情况下有上下间距,去样式后的可读性更好4.不要使用纯样式标签,例如b、font等5.标签名、属性名全部小写,属性前加引号,单标签需闭合三、高质量的CSS:1.CSS的分

2013-05-24 19:52:47 687

原创 JavaScript target 和 currentTarget 区别

target(IE下为scrElement):在W3cschool中解释为:返回触发此事件的元素,(事件的目标节点),意思就是说是哪个HTML元素触发了这个事件。currentTarget:在W3cschool中解释为:返回其事件监听器触发该事件的元素,意思是当前事件发生在哪个元素 function doSomething(e) { if (!e)

2013-05-22 11:07:35 984

原创 CSS 水平居中

一、水平居中:①:文本、文本等行内元素的水平居中:给父元素设置text-align:center可以实现文本、图片等行内元素的水平居中:.test { text-align: center;}I am test!②:确定宽度的块级元素的水平居中:确定宽度的块级元素水平居中通过设置margin-left:auto和margin-right:auto来实现:.test { w

2013-05-20 22:42:29 966

原创 CSS Bootstrap 栅格系统

Bootstrap默认的栅格系统为12列 ,形成一个940px宽的容器,对于简单的两列式布局,创建一个 .row 容器,并在容器中加入合适数量的 .span* 列即可。由于默认是12列的栅格,所有 .span* 列所跨越的栅格数之和最多是12(或者等于其父容器的栅格数)。带有基本栅格的HTML代码 ... ...上面的代码展示了 .span4 和 .span8 两

2013-05-14 17:57:12 2203

原创 CSS 笔记

一、调整字体值的顺序:大多数允许使用多个关键字的CSS属性都允许以任何顺序书写关键字(例如:background),但font属性是很少见的例外之一,它不仅对最基本的关键字组合有限制,还要求按照特定的顺序进行书写。必须按照先字号font-size,然后是字体族font-family。如果颠倒了顺序,或者漏掉了其中的一个,则任何现代浏览器都会完全忽略这条声明。Sub-Pixel

2013-05-09 23:01:53 832

原创 CSS 选择器

CSS选择器的优先级:那么你如何计算指定选择器的优先级?如果你考虑到将优先级表示为用逗号隔开的四个数字就会相当简单,比如:1, 1, 1, 1 或0, 2, 0, 1第一个数字(a)通常就是0,除非在标签上使用style属性;第二个数字(b)是该选择器上的id的数量的总和;第三个数字(c)是用在该选择器上的其它属性选择器和伪类的总和。这里包括class (.exam

2013-05-08 20:04:57 612

原创 CSS3 :target 伪类

一些URL拥有片段标识符,它由一个#后跟一个锚点或元素ID组合而成,可以链接到页面的某个特定元素,比如#respond。:target伪类选取链接的目标元素,然后供你定义样式。浏览器支持因为我们在讨论CSS3,所以它现在被除了IE6-8以外的所有浏览器支持,但是IE9会支持这个伪类。这是相当遗憾的,但是这个现实并不影响你使用它。如何使用:targetHTML

2013-05-07 18:00:14 1149 1

转载 CSS3 Border-image

转载自:http://www.w3cplus.com/content/css3-border-imageCSS3中有关于border的属性我们一起学习完了圆角border-radius和边框颜色border-color,只剩下最后一个边框图片border-image。今天我们就一起来学习这个border-image的属性。学习完这个border-image以后,大家一定会很兴奋,因为他

2013-05-06 19:26:12 1002

原创 CSS3 box-shadow和text-shadow

一般我们都是用css3的box-shadow来实现盒投影,用text-shadow来实现文字投影。box-shadowbox-shadow: h-shadow v-shadow blur spread color inset;注释:box-shadow 向框添加一个或多个阴影。该属性是由逗号分隔的阴影列表,每个阴影由 2-4 个长度值、可选的颜色值以及可选的 inset 关

2013-05-06 18:24:36 1105

原创 CSS 实现色彩渐变

使用渐变效果可增强它的圆润感和立体感:使用渐变的效果没有使用渐变的效果对于webkit内核浏览器的渐变效果:background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000));而对于Firefox浏览器的渐变效果:background: -moz-linear-gra

2013-05-06 17:23:41 686

原创 CSS3 RGBA和HSLA色彩模式

在CSS3里可以使用RGBA和HSLA两种色彩模式,二者均可以用来在设置颜色的同时也指定其透明度。RGBA指的是“红色、绿色、蓝色和Alpha透明度”(Red-Green-Blue-Alpha),而HSLA则代表“色调、饱和度、亮度和Alpha透明度”(Hue-Saturation-Lightness-Alpha)。在RGBA模式里,前三个参数分别是红色、绿色和蓝色的强度值,取值从0~255或

2013-05-06 14:09:30 1745

原创 自动换行word-break:break-all和word-wrap:break-word的区别

1,word- break:break-all 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该 行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。2,word-wrap:break-word 例子与上

2013-05-05 22:58:20 647

原创 用CSS改变选择文本的背景颜色

转载自:http://www.qianduan.net/select-the-text-using-css-to-change-the-background-color.html最近在访问一个网站的时候,我注意到,当其文字被选中时它有一个匹配他的网站的背景色,这个背景色通常是深蓝色。现在,如果您的网站不使用任何蓝色为文字背景,看上去会不会有点不合适?当寻找如何实现这一点的解决办法后

2013-05-04 23:31:33 1450

原创 css 高级选择器

1.直接子选择器:使用类似 body > .introSub-Pixel.intro { font-style:italic;}body > .intro { font-weight:bold;} Recipes for Cheese Cheese is a remarkably versatile food,available

2013-05-04 16:23:12 712

原创 CSS优先级

转载自:http://www.qianduan.net/taming-advanced-css-selectors.htmlCSS的优先级在深入研究高级CSS选择器领域之前,理解CSS优先级是如何工作的是很重要的,这样我们就知道如何适当的使用我们的选择器并避免浪费大量的时间来调试一些只要我们注意到优先级的话就很容易被搞定的问题当我们写CSS的时候我们必须注意有些选择器在级联

2013-05-03 16:02:24 675

原创 针对IE 编写CSS

1.条件注释:According to the conditional comment this is IEAccording to the conditional comment this is IE 6According to the conditional comment this is IE 7According to the conditional comment

2013-05-02 23:26:12 544

原创 CSS 各浏览器 透明效果

透明效果.transparent{filter:alpha(opacity=12);-moz-opacity:0.12;opacity:0.12;background-color:#000;height:400px;width:px;}filter:alpha(opacity=12); 支持 IE 浏览器-moz-opacity:0.12; 支持 FireFo

2013-05-02 23:10:37 598

原创 二叉树的遍历: 前序,中序,后序----非递归算法

前序遍历非递归算法:void PreOrderTraverse(BiTree T, Status (*Visit)TElemType e){ InitStack(S); while (T != NULL || StatckEmpty(S)) { if (NULL != T) { visit(T->data); Push(S, T); T = T->lchi

2013-04-29 13:37:32 602

原创 数据结构 广义表

pre_define.h//======================================// pre_define.h// 预定义函数返回结果头文件//======================================#ifndef HEADER_PRE_DEFINE#define HEADER_PRE_DEFINE//函数结果状态代码#define

2013-04-28 07:37:11 968

原创 数据结构 线性表 顺序表示和实现

predefine.h//预定义函数返回结果头文件//文件名pre_define.h//函数结果状态代码#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define UNDERFLOW -2//假设数组维数的最大值为8#d

2013-04-23 00:05:56 554

原创 CodeIgniter 验证码辅助函数 源代码分析

if ( ! function_exists('create_captcha')){ function create_captcha($data = '', $img_path = '', $img_url = '', $font_path = '') { $defaults = array('word' => '', 'img_path' => '', 'img_url' => '',

2013-04-13 11:21:54 800

原创 CodeIgniter Session类 源代码 分析

一、Session类的参数:可以在application/config/config.php 文件中找到以下的 Session 相关的参数:参数默认选项描述sess_cookie_nameci_session无你想要保存 Session Cookie 的名字。sess_expiration7200无

2013-04-11 19:56:16 1471

原创 CodeIginter 安全类 源代码分析

一、构造函数:首先判断CSRF保护是否开启,若开启,则初始化CSRF配置,然后添加cookie prefix前缀,最后设置CSRF hash:public function __construct() { // Is CSRF protection enabled? if (config_item('csrf_protection') === TRUE) { //

2013-04-10 11:26:59 1045

转载 关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)

我们常说的网络安全其实应该包括以下三方面的安全:1、机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马。2、完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子,当然这是传说,常见的方式是XSS跨站脚本攻击和csrf跨站请求伪造。3、可用性,比如我们的网络服务是否可用,常用的攻击方式是dos和ddos,拒绝服务和分布式拒绝服务攻击。本文主要讲

2013-04-09 20:48:44 893

原创 Windows pear安装Symfony 和Hello World应用程序

打开命令行:输入下面的代码# pear channel-discover pear.symfony-project.com# pear install symfony/symfony这种方法的最大有点之一是symfony命令与控制台继承在一起。可以使用下面的代码进行验证:# symfony -V打开Web根目录,并创建一个新目录,例如/symfony。然后打开控制台

2013-04-09 13:55:00 687

原创 CodeIgniter 分页类 pagination 源代码分析

一、构造函数:构造函数的参数是初始化参数个数,先判断参数如果>0,则调用$this->initialize($params);初始化参数,然后判断是否给每一个链接添加CSS类public function __construct($params = array()) { if (count($params) > 0) { $this->initialize($params)

2013-04-08 13:16:45 942

原创 CodeIgniter 装载类 分析

装载类用于装载元素,这些元素可以是视图文件、辅助函数、模型或者是你自己的文件。(此类由系统自动加载)一、构造函数:构造函数设置缓冲级别和视图文件、辅助函数等的路径public function __construct() { $this->_ci_ob_level = ob_get_level(); $this->_ci_library_paths = array(APPP

2013-04-02 23:42:19 1007

原创 CodeIgniter 图像处理类 源代码分析

CodeIgniter 的图像处理类可以使你完成以下的操作:调整图像大小:$this->image_lib->resize()创建缩略图:图像裁剪:$this->image_lib->crop()图像旋转:$this->image_lib->rotate()添加图像水印:$this->image_lib_watermark()可以很好的支持三个主流的图像库:GD/GD2, NetP

2013-04-01 21:32:37 1064

原创 CodeIgniter 文件上传类 分析

上传文件普遍的过程:一个上传文件用的表单,允许用户选择一个文件并上传它。当这个表单被提交,该文件被上传到指定的目录。同时,该文件将被验证是否符合您设定的要求。一旦文件上传成功,还要返回一个上传成功的确认窗口。CodeIgniter的文件上传类首先利用构造函数初始化偏好设置参数:public function __construct($props = array()) {

2013-03-31 13:32:26 2061

原创 CodeIgniter 加密类分析

一、设置密钥:密钥实际上是一些会控制密码加密过程并且允许被加密的字串被解码的信息片段。实际上,你选择的密钥会提供一个唯一的方法来解密一些被加密的数据,所以你需要非常谨慎的设置你的密钥,如果你想给一些固定的数据加密的话,你最好不要更改这个密钥。为了发挥加密算法的最大优势,你的解密密钥需要被设置为 32 个字符长度(128 位)。你可以设置一个编造的随机字符串作为你的密钥,最好包括数字、大

2013-03-30 23:56:28 2482

转载 Memcached安装以及PHP的调用

一:安装libevent由于memcached安装时,需要使用libevent类库,所以先安装libevent1.下载#wget   http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz 2.解压缩#tar xzfv  libevent-2.0.12-stable.tar.gz

2013-03-28 00:34:31 567

原创 PHP Prototype(原型)模式

作用:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。UML结构图:当需要灵活创建参数化对象但又不想使用new操作符时,就可以使用Prototype模式。使用抽象的clone()方法和一些实现clone()的子类创建一个父类,这样就可以创建对象了。每个子类都包含一个实例化的Prototype对象,调用新实例时,它复制本身。这样就可以很容易很灵活的创建对象。<

2013-03-27 12:08:02 953

转载 由浅入深探究mysql索引结构原理、性能分析与优化

转:http://www.phpben.com/?post=74摘要:第一部分:基础知识第二部分:MYISAM和INNODB索引结构1、 简单介绍B-tree B+ tree树2、 MyisAM索引结构3、 Annode索引结构4、 MyisAM索引与InnoDB索引相比较第三部分:MYSQL优化1、表数据类型选择2、sql语句优化(1)

2013-03-26 18:57:30 491

原创 MySQL 视图

视图是一种虚拟的数据表,他们的行为和数据表一样,但并不真正包含数据。它们用底层(真正的)数据表或其他视图定义出来的“假”数据表,用来提供查看数据表的另一种方法,这通常可以简化应用程序。如果要选取给定数据表的数据列的一个子集,把它定义为一个简单的视图是最简单的做法。加入你经堂需要从president数据表选取last_name,first_name等数据列,但不想每次都必须写出所有这些数据列。如

2013-03-26 17:50:14 553

原创 PHP XML

1.生成XML为字符串header('Content-Type: text/xml');print ''."\n";print '';$shows = array(array('name' => 'Simpsons','channel' => 'FOX','start' => '8:00PM','duration' => '30'), array('name' =>

2013-03-25 23:16:54 626

原创 Session和数据保持:

一.使用session跟踪:使用session模块,session_start()函数初始化一个session,并可以通过自动全局数组$_SESSION访问,通过PHP程序保持对相应变量的跟踪、默认情况下,PHP把session数据保存在服务器端的/tmp文件夹下,每个session都保存为其自己的文件。要想改变保存文件的路径,可以把php.ini文件中的session.save_path

2013-03-25 23:09:24 626

空空如也

空空如也

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

TA关注的人

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