自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 辅助调试工具

echo print var_dump() print_r()用这四个函数来作为辅助调试工具

2017-09-25 16:46:40 491

原创 常见的一些页面布局

视觉的布局:比如单页面的,九宫格的,瀑布流布局,tab切换布局,手风琴布局等。

2017-09-25 16:31:54 392

原创 面试总结

问题一:怎么判断两个单链表是否有交叉这个问题只问了有没有交叉而没有问给出交叉点是谁。所以只需要两个链表走到最后的位置判断是否相等就可以知道有没有交叉了。问题二:有一百万个数,要从里面获取100个最大的数?使用冒泡,最外层循环100次就可以找到100个最大的数。选择排序和这个也很像。最好的方法是用堆来实现,建一个有100个节点的小根堆,比根节点大就和根节点替换然后重构小根堆,

2017-09-25 14:23:37 1268

原创 设计模式

我自己看的我认为很多设计模式看起来和java不同的最主要问题是PHP是弱类型,体现不出那些包含原始类的那种情况。1、创建型模式:单例模式、工厂模式(简单工厂、工厂方法、抽象工厂)、创建者模式、原型模式。参考:http://www.thinkphp.cn/topic/14357.html2、结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。...

2017-09-24 19:00:21 212

原创 取数组的最后一个元素

之前一直在想取最后一个不就是获取数组的长度-1,从而获取最后一个元素的键名吗?但是现在想想如果键名是字符怎么办?这样就取不到了。PHP中就有一个函数可以解决这个问题end($array)当然用array_pop($array)应该也可以,但是会改变数组。

2017-09-23 21:40:12 15532

原创 同时含有中英文字符串的长度

中文的长度是一个问题,在不同的编码下,一个汉字对应的字节数不同。utf-8占3个字节,gbk占2个。正常读取字符串的长度为strlen($str);有中文了,就需要使用mb_strlen($str,'初始编码方式');我的默认编码是utf-8的,所以用mb_strlen($str,'utf-8');如果mb_strlen这个函数不好用,可能是没有使用相应的扩展库。iconv

2017-09-23 20:52:14 438

原创 ORM简介

ORM就是object relational mapping,对象关系映射。将关系型数据库转化为对象来进行处理。数据表就是一个类,表的一行就是一个对象,一行的每个字段就是属性。忽然想到了在MVC中,在controller中的model作为一个类来实现的。缺点:会牺牲程序的执行效率。优点:解决重复去读数据库,获取内容的操作。

2017-09-23 20:26:03 3910

原创 TCP四次挥手

纯给自己看的

2017-09-23 20:16:59 226

原创 TCP建立连接三次握手

这是自己写的tcp的流程,纯给自己看的。

2017-09-23 19:52:25 223

原创 nginx的常见功能

1.静态web服务器例如拥有apache类似的功能。2.反向代理(反向代理看我前面有提到)客户端向Nginx发送请求,Nginx去请求web服务器,然后返回给客户端。3.负载均衡网站访问量大的时候考虑Nginx可以通过反向代理来实现负载均衡。这个也有两种,一种是一个用户多次访问,访问的是随机的服务器。另一种是根据ip地址按照一定的规则来分配固定的服务器进行处理。4.

2017-09-22 15:53:41 275

原创 作为web服务器,nginx和apache对比

nginx和apache对比。nginx能干什么

2017-09-22 15:45:41 384

转载 PHP超级全局变量、魔术变量和魔术函数

我想写在我这里方便我看。PHP在设计的时候已经预定义了9个超级全局变量、8个魔术变量和13魔术函数,这些变量和函数可以在脚本的任何地方不用声明就可以使用。 在PHP开发会频繁的使用这些变量和函数,这些变量和函数可以方便的帮我们解决很多问题。下面详细的讲解下PHP中的超级全局变量、魔术变量和魔术函数。PHP超级全局变量(9个)  $GLOBALS  储存全局作用域中的变量  $_SE

2017-09-22 15:31:05 346

原创 POST和GET的区别。PHP获取post数据的方法。

POST和GET的区别:1.在HTTP协议中,get是从指定的服务器中获取数据,post是提交数据给指定的服务器。2.get的数据会出现在URL中,不安全。post的数据在http请求中,所以post比get安全,如果有敏感数据,请加密后再传输。get可见数据,post不可见。3.get请求可以缓存,post不可以。4.以get请求的URL能够保存在浏览器书签中,post的不能。

