<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Kobe__Bryant__的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Kobe__Bryant__</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Kobe__Bryant__]]></copyright><item><title><![CDATA[php 分布式事务 DTM (TCC模式和Saga模式的区别)]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/127386723</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/127386723</guid><author>Kobe__Bryant__</author><pubDate>Tue, 18 Oct 2022 13:52:23 +0800</pubDate><description><![CDATA[分布式事务 DTM (TCC和Saga的区别)]]></description><category></category></item><item><title><![CDATA[composer报错composer.json requires PHP extension ext-pcntl * but it is missing from your system]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/121947707</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/121947707</guid><author>Kobe__Bryant__</author><pubDate>Wed, 15 Dec 2021 11:03:37 +0800</pubDate><description><![CDATA[报错:
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]]></description><category></category></item><item><title><![CDATA[git clone出现 fatal: unable to access ‘https://github.com/...]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/120222573</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/120222573</guid><author>Kobe__Bryant__</author><pubDate>Fri, 10 Sep 2021 15:12:08 +0800</pubDate><description><![CDATA[发生这种情况是因为代理是在git中配置的。既然它是https代理（而不是http）git config http.proxy和git config --global http.proxy也无济于事。
解决方式
解决方式
解决方式
把https改为git


]]></description><category></category></item><item><title><![CDATA[linux查看进程 和进程之间的关系[ps -exj pstree]]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/120220117</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/120220117</guid><author>Kobe__Bryant__</author><pubDate>Fri, 10 Sep 2021 14:47:04 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[shell 特殊变量]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/120206603</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/120206603</guid><author>Kobe__Bryant__</author><pubDate>Thu, 09 Sep 2021 17:56:49 +0800</pubDate><description><![CDATA[$0：当前脚本的文件名

$n：传递给脚本或函数的参数。n 是一个数字，表示第几个参数。例如，第一个参数是$1，第二个参数是$2。

$#：传递给脚本或函数的参数个数。

$*：传递给脚本或函数的所有参数。

$@：传递给脚本或函数的所有参数。被双引号(" ")包含时，与 $* 稍有不同，下面将会讲到。

$?：上个命令的退出状态，或函数的返回值。

$$：当前Shell进程ID。对于 Shell 脚本，就是这些脚本所在的进程ID。


...]]></description><category></category></item><item><title><![CDATA[Linux指令[file readelf strace size ]]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/120206408</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/120206408</guid><author>Kobe__Bryant__</author><pubDate>Thu, 09 Sep 2021 17:54:09 +0800</pubDate><description><![CDATA[file 用来查看文件类型

readelf -h 用来查看ELF文件的信息

strace 用来查看系统调用

size 用来查看ELF文件程序指令,程序数据的大小


]]></description><category></category></item><item><title><![CDATA[算法---Excel表列名称]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118336251</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118336251</guid><author>Kobe__Bryant__</author><pubDate>Tue, 29 Jun 2021 15:27:21 +0800</pubDate><description><![CDATA[给你一个整数 columnNumber ，返回它在 Excel 表中相对应的列名称。
例如：
A -&gt; 1
B -&gt; 2
C -&gt; 3
…
Z -&gt; 26
AA -&gt; 27
AB -&gt; 28
…
示例 1：
输入：columnNumber = 1
输出：“A”
示例 2：
输入：columnNumber = 28
输出：“AB”
示例 3：
输入：columnNumber = 701
输出：“ZY”
示例 4：
输入：columnNumber = 2147483647
输]]></description><category></category></item><item><title><![CDATA[算法-- 寻找两个正序数组的中位数]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118301537</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118301537</guid><author>Kobe__Bryant__</author><pubDate>Mon, 28 Jun 2021 13:52:43 +0800</pubDate><description><![CDATA[给定两个大小分别为 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]]></description><category></category></item><item><title><![CDATA[概率 贝叶斯定理]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118209646</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118209646</guid><author>Kobe__Bryant__</author><pubDate>Fri, 25 Jun 2021 09:38:46 +0800</pubDate><description><![CDATA[贝叶斯定理最强的地方在于:用得到的结果重复去调用公式,得到的概率结果会不断增加,
贝叶斯公式（发表于1763年）为’

这就是著名的“贝叶斯定理”，一些文献中把P(A[1])、P(B[2])称为基础概率，P(A│B[1])为击中率，P(A│B[2])为误报率
用例:
贝叶斯定理在检测吸毒者时很有用。假设一个常规的检测结果的敏感度与可靠度均为99%，也就是说，当被检者吸毒时，每次检测呈阳性（+）的概率为99%。而被检者不吸毒时，每次检测呈阴性（-）的概率为99%。从检测结果的概率来看，检测结果是比较准确的，但]]></description><category></category></item><item><title><![CDATA[算法--两数之和]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118147013</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118147013</guid><author>Kobe__Bryant__</author><pubDate>Wed, 23 Jun 2021 10:56:17 +0800</pubDate><description><![CDATA[function twoSum($nums, $target) {
 //键值交换
        $numberArray = array_flip($nums);
        foreach($nums as $k=&gt;$v){
        //两数相减
           $diff =  $target-$v;
           //判断交换过键值的数组中是否定义该差值   避免两个键是同一个
           if(isset($numberArray[$diff]) &a.]]></description><category></category></item><item><title><![CDATA[算法---二进制中1的个数]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118145806</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/118145806</guid><author>Kobe__Bryant__</author><pubDate>Wed, 23 Jun 2021 10:31:18 +0800</pubDate><description><![CDATA[$n = 00000000000000000000000000001011;
        $res = 0;
        while ($n){
            $res += $n&amp;1; 
            $n&gt;&gt;=1; //向右位移并赋值
        }
return $res;


]]></description><category></category></item><item><title><![CDATA[split().reverse().join()]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/117461695</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/117461695</guid><author>Kobe__Bryant__</author><pubDate>Wed, 02 Jun 2021 10:18:46 +0800</pubDate><description><![CDATA[split() 方法用于把一个字符串分割成字符串数组。
reverse() 方法用于颠倒数组中元素的顺序。
join() 方法用于把数组中的所有元素放入一个字符串。
var message = 'Hello'
message.split('').reverse().join('')//"olleH"


...]]></description><category></category></item><item><title><![CDATA[ubuntu安装宝塔]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/117046770</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/117046770</guid><author>Kobe__Bryant__</author><pubDate>Wed, 19 May 2021 21:22:09 +0800</pubDate><description><![CDATA[一、宝塔面板的系统要求
以下是宝塔官网对于 Linux VPS 的系统要求：
1、 操作系统要求：全新系统 (支持 CentOS、Ubuntu、Debian、Fedora、Deepin)，确保是干净的操作系统，没有安装过其它环境带的 Apache/Nginx/php/MySQL。另外，宝塔 Linux6.0 版本是基于 CentOS7 开发的，强烈建议使用 centos7.x 系统
2、内存要求：内存要求最低 512MB，推荐 768MB 以上，纯面板约占系统 60MB 内存
二、一键安装宝塔面板教程
根据]]></description><category></category></item><item><title><![CDATA[redis-cli密码登录操作]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/116199025</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/116199025</guid><author>Kobe__Bryant__</author><pubDate>Tue, 27 Apr 2021 13:33:33 +0800</pubDate><description><![CDATA[1、找到redis-cli目录
[root@zabbix ~]# cd /usr/local/redis/bin/
2、进入控制台
[root@zabbix bin]# ./redis-cli -p 6379
127.0.0.1:6379&gt; auth 123456(此处为密码)
OK
127.0.0.1:6379&gt; select 2
OK
127.0.0.1:6379[2]&gt;
3、验证通过后即可执行相关命令
参考：
[root@zabbix ~]# cd /usr/local/redis/]]></description><category></category></item><item><title><![CDATA[hash索引跟B树索引的区别]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/116068758</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/116068758</guid><author>Kobe__Bryant__</author><pubDate>Fri, 23 Apr 2021 19:47:41 +0800</pubDate><description><![CDATA[Hash 索引结构的特殊性，其检索效率非常高，索引的检索可以一次定位，不像B-Tree 索引需要从根节点到枝节点，最后才能访问到页节点这样多次的IO访问，所以 Hash 索引的查询效率要远高于 B-Tree 索引。
可能很多人又有疑问了，既然 Hash 索引的效率要比 B-Tree 高很多，为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢？任何事物都是有两面性的，Hash 索引也一样，虽然 Hash 索引效率高，但是 Hash 索引本身由于其特殊性也带来了很多限制和弊端，主要有以下这些。
（]]></description><category></category></item><item><title><![CDATA[mysql优化面试题]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115979968</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115979968</guid><author>Kobe__Bryant__</author><pubDate>Wed, 21 Apr 2021 21:29:10 +0800</pubDate><description><![CDATA[1.MySQL数据库作发布系统的存储，一天五万条以上的增量，预计运维三年,怎么优化？
a. 设计良好的数据库结构，允许部分数据冗余，尽量避免join查询，提高效率。
b. 选择合适的表字段数据类型和存储引擎，适当的添加索引。
c. mysql库主从读写分离。
d. 找规律分表，减少单表中的数据量提高查询速度。
e。添加缓存机制，比如memcached，apc等。
f. 不经常改动的页面，生成静态页面。
g. 书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1]]></description><category></category></item><item><title><![CDATA[Redis哨兵（Sentinel）模式]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115726881</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115726881</guid><author>Kobe__Bryant__</author><pubDate>Thu, 15 Apr 2021 15:40:50 +0800</pubDate><description><![CDATA[一、哨兵模式概述
哨兵模式是一种特殊的模式，首先Redis提供了哨兵的命令，哨兵是一个独立的进程，作为进程，它会独立运行。其原理是哨兵通过发送命令，等待Redis服务器响应，从而监控运行的多个Redis实例。

这里的哨兵有两个作用

通过发送命令，让Redis服务器返回监控其运行状态，包括主服务器和从服务器。
当哨兵监测到master宕机，会自动将slave切换成master，然后通过发布订阅模式通知其他的从服务器，修改配置文件，让它们切换主机。

然而一个哨兵进程对Redis服务器进行监控，可能会出现问]]></description><category></category></item><item><title><![CDATA[布隆过滤器Bloom Filter]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115724123</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115724123</guid><author>Kobe__Bryant__</author><pubDate>Thu, 15 Apr 2021 14:48:05 +0800</pubDate><description><![CDATA[布隆过滤器使用场景
看下下面几个问题

字处理软件中，需要检查一个英语单词是否拼写正确
在 FBI，一个嫌疑人的名字是否已经在嫌疑名单上
在网络爬虫里，一个网址是否被访问过
yahoo, gmail等邮箱垃圾邮件过滤功能
以上这些场景有个共同的问题：如何查看一个东西是否在有大量数据的池子里面。

布隆过滤器介绍

巴顿.布隆于一九七零年提出
一个很长的二进制向量 （位数组）
一系列随机函数 (哈希)
空间效率和查询效率高
不会漏判，但是有一定的误判率（哈希表是精确匹配）

布隆过滤器原理
布隆过滤器（Blo]]></description><category></category></item><item><title><![CDATA[数据库的四种隔离级别]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115721807</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115721807</guid><author>Kobe__Bryant__</author><pubDate>Thu, 15 Apr 2021 13:51:09 +0800</pubDate><description><![CDATA[数据库的四种隔离级别
最近在看高性能MYSQL一书，所以对其进行例子分析已巩固自己的印象
数据库的事务操作其实就是一组原子性的操作，要么全部操作成功，要么全部操作失败。
比如说我需要对外销售1张电影票，且登记一下销售信息到另一个表，至少需要以下3个步骤
1.查询电影票数量是否满足销售1张电影票 SELECT remain_count FROM cinema WHERE film_id = 123456789;
2.更新电影票数量 UPDATE remain_count = remain_count -1 F]]></description><category></category></item><item><title><![CDATA[数据库ACID]]></title><link>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115721665</link><guid>https://blog.youkuaiyun.com/Kobe__Bryant__/article/details/115721665</guid><author>Kobe__Bryant__</author><pubDate>Thu, 15 Apr 2021 13:42:16 +0800</pubDate><description><![CDATA[ACID
ACID其实是单词的首字母的缩写
事务具有4个特征，分别是原子性、一致性、隔离性和持久性，简称事务的ACID特性；’
原子性（atomicity) 一致性（consistency) 隔离性（isolation）持久性（durability）

一、原子性（atomicity)
一个事务要么全部提交成功，要么全部失败回滚，不能只执行其中的一部分操作，这就是事务的原子性
二、一致性（consistency)
事务的执行不能破坏数据库数据的完整性和一致性，一个事务在执行之前和执行之后，数据库都必须处于一]]></description><category></category></item></channel></rss>