Lei Xia

Sr. Software Engineer | Solution Architect

抒写代码,尽享生活,筑就未来。

订阅 · 赞赏

avatar

druid SQL监控不显示问题

2019年7月8日 · 80 字 · 1 分钟

新版druid数据源驱动的SQL监控如果用以前的老版本配置是无法监控到SQL的: application.yml spring: datasource: druid: filters: - stat - wall - log4j 启动应用之后访问druid监控页面,除了SQL相关的页面都正常工作,但是访问SQL监控页面时没有看到SQL记录。 查看监控页面 数据源 菜单发现 filter类名 显示的是空,估计是filter配置有问题导致。

在Swoole环境下运行注入Yii2框架的thrift应用

2019年5月19日 · 8 字 · 1 分钟

前两天发布了使用swoole来运行thrift应用,项目虽然可以运行起来,但是周边的生态(如缓存,ORM,日志等等)并没有跟上,实际上开发体验比较差。周末研究了一下,把Yii2框架集成到了thrift应用上。 项目地址:https://github.com/swoole-foundation/yii2-swoole-thrift Yii2优势: 完美的OOP设计 大量开箱即用的组件(DB/Cache/Logger/RBAC等等) 组件化开发 扩展性 这些支持是提高thrift应用开发效率的保证,毕竟没有人会直接在生产环境下手写SQL不是?

在swoole上运行Yii2应用

2019年5月19日 · 27 字 · 1 分钟

Yii2:业界著名的开发框架,完美的OOP设计以及组件化开发思想保证了框架的扩展性。 Swoole:面向生产环境的 PHP 异步网络通信引擎。使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。

使用swoole来运行thrift应用

2019年5月16日 · 24 字 · 1 分钟

Swoole扩展简介 Swoole:面向生产环境的 PHP 异步网络通信引擎 使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

在缓存中使用闭包函数

2019年5月14日 · 81 字 · 1 分钟

闭包函数 PHP官方文档对于闭包函数的定义: 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。

在事务中使用闭包函数简化开发

2019年5月14日 · 80 字 · 1 分钟

闭包函数 PHP官方文档对于闭包函数的定义: 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。

使用systemd来构建你的服务

2019年2月28日 · 278 字 · 2 分钟

systemd是什么 Systemd 服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由Systemd 控制或监视的进程。简单说,用于后台以守护精灵(daemon)的形式运行程序。

c语言实现简单版的php z_val结构体

2019年2月26日 · 227 字 · 2 分钟

源码 学习过PHP的人都知道PHP是基于C语言开发的,但是C语言是强类型的,PHP如何实现弱类型呢?答案在于这个 typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct { char *val; int len; } str; HashTable *ht; /* hash table value */ zend_object_value obj; zend_ast *ast; } zvalue_value; struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend_uint refcount__gc; zend_uchar type; /* active type */ zend_uchar is_ref__gc; }; type保存了实际的类型,而value这个共用体保存了具体的值,我们使用到变量的时候需要根据变量类型来取出**_zvalue_value中保存的具体值。 采用union能够避免内存浪费,同一时刻,一个_zval_struct中的共用体zvalue_value**只有一个成员会分配内存,避免了无谓的内存分配。

无需编程导出微信表情包

2019年1月11日 · 14 字 · 1 分钟

微信前两天推送了年度报告,其中的表情统计很有意思,的确,表情包这两年是越来越火了。但是有个问题是微信不支持导出表情包,有的小伙伴又需要导出来保存到其他地方。 本文分享一个比较简单的方式导出表情包,条件只有一个:谷歌浏览器。 打开 https://wx.qq.com 并登陆,这是网页版微信登录入口 手机选择表情发送给文件传输助手 打开网页版微信,可以查看到图片 接下来打开谷歌浏览器的开发者工具(不同电脑不太一样,但是都是右上角打开) 然后按照图片顺序点击如下图所示的图标 这时候鼠标处于选择元素的状态,直接悬浮在表情图片上即可 下方的窗口会出现图片链接,而且会有背景色(本图片的背景色是淡蓝色) 鼠标悬浮到刚才的淡蓝色窗口的链接上面,会出现表情的原图 在链接上面点击右键,选择如图名字的菜单(菜单顺序不同系统不同) 在新窗口打开的图片就是表情原始图片了,可以保存