不是我写的,我文笔太差。是台灯写的,虽说他腿脚不利索,但文字上的东西还是挺让我佩服的,感兴趣的请移步至这里:
http://blog.sina.com.cn/s/blog_3d36f45b0100cw6u.html
四 10
感谢风铃同学的辛苦工作,你使得我们睡觉都有阴影了。。。
清楚地看到了本人的双下巴,我要减肥,从脸开始…
四 10
山很高,雪很大,但我会迎着风雪,把山踩在脚下

一步一个脚印,走慢点,没关系,用心去感受

路上的时候,背包就是我的家

和伙伴们在一起,我什么都不怕

风雪越大我们越快乐

我们还有可口的食物


装备很重要,它能让你走得更快更稳

感觉像要飞了起来

站在顶峰的感觉,美啊!

真的很开心,真的很快乐


所以,背上你的背包,来小五台吧,用你的双脚丈量这片土地,它会让你吃很多苦,但是它也会回报你更多

三 31
摄于2009年3月29日,小五台的清晨,刮着小风,下着小雪,我们光着小膀,我们在大喊,只因太冷…
更多照片及游记将陆续奉上,敬请期待。又一次完美的出行,哈哈

三 30
时隔许久,又开始在山上跑了。
地点:狗牙山(绿野的称呼,狗牙山当地人叫 碣石岭–感谢臭鸡蛋同学授业解惑)
行程:12公里,累积上升1144米,最高海拔972米(数据来自巡山GG的GPS)。瞬间最大风力6级
顾名思义,狗牙山的山势就像狗牙一样,我们一直行走在牙尖上,两边都是悬崖绝壁,上了山脊之后平均宽度不足两米,有的地方连一只脚都放不下。看着很危险,但真正走起来很一点也不害怕,跳来跳去,偶尔攀个岩,很刺激。以前从没走过这样的路,感觉很新鲜,走起来一点也不累,大家都觉得玩得很爽。不足的是今天的天气,有沙尘,不通透。如果天是蓝的,边上的山花也开了,那会是无限的风光。今年应该再走一次。
N久没出来的我也还能跟上队伍,身体也没有多大反应。新的鞋子很给劲,抓地很强,得心应脚。头回穿出去上山也没磨泡,很舒服。就是下山的时候挺危险,永远不会忘记让我吓出一身冷汗的落石。。。以后再也不从那下山了。
感谢大自然,感谢老天,感谢同行的朋友们,感觉美女领队,很完美的活动。哈哈!
今天没带相机,改天上几张别人拍的片子,感受一下行走在狗牙上的感觉~
三 15
我厂太不容易了,点球淘汰罗马晋级欧冠八强。
我也不容易,眼瞅着七点了,差不多一夜没合眼,一会洗洗上班了。
英超四强全部晋级,不愧是第一联赛,hoho
三 12
周末两天都起早贪黑地去驾校上课,周六几乎每节课都睡,不过今天还好,坚持了下来,没合眼。
XX驾校印象:
管理比较混乱,现场报名的人和报名点报名的人领书的位置不一样,报名当时好像有说明,但是很多人记不住,包括我。到了地方没有明确的指示,害得很多人排错了队。
工作人员作风稍显官僚,都是爱搭不理的,你要多问两句没准把人家搞不耐烦骂你两句。
卫生条件一般,厕所里面卫生很差,地上湿不拉几的让人不爽。上交规的地方要么没暖气要么暖气很弱,所有人都穿着羽绒服听课。
食堂卫生条件也一般,没敢吃别的,第一天排骨米线,第二天牛肉米线,但不明白排骨和牛肉长一个样。
校园很大,摆设很多,但不明白是个什么主题,又有中国的传统瓷器,又有不伦不类的看上去很西方的各类人物雕塑,还有诸如熊猫,鹿,猴,孔雀等各种小动物雕塑。某楼门厅天花板上的装饰更是把我雷到,上面布满了绿色的塑料叶子,中间很突兀地点缀着几个仙桃……
院子里停的车挺多的,感觉练车的人也不多,但不知为啥很多人反应约不上车。
班车司机说话京味十足,我要很努力地仔细听才能听清他要表达的意思。开车相当之生猛。车厢里明明写着禁止抽烟他还一根接一根。
对于这两天的法培讲座的老师相当满意,很风趣,我认人授课效果不错。讲课的同时告诉我们应付考试的方法,一开始还挺新鲜,觉得不错,但是听到后来感觉用相同方法处理的题目真是太多了,以至有些混乱…总体来说老师还是很不错的。
下下周考交规,争取一次过,不然hin丢银…
二 22
这两天北京下了雪,还挺大,在破了持续不降水的纪录后,这次的雪显得格外珍贵。
不记得第一次见到下雪是什么时候了,但可以肯定的是当时应该是十分高兴和新奇,以至于现在碰到下雪天也是十分兴奋。以下是我关于雪的记忆。
1.一大早出门看到到处都白了,很是高兴,哪有雪往哪踩,但不明白为啥爸妈一早就把院子和门口的雪都扫了。
2.小学的时候没过膝盖的雪我认为是我见到过厉害的一次降雪。认为堆雪人一定要用胡萝卜做鼻子。
3.看到有人骑车滑倒我很开心。
4.在学校和同学打雪仗,两边打红了眼,一同学把石子儿塞到雪球里。。。
5.把教室里的长凳子拿出来,反过来坐上去,你拉我跑一圈,我拉你跑一圈。
6.玩雪的时候手冻得要命,进了教室却热得发烫。
7.老师说:“雪白雪白的雪”这句话是错的。
9.大雪过后去踢球,专门练铲球,因为可以倒在地上滑老远。
10.大雪过后去踢球,脚冻得生疼,但第一脚触球就把球凌空抽进大门,一帮人都惊了。
11.大学图书馆,外面在下雪,见识到了啥叫“鹅毛般的大雪”。
12.往年每年回家都会碰到下雪,但今年没下,相反,很暖和。
13.云南,在去飞来寺的路上看到了远处的山上发生了雪崩,壮观。
14.魂牵梦绕的梅里十三峰在暮色下依次出现在我的眼前的时候,心里出奇地平静。
15.在梅里往事坐着喝热奶茶,看外面星空下的梅里雪山。第二天早上看到了传说中的日照金山,激动到死。
16.白雪,松绒,经幡,小路,骡子,通往香格里拉的路。
17.“雪域圣境,请勿大声喧哗”的警示牌。大本营前,深得能没掉大腿的雪。
18.在冰封的神瀑下扒光上衣摆pose拍照。然后恭敬地拜神瀑。
19.第一次滑雪摔够呛。第二次第三次学单板,上瘾了,期待下个雪季。
20.南方雪灾。
二 19
上篇日志中写到的访问MogileFS文件的方法不太好,原因是把要访问的图片写到response中,这样做法比较笨,而且通过测试发现,写过来的图片显示的时候有问题,经常是上半部分正常,而下半部分变得乱掉了。在以前的应用中有过类似的写法,在多次刷新页面的时候会出现response的out被重置的情况,导致图片显示不出来。
所以还是直接访问文件在MogileFS的物理存储位置比较靠谱。和雷明同学研究了一下YuPoo图片地址和架构,大致确定的自己的图片地址写法:
http://localhost/lvto/pics/[username]/[picid]/[pictype]
其中:username代表了图片上传的用户名或标识
picid:图片的唯一标识
pictype:图片的类型,可能是缩略图(thumb),方图(square)等等。
具体来说,在页面上引用一个图片时,地址会是这样:
http://localhost/lvto/pics/xyn0563/1234abcd/thumb/
而且通过MogileFS对它进行直接访问的地址是:
http://localhost:7500/dev1/0/000/000/0000000014.fid
现在的工作就是要如何将引用地址指向实际的物理地址。
1.编写一个Action,picture/picutreRedirector.do,其作用是通过username,picid,pictype等参数,到数据库中查询,得到文件在MogileFS中的存储位置(path),然后调用
response.sendRedirect(path)
跳转到该位置。
如访问http://localhost:8080/lvto/picture/pictureRedirector.do?username=xyn0563&picid=1234abcd&pictype=thumb,得到的存储位置是:
dev1/0/000/000/0000000014.fid,然后跳转这个地址。
2.配置Nginx,使对于图片的请求全都转发到刚才写的Action。
nginx.conf 中:
其中的81端口起的是 Lighttpd,它的作用是将*.jsp,*.do都交由tomcat处理。
这样一来通过
http://localhost/lvto/pics/xyn0563/1234abcd/thumb/
访问的地址都经跳转到了
http://localhost/dev1/0/000/000/0000000014.fid
我的Nginx用的是80端口。
3.配置另外一个 Lighttpd,当然其他的web服务,比如Apache也可以,把它的documentroot直接指向Mogstored的存储位置。如,在我的Lighttpd中是这样的:
根据以上位置,通过以下地址一样可以访问MogileFS中的文件:
4.最后一步,即把第2步最后得到的地址再转向第3步的地址。这时又要用到Nginx。配置如下:
这样就实现了最终的目标,通过类似http://localhost/lvto/pics/xyn0563/1234abcd/thumb/的地址访问到具体的图片。
感觉比之前的方法好了许多,在与服务器交互过后不需要向response里写入图片数据,而只是得到图片的存储地址进行跳转即可。但是还是有些问题的:
1.图片的物理地址需要与数据库交互。每访问一个图片交互一次。在访问量大的情况会导致数据库压力增加。解决办法是使用memcached作数据库查询结果的缓存。这个回头再研究。
2.这个问题在别人的文章里也提到过。就是如果在MogileFS上多加一个device,比如多了个dev2,那么在nginx中就要针对dev2增加一条配置信息。
最后还有一个始终弄不明白的问题。对于以上的方法,图片在MogileFS中的存储位置在保存时就返回过来,保存到了数据库。如,保存到了dev1,数据库里记录的就是dev1,今后所有的访问都是到dev1里面去找。但是后来加上的dev2和dev1之间做了备份,意思是其实通过dev2这台mogstored也可以访问到这个图片。
由于是通过物理地址直接访问,这样的话在dev1负载很大的情况下就没办法通过dev2进行负载平衡了。那MogileFS所说的负载平衡是啥个意思啊,难道说只是在文件存储的时候有作用?还是说我了解的不够,其实是有办法做到的?
想来想去应该还是在那个Action里面,我设想的是应该可以通过某种方法,调用 MogileFS 的Api动态地决定访问dev1还是dev2。看Yupoo的架构图,感觉它的YPWS就是做这个东东的。
继续学习中。。。
一 14