自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 php 分布式事务 DTM (TCC模式和Saga模式的区别)

分布式事务 DTM (TCC和Saga的区别)

2022-10-18 13:52:23 1293 1

原创 composer报错composer.json requires PHP extension ext-pcntl * but it is missing from your system

报错:Root composer.json requires PHP extension ext-pcntl * but it is missing from your system. Install or enable PHP’s pcntl extension.解决方法:在composer.json中增加"config": { "preferred-install": "dist", "sort-packages": true, "optimize

2021-12-15 11:03:37 6526

原创 git clone出现 fatal: unable to access ‘https://github.com/...

发生这种情况是因为代理是在git中配置的。既然它是https代理(而不是http)git config http.proxy和git config --global http.proxy也无济于事。解决方式解决方式解决方式把https改为git

2021-09-10 15:12:08 405

原创 linux查看进程 和进程之间的关系[ps -exj pstree]

pstree 命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。语法:pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]pstree -apnh //显示进程间的关系ps -exj //查看进程之间的状态下图中PID(Process ID 进程 ID号)PPID( Parent

2021-09-10 14:47:04 2449

原创 shell 特殊变量

$0:当前脚本的文件名$n:传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$#:传递给脚本或函数的参数个数。$*:传递给脚本或函数的所有参数。$@:传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。$?:上个命令的退出状态,或函数的返回值。$$:当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。...

2021-09-09 17:56:49 112

原创 Linux指令[file readelf strace size ]

file 用来查看文件类型readelf -h 用来查看ELF文件的信息strace 用来查看系统调用size 用来查看ELF文件程序指令,程序数据的大小

2021-09-09 17:54:09 188

原创 算法---Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。例如:A -> 1B -> 2C -> 3…Z -> 26AA -> 27AB -> 28…示例 1:输入:columnNumber = 1输出:“A”示例 2:输入:columnNumber = 28输出:“AB”示例 3:输入:columnNumber = 701输出:“ZY”示例 4:输入:columnNumber = 2147483647输

2021-06-29 15:27:21 190

原创 算法-- 寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0,0], nums

2021-06-28 13:52:43 202

原创 概率 贝叶斯定理

贝叶斯定理最强的地方在于:用得到的结果重复去调用公式,得到的概率结果会不断增加,贝叶斯公式(发表于1763年)为’这就是著名的“贝叶斯定理”,一些文献中把P(A[1])、P(B[2])称为基础概率,P(A│B[1])为击中率,P(A│B[2])为误报率用例:贝叶斯定理在检测吸毒者时很有用。假设一个常规的检测结果的敏感度与可靠度均为99%,也就是说,当被检者吸毒时,每次检测呈阳性(+)的概率为99%。而被检者不吸毒时,每次检测呈阴性(-)的概率为99%。从检测结果的概率来看,检测结果是比较准确的,但

2021-06-25 09:38:46 774

原创 算法--两数之和

