自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 雪花算法id生成器

雪花算法生成id

2022-06-10 16:10:54 771 1

原创 centos虚拟机抽帧服务安装

解决方案分成两步:(1)调用unoconv命令将 doc、ppt 转 pdf(2)使用 imagemagick将 pdf 转图片安装unoconvyum -y install unoconvunoconv --version安装ImageMagickyum install -y fftw fftw-devel fftw-devel bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-deve

2022-01-26 10:14:59 450 1

原创 vagrant增加虚拟机磁盘空间

安装插件vagrant plugin install vagrant-disksize如果提示权限错误,需要把之前的插件删了,先安装vagrant-disksize,再安装之前的其他插件# 删除插件失败的话,需要手动把插件目录删除,具体的插件目录在报错信息中有提示vagrant plugin expunge --reinstall# 重新安装插件vagrant plugin install vagrant-disksizevagrant plugin install vagrant-vbgu

2021-12-30 15:52:08 1341

原创 centos8+fortune+cowsay制作终端欢迎界面

安装必须的软件sudo yum install fortune-mod sudo yum install cowsay添加中文库git clone https://github.com/ruanyf/fortunes.gitsudo cp fortunes/data/* /usr/share/games/fortune/#修改文字系列cd /usr/share/games/fortune/sudo rm -rf *.datfor a in `ls`; do sudo strfile -c

2021-12-28 15:57:23 792

原创 zsh+oh-my-zsh+命令行自动补全

一、安装zshyum install -y zsh在检查下系统的 shell:cat /etc/shells,你会发现多了一个:/bin/zsh二、安装oh-my-zshgit clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zshcp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc三、更改默认 shellchsh -s /bin/zsh然后重启终端,你会发现

2021-10-20 14:23:04 4187

原创 vagrant+virtualbox安装

准备工作下载 VirtualBox 虚拟器 : https://www.virtualbox.org/wiki/Downloads,双击安装下载安装 Vagrant : https://www.vagrantup.com/downloads,双击安装下载使用的 box (这里的 box 指的是系统) : http://www.vagrantbox.es/在本地建立一个工作文件夹(box的相关配置,比如:D:/box)部署环境打开终端,进入工作文件夹· vagrant box add c

2021-10-19 16:10:55 176

原创 vue问题汇总

一、code ENOTSUP errno -95经过查询,发现是创建不能创建链接。经过查询,发现解决方法很简单。只要加上一个参数就好了。执行命令如下:npm install -no-bin-links

2021-08-30 18:03:57 224

原创 go get不能安装github包的解决办法

问题fatal: unable to access 'https://github.com/gin-gonic/gin/': Failed connect to github.com:443; Connection timed out原因很明显,是因为go get是基于git的方式获取仓库的,然后默认用的是https的,被拒绝了,我们需要换成ssh的解决命令行替换git config --global url.git@github.com:.insteadOf https://github.c

2021-08-30 17:02:32 2690 1

原创 Python安装

安装Python版本管理工具pyenvcurl https://gitee.com/goccoder/pyenv-installer/raw/master/bin/pyenv-installer| bash按照上面提示,对应的文件加上相应的内容,最后执行:source ~/.bashrc至此,pyenv就装上了安装Pythonpyenv install --list # 列出可安装版本安装基本依赖包,如果已经装过的,可以忽略yum install gcc zlib-devel bzip2

2021-05-24 16:39:34 94

转载 Redis常见的应用场景解析

Redis是一个key-value存储系统,现在在各种系统中的使用越来越多,大部分情况下是因为其高性能的特性,被当做缓存使用,这里介绍下Redis经常遇到的使用场景。Redis特性一个产品的使用场景肯定是需要根据产品的特性,先列举一下Redis的特点:读写性能优异持久化数据类型丰富单线程数据自动过期发布订阅分布式这里我们通过几个场景,不同维度说下Redis的应用。高性能适合当做缓存缓存是Redis最常见的应用场景,之所有这么使用,主要是因为Redis读写性能优异。而且逐渐有取.

2021-04-28 16:11:57 883

原创 CentOS8 安装 mysql 5.7

安装依赖yum updateyum install ncurses-compat-libs下载安装包可以自行选择下载的版本 https://repo.mysql.com/yum/wget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-libs-5.7.31-1.el7.x86_64.rpmwget https://repo.mysql.com/yum/mysql-5.7-community/

2021-04-14 16:48:34 147

原创 B树和B+树比较(特征和算法)

B树和B+树的特征b树的核心树高:一般来说,树的高度要比二叉平衡树低很多数组:每一个node,都是一个“数组”,数组是很关键的决定性因素,我们后面写入和读取分析的时候会讲到。B+tree 其实就是在原有b-tree的基础上。增加两条新的规则Branch节点不能直接查到数据后返回,所有数据必须读穿或写穿到leaf节点后才能返回成功子叶节点的最后一个元素是到下一个leaf节点的指针。这样做的原因是,更方便做范围查询,在b+树种,如果要查询20~56.只需要找到20这个起始节点,然后

2020-09-22 18:05:32 805

转载 【PHP7源码学习】剖析PHP数组的有序性

