自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 es汇总

https://blog.csdn.net/feifeidepop/article/details/83281050es 集群搭建 https://www.cnblogs.com/jstarseven/p/6803054.htmlhttps://blog.csdn.net/airfish20000/article/details/77131280https://www...

2019-07-02 17:42:06 548

原创 Kibana

hKibana是一款开源的数据分析和可视化平台,可以使用Kibana对ES索引中的数据搜索、查看和交互操作,也可以利用图表、表格及地图对数据多元化的分析和呈现https://segmentfault.com/a/11900000151409231,818,710,3021,818,712,6371,818,714,204探索数据(Discover功能)设置时间过滤器...

2019-07-02 15:14:38 839

原创 lnmp下nginx出现5xx问题解决汇总

Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于读取资源的等没有执行完毕而导致PHP-CGI进程终止。Nginx 503Service Temporarily Unavailable 服务暂时不可用,由于临时的服务器维护或者过载,服务器当前无法处理请求,(比如并发大的情况下)Nginx 504 Gateway Time-out的含义是没有请求到可...

2019-04-09 15:37:27 716

原创 MySQL主从复制主从延迟原理与解决方案

一、MySQL主从复制实践1、MySQL复制技术的有以下特点数据分布负载平衡备份高可用性和容错性2、主从复制过程/原理MySQL的主从复制是一个异步的复制过程(虽然一般情况下感觉是实时的)(1) master配置用户权限开启bin-log并记录二进制日志(2) slave执行start slave 命令开启主从复制开关(3) slave服务器的I/O线程通过...

2019-02-28 17:57:41 380

原创 二 MySQL基准测试

一、基准测试指标 吞吐量单位时间内的事务处理数。这类基准测试主要针对在线事务处理(OLTP)的吞吐量,非常适用于多用户的交互式应用。常用的测试单位是每秒事务数(TPS),每分钟事务数(TPM) 响应时间或者延迟这个指标用于测试让任务所需的整体时间。根据具体的应用,测试的时间单位可能是微妙、毫秒、秒或者分钟。根据不同的时间单位可以计算出平均响应时间,最小响应时间,最大响应时间...

2019-02-20 11:29:44 162

原创 第7章http优化方案

http1.1新特性 1、支持长连接2、添加host字段3、100 状态节约带宽 客户端可以事先发送只带header的请求,试探服务端,如果返回100,再去发送request body4、加入 cache新特性当缓存对象的Age超过Expire时变为stale对象,cache不需要直接抛弃stale对象,而是与源服务器进行重新激活 http优化方案 1、TC...

2019-02-13 16:34:46 240

原创 第6章确保Web安全的HTTPS

一、 HTTP的缺点 通信使用明文(不加密),内容可能被窃听(SSL提供报文加密机制)不验证通信方的身份,因此有可能遭遇伪装(SSL的证书机制,需要客户端和服务端拥有相同的公钥证书)无法验证报文的完整性,所以有可能已遭篡改(SSL数字签名机制) https本质上是将http通信接口部分使用ssl和tls协议替代,即原本http和tcp层直接通信,现在变为http先和ssl层...

2019-02-11 17:54:17 244

原创 第5章HTTP首部

通用首部请求首部响应首部实体首部Cookie服务的首部其他首部  通用首部字段Connection 控制不再转发给代理的首部字段 管理持久连接Upgrade 用于检测HTTP协议是否可使用更高的版本进行通信,其参数值可以用来指定一个完全不同的通信协议   请求首部字段 Authorization Web认证信息...

2019-02-11 10:58:52 174

原创 第4章返回结果的HTTP状态码

  1xx:指示信息--表示请求已接收,继续处理2xx:成功--表示请求已被成功接收、理解、接受3xx:重定向--要完成请求必须进行更进一步的操作4xx:客户端错误--请求有语法错误或请求无法实现5xx:服务器端错误--服务器未能实现合法的请求  200 OK204 No Content 请求成功 没有资源返回206 Partial Content ...

2019-02-11 10:52:35 143

原创 第3章HTTP报文内的HTTP信息

