自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

go big or go home

不要放弃,你的梦想是这个是这个世界上最伟大的事情

  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 php服务端个人开发问题汇总(持续更新中...)

,,

2017-02-27 08:45:44 707

原创 个人服务端开发书单目标

《细说php》 doing《深入浅出MySql》todo《鸟哥Linux私房菜》todo《设计模式之禅》todo

2017-02-16 18:15:56 471

原创 linux 命令学习总结

pwd -P :显示真实的路径而非软连接cd - 回到上次的位置mkdir -p test1/test2 递归创建文件夹rmdir -p 连同上层 空 的目录一起删除cp -s 创建软连接cp -u 目标文件与源文件有差异时才会复制的,所以,比较常用于备份文件cp -d 复制连接文件属性 如果不加参数 cp + 软连接 + 目的文件 会赋值源文件basename 取

2018-01-21 18:42:13 432

原创 php header方法实践

在php手册上header官方解释,有以下内容 当replace参数默认为true,当为false时,可以是设置的有字段同时都存在实践截图: 字段sss被覆盖了验自定义字段是可以的接着验证协议定义字段 Content-Type 字段被覆盖 参数replace没有生效,可见协议参数不可以重复的

2018-01-14 12:33:26 422

原创 http 请求中的host字段(实现nginx虚拟服务器)

目前很多一个ip对应多个域名的情况(nginx虚拟主机的实现原理),在http请求头中有host字段,该字段默认为请求的url 也可以自己设定当我们发送一个请求时,先通过DNS域名解析,得到ip,然后建立tcp连接,当服务器收到请求时(以nginx为例),就会解析http请求host字段来判断你是访问的那个server配置下的代码。nginx配置多个server。这样 就可以实现在一个服务器上通过h

2018-01-14 11:24:48 8355 1

原创 git 遇到Enter passphrase for key '/Users/renpeng/.ssh/id_rsa':

当遇到提示Enter passphrase for key ‘/Users/renpeng/.ssh/id_rsa’: 此时需要输入你创建ssh key是的密码 我使用邮箱和密码创建的 所以输入当时添加的密码就好

2018-01-12 22:13:40 32961 11

转载 什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?

什么是CGI   CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。   CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等   什么是FastCGI   FastCGI像是一个常驻(long-live)型的CGI,它可以

2017-11-26 08:19:27 231

转载 在mac中为常用命令设置别名

在mac中设置命令别名的方法如下:1、编辑~/.bash_profile,加入常用命令别名,例如我加入了以下命令的别名:alias pull = ‘git pull origin’ alias push = ‘git push origin’ alias add = ‘git add .’ alias commit = ‘git commit -m’ alias checkout = ‘gi

2017-09-08 15:35:37 815

原创 redis常用命令总结

String incr key-name 将键存储的值加上1decr key-name 将键存储的值减去1incrby key-name amount 将键存储的值加上amountdescby key-name amount 将键存储的值减去amountincrbyfloat key-name amount 将键存储的值加上浮点数amountappeng key-name value 将值val

2017-08-20 18:36:52 363

原创 排序--快速排序