2017-09-22 15:00:28 938

原创 HTTP协议的请求方法

OPTIONS获取服务器支持的HTTP请求方法;HEAD跟get很像,但是不返回响应体信息,用于检查对象是否存在,并获取包含在响应消息头中的信息。GET向特定的资源发出请求,得到资源。POST向指定资源提交数据进行处理的请求,用于添加新的内容。PUT向指定资源位置上传其最新的内容,用于修改某个内容。DELETE请求服务器删除请求的URI所标识的资源,用于删除。TRACE回馈

2017-09-22 10:52:46 681

原创 常见的一些加密算法

常见的加密算法分类对称加密DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES非对称加密RSA、ECC、Diffie-Hellman、El Gamal、DSAHASH加密MD2、MD4、MD5、HAVAL、SHA

2017-09-22 10:45:07 242

原创 php常见的运行方式

1.CGI通用网关接口。将php和前台连接在了一起,把html的指令传给php,把php的结果传给html。当有人访问时,需要新建一个CGI子进程,再激活,在进行处理。那么有多少请求,就有多少子进程,会造成浪费资源,时间增大等问题。2.FASTCGI和前一个CGI很像,但是这个在初始时新建、激活之后,基本上再不需要了;而且一直有一些空闲的CGI进程,等待请求,节约资源,减少时间。3.A

2017-09-22 10:31:11 1154

原创 笔试的一些小总结

1.二叉树节点的度,就是说他有几个子节点,可以是0,1,2。2.mysql_assoc没实现?等会再看3.正则表达式.常见的一些元字符^表示开始;$表示结束;*表示前面出现0次或多次;+表示前面出现一次或多次;?表示前面出现0次或1次4.linux命令,删除一个非空子目录rm -rf /tmp5.php中::是类中静态方法和静态属性的引用方法。不需要实例化对象,就可以直接引用。

2017-09-22 09:16:54 290

原创 csrf攻击简单介绍

csrf也是利用html和js来对他人的网站进行攻击的。但是跟xss不同的是,不需要对cookie进行操作。例如在管理员下可以增加管理员,但是增加管理员的时候没有验证码这一项,也就是说只有用户名和密码。这个时候我们可以在我们的网站下按照相同的表单设置value,表单指向这个管理员的网址,然后在js里设置自动点击提交按钮,并且设置这个表单隐藏。这样将这个网页发送给管理员,管理员打开,

2017-09-19 10:02:10 399

原创 xss攻击方法简单介绍了解

xss是指跨站脚本攻击。就是指将脚本(不限于script)注入到该网站中,从而达到自己的目的。例如向输入框中输入alert("hello");这样将script注入进去。所有有输入的地方,如果没有对输入数据进行处理,都会存在xss漏洞。基于dom的xss攻击,比如获取别人的cookie信息。所以还是不要点开奇奇怪怪的网站和链接的好。将script脚本写在链接里,从而获取你的

2017-09-18 15:17:25 566

原创 简单的sql注入及预防

sql注入就是通过表单或者url来像服务器中插入sql语句,从而达到自己的目的,获取数据,修改数据。例如输入' or 1='1;这样就使搜索的条件语句变成了一定成立的。用sql注入就可以实现登录之类的。但是像我对密码用了md5加密,这样对密码的简单sql注入就失去了效果。像这样只获得了读取的功能,并不是很有用。我们就想要获取数据表名,从而实现增删改的功能。通过例如' or

2017-09-18 10:50:38 453

原创 HTML DOM(document object model文档对象模型)

DOM定义了访问和操作HTML文档的标准,主要包括核心DOM,XML DOM和HTML DOM。将HTML文件转化为节点树。文档节点、元素节点、文本节点、属性节点和注释节点。通过DOM,树中的所有节点都可以被JavaScript访问和修改,父节点、子节点和同胞节点。方法编程接口:document.getElementById();appendChild();removeChild();

2017-09-13 09:52:09 458

原创 数据库设计与优化总结(1)

