自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

徐小鹏的博客

CSDN博客暂时不更新了,最新的文章在 https://xxpblog.top/

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

原创 docker 容器的起源

这是新开的一个博客栏目,主要用来记录我学习 docker 的点点滴滴。也给大家分享一下我学 docker 的过程。 学习docker的原因: 近几年 微服务架构越来越火,容器技术也越来越成熟,作为新生代大学生,怎么能不追随这门新的技术呢? 借此专栏,来开辟新的天地。先介绍一下容器的前身 虚拟技术历史再没有虚拟化的时候,如果我们想搭建一个服务器,我们列一下我们...

2018-07-19 11:30:17 4245

原创 正则表达式从入门到精通

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。相信做后台的一定经常会碰到,用正则表达式匹配某个字符是否符合规则例如 我们要搜索字符中是否含有’shop’这个字符串正则表达式为/shop/那个这个表达式是按照什么样的规则来实现的呢?分隔...

2018-04-20 10:40:00 2194

原创 thinkphp 5.1框架解析(三):容器和依赖注入

在上一篇文章中我们讲到了 ThinkPHP 如何实现自动加载,如果想看的话可以看ThinkPHP5.1 源码浅析(二)自动加载机制在阅读本篇文章 之前,我希望你掌握了 IOC 、DI 、Facade的基本知识,如果不了解,请先查看着几篇文章。深入理解控制反转(IoC)和依赖注入(DI)那么步入正题。服务调用基于分析框架的 入口脚本文件index.php// 加载基础文件requir...

2019-07-29 11:43:31 2037 1

转载 事物隔离级别

事务隔离级别:1.更新遗失(Lost update)两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。基本上就是指某个事务对字段进行更新的信息,因另一个事务的介入而遗失更新效力。举例来说,若某个字段数据原为ZZZ,用户A、B 分别在不同的时间点对同一字段进行更新事务,如下图:单就用户A ...

2019-04-18 13:32:44 1122

转载 session/cookie

cookiecookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以...

2019-04-18 13:31:33 1254

原创 排序算法总结

选择排序思想每次找到

2019-01-17 21:40:17 1009

原创 mysql 性能优化总结

