自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 vim配置

配色方案推荐:https://github.com/flazz/vim-colorschemes。

2023-06-30 10:48:02 55

原创 数据结构学习

算法空间复杂度分析例题将一个数组中的元素逆序存放在元数组中数组:$input = array("php", 4.0, array("green", "red"));算法一:原地工作,空间复杂度为s(n)=O(1)$input = array("php", 4.0, array("green", "red"));function array_reverse_v1(array $data):array{ $len=count($data); for ($i=0;$i<

2022-01-05 16:46:13 338 1

原创 docker -swarm集群搭建

一共三台主机192.168.19.4192.168.19.5192.168.19.6192.168.19.4设置主机名[root@centos redis-cluster]# hostnamectl set-hostname manager[root@centos redis-cluster]#初始化swarm集群[root@centos redis-cluster]# docker swarm init Swarm initialized: current node (lfjk87d

2021-12-12 22:23:04 3536

原创 redis集群搭建

[root@centos ~]# mkdir /root/redis-cluster[root@centos redis-cluster]# vim redis-cluster.tmpl192.168.19.4机器redis模板文件#端口#端口port ${PORT}#密码requirepass 1234#集群的从节点跟主节点通信的密码masterauth 1234#安全模式protected-mode no#后台运行,容器设置为前台运行daemonize no#aof的文件

2021-12-11 18:19:05 819

原创 docker 网络模式

bridge :为每个容器分配,设置一个IP,并将容器连接到一个docker0的虚拟网桥,默认为改模式host:容器不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口none: 容器有独立的network namespace,但并没有对其进行任何网络设置,如分配了veth pair和网桥连接,IP等container: 新创建的容器不会创建自己的网卡和配置自己的IP,而是和一个指定的容器共享IP,端口范围等bridge在birdge模式中,docker以守护进程创建了一个虚拟以.

2021-12-09 23:08:39 545

原创 docker 私有仓库搭建

docker 私人仓库搭建阿里云地址:https://cr.console.aliyun.com/cn-chengdu/instancesregistry[root@instance-uzddkjqj ~]# docker pull registryUsing default tag: latestlatest: Pulling from library/registryDigest: sha256:169211e20e2f2d5d115674681eb79d21a217b296b43374b

2021-12-09 21:43:18 596

原创 js跨域请求

什么是跨域?定义:跨域是指从一个域名的网页去请求另一个域名的网页的资源,比如从www.baidu.com去请求www.google.com的资源,但是一般情况下不能这样做,这是由浏览器同源策略造成的,是浏览器对js施加的安全限制,跨域的严格定义一点是,只要协议、域名、端口有任何一个的不同,就被当成是跨域所谓同源是指域名、协议、端口 均相同,这里说的JS跨域是指JS在不同的域之间进行数据传输或者通信,比如用ajax向一个不同的域请求数据、或者通过js获取页面中不同域的框架中(iframe)的数据概

2021-10-24 11:52:47 2722 1

原创 进程线程协程的关系

进程:是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程是一个执行中的程序进程的三态模型:多道程序系统中,进程在处理器上交替运行,状态不断地发生变化运行:当一个进程在处理机上运行时,称该进程处于运行状态就绪:当一个进程获得了除处理机以外的一切资源,一旦得到处理及即可运行,则称次进程处于就绪状态阻塞:也称为等待或者睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这是即使把处理机分配给进程也无法运行,

2021-10-12 23:30:10 349

原创 完整复习PHP面试

PHP 变量引用阅读下面程序,解释运行过程及结果<?php/** * <?php * $data=['a','b','c']; * foreach ($data as $k=>$v){ * $v=&$data[$k] * } * 程序运行时,每一次循环结束后变量$data的值是什么?请解释 * 程序执行完后,$data的值是什么?请解释 *//** * 解1: * 数组共循环三次 * 1:将数组第一个元素的下标赋值给变量$k,值赋值给$v,然后将

2021-10-07 20:50:03 833

转载 MySQL事务隔离级别和实现原理

MySQL 事务本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思。假设一个网购付款的操作,用户付款后要涉及到订单状态更新、扣库存以及其他一系列动作,这就是一个事务,如果一切正常那就相安无事,一旦中间有某个环节异常,那整个事务就要回滚,总不能更新了订单状态但是不扣库存吧,这问题就大

2021-08-17 17:48:08 92

原创 beanstalkd

安装##beanstalkd是什么beanstalkd是一个高性能、轻量级的内存队列系统,最初的设计是想通过后台异步执行耗时的任务来降低高容量WEB应用系统的页面访问延迟Beanstalkd的特性和工作场景:Beanstalkd 是一个轻量级消息中间件,它最大特点是将自己定位为基于管道 (tube) 和任务 (job) 的工作队列 (work-queue):Beanstalkd 支持任务优先级 (priority), 延时 (delay), 超时重发 (time-to-run) 和预留 (

2021-08-11 20:59:39 477

原创 docker 安装

1.docker 安装添加阿里源 or 清华大学源阿里yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo清华大学源如下↓,清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cnhttps://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.

2021-08-11 20:58:26 101

原创 vagrant

1. 安装VirtualBox去官网https://www.virtualbox.org/wiki/Downloads下载最新版的Virtualbox,然后双击安装,一直点击确认完成2. 安装vagrant去官网下载最新版的vagranthttps://www.vagrantup.com/downloads.html,然后双击安装,一直点击确认完成。在windows下安装vagrant,为了写入相应配置到环境变量,系统可能会要求重新启动。在命令行中,输入vagrant,查看程序是不是已经运行了。如

2021-08-11 20:56:48 657

原创 Linux-vim命令

vim 介绍vim 是一个强大的全屏幕文本编辑器,是Linux/unix上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。vim 没有菜单,只有命令vim 有三种模式命令模式 vi 文件名称插入模式 输入i、a、o ,esc返回到命令模式编辑模式 使用:号进入 命令以回车结束运行插入命令:命令说明a在光标所在字符后插入A在光标所在行尾插入i在光标所在字符前插入I在光标所在行行首插入o在光标下插入新行O在光标上插入新行

2021-08-08 15:10:11 234

原创 shell编程

介绍shell是什么shell是一个命令行解释器,他为用户提供了一个向Linux内核发送请求运行程序的系统管理程序,用户可以使用shell来启动、挂起,停止甚至是编写一些程序shell还是一个功能强大的编程语言,易编写,易调试,灵活性较强,shell是解释执行的脚本语言,shell可以直接调用Linux系统命令shell分类Bourne Shell :从1979年起Unix开始使用;Bourne Shell ,Bourne Shell 的主文件名为shC Shell:C Shell 主要用于BS

2021-08-08 15:08:49 127

原创 Linux-shell编程

基础正则表达式正则表达式与通配符正则表达式一般用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed命令都支持正则表达式通配符用来匹配符合条件的文件名,通配符是完全匹配。ls find cp 这些命令不支持正则表达式,所以只能用shell通配符来匹配基础正则表达式元字符作用*前一个字符匹配0次或者任意多次.匹配除了换行符以外任意一个字符^匹配行首。例如:^hello会匹配以hello开头的行$匹配行尾。例如:hello$会匹配

2021-08-08 15:07:40 138

原创 Linux-服务管理

服务的分类rpm包的默认安装服务独立的服务基于xinetd服务源码包安装的服务rpm安装服务和源码包安装服务的区别rpm包和源码包安装服务的区别就是位置不同源码包是安装在指定的位置,一般是/usr/localrpm是安装在默认的位置中/etc/init.d/:启动脚本位置 或者是 /etc/rc.d/init.d//etc/sysconfig/:初始化环境配置文件位置/etc/:配置文件位置/etc/xinetd.conf xinetd配置文件/etc

2021-08-08 15:05:13 101

原创 Linux-用户管理

#表示超级用户$表示普通用户用户管理命令useradd命令名称:useradd命令所在路径:/usr/sbin/useradd执行权限:root语法:useradd [选项] 用户名​ -u UID 手工指定的UID号​ -d 家目录 手工指定用户的家目录​ -c 用户说明 手工指定用户的说明​ -g 组名 手工指定用户的初始组​ -G 组名 手工指定用户的附加组​ -s shell 手工指定用户登录的shell 默认是/bin/bash功能描述:添加新用户范例:

2021-08-02 17:22:39 161

原创 Linux-压缩解压缩命令

压缩相关命令gzip(只能压缩文件,不能压缩目录,而且不保留源文件)命令名称:gzip命令英文原意:GNU zip命令所在路径:/bin/gzip执行权限:所有用户语法:gzip [文件]功能描述:压缩文件压缩后文件格式:.gzgunzip命令名称:gunzip命令英文原意:GNU unzip命令所在路径:/bin/gunzip执行权限:所有用户语法:gunzip [压缩文件]功能描述:解压缩.gz的压缩文件范例:gunzip yum.log.gztar(打包任意文件或文

2021-08-02 17:21:45 77

原创 Linux-文件系统管理

系统分区分区类型:主分区:主分区也叫引导分区,最多只能有四个;当创建四个主分区的时候,就无法在创建扩展分区了,当然也就没有逻辑分区;扩展分区:最多只能有一个;组分区加扩展分区最多有四个;扩展分区不能写入数据,只能包含逻辑分区逻辑分区:逻辑分区是在扩展分区划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区格式化格式化(高级格式化)又称逻辑格式化,它是根据用户选定的文件系统(如 FAT16、FAT32、NTFS、EXT2、EXT3、E

2021-08-02 17:18:04 183

原创 Linux-文件处理命令

文章目录目录结构命令格式目录处理命令文件查看命令lstouchcattacmorelessheadtail文件链接命令ln文件权限命令chmodchownchgrpumask文件搜索命令findwhichwhereisgrep权限分类linux中umask用法小结前言:语法:说明:acl权限简介与开启方式什么是acl权限?查看分区 ACL 权限是否开启:dump2fs临时开启分区ACL权限永久开启分区ACL权限设定ACL权限查看ACL命令最大有效权限mask删除acl权限默认ACL权限和递归ACL权限文件的

2021-08-02 17:11:05 115

原创 Linux-网络命令

网络命令write指令名称:write指令路径:/usr/bin/write执行权限:所有用户功能描述:给用户发信息,以ctrl+D保存结束范例:write qilin备注:给用户发送消息时,如果一个账户多个终端登录,只会发送给最后一个终端wall指令名称:wall指令英文原意:write all指令路径:/usr/bin/wall执行权限:所有用户语法:wall [massge]功能描述:发送广播信息范例:write welcome qilinping指令名称:ping

2021-08-02 17:06:32 192

原创 Linux-软件包管理介绍

软件包管理介绍软件包分类源码包脚本安装包二进制包(RPM包,系统默认包)源码包源码包的优点是:开源,如果有足够的能力,可以修改源代码可以自由选择所需的功能软件是编译安装,所以更加适合与自己的系统,更加稳定效率更高卸载方便源码包的缺点:安装过程步骤较多,尤其是安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误编译过程时间较长,安装比二进制安装时间长因为时编译安装,安装过程中一旦报错新手很难解决RPM包二进制包的优点:包管理系统简单,只通过几个命令

2021-08-02 17:05:54 281

原创 Linux-关机命令

关机命令shutdown命令名称:shutdown语法:shutdown [选项] 时间​ -c 取消前一个关机命令 -h 关机​ -r 重启范例:现在关机shutdown -h now 指定时间:晚上八点关机shutdown -h 08:00haltpoweroffinit 0重启rebootinit 6系统运行级别0 关机1 单用户2 不完全多用户,不含NFS服务3 完全多用户4 未分配5 图形界面6 重启备注:修改运行级别的配置;/etc

2021-08-02 17:05:26 127

原创 Linux-帮助命令

帮助命令man命令名称:man命令英文原意:manual命令执行所在路径:/usr/bin/man执行权限:所有用户语法:man [命令或配置文件]功能描述:获得帮助信息范例:man ls 查看ls命令的帮助信息man services 查看配置文件services的帮助信息help命令名称:man命令执行所在路径:shell内置命令执行权限:所有用户语法:help 命令功能描述:获取shell内置命令的帮助信息范例:help umask 查看ls命令的帮助信息查看uma

2021-08-02 17:04:26 39

原创 php-xhprof安装-使用

介绍官网的我直接拿过来了XHProf 是一个轻量级的分层性能测量分析器。 在数据收集阶段,它跟踪调用次数与测量数据,展示程序动态调用的弧线图。 它在报告、后期处理阶段计算了独占的性能度量,例如运行经过的时间、CPU 计算时间和内存开销。 函数性能报告可以由调用者和被调用者终止。 在数据搜集阶段 XHProf 通过调用图的循环来检测递归函数,通过赋予唯一的深度名称来避免递归调用的循环。XHProf 包含了一个基于 HTML 的简单用户界面(由 PHP 写成)。 基于浏览器的用户界面使得浏览、分享性能数据

2021-07-15 22:05:56 706 2

原创 Connection to `pecl.php.net:443‘ failed:

PHP在安装扩展是提示Could not download from "https://pecl.php.net/get/xhprof-0.9.4.tgz" (Connection to `pecl.php.net:443' failed: )Invalid or missing remote package fileinstall failed这个问题和curl无法访问https资源是类似的,现在curl可以访问https资源,但是使用pecl安装扩展的时候不行,更新下最新的这个证书就可以了这

2021-07-15 18:24:59 718

转载 git merge和git merge --no-ff的区别

在很多介绍GItFlow工作流的文章里面,都会推荐在合并分支的时候加上–no-ff参数, 而我们在合并的时候,有时git也会提示 使用了 fast-forward, 这里我将介绍一下merge的三种状态及 git merge 和 git merge --no-ff 的区别Git merge的时候,有几种合并方式可以选择--ffWhen the merge resolves as a fast-forward, only update the branch pointer, without creati

2021-07-14 18:40:10 215

原创 go入门学习-切片

切片(slice)Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片(“动态数组”),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大切片是一个引用类型,他的结构包含 地址,长度,容量package mainimport "fmt"func main() { var s1 []int //申明一个存放int类型元素的切片 var s2 []string//申明一个string类

2021-07-13 00:47:53 68

原创 go入门学习-字符串、数字

package mainimport ( "fmt")func main(){ //数据类型 str:="数据类型-整型;\n" + "整形分为两种:一种无符号类型、一种有有符号类型;\n" + "无符号的前面加了个u;例如unit8、uint16、uint32、uint64\n" + "有符号类型前面无u;例如:int8、int16、int32、int64\n" + "数据类型-特殊整型:跨平台的是需要特别注意" + "uint 根据操作系统来识别的,32为操作系统就是

2021-07-12 23:21:21 169

原创 go入门学习-复合数据类型

数组存放元素的容器,必须指定存放元素的类型和容量(长度),数组的长度是数组类型的一部分,一旦定义,长度不能变;[5]int和[10]int是不同类型定义格式var 数组变量名 [元素数量]Tfunc main() { var a1 [3]bool //[true false true] var a2 [4]bool //[true true false false] fmt.Printf("a1:%T a2%T", a1, a2) //打印结果:a1:[3]bool a2[4]bool}

2021-07-10 21:08:29 62

原创 go入门学习-运算符

算数运算符func main() { var a=10 var b=1 fmt.Println(a+b) fmt.Println(a-b) fmt.Println(a*b) fmt.Println(a/b) fmt.Println(a%b) //++(自增)和--(自减)在go语言中是独立的语句,不是运算符 a++ fmt.Println(a) a-- fmt.Println(a)}关系运算符func main() { var a = 10 var b = 1

2021-07-10 20:29:31 70

原创 go入门学习-流程控制

环境变量GOPATH 你的工程目录 ;里面包含三个目录、bin(安装的二进制文件)、src(你的源码文件)、pkg(编译后的库文件)GOROOT go语言安装目录个人项目结构公司项目结构命令介绍go run 运行go文件go build 编译go文件,在当前目录下生成编译后的文件;也可以不在当前路径下执; 执行命令格式: go build $GOPATH/src开始你的目录地址。例如C:\Users\Administrator>go build go.study.cn/hel

2021-07-10 12:31:02 56

原创 更改驱动号和路径 系统找不到指定文件

之前用U盘制作了启动镜像没有使用;后面再用u盘的时候发现u盘盘符读取不除来,在网上搜索了一些教程,说是修改一下磁盘的盘符和路径就OK了。可当我修改时却提示“系统找不到指定文件” ;然后又经过一番搜索整理个笔记下载 diskgenius 官网地址删除多余的分区清除扇区数据重新插入u盘格式化U盘...

2020-09-06 11:32:43 1991

原创 phpstrom 配置开发环境

Docker(windows)在PhpStorm中的配置应用暴露tcp2375端口配置PhpStrom配置Docker服务打开Setting→Build Execution Deployment(构建、执行、部署) → Docker 点击+新建Name可以随意,连接Docker方式选择TCP SocketEngine API URL填写Docker的配置 tcp://localhost:2375配置docker-compose:选择run->Edit Configur

2020-08-26 10:43:50 195

原创 基于docker的ELK环境搭建

elk介绍elk是elastic公司提供的一套完整的日志收集和展示的解决方案,它是由三个产品的首字母缩写而成,分别是elasticSearch、logstash、kibanaelasticSearch: 简称 Es,它是一个分布式搜索引擎,可用于全文搜索、结构化搜索以及分析。它是一个建立在全文搜索引擎(Apache Lucene)基础上的一个搜索引擎。使用java语言编写logstash:一个具有实时传输的数据收集引擎,用来进行数据收集(例如:读取文本文件)、解析、并将数据发送给esKibana

2020-08-14 11:42:23 621 1

原创 composer学习

简介Composer是PHP的一个依赖管理工具,他允许你申明项目所依赖的代码库,他会你的项目中为你安装他们。依赖管理Composer不是一个包管理器,它涉及packages和libraries,它在每个项目的基础上进行管理Composer 将这样为你解决问题:一个项目依赖于若干个库其中一些库依赖于其他库你申明你所依赖的东西Composer会找出那个版本的包需要安装,并安装它们(将它们下载到你的项目中)系统要求Composer需要5.3.2+以上版本安装*nix下载局

2020-08-04 22:22:44 640

原创 centos 安装vmware tools设置共享文件夹

centos 安装vmware tools启动Centos系统,以root用户登录,然后点击菜单栏中的虚拟机–>安装VMware Tools,如图:点击安装VMware Tools选项后,在centos的/dev/下会显示cdrom,接着创建挂载目录/mnt/cdrom再将/dev/cdrom挂载到/mnt/cdrom目录下,命令为:mount /dev/cdrom /mnt/cdrom ,然后进到该目录下就能看到如图所示的文件:将文件VMwareTools-10.3.

2020-08-04 22:11:28 546

原创 VirtualBox+vagrant使用

1. 安装VirtualBox去官网https://www.virtualbox.org/wiki/Downloads下载最新版的Virtualbox,然后双击安装,一直点击确认完成2. 安装vagrant去官网下载最新版的vagranthttps://www.vagrantup.com/downloads.html,然后双击安装,一直点击确认完成。在windows下安装vagrant,为了写入相应配置到环境变量,系统可能会要求重新启动。在命令行中,输入vagrant,查看程序是不是已经运行了。如

2020-08-04 21:58:34 422 1

原创 PHP环境搭建

安装版本:mysql8.0.16-php7.2.16 -nginx1.16nginx安装安装Nginx源rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm安装nginxyum install -y nginx启动nginx并设置开机自动运行systemctl start nginx #启动,restart-重启,stop-停止s

2020-08-04 21:52:58 130

空空如也

空空如也

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

TA关注的人

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