高性能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

改进的插入排序——二分法插入排序

前两天买了本《算法导论》,昨天刚看插入排序,看到例子,插入排序就类似于摸牌,摸出一张然后再插入到对应的位置。想起前些日子国庆在家玩牌的经历,摸牌时是这么个回事,但是又不同,现实中摸牌我们总是能很快的找到指定的位置,比如拿张5基本就能很快确定中间偏右的位置,因为手中的牌已经是有顺序的了。我想到了二分法也许可以在寻找位置时减少比较。 Continue reading