自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

越过大西洋的博客

专注成长,热爱分享

  • 博客(20)
  • 收藏
  • 关注

原创 TiDB PDO::lastInsertId() 返回负数字符串

PDO::lastInsertId() 溢出参考文档:MySQL 手册 last_insert_id() 方法PHP PDO::lastInsertId()背景及环境TiDB 集群环境 tiup playgrand v4.0.0 --db 2 -pd 3 --kv 3 --monitorPHP 版本 7.2使用 pdo_mysql 连接 TiDBTIDB 表结构create table foo ( `id` bigint(20) unsigned auto_random(5), `

2021-03-26 22:33:46 356

原创 2019 学习总结

时间过得很快,转眼已经进入毕业的第三年了。这一年花了大半年的时间专注于自己的成长,用零碎的时间渐渐地也养成了一个学习的习惯,这应该是最大的收获了受益颇多的几句话尝试花 5 分钟开始一件事,会觉得没有想象中那么困难主动思考的过程很重要别人说的不一定是对的,要保持怀疑的态度好习惯,是坚持出来的专业知识总结数据结构算法算法复杂度分析最好情况时间复杂度最坏情况时间复杂度平均情...

2020-01-01 20:46:00 274

原创 Linux 下 Inode 被 Vim 修改

Linux 下 Inode 被 Vim 修改问题来源在本地开发项目的时候,docker 容器中运行的某个服务依赖外部宿主机挂在的配置文件 config.ini,当我在宿主机上使用 vim 编辑文件之后,向容器中的进程发送重载信号,进程日志中可以看见进程已经收到信号并进行了文件重载操作,但实际上外部配置的 config.ini 文件没有生效排查容器中的配置文件内容还是原来的,没有更新,所以即...

2019-12-14 13:53:06 1120

原创 当我们说 UTF-8 和 Unicode 的时候到底在说什么?

本文参考:字符编码笔记:ASCII,Unicode 和 UTF-8这个问题的来源于最近 Python 语言的学习中。在 Python3 中,使用 Unicode 对字符串进行编码,这使 Python3 成为一个多语言的语言。同样的,在 Python 中,支持 ord(), chr() 这样的函数对字符串和字符串的 ASCII 十进制值。在实际的运用过程中,PHP 也包含类似的函数,但是对相...

2019-12-07 17:55:26 167

原创 第三方支付同步和异步回调并发下数据一致性的问题

第三方支付同步和异步回调并发数据一致性的问题在第三方交易系统中的支付场景下,一般的步骤是,用户在系统产生订单,支付系统向第三方发起支付请求创建支付订单,用户跳转至第三方系统进行支付,支付完成后会产生 同步回调 和 异步回调。系统一般根据 第三方异步回调 来确认本次交易结果特殊业务场景由于目前存在特殊的业务场景,本次交易结果必须依赖前端的 同步回调 请求来决定用户是否能进入下一步的产品交付场景...

2019-11-30 16:15:36 3477

原创 PHP 多进程下使用 PDO 丢失连接的问题

PHP 多进程加 PDO 丢失连接PHP 的 pcntl 扩展实现了 PHP cli 模式下的多进程,但如果父进程创建或使用的对象,如果被子进程拿到可能会造成一些误导和错误PDO在使用 PDO 对 Mysql 进行操作的时候,如果在父进程实例化的 pdo 对象,在子类中继续使用,那么可能会造成 PHP warning 的警告,导致无法使用 pdo 对象对 mysql 进行操作,下面的代码可以...

2019-09-22 21:30:59 436

原创 数据结构算法 - 栈

数据结构算法 - 栈栈 是一种操作受限的 线性表,在我们平时的日常生活中,可以看到许多与之相似的场景。比 如一层一层叠起来的盘子,我们网上叠的时候,是一个个一个向上叠加,我们在取的时候,也是从最上面一个一个拿走。不能从中间直接抽取这种满足 先进者后出,后进者先出 的就是 栈 结构因为只允许在 一端 插入和删除,所以这是一种操作受限的 线性表在某些特定场景下,我们需要的这种数据结构只涉及在 ...

2019-09-15 22:06:12 841

原创 MySQL 事务 - 多版本并发控制(MVCC)的实现

在 Mysql 的 `读提交,可重复读` 隔离级别下,Mysql 内部是通过一致性 `视图` 来实现事务的并发控制的,也是数据库系统中所描述的 `多版本并发控制 (Multi-Version Concurrency Control)`

2019-09-08 21:29:50 286

原创 数据结构算法 - 线性表的实现

数组 是线性表数据结构中 顺序存储 的具体实现。用一组 连续 的内存空间,存储 相同类型 的数据链表 是线性表数据结构中 链式存储的具体实现。用 节点 的 指针 把各个节点串联在一起数组的基本操作在指定位置插入元素删除指定元素查找值等于给定值的元素查找数组小标为 index 的元素根据 线性表 顺序存储的数据结构特征,我们可以知道,数组的 插入、删除 时间复杂度为 O(n),因为...

2019-09-01 17:23:34 143

原创 数据库系统 - 事务

事务事务是关系型数据库中的一个概念,为了保证一系列操作的原子性。简单来说,比如一个转账操作,需要将你的账户口减掉,然后给对方账户加上对应的值,如果这两个操作不是原子的,就可能出现你的账户扣减了,但是对方账户没有加上对应值或者你的账户并没有扣减,但是对方的账户却已经加上了对应值。总的来说,事务是满足 ACID 特性的一组操作,可以通过 commit 提交一个事务,也可以通过 rollback 进...

2019-08-25 13:21:21 356

原创 数据结构和算法 - 线性表

数据结构和算法 - 线性表线性表 是一种基础的数据结构,顾名思义,线性表具有类似 线 一样的性质。先给出一个定义:线性表是零个或者多个多个数据元素的 有限 序列线性表的抽象数据类型由线性表的定义,我们可以知道,对于一个线性表而言,长度是给定的,而且可以对线性表中的数据进行 插入和删除 操作线性表的抽象数据类型定义:ADT 线性表DataOperation InitList(*L):...

2019-08-18 15:12:57 238

原创 PHP 多进程与进程间通信

PHP 多进程与进程间通信 (Inter-Process Communication)参考文章:PHP 的多进程-IPC 之共享内存由于业务需要,常常会遇到大量的数据需求,特别是在业务有分库分表或是单表含有大量数据的时候,整体的数据需求又需要扫描全量数据,使用 PHP 单进程虽然能达到目标但是耗费的时间太长,这时候可能需要用到多进程以及进程间通信来满足需求PHP 如何实现多进程pcntl...

2019-08-11 15:19:48 986

原创 算法的时间复杂度

参考文章:数据结构算法之美由于算法的设计常常需要我们特别的关注算法的执行时间,所以,我们需要一些方法来估算算法的执行效率。事后统计法事后统计法主要在算法完成之后,在以来测试环境和数据的情况下,对算法的效率进行测试,根据算法在不同数据量级下的执行效率来评估算法的总体效率事后统计法存在很多的局限性:测试结果非常依赖测试环境测试结果受数据规模的影响很大测试数据的设计非常困难由于事后统...

2019-08-04 21:52:14 345

原创 MySQL 索引

Mysql 索引索引的概念索引的数据模型InnoDB 中的索引索引的概念索引,是为了提高数据库查询效率的产物。它可以由多种数据结构实现索引常见的数据模型哈希表哈希表是一种以 key - value 键值对存储的数据结构,通过输入 key 找到其对应的 value 值。优点:因为数据无序,新增的时候不需要维护有序性,所以直接在尾部追加数据即可。新增数据的时间复杂度是 O(...

2019-08-04 15:26:58 83

原创 MySQL 的 binlog 和 redolog

Mysql 的 binlog 和 redolog在 Mysql 中,有两个重要的日志,binlog 和 redolog。在数据恢复和备份上起着重要的作用。binlogbinlog 是 Mysql 中 server 层的数据记录日志,它记录了所有数据的逻辑操作。例如:” id = 2 的行 a 字段从 1 变成了 2 “,这样的记录。并且数据是以追加的形式存储在磁盘上的。redologre...

2019-07-14 21:45:06 414

原创 计算机网络 | 01 OSI 七层模型

最开始互联网个大厂商使用各自的私有协议,阻碍了网络的发展,限制了不同设备之间的设备通信。所以开发了公共标准协议,就像 PC 的 win-inter 架构OSI 七层模型定义了整个互联网的基本功能(1984年正式提出)是目前公认计算机通信和 internet 网络通信的基本结构如今使用的 TCP/IP 协议都是基于 OSI 的分层物理层数据链路层网络层传输层会话层表示层...

2018-11-12 17:14:37 185

原创 阿里云Ubuntu16.04配置Let's encrypt通配符证书

阿里云Ubuntu16.04配置Let’s encrypt通配符证书参考文章: 快速配置Let’s encrypt通配符证书 pip 10.0.0 BUG 解决方案 解决python2.7 - pip wheel failed with error code 2 问题letencrypt 是目前免费颁发 ssl 证书的机构,通过 certbot 客户端可以快速申请 90 天免费的证书...

2018-07-12 15:14:22 1505

原创 内网搭建gitlab服务

内网gitlab服务 Gitlab官网 centos6.5 SMTP邮件配置 HTTPS配置 gitlab搭建过程 gitlab搭建 内网

2017-12-21 09:52:06 3647

原创 Linux下搭建PHP开发环境

Linux下搭建PHP开发环境php开发环境php编译安装nginx安装pfp-fpm安装

2017-10-20 09:39:35 2785

原创 Linux下安装php扩展

Linux下安装php扩展php扩展安装

2017-10-19 10:25:47 567

空空如也

空空如也

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

TA关注的人

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