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) {
我与linux的叉叉
by xufan6 on 9月.25, 2010, under 学
今天看到推上有人在说什么时候接触linux的,好吧,我也来怀旧下。
高考结束完的2008年6月,我在网上申请了张ubuntu 8.04.1的cd,7月份就收到了。拿块80g硬盘里的一个分区安装了,完全没经历的摸索。不知道/分区是一定要挂载的,只挂载了/home,还在想为嘛不能下一步。不知道装好后更新可以跳过,还让他默默的用几k速度连默认国外源。唉,反正完全在泥沼里折腾啊。最后慢慢装好能用了,还装了一个杀毒的用来杀win下的毒。后来这个系统在升级到8.10的时候失败,就荒废了。
入大学后,最有力的事就是果断加入了精弘网络,这是个校级组织,关键是我在宣传资料上看到了linux字样,所以果断入了,gmail邮箱里还有我当年的报名表。大一参加了几次培训,说是培训,差不多都是ohsc大大在给我们做展示,不过也有很多收获,基础概念型学习。
ubuntu出9.04的时候买了块移动硬盘,为了实现多pe和多引导,装了grub4dos,还装了9.04在移动硬盘里,给人杀杀毒,装装13还是可以的。由于9.10用grub2,一直没在移动硬盘grub4dos下启动进去,故也荒废掉了。
9.04年代,还有一段。为了加入精弘网络服务器部,要通过一个考核——在一星期内在centos上用yum搭建lamp环境,现在想想几分钟的事,当时真的好虚啊,5天很努力的完成了,其实我一直在用.bash_history偷师前面做的几位~
9.10的年代,我开始在精弘网络里管理几台centos5.3的服务器,由于有任务在身,而且对于我异常艰巨,花费了几个月研究tos(流量控制),终于写出一个能用的脚本,慢慢优化后能较完美的使用了。这段时间,基础功算是练过了,也算是正式接触linux。
10.04的年代,已经对安装使用不太有问题了,但是在学校电脑还是在用win7。暑假,这个暑假末,回学校之后,开始正式使用ubuntu 10.04做为桌面系统,反正使用应该没碰到问题过,迫不得已回win的一次,是因为一个别人给我的只读加密.pps幻灯片我怎么都没办法打开。其实我对操作系统的选择已经很随意了,家里用着朋友5年前的iBook G4,10.4的系统(不是ubuntu 10.04,是mac os 10.4),装不来chrome的powerpc,现在依旧很蛋定的用着经常崩溃的safari 3,前几天刚升到safari 4。
我多久没去win下了?不知道,反正就是扣扣比较难受,网银什么的还没用过,那个那个,到时候再拿出我那只剩256m内存20g硬盘的小x40好了么。我在想我下一台电脑会不会是mbp呢?是会呢还是会呢还是会呢?我要自己赚钱,求实习推荐,运维相关的最好了。
致歉一下
by xufan6 on 8月.26, 2010, under 造
订阅我的博客的童鞋们可能注意到了,在8月25日凌晨,突然多出了10篇。那个完全是我的失误。昨天中午已经把问题解决了,在此做个交代。
我现在博客所在的主机是“老薛主机”,这个主机是我在它twitter推广期买下的,看中的是东海岸的速度,以及ssh的权限。我从4月10日购买后,主机一直很稳定,难得出现故障的时候,也是几小时就修复了。这次主机是被ddos攻击了,从24日0点不到开始访问有困难,到25日1点多恢复,总被停机将近26小时。
24日深夜,老薛发邮件说明了下ddos的详情,说是要25日早晨或者中午可以恢复,因为攻击时针对服务器的主ip,服务器的另外ip都是可以访问的,我就想问老薛要个临时ip,好把博客上线,老薛很爽快的给了我个,并说明早解析,于是我很兴奋的跑去nameserver里改dns。改好之后一试,域名解析到别人的网站上去了,原因是cpanel里apache设置单个域名listen的是ip:80,新给我的ip并没有对应到网站上去,那就对应到ip里面第一个的网站。我想了想没事,反正明天早上就可以解析好了,但是我忘了我的feedburner,(┳_┳)…然后他就多出这么多不是我的文章的item。25日中午起床后我才意识到,原来凌晨的时候主机已经恢复了,赶忙再把dns改回来,一切恢复了。
feedburner里删除item,先保证源feed里没有那个item了,再到Troubleshootize下面点Resync Now。如果像我还同步到twitter的话,还要去手动删推,删推还是在twitter.com删删比较快。但是历史的记录是会被google默默的存下的,Google Reader里还是有那10条不是我写的item。
在此再道歉一下,给你们的阅读器造成不必要的点击了。在此再推广下啊,老薛的主机其实真的蛮不错,几十块钱一年,到时候还有折扣码,无限域名,无限数据库,还在我promise不用来翻墙的情况下给我免费开了ssh权限,像我这种终端控真是太适合了。