PHP5.3内核之整体概览

接触PHP开发也5年多了,有时候很好奇我们写的PHP代码到底是怎么执行的。都说PHP底层是用C写的。那到底是怎么用静态C语言实现动态的PHP语言的呢?

前段时间也分享了一个关于PHP5.3内核的入门研究PPT。鉴于分享内容比较多,会拆分成几篇文章来逐步研究。 Continue reading

Expect实现远程自动登录

作为一个程序员,每天都需要登录远程开发机或者正式机器进行很多操作。正常流程都是打开shell终端输入ssh连接服务器输入密码,登录后执行操作。这样的工作不仅每天都在重复,而且还需要记住很多服务器的IP地址、密码等等,简直是苦不堪言。Expect就是这样一个将你解脱出来的工具。
Continue reading

高性能MySQL之查询执行背后的机制

前段时间在团队技术分享上,分享了关于看了《高性能MySQL》这边书之后的技术分享。今天就捡查询执行机制来分享下。

mysql数据库是我们平时Web开发中用的最多的数据库之一;也是经典的关系型数据库。平时后端开发如PHP,Python都是通过相关的驱动去连接数据库,执行增删改查操作。那么问题来了,我们的SQL语句发送到mysql后,mysql内部是怎么处理这个SQL的呢? Continue reading

从表单提交看“软件开发及测试中的边界问题”

有一个PHP后台表单功能,可以绑定50个商品的url及其他数据。今天有用户反馈出Bug. 当添加30个商品保存后商品数据丢失。我就自己测试了下添加了12个商品保存正常,当商品添加到30个时保存果然就消失了。开始以为是逻辑中有数量限制错误,检查后发现没有问题。 Continue reading

CodeIgniter引用有命名空间的类库

最近有需求生成唯一的邀请码给用户,前些天用Node.js给公司开发项目时,同事用过一个Hashids类库来生成唯一的验证码(可参考:http://hashids.org/)。这次使用的框架是PHP的Codeigniter (CI)框架。目前最新CI框架3.0.x还不支持命名空间。而这个Hashids的PHP版本用到了命名空间。 Continue reading

在线字体转换器2.0

前些天有人让我帮忙改下大学时期PHP做的字体转换器 字体转换器1.0 。希望能够自己上传字体。一次批量生成所以字体的图片。

就自己抽了两晚用PHP实现了在线字体转换器2.0。支持自定义上传字体,管理删除字体,批量生成字体图片。增加了上传,删除字体时的登录验证。新的地址->http://www.histriver.com/fontconvert/index.php