<?phpclass Test{ public function quickSort(&$arr) { $this->sort($arr,0,count($arr)-1); } public function sort(&$arr,$lo,$hi) { if($lo >= $hi) { return; } $postion

2017-08-20 07:42:45 452

原创 排序--归并排序

<?phpclass Test{ public function shellSort(&$arr) { $this->sort($arr,0,count($arr)-1); } public function sort(&$arr,$lo,$hi) { if($lo >= $hi) { return; } $tem

2017-08-19 21:14:18 436

转载 十道海量数据处理面试题及解决方法总结

第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。 再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。 同样可以

2017-08-19 18:31:01 340

转载 php 大数据量及海量数据处理算法总结

大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。 1.Bloom fi

2017-08-19 14:59:41 6208

原创 学习新浪微博计数服务

本文摘自 http://blog.cydu.net/ 官方ppt : http://blog.cydu.net/public/doc/Velocity%E5%88%86%E4%BA%AB_%E5%BE%AE%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E4%B9%8B%E5%BE%AE%E5%8D%9A%E8%AE%A1%E6%95%B0%E5%99%A8%E6%9

2017-08-19 13:08:30 1500

原创 排序--希尔排序

此排序是插入排序的加强版,将一个数组做到h有序,然后将h 逐渐减少至1。class Test{ public function sort(Array $arr) { $n = count($arr); $h = 1; while($h < intval($n/3)) { $h = $h*3 + 1; } while($h >=1)

2017-08-18 02:03:46 437

原创 排序--插入排序

从第一个元素一次遍历,将这个元素以其之前元素一一比较,当发现有元素大于当前元素时,将其交换(之前的是有序的),以此类推<?phpclass SelectSort{ public function sort(Array $arr) { $n = count($arr); for($i = 1; $i < $n; $i++) { for($j = $i;$

2017-08-18 01:20:23 227

原创 排序的稳定性概念

排序过程中,具有相同关键字经过排序后,相对的顺序保持不变,就是稳定的

2017-08-18 01:02:45 587

原创 排序--选择排序

从数组头0开始遍历,找到最小的那个value后,将他和0位置交换值,然后从第1个开始遍历,找到除0个外,下一个最小的值,将他和第1个位置交换以此类推。<?phpclass SelectSort{ public function sort(Array $arr) { $n = count($arr); for($i = 0; $i < $n; $i++) {

2017-08-18 00:53:13 269

转载 Nginx配置详解

转自http://www.cnblogs.com/hunttown/p/5759959.htmlNginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worke

2017-08-16 12:12:45 191

原创 MySql查询性能优化

摘自《高性能MySql》针对select * 问题 ,会导致引擎无法使用索引覆盖扫描,还会带来额外的I/O,内存和cpu如果查询需要扫描大量的数据,但是只返回少数行的数据的解决方法 1.使用覆盖索引,把需要用的数据列都放到索引中,这样存储引擎无须回表获取对应行就可以返回结果 2.改变库表的结构,使用单独的汇总表 3.重写这个复杂的查询分解关联查询的优势 1.让缓存的效率更高 2.将查询分解

2017-08-13 19:03:18 384

转载 php操作redis

php/** * redis操作类 * 说明,任何为false的串,存在redis中都是空串。 * 只有在key不存在时,才会返回false。 * 这点可用于防止缓存穿透 * */class Redis{    private $redis;         //当前数据库ID号    protected $dbId=0;         //当前权限认证码   

2017-08-13 10:44:51 232

转载 Nginx 中 502 和 504 错误详解

在使用Nginx时,经常会碰到 502 Bad Gateway 和 504 Gateway Time-out 错误,下面以 Nginx+PHP-FPM 来分析下这两种常见错误的原因和解决方案。502 Bad Gateway 错误 在 php.ini 和 php-fpm.conf 中分别有这样两个配置项:max_execution_time 和 request_terminate_timeout。

2017-08-12 10:28:51 597

原创 对于MySql分区的理解(未完待续)

注意点(摘自《高新能MySql》) 1.MySql实现分区表的方式是对底层表的封装,意味着索引也是按照分区表定义的,而没有全局索引 2.Null值会使分区过滤无效 第一个分区是特殊分区所有值为NULL或者非法值的时候,记录都会被存放到第一个分区,实际上MySql会检查俩个区,第一个分区和相应的字段对应分区 3.避免建立和分区列不匹配的索引(不明白) 网上较好的解释:索引列和分区列不匹配

2017-08-10 23:47:28 347

转载 建索引的几大原则

建索引的几大原则 1.最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。 2.=和in可以乱序,比如a = 1 and

2017-08-10 09:43:21 2027 1

原创 传输层(TCP/IP 协议)未完待续

以下内容摘自《计算机网络》通信的端点并不是主机,而是主机中的进程TCP的特点 1.TCP面向连接的运输层协议 2.每条TCP连接只能有两个端点,每一条tcp连接只能点对点 3.TCP是可靠的交付,通过tcp连接传送数据,无差错,不丢失,不重复,并且按序到达 4.TC提供全双工通信 5.面向字节流tcp并不关心应用进程一次把多长的报文发送到TCP缓存中,而是根据对方给出的窗口值和当

2017-08-10 00:06:49 384

转载 php变量类型转换的原理

http://www.csdn.net/article/2014-09-15/2821685-exploring-of-the-php

2017-08-08 17:19:11 473

原创 php 关键字static

声明static 属性和方法时,static属性不能通过实例化类访问,但是static方法可以通过实例化属性访问用静态方式调用非静态成员会报错后勤绑定ps 先关只是 静态调用非静态方法 http://www.cnblogs.com/yjf512/archive/2012/09/12/2682556.html

2017-08-08 16:24:41 183

原创 php 关于isset empty

isset 如果已经将变量unnset() ,则他讲不再是isset如果参数被设置并且不是NULL 则返回true,否则返回false如果isset访问对象无法访问的属性,如果已经定义isset,则会调用__issetempty 当一个变量不存在或者其值等同于false,则放回trueempty() 本质上与 !isset(var)||var) || var == false当empty访问对

2017-08-08 08:00:32 243

原创 php java 在构造方法上的去呗

php如果子类不会自动调用父类的构造方法,如果要调用,则需要显示的调用parent::__construct() 如果子类没有写构造方法,则会继承父类的构造方法(前提是其不为private)

2017-08-07 22:58:49 275

原创 php面试题

1.表单提交get和post的区别 (1) get时从服务器获取数据,post是向服务器发送数据 (2) get是将参数加到action的url后面一key value形式 值和表单内各个字段对应 post是通过httppost机制 将表单中的内容放在http的header中 (3) get传输的数据较少,在2kb左右 post传输的数据量大 一般不受限制

2017-08-07 07:45:47 427

原创 延迟关联(解决海量数据分页优化)

延迟关联 关联的核心思想是MySql的b-tree缩影的覆盖索引。通过使用覆盖索引查询返回需要的主键,再根据主键关联原表获得需要的数据相关文档: http://blog.itpub.net/22664653/viewspace-1176153/海量数据分页优化 1.禁止用户查询很多页之后的数据 2.使用where limit eg: select id,name from t

2017-08-05 15:44:03 927

转载 分布式ID生成方法

一、需求缘起 几乎所有的业务系统,都有生成一个记录标识的需求,例如: (1)消息标识:message-id (2)订单标识:order-id (3)帖子标识:tiezi-id 这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。这个记录标识上的查询,往往又有分页或者排序的业务需求,例如: (1)拉取最新的一页消息:s

2017-08-05 15:04:24 322

原创 php面试题总结

1.表单提交get和post的区别 (1) get时从服务器获取数据,post是向服务器发送数据 (2) get是将参数加到action的url后面一key value形式 值和表单内各个字段对应 post是通过httppost机制 将表单中的内容放在http的header中 (3) get传输的数据较少,在2kb左右 post传输的数据量大 一般不受限制

2017-07-31 08:32:17 437

原创 leetCode 1. Two Sum

看似是一道简单的题,使用双层for循环,依次取值,和之后的值依次相加,知道和为期望值sh时输出,时间复杂度O(n²)public int[] twoSum(int[] nums, int target) { int result[] = new int[2]; int length = nums.length; for (int i = 0; i < le

2017-07-30 18:19:57 418

转载 php读取大文件详解

在php中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file、file_get_contents之类的函数,简简单单的几行代码就能很漂亮 的完成我们所需要的功能。但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法。需求如下:现有一个1G左右的日志文件,大约有500多万行,用php返回最后几行的内容。实现方法:

2017-07-28 11:58:51 369

原创 php面试题总结(更新中。。。)

1.get和post的区别 在form中,使用get时,form的参数添加到action后面, 在form中,使用post时,参数包含在http的header中由于get方法会将信息显示出来,索引post较为安全编码 get只能传递ASCII码 post发送真个ISO 并且他们的enctype与区别 enctype的作用是将参数发送到服务器之前应该如何编码 application/x-

2017-07-23 09:13:03 219

原创 查缺补漏--php(其他类型转为int)

boolean转为intfalse转为0 true转为1浮点型转换为int 向下取整

2017-07-10 09:13:31 233

原创 查缺补漏--php(自动转为false的情况)

php 自动转换为boolean类型的情况 1.false本身 2.整形0 3.浮点型0.0 4.空字符串和字符串‘0’ 5.不包括任何元素的数组 6.特殊类型NULL(包括尚未赋值的NULL) 7.空白标记生成的SimpleXML

2017-07-10 08:57:11 297

原创 leetCode Databases 175 Combine Two Tables

select p.FirstName as FirstName, p.LastName as LastName, a.City as City,  a.State as State  from Person as p left join Address as a on p.PersonId = a.PersonId;问题:前面的高性能是如何做到的

2017-06-27 23:20:06 231

转载 B-Tree

B~树               1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树 (Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的

2017-06-21 23:12:04 249

仿qq、微信群组组合头像

仿qq或者微信的群聊组合头像的展示

2016-04-12

空空如也

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

TA关注的人

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