一、请求报文和响应报文的结构  二、编码提升传输效率 HTTP在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率。通过在传输时编码,能有效地处理大量的访问请求。但是,编码的操作需要计算机来完成,因此会消耗更多的CPU等资源。 (1) 报文主体和实体主体的区别 报文 HTTP通信中的基础单位,由8位字节流组成,通过HTTP通信传输...

2019-02-11 10:43:19 183

原创 第2章简单的http协议

一、报文 请求报文响应报文 二、HTTP是不保存状态的协议 HTTP是一种不保存状态,即无状态协议。HTTP协议自身不对请求和响应之间的通信状态保存。也就是说在HTTP这个级别,协议对于发送过的请求或者响应都不做持久化处理。 HTTP1.1虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了Cookie技术。有了Cookie再用HTTP协议...

2019-02-06 10:06:13 132

原创 第1章了解web和网络基础

一 、OSI七层模型与TCP/IP五层模型 https://www.cnblogs.com/qishui/p/5428938.html    二、TCP/IP通信传输流 以HTTP举例,首先作为发送方的客户端端在应用层(HTTP协议)向web服务器发送一个HTTP请求接着,为了传输方便,在传输层(TCP协议)把应用层收到的数据(HTTP请求报...

2019-02-06 10:00:05 175

原创 HTTP协议概述

一、简介 HTTP协议(超文本传输协议)是从万维网服务器传输超文本到本地浏览器的传送协议HTTP是一个基于TCP/IP通信协议来传递数据(HTMP/文件/图片/查询结果)HTTP是一个属于应用层的面向对象的协议HTTP协议工作于客户端-服务端结构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送相应信息...

2019-02-02 11:50:08 134

原创 CI框架源码解析9路由类文件Router.php

