自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hello World

不为繁华易匠心

原创 JavaScript关于作用域、作用域链和闭包的理解

作用域先来谈谈变量的作用域 变量的作用域无非就是两种:全局变量和局部变量。 全局作用域: 最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的:<script> var outerVar = "outer"; fun...

2017-04-29 22:04:30 43477 17

原创 linux安装MYSQL遇到的问题

####启动MYSQL服务时出现无法创建/var/log/mariadb/mariadb.log 错误信息: Starting MySQL.touch: cannot touch ‘/var/log/mariadb/mariadb.log‘: No such file or directory...

2017-10-12 19:39:08 7487 1

原创 如何阻止表单的默认提交事件

表单一点击提交按钮(submit)必然跳转页面,如果表单的action为空也会跳转到自己的页面,即效果为刷新当前页。 如下,可以看到一点击提交按钮,浏览器的刷新按钮闪了一下:如果想要阻止表单的默认提交事件,有以下几种方法:1.将<input>标签内按钮类型从type="su...

2017-10-08 23:15:42 28458 5

原创 bootstrap开发中遇到的问题

导航条缩小到XS模式上下留白的情况做了一固定在底部的导航内嵌表单,但是缩小到xs宽度时出现了上下两条白条。 原因也很简单,在缩小到xs宽度时出现了折叠的情况,bootstrap将内嵌的form视为独立整体的一行。 我采用了解决方法: 1.将form的一个class属性:navbar-form...

2017-10-08 22:02:07 795 0

原创 浅谈JSONP

网上通篇大论JSONP,说的无非都是JSONP可以解决跨域数据访问的问题 那么我们一般访问数据都是通过AJAX,但是AJAX跨域请求需要被请求方通设置Access-Control-Allow-Origin来实现跨域访问。否则AJAX一般不允许跨域请求。 由于AJAX的核心是XMLHttpReq...

2017-10-08 18:23:55 215 0

原创 不用XMLHttpRequest来模仿AJAX

AJAX的原理就是通过XMLHttpRequest对象来对服务端发起请求。所以XMLHttpRequest对象是AJAX的核心。 现在我想不通过XMLHttpRequest对象来对服务端发起请求,但不刷新页面。 例:创建一个投票按钮,点击后将请求服务器数据库对数据加一。 前端投票按钮test...

2017-10-04 16:02:05 723 0

转载 MyISAM和InnoDB的索引实现

在 MySQL 中,主要有四种类型的索引,分别为: B-Tree 索引, Hash 索引, Fulltext 索引和 R-Tree 索引。我们主要分析B-Tree 索引。B-Tree 索引是 MySQL 数据库中使用最为频繁的索引类型,除了 Archive 存储引擎之外的其他所有的存储引擎都支持 ...

2017-09-16 14:31:21 376 0

原创 strtolower()和strtoupper()中文乱码问题

这个问题来自腾讯的一道笔试题: PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换。原因是:中文是由多字节组成的,而只有英文系统的单个英文字符只有一个字节,所以该系统把...

2017-09-06 21:04:01 2624 0

原创 背包问题模板

01背包特点:每种物品只有一件子问题定义状态 bag[i][v] : 前i件物品放到一个容量为v的背包中可以获得最大价值 转移状态方程 bag[i][v] = max(bag[i-1][v],bag[i-1][v-weight[i]] + value[i]) 模板:#include<...

2017-09-03 19:42:24 199 0

原创 BST二叉搜索树

BST的查找算法//递归查找 struct node *Find(ElementType key,struct node *BST){ if(!BST) return NULL;//查找失败 if(key > BST->data){ re...

2017-09-01 22:24:53 187 0

转载 构造回文

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输...

2017-07-19 20:29:54 209 0

原创 最长公共子序列与最长公共子串--动态规划

最长公共子串(Longest Common Substirng)和最长公共子序列(Longest Common Subsequence,LCS)的区别为:子串是串的一个连续的部分,子序列则是从不改变序列的顺序,而从序列中去掉任意的元素而获得新的序列;也就是说,子串中字符的位置必须是连续的,子序列则...

2017-07-19 20:26:35 217 0

原创 Referer与防盗链

Referer:HTTP请求头信息中的Referer可以判断访问的本站资源是来自哪里的。因此,我们可以利用Referer来避免别人盗取自己本站的资源,如图片。如Apache可以编写.htaccess文件来重写访问的资源连接RewriteEngine On #Rewrite Base /dir #只...

2017-07-14 11:36:25 317 0

原创 Apache No installed service named "Apache2.4"的解决办法

