<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Tzhennan的博客]]></title><description><![CDATA[记录工作和学习中的点滴]]></description><link>https://blog.youkuaiyun.com/Tzhennan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tzhennan]]></copyright><item><title><![CDATA[Linux 快速删除已输入的命令]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84926542</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84926542</guid><author>Tzhennan</author><pubDate>Sat, 29 Sep 2018 10:09:53 +0800</pubDate><description><![CDATA[
ctrl + w 往回删除一个单词，光标放在最末尾
ctrl + u 删除光标以前的字符 
ctrl + k 删除光标以后的字符 
ctrl + a 移动光标至的字符头 
ctrl + e 移动光标至的字符尾 
ctrl + l 清屏
...]]></description><category></category></item><item><title><![CDATA[Nginx与PHP的文件上传大小限制]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84926523</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84926523</guid><author>Tzhennan</author><pubDate>Fri, 28 Sep 2018 19:46:19 +0800</pubDate><description><![CDATA[
1. 修改PHP配置文件中的三项(php.ini)
upload_max_filesize = 8m ;允许上传文件大小的最大值。默认为2M
post_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值，包括表单里的所有值。默认为8M
max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒)，默认30秒
max_input_time...]]></description><category></category></item><item><title><![CDATA[用 PHP 读取文件]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/82885690</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/82885690</guid><author>Tzhennan</author><pubDate>Fri, 28 Sep 2018 16:05:26 +0800</pubDate><description><![CDATA[传统的 fopen 方法
清单 1. 用 fgets 打开并读取文件
$file_handle = fopen(&quot;myfile&quot;, &quot;r&quot;);
while (!feof($file_handle)) {
   $line = fgets($file_handle);
   echo $line;
}
fclose($file_handle);
虽然大多数具有多年编程经验的程序员都熟悉这些函数，但是...]]></description><category></category></item><item><title><![CDATA[php脚本超时时间]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/82884929</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/82884929</guid><author>Tzhennan</author><pubDate>Fri, 28 Sep 2018 15:42:41 +0800</pubDate><description><![CDATA[php脚本超时时间可以在php.ini的max_execution_time和fpm.conf的request_terminate_timeout参数两处进行设置.那么这两者有什么区别呢？
当我们设置php.ini的max_execution_time参数后，zend引擎处理脚本时，其内部会根据设定的时间定义一个定时器(setitimer)，这是linux的API。

而fpm.confreque...]]></description><category></category></item><item><title><![CDATA[配置 Docker 加速器DaoCloud]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/80574019</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/80574019</guid><author>Tzhennan</author><pubDate>Mon, 04 Jun 2018 22:13:28 +0800</pubDate><description><![CDATA[Linux$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://9c167da9.m.daocloud.io该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.04、Debian、CentOS6...]]></description><category></category></item><item><title><![CDATA[linux(mac) 编译安装MySQL]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/80565235</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/80565235</guid><author>Tzhennan</author><pubDate>Mon, 04 Jun 2018 11:39:29 +0800</pubDate><description><![CDATA[官方下载地址：  https://dev.mysql.com/downloads/mysql/从mysql5.5起，mysql源码安装开始使用cmake#mac 安装cmake$ brew install cmake#centos 安装cmake$ yum install -y cmake#相关编译选项安装时路径相关的配置-DCMAKE_INSTALL_PREFIX=/usr/local/mysq...]]></description><category></category></item><item><title><![CDATA[linux(mac)  编译安装nginx]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/80561295</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/80561295</guid><author>Tzhennan</author><pubDate>Sun, 03 Jun 2018 22:48:22 +0800</pubDate><description><![CDATA[官方下载地址：http://nginx.org/en/download.html有3种版本可以选择：Mainline version：主线版本，相当于开发版Stable version：最新稳定版本Legacy versions：历史稳定版本官方配置示例：./configure    --sbin-path=/usr/local/nginx/nginx    --conf-path=/usr/lo...]]></description><category></category></item><item><title><![CDATA[openssl 编译安装]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/80554653</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/80554653</guid><author>Tzhennan</author><pubDate>Sun, 03 Jun 2018 10:26:44 +0800</pubDate><description><![CDATA[官方下载地址：https://www.openssl.org/source/#解压$ tar -zxvf openssl-1.1.0h.tar.gz$ cd openssl-1.1.0h#配置（使用sudo是因为要prefix的访问权限）$ sudo ./config --prefix=/usr/local/openssl该步骤出现如下警告Configured for darwin-i386-cc...]]></description><category></category></item><item><title><![CDATA[APIGateway 简介]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921487</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921487</guid><author>Tzhennan</author><pubDate>Fri, 01 Jun 2018 11:00:41 +0800</pubDate><description><![CDATA[
APIGateway 即API网关，所有请求首先会经过这个网关，然后到达后端服务，有点类似于Facade模式。API网关作为系统接口对外的统一出口，可以减少调用方对服务实现的感知。
 
APIGateway的主要作用有： 
1.统一对外接口： 
当用户需要集成不同产品或者服务之间的功能，调用不同服务提供的能力。利用APIGateway可以让用户在不感知服务边缘的情况下，利用统一的接口组装...]]></description><category></category></item><item><title><![CDATA[微服务与单体架构区别]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921194</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921194</guid><author>Tzhennan</author><pubDate>Sun, 27 May 2018 13:56:20 +0800</pubDate><description><![CDATA[
1、单体架构所有的模块全都耦合在一块，代码量大，维护困难，微服务每个模块就相当于一个单独的项目，代码量明显减少，遇到问题也相对来说比较好解决。
 
2、单体架构所有的模块都共用一个数据库，存储方式比较单一，微服务每个模块都可以使用不同的存储方式（比如有的用redis，有的用mysql等），数据库也是单个模块对应自己的数据库。
 
3、单体架构所有的模块开发所使用的技术一样，微服务每个模块...]]></description><category></category></item><item><title><![CDATA[一次完整的 HTTP 请求过程]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921081</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921081</guid><author>Tzhennan</author><pubDate>Thu, 24 May 2018 17:14:58 +0800</pubDate><description><![CDATA[
一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始，客户端按照指定的格式开始向服务端发送HTTP请求，服务端接收请求后，解析HTTP请求，处理完业务逻辑，最后返回一个HTTP的响应给客户端，HTTP的响应内容同样有标准的格式。
 
 
HTTP 请求格式
HTTP请求格式主要有四部分组成，分别是：请求行、请求头、空行、消息体，每部分内容占一行
 
请求行：请求行是请求消息的...]]></description><category></category></item><item><title><![CDATA[快速排序]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921053</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921053</guid><author>Tzhennan</author><pubDate>Thu, 24 May 2018 12:59:09 +0800</pubDate><description><![CDATA[
//待排序数组
$arr = array(6,3,8,6,4,2,9,5,1);
//函数实现快速排序
function quick_sort($arr)
{
    $length = count($arr);
    //定义两个空数组
    $left = $right = array();
    //使用for循环进行遍历，把第一个元素当做比较的对象
    for...]]></description><category></category></item><item><title><![CDATA[php 知识点]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921052</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921052</guid><author>Tzhennan</author><pubDate>Thu, 24 May 2018 12:57:52 +0800</pubDate><description><![CDATA[
用PHP打印出前一天的时间格式
echo date('Y-m-d H:i:s', strtotime('-1 days')); 
 
echo(),print(),print_r()的区别
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值
print（）    只能打印出简单类型变量的值(如int,string)
print_r（） 可以打...]]></description><category></category></item><item><title><![CDATA[两根分布都不均匀的香,每根香完全烧完需要1个小时,怎么用这两根香测出15分钟的时间...]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921051</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921051</guid><author>Tzhennan</author><pubDate>Thu, 24 May 2018 12:54:31 +0800</pubDate><description><![CDATA[
一、同时点上其中一根香的两头,另一根只点一头； 
二、当点两头那根香燃完时,时间过去半小时,另一根香剩下的可以燃半小时,再点上它的另一头； 
三、当这根香燃完时,时间为15分钟
...]]></description><category></category></item><item><title><![CDATA[HTTP状态码]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921021</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921021</guid><author>Tzhennan</author><pubDate>Wed, 23 May 2018 22:25:29 +0800</pubDate><description><![CDATA[
常见的HTTP状态码：
 
200 - 请求成功
301 - 资源（网页等）被永久转移到其它URL
404 - 请求的资源（网页等）不存在
500 - 内部服务器错误
 
HTTP状态码分类
HTTP状态码由三个十进制数字组成，第一个十进制数字定义了状态码的类型，后两个数字没有分类的作用。HTTP状态码共分为5种类型：
 
HTTP状态码分类
分类分类描述
1**信息，...]]></description><category></category></item><item><title><![CDATA[HTTP Header]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921020</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921020</guid><author>Tzhennan</author><pubDate>Wed, 23 May 2018 21:49:21 +0800</pubDate><description><![CDATA[
HTTP（HyperTextTransferProtocol） 即超文本传输协议，目前网页传输的的通用协议。HTTP协议采用了请求/响应模型，浏览器或其他客户端发出请求，服务器给与响应。就整个网络资源传输而言，包括message-header和message-body两部分。
 
Requests部分
Accept    指定客户端能够接收的内容类型    Accept: text/pl...]]></description><category></category></item><item><title><![CDATA[php socket]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84921018</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84921018</guid><author>Tzhennan</author><pubDate>Wed, 23 May 2018 21:32:31 +0800</pubDate><description><![CDATA[
socket通常也称作&quot;套接字&quot;，用于描述IP地址和端口，是一个通信链的句柄。应用程序通常通过&quot;套接字&quot;向网络发出请求或者应答网络请求。socket既不是程序，也不是协议，其只是操作系统提供的通信层的一组抽象API。
 
通信需要服务端和客户端组成：
服务端：使用php初始化socket然后绑定一个端口，对端口进行监听。调用accept阻塞，等待客户端连接。
 
客户端：客户端初始化...]]></description><category></category></item><item><title><![CDATA[mysql的分区和分表]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84920975</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84920975</guid><author>Tzhennan</author><pubDate>Tue, 22 May 2018 22:22:15 +0800</pubDate><description><![CDATA[
分区
分区就是把一个数据表的文件和索引分散存储在不同的物理文件中。
 
mysql支持的分区类型包括Range、List、Hash、Key，其中Range比较常用：
RANGE分区：基于属于一个给定连续区间的列值，把多行分配给分区。
LIST分区：类似于按RANGE分区，区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。
HASH分区：基于用户定义的表达式的返回值...]]></description><category></category></item><item><title><![CDATA[WebSocket]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84920909</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84920909</guid><author>Tzhennan</author><pubDate>Mon, 21 May 2018 21:34:29 +0800</pubDate><description><![CDATA[
一、为什么需要 WebSocket？
初次接触 WebSocket 的人，都会问同样的问题：我们已经有了 HTTP 协议，为什么还需要另一个协议？它能带来什么好处？
 
答案很简单，因为 HTTP 协议有一个缺陷：通信只能由客户端发起。
 
举例来说，我们想了解今天的天气，只能是客户端向服务器发出请求，服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。
 
这种单...]]></description><category></category></item><item><title><![CDATA[rest/restful]]></title><link>https://blog.youkuaiyun.com/Tzhennan/article/details/84920896</link><guid>https://blog.youkuaiyun.com/Tzhennan/article/details/84920896</guid><author>Tzhennan</author><pubDate>Mon, 21 May 2018 16:36:47 +0800</pubDate><description><![CDATA[
REST，就是一种应用接口的设计风格。RESTful 是 REST 的形容词形式，RESTful API 指的是 REST 风格的接口。
一、协议
API与用户的通信协议，总是使用HTTPs协议
 
二、域名
应该尽量将API部署在专用域名之下。
https://api.example.com
如果确定API很简单，不会有进一步扩展，可以考虑放在主域名下。
https://ex...]]></description><category></category></item></channel></rss>