引入案例在 PHP7中,我们往数组中插入元素的顺序,就决定了我们数组遍历元素的顺序。可以说,PHP7中的数组是有序的。这个有序就是指元素插入数组时的顺序,与遍历时顺序的一致性。为了直观地让大家了解到PHP7数组的有序性,请看下面一段PHP代码:<?php$a = [];$a['insert1'] = 'baiyan1';$a['insert2'] = 'baiyan2';$a['insert3'] = 'baiyan3';foreach ($a as $k => $v) {

2020-08-20 14:19:15 1704 1

原创 PHP常用正则表达式整理,验证手机号、邮箱、用户名、密码等

手机号验证<?php//正则表达式$tel = "13012345678";//上面部分判断长度是不是11位if (strlen($tel) == "11") { /*接下来的正则表达式以1开头随后跟着任意的9为数字*/ if (!preg_match("/^1[3456789]\d{9}$/", $tel)) { echo "手机号不正确"; } } else { echo "长度必须是11位";}?> 邮箱验证<?phpif (!pre

2020-08-13 12:13:46 4130

原创 PHP+swoole,websocket实现一个简单聊天室

服务端:server.php<?php$server = new swoole_websocket_server("0.0.0.0", 9502);$server->set(array( 'reactor_num' => 2, 'worker_num' => 4, 'backlog' => 128, 'max_request' => 100, 'max_conn ' => 10000, 'daemonize

2020-07-29 18:28:22 282

原创 nginx的跨域配置

跨域相关的配置,主要是下面这一部分add_header 'Access-Control-Allow-Origin' $http_origin;add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';add_header 'Access-Control-Allow-Headers' 'User-Agent,Origin,Cont

2020-07-27 15:48:26 852

原创 PHP面试经典算法题整理

最近在准备PHP面试。看了几个经典的算法,记录一下约瑟夫环(线性代数)function king($n, $m){ $p = 0;//上一轮出列序号 for ($i = 2; $i <= $n; $i++) { $p = ($p+$m)%$i; } return $p+1;}约瑟夫环(队列)function king($n, $m){ $arr = range(1, $n); $i = 0; while (cou

2020-07-24 14:53:13 350

原创 一些常用linux搜索命令

linux查询一个文件里某个字段出现次数more list | grep -o test.log | wc -lcat list | grep -o test.log | wc -lgrep -o test list.log | wc -l #| wc -l是统计次数如果是多个字符串出现次数,可使用grep -o ‘objStr1\|objStr2' filename|wc -l #直接用\| 链接起来即可查找文件内容grep '2020-02-27 17:5[6,9]' log.l

2020-07-21 17:55:33 135

原创 手把手教你理解Redis五种数据结构的内部编码

redis有五种基本的数据结构,分别是:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合),但这些只是Redis对外的数据结构。实际上每种数据结构都有自己底层的内部编码实现,而且是多种实现,这样Redis会在合适的场景选择合适的内部编码。我们可以通过object encoding命令查询内部编码127.0.0.1:6379> set set:1 helloOK127.0.0.1:6379> object encoding set:1"e

2020-07-17 17:10:11 213

原创 MySQL Explain详解

概述在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。-- 实际SQL,查找用户名为Jefabc的员工SELECT * FROM `co

2020-07-14 12:35:57 177

原创 MySQL的索引类型和实现原理

索引类型Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。1. FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。全文索引并不是和MyISAM一起诞生的,它的出现是为了解决WHERE name LIKE “%word%"这类针对文本的模糊查询效率较低的问题。2. HASH由于HASH

2020-07-01 18:15:12 207

原创 TCP三次握手和四次挥手通俗理解

一、TCP报文格式TCP报文内部包含了哪些东西TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。TCP在发送数据前必须在彼此间建立连接,这里连接意思是:双方需要内保存对方信息(例如:IP,Port…)报文主要段的意思序号:表示发送的数据字节流,确保TCP传输有序,对每个字节编号确认序号:发送方期待接收的下一序列号,接收成功后的数据字节序列号加 1。只有ACK=1时才有效。ACK:确认序号的标志,ACK=1表示确认号有效,ACK=0表示报文不含确认序

2020-06-28 15:23:11 222

原创 PHP性能优化总结

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、row[’id’]的速度是row[’id’] 的速度是row[’id’]的速度是row[id]的7倍。3、注销那些不用的变量尤其是大数组,以便释放内存。4、尽量避免使用__get,__set,__autoload。5、require_once()代价昂贵。6、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。7、如果你.

2020-06-19 15:44:40 196

原创 Laravel --Jobs 消息队列 Queue

一、配置队列的配置文件被保存在 config/queue.php 中。但是Laravel中优先选用.env的配置,在这个文件内你可以找到包含在 Laravel 中的每一种队列驱动连接设置。它们包含了数据库、Beanstalkd、IronMQ、Amazon SQS、Redis 以及提供本机使用的 synchronous 驱动。在/config/queue.php中,需要将connections设置为database二、数据库建表php artisan queue:table //队列任务表

2020-06-18 16:15:30 543

原创 nginx 常见参数以及重定向参数配置

nginx 各参数翻译,作用$arg_PARAMETER #这个变量包含GET请求中,如果有变量PARAMETER时的值。$args #这个变量等于请求行中(GET请求)的参数,例如foo=123&bar=blahblah;$binary_remote_addr #二进制的客户地址。$body_bytes_sent #响应时送出的body字节数数量。即使连接中断,这个数据也...

2020-06-05 11:53:00 997

转载 阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化总结

MySQL优化概述 MySQL数据库常见的两个瓶颈是:CPU和I/O的瓶颈。 CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候。 磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时候那么平瓶颈就会出现在网络上。 我们可以用mpstat, iostat, sar和vmstat来查看系统的性能状态。除了服务器硬件的性能瓶颈,对于MySQL系统本身,我们可以使用工具来优化数据库的性能。 MySQL优化方案 Mysql的优...

2020-06-03 17:13:07 194

空空如也

空空如也

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

TA关注的人

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