windows安装Apache后,用cmd开启apache服务时,提示No installed service named "Apache2.4" 解决步骤: 1.cmd窗口,进入Apache2的bin目录(比如我的bin路径为E:\Apache24\bin)。 2. 运...

2017-07-13 22:11:08 7332 0

原创 使用scoket发送HTTP请求

建议先看一下如何用telnet发送HTTP请求: http://blog.csdn.net/whd526/article/details/75042691<?php class Http{ const CRLF = "\r\n"; protected $e...

2017-07-13 15:45:39 318 0

原创 HTTP协议

Http(HyperText Transfer Protocol),叫做超文本传输协议,它属于应用层协议,是基于Tcp连接的。它是一种基于请求/响应模式的,无状态的协议。 http1.0的特点:一次连接一次响应后就断开; http1.1的特点:持续连接,在一次连接中可发送多个请求,不必等待...

2017-07-13 00:54:36 309 0

原创 Ajax提交表单数据

ajax的基本语法$.ajax({ type: "post", //数据提交方式(post/get) url: "demo.php", //提交到的url data: {"key1":"value1&...

2017-05-21 22:03:48 2979 0

原创 堆以及php实现堆排序

什么是堆 这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。堆可以视为一棵完全的二叉树,完全二叉树的一个“优秀”的性质是,除了最底层之外,每一层都是满的,这使得堆可以利用数组来表示,每一个结点对应数组中的一个元素.数组与堆之间的关系 二叉堆一般分为两种:最大堆和最小堆。什么是最大...

2017-05-11 18:49:29 430 0

原创 先序创建二叉树及三种遍历

#include<stdio.h> #include<stdlib.h> int max = 0; struct node{ int data; struct node *left; struct node *right; };struct node...

2017-05-11 16:01:28 1033 0

原创 插入排序

插入排序就像扑克排序,从未排序的序列选第一张牌,插入到已排序的牌堆里的合适位置。function insert(&$arr){ for($i = 1; $i < count($arr); $i++){//认为第一个位置是已排序序列,从第二个开始逐一选择插入 i...

2017-05-11 12:57:44 178 0

原创 php实现冒泡排序

冒泡排序很简单,就是不断地交换相邻的数,使得最大的数排在最后面,即一次循环可以确定最大一个数的排序位置。 php代码实现:function bubble(&$arr){ for($i = 1; $i < count($arr); $i++){//第n次循环可以确定后n个的位...

2017-05-11 12:32:05 447 0

原创 php实现归并排序

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一...

2017-05-07 21:34:20 370 0

原创 PHP实现链表(暂存)

<?php class node{ public $data; public $next; public function __construct($data){ $this->data = $data; $this->n...

2017-05-07 15:42:43 306 0

原创 Linux连接文件ln

硬连接(hard link)硬连接是通过文件系统的inode连接来产生新文件名,而不是产生新文件 如为filename创建一个硬连接文件filename_hardlink: 如上图,因为硬连接产生不同的文件名都指向相同的inode,所以修改任意一方的属性或block数据,其他文件访问到的数...

2017-05-01 15:23:23 512 0

原创 XML学习笔记

XML被设计来结构化、传输和存储数据,其焦点是数据的内容 HTML被设计来显示数据的,其焦点是数据的外观 即XML旨在传输信息,HTML旨在显示信息XML没有预定义的标签 XML允许作者定义自己的标签和自己的文档结点 XML的声明<?xml version="1.0&quo...

2017-04-27 18:57:27 177 0

原创 DOM的三大结点:元素结点、文本结点、属性结点

先来看一句HTML小代码:<p id="ptag">this is a p tag</p>根据上面的那句代码,来说说一下什么是元素结点(element node),简单说就是一个标签,如:<p></p>(不带属性,不带内容,就仅仅...

2017-04-27 15:49:36 570 0

原创 关于点击click事件以及事件绑定的方式

Javascript简单地为一个标签绑定事件写法(不单针对button标签):<button onclick="click_fn()">click</button> <script> function click_fn(){...

2017-04-26 22:06:50 31641 1

原创 Linux文件系统Ext2

windows98以前的文件系统是FAT windows2000以后的文件系统是NTFS Linux的正规文件系统为Ext2(linux second extended file system,ext2fs) 通常来说一个分区就是一个可被挂载的文件系统 Linux将文件的权限与属性信息放置...

2017-04-23 17:10:11 498 0

原创 Linux学习笔记(保持更新)

总共有6个文字界面 tty1~tty6,还有一个图形界面tty7 对应界面进入方法:ctrl+Alt+[F1~F7]终端terminal快捷打开方式:Ctrl+Alt+T who命令查看用户在线信息进入root权限命令:sudo su,再输入密码即可 处于root权限切换回普通用户命令:su...

2017-04-21 22:02:42 196 0

原创 php之static静态关键字

都知道声明为static的方法可以在类没有被实例化的时候调用 但是php有个很有趣的现象,静态调用非静态方法:<?php class A { public function test(){ echo "hello"; } } A::tes...

2017-04-20 11:18:29 1582 0

原创 php的延迟静态绑定

延迟静态绑定(late static binding)作用:父类可以使用子类重载的静态方法 例子:<?php class A{ public static function who(){ echo __CLASS__; } public static ...

2017-04-19 17:43:13 776 0

原创 浅谈多态以及php的实现方法

先简单说一下多态 多态的三大特征: 子类继承父类 子类重写父类 父类指向子类 多态实现的前提:必须是类与类之间要有关系,要么继承,要么实现,存在重写(override),其实就是抽象函数或接口。 多态的应用:父类对象的引用指向子类对象,其实本质上就是一个向上转型。 举个模型例子,一家公司有员...

2017-04-19 17:13:26 10808 3

原创 重载不应归在多态的范畴内

什么是多态? 简而言之,是指多个属于不同类的对象 对同一方法调用做出不同响应的方式。 (感觉还是有点绕口) 举个例子,所有的动物都能发出声音(把发出声音这一行为抽象为一个方法:sound();),但是不同种类的动物发出的声音却是不一样的(调用sound()方法能够得到不同的响应)。 一谈到...

2017-04-19 14:46:17 422 0

原创 php实现重载

php是弱类型语言,并没有像JAVA这种强类型语言一样有重载。 重载一般来说就是拥有相同的函数名或方法名,但是参数列表却不同(包括参数个数和参数类型) 从这个定义来说,php是没有重载的,因为php不允许存在相同的函数名。 但是没有并不意味着不能实现。 php有四种机制可以实现重载:(下面...

2017-04-19 14:16:48 2999 1

原创 ubuntu16.04搭建LAMP环境以及遇到的问题

搭建顺序为Apache,Mysql,PHP以及phpmyadmin 1.安装Apache 在命令行输入 sudo apt-get install apache2 输入管理员密码 并选择Y 安装完毕后,在浏览器中输入:127.0.0.1 显示如下图,说明安装正确。 产生的启动和停止文件是:/...

2017-04-03 19:27:44 2796 0

原创 对POST数据实现自动验证

要实现自动验证,只需在Model类里事先定义好验证的方法,然后在其他类定义好要验证数据的格式,在继承Model就可以使用了 对POST数据要验证的格式  $this->valid = array( array('验证的字段名',0/1/2(验证场景),&#...

2017-03-17 19:03:53 697 0

原创 对POST数据实现自动过滤和自动完成

有一个如下的表单: 该表单源码 商品名: 价格: 元 精品   新品   热销 现在要把数据插入到如下的数据库:注意:这个表并不需要价格之类的信息 但是,当submit数据时,$_POST接收的数据里并没有收到没打勾的checkbox信息,也没有商品的add_tim...

2017-03-16 21:04:40 2132 0

原创 无限极分类

首先来说说什么是无限极分类。按照我的理解,就是对数据完成多次分类,如同一棵树一样,从根开始,到主干、枝干、叶子…… 完成无限极分类,主要运用了两种方法,一是递归方式,二是迭代方式。而主要运用无限极分类的地方有地址解析,面包屑导航等等。下面就来具体介绍两种方法的原理及实现方法。 ...

2017-03-05 12:11:29 1461 0

原创 mysql如何更改character-set-server默认为latin1

运行环境:win10 mysql版本:MYSQL5.7免安装版(或解压版) 今天在学习mysql字符集有关乱码的知识 然后发现了latin1的字符集编码格式,虽然命令行窗口改变很容易,只需两行命令 set character_set_database=utf8; set character_se...

2017-02-06 17:27:03 64141 27

原创 关于各种编码的简要理解

GB2312:两个大于127的字符连在一起时,就表示一个汉字。还重新编码了ACSII,于是被重新编码的两个字节ACSII就是常说的“全角”字符,而原来127以下的那些就叫做“半角”字符。 GBK:只要第一个字节大于127,就固定表示这是一个汉字的开始,GBK包括了GB2312的所有内容,同时又...

2017-02-06 13:40:08 319 0

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