一、数据库的设计的几点措施1.关联表的关联字段名称必须相同。2.字段的定义的前两位是表名,第三位是下划线,保证规范。3.常用字段采用固定单词,如id4.如果只有一个索引,索引的名字希望和表名相同,如果是多个,那么就用表明下划线字段名。5.关联字段尽可能为数字类型。6.表的序列字段也就是id也要是数字!!!什么是索引,就是数据库可以根据索引快速找到特定信息。creat

2017-09-12 17:56:29 286

原创 版本控制的一些分支规则

面试官问我,你用到了git,那么你是怎么建分支的?我就没建分支啊,我是小白啊那在这里就总结一下版本控制的一些分支规则,按照什么规则来建分支?一、使用主分支来做新功能开发,分支作为发布版本的管理就是做好一个版本,放到分支去。这样就不需要合并分支。二、使用分支来做新功能开发,主分支作为发布版本的管理在各个分支中开发新的功能和bug修改,不同的修改和功能以分支隔离,然后合并到主分

2017-09-12 14:52:39 683

原创 redis的一些总结

安装redis之后到src下使用redis-server命令来启动redis,在终端使用redis-cli来打开客户端进行管理。是key-value的形式来存储数据。value可以的数据类型有字符串、哈希hash、列表list、集合set和有序集合zset。redis还支持事务操作。还可以用来发布订阅,一个新增了,另一个就会读到。redis支持lua脚本。PHP链接redis,

2017-09-12 14:33:58 201

原创 ExtJS基本点总结

ExtJS是一个js框架。他的特点是可以跨平台,支持所有的主流浏览器。可以用于桌面、移动应用平台、windows、mac等等平台。环境引入就是一个js和一个css。他的架构是MVC(4.0采用)或者MVVM(5.0采用)。extjs中的class类,可以定义class类,然后new来新增。extjs中有container,可以在其中包含多个组件。extjs中的布局:(1)绝对位置,

2017-09-12 10:22:37 217

原创 PHP7的一些新特性总结

耗时与php5.6相比有2.991s降到1.186s。QPS(每秒查询率)由5.6的112变为311。注意没有php6,php6是失败的作品,10年就取消了,由php5.6变到了php7。今天面试官问我用的什么版本,我说5.6她说用这么老的版本。1.PHP的标量类型声明PHP原来都是弱类型,方便上手,但是有的时候需要规定好的数据类型。在PHP7中就添加了变量类型的定义和函数返回类型的定义。

2017-09-11 20:29:56 822

原创 Mysql数据库常用的存储引擎

Mysql常用的搜索引擎有三种我用的默认的是InnoDBMyISAM特点:(1)不支持事务(2)表级锁定,可以让锁定实现成本很小,但同时降低了并发性能。(3)读写互相阻塞。写入的时候不能读取,读取的时候不会写入,但是读本身不会阻塞另外的读(4)只会缓存 索引。可以通过缓存大大提高访问性能减少磁盘IO,但是只缓存索引,不缓存数据讲一下(2)的锁定是什么意思?为了保证数

2017-09-11 16:25:21 299

原创 面试常见基本题目总结及php实现(第三部分:杂七杂八来一套)

1链表反转(不建立数组,用2个传递量来处理)function ReverseList($head){ $pre=null; while($head!=null){ $next=$head->next; $head->next=$pre; $pre=$head; $head=$next; } return $pre;}链表的一些别的操作,例如...

2017-09-07 15:42:12 229

原创 面试常见基本题目总结及php实现(第二部分:二叉树遍历)

二叉树遍历主要有三种:先序遍历(根左右),中序遍历(左根右)和后序遍历(左右根),再加一个层次遍历(按层从左到右)这三种方法又有递归和非递归的,递归的很简单,非递归的却很难。递归:先序:<?phpfunction preorder($root){ if($root!=null){ print $root->val; preorder($root-&g...

2017-09-07 11:02:50 610

原创 面试常见基本题目总结及php实现(第一部分:排序算法)

稳定性是指假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变第一部分:排序算法(下面的都是内部排序,只使用内存的排序算法)1.插入排序(最坏时间复杂度O(n^2),平均时间复杂度O(n^2)),稳定的就是把前面的排好,然后把后面的往前面中插入。代码如下所示<?php//从小到大$array=array(12,1,4,2...

2017-09-06 23:38:32 365

空空如也

空空如也

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

TA关注的人

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