分类目录归档:我的作品

php路由实现rewrite改写url

最近着手写一个网站,从框架到应用全部重新开发,很多代码属于重造轮子,但主要的目的就是练手,因为发现最近思维有些固化了,是得好好从头到底写个项目了!

以前写的框架中路由功能非常有限,只是实现controller与action的选择,代码很简陋,没做过滤,安全性也有问题,所以就重写了一个路由。

框架出错提示

主要功能:

  1. controller与action的选择
  2. php正则rewrite美化url
  3. 参数过滤
  4. PATH_INFO与REQUEST_URI自动选择

继续阅读

memcache一致性hash的php实现

有段时间没认真写博客了,最近在看一些分布式方面的文章,所以就用php实现一致性hash来练练手,以前一般用的是最原始的hash取模做分布式,当生产过程中添加或删除一台memcache都会造成数据的全部失效,一致性hash就是为了解决这个问题,把失效数据降到最低,相关资料可以google一下!

php实现效率有一定的缺失,如果要高效率,还是写扩展比较好
经测试,5个memcache,每个memcache生成200个虚拟节点,set加get1000次,采用一致性哈希分布效率比原生单台速度相差5倍,效率有待优化
实现过程:

  1. memcache的配置 ip+端口+虚拟节点序列号 做hash,使用的是crc32,形成一个闭环。
  2. 对要操作的key进行crc32
  3. 二分法在虚拟节点环中查找最近的一个虚拟节点
  4. 从虚拟节点中提取真实的memcache ip和端口,做单例连接

代码如下: 继续阅读

修改了一下firefox插件switchhosts,让其支持新版firefox

switchhosts是firefox下一个非常好用的hosts切换工具,但是插件的作者更新缓慢,或者说是firefox更新太快了,所以switchhosts最新版的1.1只支持firefox3 和 firefox4

可是现在firefox都6.0了,所以只好下载了一个switchhosts,修改了里面的配置,支持最高的版本数,直接从4改成了14

可以在一定时期内不需要担心switchhosts不兼容新版firefox的问题了

switchhosts下载 通过 firefox直接下载安装,或下载后,把文件拖到firefox中,会自动提示安装

下载地址

switchhosts-1.1.0-fx-windows.xpi

web版黄金白银T+D实时报价系统

http://td.phpd.cn/

采集程序托管在新浪的云计算平台,memcache缓存化处理,每5秒自动从民生银行采一次数据!

另重写了一下js,显示黄金白银的价格信息及卖买价成交量,数据源已经ok了,正在开发android手机端

开放json格式接口

http://xzytd.sinaapp.com/index.php

从民生银行拿到了比较实时的黄金T+D数据

最近开始着手练习android开发,第一个练手作用是手机端的显示黄金白银报价,因为自己闲时玩玩t+d,但市面上还没有相应的手机应用,所以决定自己做个用用。

今天分析民生银行的数据,发现还是容易得到的,然后用php封装了一下,从民生银行拿到数据,并且做上memcache缓存,生成json数据输出。这样就可以做为android手机端的数据源了!

经过分析,现在从民生银行里拿到了还算比较实时的黄金t+d和白银t+d的报价信息。价格信息非常的全,买卖共10个报价并且交易手数等等。目前已经封装成了接口形式

数据源 http://phpd.cn/td.php 支持JSONP格式,跨域直接调用

html显示页面 http://phpd.cn/td.html 演示只显示白银t+d

希望有共同爱好的朋友一起讨论讨论。

qq机器人xqqrobot加上了主动发送信息功能

主动发送信息实现过程:

机器人通过http去指定的url上去获取单条要给机器人发送的信息,为空的话,隔5秒后再取,不为空,取出并且机器人发送本条信息,同时下次取信息时,会把这条已发送的信息的ID通过POST传给http,通知web程序本条信息已成功发出!

程序写好,编译也通过了,但是公司上网要走公司的代理,所以qq机器人暂时还没有通过测试,先在博客里记录一下,回家后再测

目前机器人处开发阶段,设定了一个时间,机器人登陆后60秒左右后会自动下线!

xqqrobot_1224

搞定了qq机器人linux编译后内存泄漏问题

目前linux版本已正常工作,上周windows版本也存在内存泄漏问题,找了半天才发现是因为数组过界引的

另今天移值到linux平台,都是用gcc windows下正常 linux下就内存泄漏,怪事。。不过还好找到了问题所在。

另新加了一个程序自动从文本文件里读取验证码的功能,方便linux在nohup下运行,无需担心验证码输入的问题。

目前程序挂服务器上进行测试,如不稳定继续修改!

linux.jpg

花了些时间弄个QQ机器人

qq通信服务端是在myqq上二次开发,所以支持linux/windows双平台

主控程序采用php开发

主要的功能是:

查ip地址、查电话归属地、查天气预报、查pr值、在线翻译等都是些常用的功能

目前windows下正常,准备着手迁移至linux平台,还好机器人程序的主要库libcurl是跨平台的。

qq.jpg

新写的一个.net小程序,用于批量搜索源码内容

主要是解决在工作中,有些需要在大批量的源文件或是html中搜索文本中包括一些关键词的操作。比如搜索全部的html,查找出哪个文章被挂了马,又比如说查看一个开源软件源码时,要找到一个函数定义所在文件。有了这个小软件,就方便多了

目前是第一版只支持utf-8编码,过段时间,加上编码转换功能,就可以支持其它编码了!编码只在搜索中文时有影响,英文不受影响

程序截图

txtsearch.png

程序下载

txtsearch.zip