随笔分类 - 后端技术
后端技术
摘要:一、背景 俗话说:"工欲善其事,必先利其器"。作为一门程序员,我们在工作中,经常需要调试某一片段的代码,但是又不想打开繁重的 IDE (代码编辑器)。使用在线工具调试代码有时有苦于网速太渣,运行结果迟迟出不来。在这种情况下,我们就需要一个离线版的代码调试神奇了,所以我今天就介绍一款 PHP 代码调试
阅读全文
摘要:PHP 中一个 False 引发的问题,差点让公司损失一百万 一、场景描述 上周我一个在金融公司的同学,他在线上写一个 ,差点造成公司损失百万。幸好他及时发现了这个问题并修复了。这是一个由 PHP 中的 empty 引发的问题。他使用 函数判断值为 的参数。按照他的正常逻辑理解,下面这段代码会输出
阅读全文
摘要:Composer 的自动加载机制 提供了四种自动加载方式,分别是 、`PSR 4 classmap files`。 PSR 0 方式 方式要求目录名和命名空间层层对应,这样导致目录结构会很深,现在已经被官方废弃了。 但是,因为现在的主流 框架都已经实现了 方式,所以 仍然向下兼容。按照 的规则,当加
阅读全文
摘要:Python 数据分析:Pandas 缺省值的判断 背景 我们从数据库中取出数据存入 Pandas None 转换成 NaN 或 NaT。但是,我们将 Pandas 数据写入数据库时又需要转换成 None,不然就会报错。因此,我们就需要处理 Pandas 的缺省值。 样本数据 判断缺省值 如果 是缺
阅读全文
摘要:手摸手教你如何在 Python 编码中做到小细节大优化 在列表里计数 过滤一个列表 使用异常检查属性 检查列表元素 列表去重 列表排序 将迭代循环放入函数 检查是否为 True 检查列表是否为空 生成一个 list 或 dict 链式比较 拼接字符列表 格式化字符 过滤列表 过滤字典 条件判断 em
阅读全文
摘要:如何在 中优雅的实现 连接池 一、为什么需要连接池 ? 数据库连接池指的是程序和数据库之间保持一定数量的连接不断开, 并且各个请求的连接可以相互复用, 减少重复连接数据库带来的资源消耗, 一定程度上提高了程序的并发性能。 二、连接池实现要点 协程:使用 MySQL 协程客户端。 使用 MySQL 协
阅读全文
摘要:数据分析:让你像写 语句一样,使用 做数据分析 一、加载数据 Output: 二、SELECT 的使用方式 sql 语句: 。 Output: 三、WHERE 的使用方式 1. 举个栗子 sql 语句: Output: 2. 比较运算符:等于 、 大于 、 大于等于 、小于等于 `` sql 语句:
阅读全文
摘要:如何连接并操作 上 级云数据仓库 一、简介 Amazon Redshift 是一个快速、可扩展的数据仓库,可以简单、经济高效地分析数据仓库和数据湖中的所有数据。 Redshift 通过在高性能磁盘上使用 Machine Learning、大规模并行查询执行和列式存储可提供比其他数据仓库快十倍的性能。
阅读全文
摘要:协程 客户端与 异步回调 客户端的对比 为什么要对比这两种不同模式的客户端? 异步 MySQL 回调客户端是虽然在 Swoole 1.8.6 版本就已经发布了, 但是异步回调的层层嵌套,让编码变得很别扭。 如今 Swoole 4.3 版本都已经发布了,并且已经支持协程化的 MySQL 客户端, 这意
阅读全文
摘要:首发原文链接: https://mp.weixin.qq.com/s/2FrRyST3o7h6IN9zjZMKjw Swoole 协程与 Go 协程的区别 进程、线程、协程的概念 进程是什么? 进程就是应用程序的启动实例。 例如:打开一个软件,就是开启了一个进程。 进程拥有代码和打开的文件资源,数据
阅读全文
摘要:Protobuf 文件生成工具 Prototool 命令详解 简介 Prototool 是 Protobuf 文件的生成工具, 目前支持go, php, java, c , object c 五种语言包的生成. 详情参考Github: https://github.com/uber/prototoo
阅读全文
摘要:查看扩展信息的命令 这里以查看 扩展信息为例。
阅读全文
摘要:函数追踪扩展 介绍 是一个低开销的用于跟踪、分析 运行情况的工具。 它可以跟踪 在运行时的函数调用、请求信息、执行流程、并且提供有过滤器、统计信息、当前状态等实用功能。 在任何环境下,它都能很好的定位阻塞的问题以及在高负载下进行 。 官方源码:https://github.com/Qihoo360/
阅读全文
摘要:名词解释 : 与 服务器连接的管理器。 : 与 服务器的连接。 : 与 的连接。 : 接收生产者的消息,并根据消息的 和 绑定的 分配消息。 : 存储消费者的消息。 : 指定当前消息被谁接收。 : 指定当前 下,什么样的 会被下派到当前绑定的 中。 方法详解 如果 且 时,调用这个回调方法。 交换器
阅读全文
摘要:网上很多写法都是 这样的。(这里是基于python=3.6版本, pika=0.13.0 版本) 抛出异常 应该把: 改成
阅读全文
摘要:包名 | 链接地址 | 备注 | | Machinery异步队列 | https://github.com/RichardKnop/machinery | Mqtt通信 | github.com/eclipse/paho.mqtt.golang | go文档http://www.eclipse.or
阅读全文
摘要:Laradock使用教程 背景 最近我们公司把开发环境从windows系统换到了Ubuntu系统。用windows系统的时候,我们一般用phpStudy集成环境的比较多。换到Linux环境下,我们选择了Laradock。Laradock是依赖于docker的,docker用来隔离开发环境是最好不过的
阅读全文
摘要:PHP中抽象类与接口的区别 抽象类 概念 定义为抽象的类不能被实例化。任何一个类,如果有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的类。 继承一个抽象类的时候,子类必须定义父类中的所有抽象方法,这些方法的访问控制必须喝父类中一样或者更为宽松。 例如,某个抽象方法被声明为 ,那么子类中的实
阅读全文
摘要:查询构造器 介绍 这个数据库查询构造器,提供便利的接口可以创建和执行查询操作,可以在大多数数据库中使用。 查询 操作 查询表中所有的数据。 分片查询表中的数据 查询表中的某一条数据 查询某一行的某一列数据 查询某一列的数据 这个方法返回一个list,如果在加一个参数将返回一个字典。 指定一个 语句
阅读全文
摘要:基本使用 配置 设置数据库配置参数,创建一个DatabaseManager实例。 如果多个不同的数据库,你可以指定默认的一个。 配置读写分离数据库 有的情况下我们需要配置读写分离数据库,一个数据库用来查询,另一个数据库用来插入、更新和删除。Orator可以很容易的实现。 需要注意:这里配置了read
阅读全文

浙公网安备 33010602011771号