黑猫的博客

php、python3实现快速排序算法

原理:快速排序使用分治策略来把待排序数据序列分为两个子序列,具体步骤为:
1、从数列中挑出一个元素,称该元素为“基准”。
2、扫描一遍数列,将所有比“基准”小的元素排在基准前面,所有比“基准”大的元素排在基准后面。
3、通过递归,将各子序列划分为更小的序列,直到把小于基准值元素的子数列和大于基准值元素的子数列排序。

使用fastcgi_finish_request提高页面响应速度

当PHP运行在FastCGI模式时,可用fastcgi_finish_request可以提高请求的处理速度,让一些处理可以在页面生成完后再进行。

(PHP 5 >= 5.3.3, PHP 7)

fastcgi_finish_request ()

fastcgi_finish_request — 冲刷(flush)所有响应的数据给客户端

此函数冲刷(flush)所有响应的数据给客户端并结束请求。 这使得客户端结束连接后,需要大量时间运行的任务能够继续运行。

Linux: grep多个关键字

或操作:

grep -E '123|abc' filename  // 找出文件(filename)中包含123或者包含abc的行  
egrep '123|abc' filename    // 用egrep同样可以实现  
awk '/123|abc/' filename   // awk 的实现方式

与操作:

grep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。

其他操作:

grep -i pattern files   //不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files   //只列出匹配的文件名,
grep -L pattern files   //列出不匹配的文件名,
grep -w pattern files  //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files //匹配的上下文分别显示[number]行,

 

redis的持久化

redis的数据本身是保存在内存里面的,但是redis提供了持久化的功能,可以把数据保存在磁盘上,下一次启动redis服务的时候,会自动的把磁盘上的数据载入到内存里面。

当两种方式同时开启时,数据恢复Redis会优先选择AOF恢复。

redis安全问题

  1. 不放在公网,只在内网使用(局域网)
  2. 公网(防火墙规则)
  3. redis作为数据库是登录密码的存在(默认是关闭)。

Redis常用命令以及基础操作

redis是一个nosql的产品,支持的存储数据的类型(value)很多,常见的类型有

string 字符串、

link 链表、

hash(类似php里面关联数组)、

set一组数据的集合(无序性、唯一性、确定性)、

sorted set:对无序集合的一个升级,里面的集合元素需要按照一定的权值(按照某个规则来排序)来排序

所有redis也叫作结构化的nosql数据库。

php 函数使用可变数量的参数

在php5.6以上版本可以使用…语法实现:

参数列表可以包含 标记,表示该函数接受可变数量的参数。参数将作为数组传递给给定变量。

Css3动画

python3基础之数据类型

数据类型

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:整数、浮点数、字符串、布尔值、空值、变量

centos7下安装python3,与python2共存

centos系统本身默认安装有python2.x,可通过 python –V 或 python –version 查看系统自带的python版本。有一些系统命令时需要用到python2,所以python2不能卸载。