CI框架路由类将URI射影到对应的控制器和方法,大量代码处理的是自定义路由,功能如下: (1)支持自定义路由规则(2)支持回调函数(3)支持使用HTTP动词  1、 构造函数 __construct()/* * 构造函数 */ public function __construct($routing = NULL) { $this->co...

2019-01-30 15:39:27 421

原创 CI框架源码解析8地址解析类文件URI.php

URI类主要处理地址字符串,将uri分解成对应的片段,存到segments数组中。querystring分解后存到$_GET数组,ROUTER路由类在之后的解析路由动作中,也主要依靠URI类的segments属性数组来获取当前上下文的请求URI信息。 $config['uri_protocol']配置不但决定以哪个函数处理URI,同时决定了从哪个全局变量里获取当前上下文的uri地址。对应关...

2019-01-30 11:03:34 179

原创 CI框架源码解析7编码类文件Utf8.php

直接上源码 <?phpdefined('BASEPATH') OR exit('No direct script access allowed');/* * 编码类文件Utf8.php */class CI_Utf8 { /* * 构造函数 检测是否支持utf8 */ public function __construct() { ...

2019-01-28 17:54:52 166

原创 CI框架源码解析6配置类文件Config.php

先对CI框架配置类config.php的类结构和功能做一个简要的介绍 config:Config类中的配置项都存在$config数组中is_loaded:记录已经加载的配置_config_paths:配置路径__construct():加载默认config 如果base_url不存在则根据$_SERVER给个默认设置load():加载自定义文件item():获取加载项...

2019-01-28 16:56:09 343

原创 CI框架源码解析5钩子类文件Hooks.php

       CI框架可以实现在不改变框架核心文件的基础上修改或者添加核心运行功能(比如重写缓存 输出等),这就是Hooks。主要作用是CI框架下扩展base_system,它的主要作用是在CI启动时运行一些开发者定义的一些方法,来实现一些特定的功能。钩子是什么呢?我们可以这样理解: 1、钩子是一种事件驱动模式,它的核心自然是事件(CI框架中pre_system,pre_controlle...

2019-01-28 11:18:43 326

原创 CI框架源码解析4基准测试类文件Benchmark.php

基准测试类文件Benchmark.php通过前面几篇的分析,我们已经了解到:CI框架中核心流程的核心功能都是由不同的类组件来完成的。这些类组件 类似一个一个单独的模块,不同的模块完成不同的功能,各模块之间可以相互调用,共同构成CI框架的核心骨架 Benchmark.php是CI框架中第一个加载的core类组件,因此我们的分析首先从该类组件开始。Benchmark的含义非常明确,这是一个...

2019-01-25 11:48:55 206

原创 CI框架源码解析3全局函数库文件Common.php

Common.php定义一系列全局函数 全局函数的定义方式为 if(! function_exists(fun_name)){}这样做可以防止定义重名函数,我们自己在封装全局函数时候也可以使用这种方式  1、is_php() 判断当前php版本是否是$version以上的static 避免每次调用都去version_compare() ...

2019-01-24 23:18:51 212

原创 CI框架源码解析2核心引导文件CodeIgniter.php

CodeIgniter.php是引导文件,整个框架的核心,其实把这个文件运行一遍,整个CI应用就完成了一次完整的运行流程。加载组件,引入很多外部文件。CodeIgniter.php文件主要完成如下几个工作 1、加载框架常量、函数库以及框架初始化2、加载核心类组件3、路由的设置与判断4、解析请求的类并调用请求的方法5、输出 1、加载框架常量、函数库以及框架初始化 ...

2019-01-16 15:47:35 308

原创 CI框架源码解析1入口文件index.php

index.php作为CI框架的入口文件,自然从此开始。index.php完成四项工作 1、设置框架应用的环境状态2、配置系统、应用、视图等程序目录以及得到路径3、系统、应用、视图等程序目录正确性验证4、载入core/CodeIgniter.php框架核心文件,启动框架  1、设置框架应用的环境状态  针对不同的环境场景状态产生不同级别的错误报告...

2019-01-15 20:57:37 1316

原创 CI框架工作原理浅析

CI是一个流行的的PHP框架,小巧但功能强大,简洁轻量同时具有很强的扩展性。另一方面,CI却没有与时俱进,并不支持PHP5.3之后的一些特性,导致它相对更适合较老一些的项目。虽然如此,CI仍是一个优秀的框架,而且它本身内核较小,源码优雅,适于学习 CI的工作流程图index.php 文件作为前端控制器,初始化运行 CodeIgniter 所需的基本资源; Router 检...

2019-01-15 11:06:04 1815

原创 大话PHP设计模式

1、PHP面向对象高级特性(魔术方法 SPL 自动载入 命名空间)2、11种设计模式3、PSR-0 Composer Phar等最流行的技术 一、命名空间和Autoload 1、命名空间 namespace 2、类自动载入 原来 autoload() spl_autoload_register 可以是多个 3 开发一个符合PSR-0的...

2019-01-15 10:21:38 146

原创 php7新特性

  主题: 性能优化   新特性 1 变量类型 php7版本函数的参数和返回值增加了类型限制。此特性是为了php7.1版本的JIT特性做准备,增加类型后PHP JIT可以准确判断变量类型,生成最佳的机器指令。性能得到大幅度提升 2 错误异常 php程序出错后过去zend引擎会发生致命错误并终止程序运行,PHP7可以使用try/catch捕...

2019-01-07 23:06:12 113

原创 php中的empty isset is_null

empty: 若变量不存在则返回TRUE若变量存在且值为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回TURE若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回FALSEempty()只能用于变量,传递任何其它参数都将造成Paser error而...

2019-01-07 18:16:11 116

原创 五、高性能索引

索引是存储引擎用于快速找到记录的一种数据结构。 1、索引基础 要理解MySQL中索引是如何工作的,最简单的方法就是去看看一本书的“索引”部分,如果想在一本书中找到某个特定  1.1 索引的类型 在MySQL中,索引是在存储引擎层,而不是服务层 B-Tree索引 MySQL大多数都是使用B-Tree索引 InnoDB使用B+Tree存储引擎以不...

2019-01-02 19:36:18 91

原创 四、Schema与数据类型优化

四五六章 讨论 逻辑设计、物理设计和查询执行,以及它们之间的相互作用 1、选择优化的数据类型  简单原则如下 (1) 更小的通常更好,尽量使用可以正确存储数据的最小数据类型。更小的数据类型更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。(2) 简单就好,简单数据类型的操作通常需要更少的CPU周期。eg:整型比字符操作代价更低,因为字...

2019-01-02 19:32:03 666

原创 一、MySQL结构与历史

1、MySQL逻辑结构  整体逻辑结构如下 第一层,最上层的服务并不是MySQL所独有的,大多数基于网络的C/S的工具或者服务都有类似的架构,比如连接处理,授权认证,安全等等 第二层,大多数MySQL的核心服务功能都在这一层,包括查询解析、分析、优化、缓存以及所有的内置函数(例如,日期、时间、数学、和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程、触发器、...

2018-12-20 17:39:34 152

原创 mysql之优化篇(二)

二 优化数据库对象优化表的数据类型procedure analyse() 进行优化select * from zip procedure analyse()\G;*************************** 1. row *************************** Field_name: huasheng.zip.id Mi...

2018-03-21 11:41:31 206

原创 mysql之优化篇(一)

SQL优化优化SQL的一般步骤:通过show status 了解各种sql的执行效率以下几个参数对 Myisam 和 Innodb 存储引擎都计数:1. Com_select 执行 select 操作的次数,一次查询只累加 1;2. Com_insert 执行 insert 操作的次数,对于批量插入的 insert 操作,只累加一次 ;3. Com_update 执行 update 操作的次数;4...

2018-03-20 15:20:09 261

原创 Phabricator汉化

1 . 下载汉化包以下文件是个人文件夹,可down下来git clone https://github.com/banxuelai/bxl.git2将压缩包的文件放到 phabricator/src/extensions/下3访问 http://home.pha.com/settings/panel/account/

2018-01-11 17:47:35 3010

原创 Phabricator安装配置

以centos为例安装准备nginx mysqlphpgit 1 建立一个文件夹mkdir Phabricator && cd Phabricator2 拉源码git clone https://github.com/facebook/libphutil.gitgit clone https://github.co

2018-01-11 17:03:51 506

原创

定义:图是由顶点的有穷非空集合和定点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中的顶点的集合,E是图G中的边的集合。注:1 线性表中我们把数据元素叫做元素,树中的数据元素叫做结点,在图中数据元素称为顶点。2 线性表可以没有元素称为空表,树可以没有结点称为空树。但是在图结构中不允许没有结点。3 线性表相邻元素之

2017-08-08 11:03:30 231

转载 vector底层实现

//stl库中vector是一个自动管理的动态数组;//其实只要明白vector的类型是一个数组,怎么去实现它,其实就好办了; //我选择了一种简单的方式去实现它;//定义一个步长(WALK_LENGTH);//在数组空间不够的时候,重新申请 allocCount+WALK_LENGTH 长度的内存;//这样避免了,每次vector元素增加的时候,去重新申请

2014-10-24 10:04:12 7729

原创 c++多态实现的机制

1 什么是多态?多态性可以简单的概括为“1个接口,多种方法”,在程序运行的过程中才决定调用的机制程序实现上是这样,通过父类指针调用子类的函数,可以让父类指针有多种形态。2 实现机制举一个例子:#include class animal{public:void sleep(){cout}void breathe(){cout}};

2014-10-24 09:59:31 351

原创 C++模板

1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.

2014-10-17 09:15:18 311

原创 数据库范式(1NF 2NF 3NF BCNF)详解

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 范式说明 1.1 第一范式(1NF)无重复的列     所谓第一范式(1NF)是指数据库表的每一列都是

2014-09-16 19:01:56 531

转载 哈希表总结

哈希表的概念        哈希表(Hash Table)也叫散列表,是根据关键码值(Key Value)而直接进行访问的数据结构。它通过把关键码值映射到哈希表中的一个位置来访问记录,以加快查找的速度。这个映射函数就做散列函数,存放记录的数组叫做散列表。散列存储的基本思路        以数据中每个元素的关键字K为自变量,通过散列函数H(k)计算出函数值,以该函数值作为一块

2014-09-15 23:04:42 613

转载 简单工厂、工厂方法、抽象工厂之小结与区别

简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。本文是本人对这三种模式学习后的一个小结以及对他们之间的区别的理解。 简单工厂简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。不修改代码的话,是无法扩展的。 

2014-09-14 22:27:04 304

字符串面试题整理

自己整理的校招笔试面试时,主要的字符串题型。

2014-08-19

空空如也

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

TA关注的人

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