function twoSum($nums, $target) { //键值交换 $numberArray = array_flip($nums); foreach($nums as $k=>$v){ //两数相减 $diff = $target-$v; //判断交换过键值的数组中是否定义该差值 避免两个键是同一个 if(isset($numberArray[$diff]) &a.

2021-06-23 10:56:17 123

原创 算法---二进制中1的个数

$n = 00000000000000000000000000001011; $res = 0; while ($n){ $res += $n&1; $n>>=1; //向右位移并赋值 }return $res;

2021-06-23 10:31:18 105

原创 split().reverse().join()

split() 方法用于把一个字符串分割成字符串数组。reverse() 方法用于颠倒数组中元素的顺序。join() 方法用于把数组中的所有元素放入一个字符串。var message = 'Hello'message.split('').reverse().join('')//"olleH"...

2021-06-02 10:18:46 278

原创 ubuntu安装宝塔

一、宝塔面板的系统要求以下是宝塔官网对于 Linux VPS 的系统要求:1、 操作系统要求:全新系统 (支持 CentOS、Ubuntu、Debian、Fedora、Deepin),确保是干净的操作系统,没有安装过其它环境带的 Apache/Nginx/php/MySQL。另外,宝塔 Linux6.0 版本是基于 CentOS7 开发的,强烈建议使用 centos7.x 系统2、内存要求:内存要求最低 512MB,推荐 768MB 以上,纯面板约占系统 60MB 内存二、一键安装宝塔面板教程根据

2021-05-19 21:22:09 11454

转载 redis-cli密码登录操作

1、找到redis-cli目录[root@zabbix ~]# cd /usr/local/redis/bin/2、进入控制台[root@zabbix bin]# ./redis-cli -p 6379127.0.0.1:6379> auth 123456(此处为密码)OK127.0.0.1:6379> select 2OK127.0.0.1:6379[2]>3、验证通过后即可执行相关命令参考:[root@zabbix ~]# cd /usr/local/redis/

2021-04-27 13:33:33 7239

转载 hash索引跟B树索引的区别

Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引也一样,虽然 Hash 索引效率高,但是 Hash 索引本身由于其特殊性也带来了很多限制和弊端,主要有以下这些。(

2021-04-23 19:47:41 260

转载 mysql优化面试题

1.MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。b. 选择合适的表字段数据类型和存储引擎,适当的添加索引。c. mysql库主从读写分离。d. 找规律分表,减少单表中的数据量提高查询速度。e。添加缓存机制,比如memcached,apc等。f. 不经常改动的页面,生成静态页面。g. 书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1

2021-04-21 21:29:10 181

转载 Redis哨兵(Sentinel)模式

一、哨兵模式概述哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。这里的哨兵有两个作用通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。然而一个哨兵进程对Redis服务器进行监控,可能会出现问

2021-04-15 15:40:50 203

转载 布隆过滤器Bloom Filter

布隆过滤器使用场景看下下面几个问题字处理软件中,需要检查一个英语单词是否拼写正确在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上在网络爬虫里,一个网址是否被访问过yahoo, gmail等邮箱垃圾邮件过滤功能以上这些场景有个共同的问题:如何查看一个东西是否在有大量数据的池子里面。布隆过滤器介绍巴顿.布隆于一九七零年提出一个很长的二进制向量 (位数组)一系列随机函数 (哈希)空间效率和查询效率高不会漏判,但是有一定的误判率(哈希表是精确匹配)布隆过滤器原理布隆过滤器(Blo

2021-04-15 14:48:05 167

转载 数据库的四种隔离级别

数据库的四种隔离级别最近在看高性能MYSQL一书,所以对其进行例子分析已巩固自己的印象数据库的事务操作其实就是一组原子性的操作,要么全部操作成功,要么全部操作失败。比如说我需要对外销售1张电影票,且登记一下销售信息到另一个表,至少需要以下3个步骤1.查询电影票数量是否满足销售1张电影票 SELECT remain_count FROM cinema WHERE film_id = 123456789;2.更新电影票数量 UPDATE remain_count = remain_count -1 F

2021-04-15 13:51:09 226

原创 数据库ACID

ACIDACID其实是单词的首字母的缩写事务具有4个特征,分别是原子性、一致性、隔离性和持久性,简称事务的ACID特性;’原子性(atomicity) 一致性(consistency) 隔离性(isolation)持久性(durability)一、原子性(atomicity)一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性二、一致性(consistency)事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处于一

2021-04-15 13:42:16 129

原创 聚集索引与非聚集索引的总结

一.索引简介索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+树以及Hash结构,聚集索引以及非聚集索引用的是B+树索引。这篇文章会总结SQL Server以及MySQL的InnoDB和MyISAM两种SQL的索引。SQL Sever索引类型有:唯一索引,主键索引,聚集索引,非聚集索引。MySQL 索引类型有:唯一索引,主键(聚集)索引,非聚集索引,全文索引。二.聚集索引聚集(clustered)索引,也叫聚簇索引。定义:数据行的物理顺序与列值(一般是

2021-04-15 13:15:27 118

原创 linux查看端口占用情况

netstat -anp | grep 80058005 端口号

2021-03-31 09:16:44 90

原创 php 多维数组合并为一维数组 任意维度的数组转换成一维数组。

array_walk_recursive()$result = [];array_walk_recursive($user, function($value) use (&$result) { array_push($result, $value);});$user—需要降维的多维数组

2021-03-24 15:12:47 280

原创 Redis Setex

Redis SetexRedis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。redis 127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE

2021-03-01 16:17:40 597

原创 Redis

redis Sismemberredis 127.0.0.1:6379> SISMEMBER KEY VALUE 如果成员元素是集合的成员,返回 1 。 如果成员元素不是集合的成员,或 key 不存在,返回 0 。

2021-03-01 10:01:42 85

原创 composer.json文件autoload files

composer.json文件autoload files中引入自定义的文件例如function.php 写法如下2.执行composer du -o 即可重新加载composer

2021-01-20 13:56:19 840

原创 http状态码

1** 信息,服务器收到请求,需要请求者继续执行操作2** 成功,操作被成功接收并处理3** 重定向,需要进一步的操作以完成请求4** 客户端错误,请求包含语法错误或无法完成请求5** 服务器错误,服务器在处理请求的过程中发生了错误100 Continue 继续。客户端应继续其请求101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议200 OK 请求成功。一般用于GET与POST请求201 Crea

2021-01-12 09:34:32 105

原创 hyperf 使用redis

use Hyperf\Redis\Redis;use Hyperf\Utils\ApplicationContext;class test{ private $redis; public function test(){ $container = ApplicationContext::getContainer(); $this->redis = $container->get(Redis::class); $this->redis-&gt

2021-01-07 17:01:20 1127

转载 nginx中的的ip_hash机制

1.采用nginx中的的ip_hash机制Nginx中的ip_hash技术能够将某个ip 的请求定向到同一台后端web机器中,这样一来这个ip 下的客户端和某个后端 web机器就能建立起稳固的session.ip_hash机制能够让某一客户机在相当长的一段时间内只访问固定的后端的某台真实的web服务器,这样会话就会得以保持,在网站页面进行login的时候就不会在后面的web服务器之间跳来跳去了...

2021-01-05 14:30:05 761

转载 vue

  Vue (读音 /vjuː/,类似于 View) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支...

2020-12-29 10:40:23 156

原创 public $timestamps = false; 红色报错 波浪线

ide升级之后 public $timestamps = false; 报错,有红色波浪线报错原因 :这个属性是 trait HasTimestamps 中的一个属性,Model 引入了。一旦多个 trait 或者 class 有相同属性但值不相同 PHP 均会报出致命错误目前本人想到的解决办法如果有更好的请留言 谢谢...

2020-12-28 09:57:56 660 1

转载 php 和腾讯直播

不要想太多,直播和你(php)没啥关系、帮忙配置一下推拉流地址和License、然后生成一下推拉流地址详细链接就好了但是,像是送礼物,弹幕自己写长连接或调用im。家族,充币等都是逻辑问题,这里就不说了下面第一步 配置推拉流地址bizidappkey第二步:生成地址if (!function_exists('create_live')) { function create_live($user_id = 0) { $live_bizid = Conf

2020-12-25 08:36:38 179

转载 TCP UDP的区别

文章目录 前言1. UDP2. TCP2.1 TCP 的三次握手2.2 TCP 四次挥手2.3 累计确认2.4 顺序问题和丢包问题2.5 流量控制的问题2.6 拥塞控制的问题 总结及面试问题 前言 前端的面试中经常问的 TCP 和 UDP 的区别,网上也有好多内容,比如 TCP 和 UDP 的区别 TCP 是面向连接的,UDP 是面向无连接的UDP程序结构较简单TCP 是面向字节流的,UDP 是基于数据报的TCP 保证数据正确性,UDP 可能丢包TCP 保证数据顺序,U..

2020-12-24 13:13:26 200

原创 TCP和UDP的区别

1、连接方bai面区别TCP面向连接(如打电话要先拨号建立连接)。UDP是无连接的,即发送数据之前不需要建立连接。2、安全方面的区别TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。UDP尽最大努力交付,即不保证可靠交付。3、传输效率的区别TCP传输效率相对较低。UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。4、连接对象数量的区别TCP连接只能是点到点、一对一的。UDP支持一对一,一对多,多对一和多对多的交互通信。...

2020-12-24 11:31:58 118

原创 算法之----雪花算法 php

分布式生成自增id<?phpnamespace App;class SnowFlake{ //开始时间,固定一个小于当前时间的毫秒数即可 const twepoch = 1474992000000;//2016/9/28 0:0:0 //机器标识占的位数 const workerIdBits = 10; //毫秒内自增数点的位数 const sequenceBits = 12; prote

2020-12-24 09:22:43 231

原创 php hyperf 生成二维码QRcode

1.github地址 :https://github.com/chillerlan/php-qrcode2.composer 安装composer require chillerlan/php-qrcode3.方法use chillerlan\QRCode\QRCode;//简单用法$qcCode = new QRCode();//$data 为二维码中要存的数据return $qrCode->render($data);//高级用法$options = new QROp

2020-12-22 09:02:47 861

转载 面试之TCP/IP

开场朋友约的是十点半的面试,提前了十分钟到,然后安静地坐在沙发等待,顺便回忆下之前看的资料。快到十点半时,一个高瘦,穿着格子衫的男子推开门而进,说了句“你好,我们来开始面试吧!”,朋友不失礼貌地笑着回了句“行”面试官:看你简历说精通TCP和IP,那我们来讨论下网络模型和TCP、IP协议,讲下你的理解先朋友(怎么一上来就问TCP,不按套路出牌啊,不该问问java基础吗?不过常规题,我还行)朋友:网络模型一般分七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。应用层的协议包括H

2020-12-21 13:47:24 410

转载 浅谈IOC--说清楚IOC是什么

浅谈IOC–说清楚IOC是什么1.IOC的理论背景2.什么是IOC3.IOC也叫依赖注入(DI)4.IOC的优缺点5.IOC容器的技术剖析6.IOC容器的一些产品7.参考博文本文旨在用语言(非代码)说清楚IOC到底是什么,没有什么高深的技术,园中的老牛、大虾们看到这里可以绕行了,以免浪费您宝贵的时间。IOC这个东西DebugLZQ早就想写了,但是出于对文章权威性的考虑(不能误人子弟- -!),本文主要内容来源于最近LZ看的一些国内外的关于IOC的博文、博问,所有引用到的文章,在参考博文中均已

2020-12-18 13:56:36 158

转载 Vue学习

Vue学习看这篇就够 原文链接: segmentfault.com Vue -渐进式JavaScript框架介绍 vue 中文网 vue github Vue.js 是一套构建用户界面(UI)的渐进式JavaScript框架库和框架的区别 我们所说的前端框架与库的区别?Library库,本质上是一些函数的...

2020-12-18 13:13:35 589

原创 Linux查看和编辑文件

Linux查看和编辑文件例如,要想test.txt文件添加内容"I am a boy",test.txt在当前目录中方法一:vi编辑法打开终端,输入vi test.txt 回车,按a或i进入编辑模式,输入 I am a boy,然后按esc键退出编辑模式,输入:wq保存并退出。方法二:echo命令法打开终端,输入echo ‘I am a boy’ >> ./test.txt注:追加单行文本法方法三:cat命令法cat >> ./test.txt <<EOF

2020-12-17 11:47:16 170

Snipaste截屏.rar

Snipaste截屏.rar

2021-09-26

空空如也

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

TA关注的人

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