Tag: php
2011春节前的实习小结
by xufan6 on 1月.31, 2011, under review, 学
寒假到现在已经实习10天了,今天写了个小总结,全当review了。
1-17 周一
看p1、p2故障报告。重装自己的vps。
1-18 周二
配置vim,写php抓取站。
1-19 周三
1-20 周四
都在写php
1-21 周五
没来
1-24 周一
php抓取站基本完工。写了个mysql每日备份,定期删除的shell脚本。
1-25 周二
修改周一的shell脚本。研究yum的第三方源:iuscommunity。
1-26 周三
虚拟机里安装研究Ubuntu Enterprise Cloud,由于需要硬件vt支持,只好放弃。下午看kvm文档。
1-27 周四
台式机开始装gentoo,下午装好最基本的,编译两次内核,能够上网了。
1-28 周五
装gentoo,主要是x和显卡驱动还有问题。
1-30 周六
装gentoo,装好gnome。下午装kvm,设置好桥街网络,但是还是没装子机。
感觉这两周主要做了两件事情,一是写php抓取站,二是装gentoo。
php抓取站是个放在新浪sae上的一个小东西,抓取的是杭州气象信息,存入数据库的。对外的调用还没写,但是有两个rss输出,一个是自己生成的,一个是feedbrner压制的,还有一个twitter:@hztqyb。感谢@yaofur在n久前提供的代码,虽然只用了两个正则。
在写的过程中熟悉了php的一些基本东西,以及如下一些php函数:
preg_match_all、preg_match
这两个是用正则来匹配文字段的,但其中的正则我是抄的不是自己写的。输出一个是二维数组一个是数组。
mb_convert_encoding
这个是用来转换文本编码的。
substr、str_replace
这两个也是处理字符,前一个是取其中一段字符,后一个是替换。
md5
这个用来校验。
mktime、date
这两个用来处理时间信息。
file_get_contents、file_put_contents
这两个是文件的读写,用来静态化,提高读取速度。
大部分是靠翻php.net上面的文档解决问题的。同时还研究了一下rss输出,现在rss输出主流有两种,rss2.0、atom。本来想用atom的,但是资料比较少,上手比较慢,故选用了rss2.0。写出来的xml能够通过feedvalidator.org验证。
装gentoo是这周后期才开始做的,之前由于不知道公司台式机能自己装系统,所以一直没下手,等知道后就果断装了。这是我第三次装gentoo,第一次在虚拟机里,没装桌面,能上网;第二次是寝室里的台式机,内核还有问题,不能上网,桌面也没装;这次的目标是装好桌面,装好kvm,kvm里装好windows。安装是用gentoo的mini.iso放到u盘里做成livecd来引导的,安装过程主要参考官方文档,不过还是有点想说的。开始emerge之前要写好make.conf,至少写好cpu类型,同时编译的那个-j*。先emerge ccache和喜欢的编辑器vim,ccache据说有加速的,这个官方文档编译优化里有提到。装那3个基础软件包cron、syslog、locate的时候我记得slocate好像有问题,我是装mlocate。到现桌面能起来了,显卡驱动情况不明,kvm编译好但还没装子机。
dabr及类dabr对id升位的更新
by xufan6 on 11月.07, 2010, under 教
前两天twitter官方把自己的消息id长度从14位升到15位,dabr,奶瓶腿等类dabr均受影响,具体状况就是id变成了“9.07755871273E+14”这类神奇值了。今天腿叔 @kcome 说dabr r358没问题,于是折腾了下把自用奶瓶腿都修改了下,同时感谢 @yaofur 同学的指点。要修改两处,都在common/twitter.php里。参考这里或者接着看我说
- function theme_status($status)的下一行增加
if($status->id_str) $status->id = $status->id_str;
- function twitter_standard_timeline($feed, $source)的下两行,也就switch前面增加
if (is_array($feed)) { foreach($feed as $key => $status) { if($status->id_str) { $feed[$key]->id = $status->id_str; } if($status->in_reply_to_status_id_str) { $feed[$key]->in_reply_to_status_id = $status->in_reply_to_status_id_str; } if($status->retweeted_status->id_str) { $feed[$key]->retweeted_status->id = $status->retweeted_status->id_str; } } }
20101112新增如下修改,修复了search页面继续科学计数法的问题。也是修改common/twitter.php,也可以参考这儿
- 在function twitter_search里(约1100行)修改
$tl = twitter_standard_timeline($tl, ‘search’);
为
$tl = twitter_standard_timeline($tl->results, ‘search’);
- 在function twitter_standard_timeline下的case ‘search’下(约1400行修改
foreach ($feed->results as $status) {
为
foreach ($feed as $status) {