MYSQL性能优化的最佳20+经验我来总结下:为查询缓存优化你的查询(尽量不要在查询中使用函数)EXPLAIN 分析你的 SELECT 查询当只要少量数据时使用 LIMIT为搜索字段建索引避免 SELECT *(避免从数据库里读取这样会查出过多的数据)使用 ENUM 而不是 VARCHAR尽可能的使用 NOT NULL(NULL会占用过多的空间,Mysql难以优化引用可空列查询,...

2019-01-17 19:27:44 1116

原创 CGI、fastCGI、PHP-FPM三者间的关系

以前总是好奇于我们写的代码是如何被服务器所运行的,查阅了一番资料后我来总结下webService在远古时期,我们的网页只有静态的 html ,这时候我们的 服务器 的作用只是做内容分发。例如我们访问www.baidu.com/demo.html的时候,服务器就会给我们请求目录下的demo.html的文件展示给我们。但事物在发展,随着动态语言的出现(PHP、Python等等)。服务器就不...

2018-12-27 16:50:53 1074 1

原创 thinkphp 5.1框架解析(三):容器和依赖注入

之前我们分析了 TP5.1 的错误异常处理机制,顺着代码走我们来看一看 TP5.1的容器概念 在’index.php’中看到了这行代码 // 执行应用并响应 Container::get('app')->run()->send();在这里 TP5.1 用到了容器的概念,并实现了依赖注入,控制反转。根据这里我做出了这个分享在讲容器之前我们先了解软件设计的几...

2018-12-27 14:51:14 5774 4

转载 48条高效率的PHP优化写法

转 48条高效率的PHP优化方法

2018-12-26 09:29:23 1053

原创 数据库事务的四大特性和事务隔离级别

事务的四大特性(ACID)原子性(atomicity):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚一致性(consistency):一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。隔离性(isolation):隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事...

2018-09-13 15:49:36 1083

转载 Laravel 服务容器实例教程 —— 深入理解控制反转(IoC)和依赖注入(DI)

Laravel 服务容器实例教程 —— 深入理解控制反转(IoC)和依赖注入(DI)发布于 2015-09-13 2015-10-26 19:23:15 学院君 68310 Views 友情提示:本文有点长,但绝对都是干货,请耐心读完,必有收获!容器,字面上理解就是装东西的东西。常见的变量、对象属性等都可以算是容器。一个容器能够装什么,全部取决于你对该容器的定义。当然,有这样...

2018-09-13 00:27:42 1071 2

原创 归并算法

我们这里不讲归并函数的基础,如果你暂时还不知道归并函数的话,可以看这篇文章理解。自顶向下归并算法的图文讲解 不过值得注意的是,这里面的算法有些问题,至少我的GO语言,没有能够重复结果。我贴一下我的 merge算法//合并 [left...mid] [mid+1...right]func mergeArray(arr []int, left int,mid int, ...

2018-09-04 17:53:23 3211

原创 thinkphp 5.1框架解析(三):注册错误和异常处理机制

跟着 base.php 继续走,来到了注册错误和异常处理机制的代码其实异常处理机制也没什么好讲的,只是今天没什么好分享的。又无聊,就来写一下吧注册错误//base.php// 注册错误和异常处理机制Error::register();在base.php中调用了 错误异常处理的注册函数,因为上面我们已经实现了自动注册,所以我们能直接找到Error这个类。 ...

2018-09-02 22:25:21 2327

原创 php7 垃圾回收机制

不特意说明的话 php 版本为 7.2明天再写,先列个大纲zval的结构变量的回收循环引用造成的内存泄漏object和array的回收参考链接: 官方文档 盘古大叔内核剖析之GC 鸟哥的 zval 解析哈希表...

2018-09-02 15:40:09 12521 3

原创 thinkphp5.1框架解析(二):自动加载

继 生命周期的第二篇,大家尽可放心,不会随便鸽文章的第一篇中,我们提到了入口脚本,也说了,里面注册了自动加载的功能本文默认你有自动加载和命名空间的基础。如果没有请 看此篇文章 php 类的自动加载与命名空间自动加载机制php 的自动加载是Loader 类中实现的,这个类在 base.php 中被引入//base .php// 载入Loader类require _...

2018-09-01 15:38:53 4499

原创 php7中异常与错误的处理

首先声明,笔者 php版本 7.2异常与错误的概述什么叫做异常?什么叫做错误?异常处理错误的级别自定义错误处理程序set_error_handler()set_exception_handler()register_shutdown_function()框架的错误处理异常与错误的概述什么叫做异常?异常是指程序运行中不符...

2018-08-31 16:34:10 4077

原创 【27】移除元素

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的...

2018-08-28 15:00:37 1038

原创 【283】 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。func moveZeroes(nums []int) { i:=0 for _,v:=range nums{ ...

2018-08-28 14:59:11 994

原创 【35】搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0...

2018-08-28 12:59:32 1030

原创 反转链表

题目描述输入一个链表,反转链表后,输出新链表的表头。思路这题蛮新颖的,想了蛮久,都没想出比较好的做法。看了下别人的答案,才知道该怎么做。这一题的用意就是让我们把类似 1->2->3->4->5->6 变成 6->5->4->3->2->1我们用head 表示当前节点,n

2018-08-03 18:29:47 942

原创 数的整次方

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。、思路这就是一道快速幂的题目,之前写过快速幂的思路查看原文 大家可以看一下public class Solution { public double Power(double base, int exponent) { int i =...

2018-07-26 08:37:09 1007

原创 docker 搭建 lnmp 环境

这几天学了 docker 又用 docker 搭建了自己的环境。这中间遇到了很多坑,为此特意写此博文,供你们搭建环境的时候借鉴。本篇本章默认你有 docker 的基本知识本篇用到的环境主机 window 10docker 18.03.1php-fpm 7.2.8nginx 1.15mysql 5.7实践搭建 Dockerfile首先我们编写我们的...

2018-07-24 17:03:53 2064

原创 矩形覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?public class Solution { public int RectCover(int target) { if(target<=3)return target; int pre = 1; ...

2018-07-24 09:19:45 1000

原创 docker-compose 常用配置详解

docker-compose 的引入在没有 docker-compose 之前,我们创建一个容器要怎么做呢?首先我可以用 Dockerfile bulid 这个镜像,或者 直接从Docker hub上面拉取镜像docker run 一个容器,中间还要加一些复杂的参数。我们运行了容器还要用命令还管理这些容器。这些加入我们只有一个容器还好,能接受。但如果我们有一堆容器。这样...

2018-07-22 17:58:22 5076

原创 变态跳台阶

思路:这题明显比前面一提要难得多,关键是跳的级数不确定了。 这题一开始一看我就知道可以从最底下,深搜到顶。(因为牛客对算法复杂度要求不是太高,要是这题在洛谷绝对GG)深搜模板了解下;public void dfs(int i, int k) { if(i>k)return; if(i==k) { sum++; ...

2018-07-22 10:10:00 968

原创 跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路这也是一道 斐波那契数列类似的题目,解法也就是前一个博客的题解。 因为只能一次跳两个台阶,所以 F(n) = F(n-1)+F(n-2)方法一:递归public class Solution { public int JumpFlo...

2018-07-22 08:54:42 937

原创 斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39思路这题的思路就知道知道 斐波那契数列 的推导公式就行,F(n) = F(n-1)+F(n-2) 的公式 题解java 代码 方法一:递归 public int Fibonacci(int n) { if(n<2){ ...

2018-07-21 09:05:19 982

原创 旋转数组中的最小数字

题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路简单题,不用思路解答java 版方法一:暴力求解 public int minNumbe...

2018-07-20 09:52:24 1041

原创 docker 在centos上的安装

老生常谈,第一篇文章来讲 docker 的安装docker 容器的起源 docker 在centos 上的安装 具体可以参考 docker 官网 其他版本的docker 也都可以从这里面找我就直接搬下来1 、首先我们需要添加我们需要的 repositories $ sudo yum install -y yum-utils \ device-mapper-persis...

2018-07-19 11:28:21 969

原创 用两个栈实现队列

在讲解题之前我们先回顾一下栈和队列的定义。栈的是 FILO 先进后出 队列是 FIFO 先进先出题目用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路这题匝一看,不知道题目什么意思。 其实这题就是让我们用两个栈,一个来模拟队列的入队列的操作,一个拿来做出队列的操作。然后我们栈的方式时 FILO 的方式 而队列是 FIFO 的...

2018-07-19 09:51:35 1150

原创 重建二叉树

今天刷题的时候碰到这道二叉树的题,这是数据结构中的重点知识,但由于学了已经一年多了,很多东西已经遗忘,今天把它拾起来。题目基础知识铺垫先序遍历中序遍历后序遍历题解题目输入某二叉树的先序遍历和中序遍历的结果,请重建出该二叉树。假设输入的先序遍历和中序遍历的结果中都不含重复的数字。例如输入先序遍历序列{1,2,4,7,3,5,6,8}和中序遍历...

2018-07-18 21:01:54 4247 4

原创 简单了解HTTP协议

通过请求和响应的交换达成通信HTTP协议和其他TCP协议一样,用于客户端和服务器之间的通信。客户端:请求资源的一方 服务端:提供资源响应的一方所以应用HTTP协议的一方一定是客户端。请求报文的结构GET 表示资源请求方式,在html的form表单里成为method。 /index.thm 指明了访问资源对象 。HTTP/1.1 表示我们使用HTTP的版本,这里是...

2018-07-15 19:46:40 1252

原创 【P1002】P1002 过河卒

题目题目描述输入输出格式输入格式:输出格式:输入输出样例输入样例#1:输出样例#1:说明分析DFSDP题目题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0,...

2018-07-15 19:46:13 1244

原创 二维数组中查找

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路解析这是一道比较基础的题,就是找二维数组中的一个数。 方案一(暴力)<?phpfunction Find($target, $array){ $len = ...

2018-07-15 10:51:52 941

原创 替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路解析这是一套字符串处理的题目,虽然我们有字符串处理的函数,但我们最好不要用那些,自己把这些写出来会更好一点。 方案一(利用自带的函数)function replaceSpace($st...

2018-07-15 10:51:32 1015

原创 基于 yii2 RBAC 权限管理全解

相信大家对 RBAC 权限控制都比较了解。我们来 下面是摘自 yii 权威指南中关于 RBAC 权限控制的介绍基本概念角色是 权限 的集合 (例如:建贴、改贴)。一个角色 可以指派给一个或者多个用户。要检查某用户是否有一个特定的权限, 系统会检查该包含该权限的角色是否指派给了该用户。可以用一个规则 rule 与一个角色或者权限关联。一个规则用一段代码代表, 规则的执行是在检...

2018-05-16 19:36:17 8453 1

原创 http协议之 网络基础部分

引子使用Http协议访问web1.2.1 http的诞生1.3 网络基础TCP/IP协议族TCP/IP的分层管理和HTTP相关的一些协议IPTCPDNS总结URI和URLURI引子 每当我们在浏览器中输入网址时,我们连接到新的页面。你知道我们在输入网址之后发生了什么吗?使用Http协议访问web在这过程...

2018-05-10 10:07:38 1196

原创 yii2 前端资源发布组件(Assets)(一、初步实现)

之前我们写的商城,我们把所有的前端模块通通放在了web的assets目录下,加载资源的时候回加载所有资源。无疑这样网页加载速度会大大减慢相关概念资源资源包定义资源包使用资源包相关概念资源我们页面所需要的css,js,图片,或者视频等等资源包在渲染页面时,可以将所需要的资源假如资源包,在页面中注册该资源包即可渲染对应的资...

2018-05-09 16:13:49 3189 1

原创 php文件上传详解

原理配置前端页面搭建注意点php代码原理在我们点击提交时,被保存在php.ini文件中的upload_tmp_dir指定的临时目录中。必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的move_upload_to() 函数将它复制到其它位置,...

2018-05-03 14:43:53 1258

java百万年薪架构师001期

java百万年薪架构师001期

2019-03-10

空空如也

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

TA关注的人

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