CuteFool.Net – 南子- 只想快乐的事



不是我写的,我文笔太差。是台灯写的,虽说他腿脚不利索,但文字上的东西还是挺让我佩服的,感兴趣的请移步至这里:

http://blog.sina.com.cn/s/blog_3d36f45b0100cw6u.html


感谢风铃同学的辛苦工作,你使得我们睡觉都有阴影了。。。

清楚地看到了本人的双下巴,我要减肥,从脸开始…


山很高,雪很大,但我会迎着风雪,把山踩在脚下

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

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

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

风雪越大我们越快乐

我们还有可口的食物

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

感觉像要飞了起来

站在顶峰的感觉,美啊!

真的很开心,真的很快乐

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


摄于2009年3月29日,小五台的清晨,刮着小风,下着小雪,我们光着小膀,我们在大喊,只因太冷…

更多照片及游记将陆续奉上,敬请期待。又一次完美的出行,哈哈


时隔许久,又开始在山上跑了。

地点:狗牙山(绿野的称呼,狗牙山当地人叫 碣石岭–感谢臭鸡蛋同学授业解惑)

行程:12公里,累积上升1144米,最高海拔972米(数据来自巡山GG的GPS)。瞬间最大风力6级

顾名思义,狗牙山的山势就像狗牙一样,我们一直行走在牙尖上,两边都是悬崖绝壁,上了山脊之后平均宽度不足两米,有的地方连一只脚都放不下。看着很危险,但真正走起来很一点也不害怕,跳来跳去,偶尔攀个岩,很刺激。以前从没走过这样的路,感觉很新鲜,走起来一点也不累,大家都觉得玩得很爽。不足的是今天的天气,有沙尘,不通透。如果天是蓝的,边上的山花也开了,那会是无限的风光。今年应该再走一次。

N久没出来的我也还能跟上队伍,身体也没有多大反应。新的鞋子很给劲,抓地很强,得心应脚。头回穿出去上山也没磨泡,很舒服。就是下山的时候挺危险,永远不会忘记让我吓出一身冷汗的落石。。。以后再也不从那下山了。

感谢大自然,感谢老天,感谢同行的朋友们,感觉美女领队,很完美的活动。哈哈!

今天没带相机,改天上几张别人拍的片子,感受一下行走在狗牙上的感觉~


幽州,初春


我厂太不容易了,点球淘汰罗马晋级欧冠八强。

我也不容易,眼瞅着七点了,差不多一夜没合眼,一会洗洗上班了。

英超四强全部晋级,不愧是第一联赛,hoho


周末两天都起早贪黑地去驾校上课,周六几乎每节课都睡,不过今天还好,坚持了下来,没合眼。

XX驾校印象:

管理比较混乱,现场报名的人和报名点报名的人领书的位置不一样,报名当时好像有说明,但是很多人记不住,包括我。到了地方没有明确的指示,害得很多人排错了队。

工作人员作风稍显官僚,都是爱搭不理的,你要多问两句没准把人家搞不耐烦骂你两句。

卫生条件一般,厕所里面卫生很差,地上湿不拉几的让人不爽。上交规的地方要么没暖气要么暖气很弱,所有人都穿着羽绒服听课。

食堂卫生条件也一般,没敢吃别的,第一天排骨米线,第二天牛肉米线,但不明白排骨和牛肉长一个样。

校园很大,摆设很多,但不明白是个什么主题,又有中国的传统瓷器,又有不伦不类的看上去很西方的各类人物雕塑,还有诸如熊猫,鹿,猴,孔雀等各种小动物雕塑。某楼门厅天花板上的装饰更是把我雷到,上面布满了绿色的塑料叶子,中间很突兀地点缀着几个仙桃……

院子里停的车挺多的,感觉练车的人也不多,但不知为啥很多人反应约不上车。

班车司机说话京味十足,我要很努力地仔细听才能听清他要表达的意思。开车相当之生猛。车厢里明明写着禁止抽烟他还一根接一根。

对于这两天的法培讲座的老师相当满意,很风趣,我认人授课效果不错。讲课的同时告诉我们应付考试的方法,一开始还挺新鲜,觉得不错,但是听到后来感觉用相同方法处理的题目真是太多了,以至有些混乱…总体来说老师还是很不错的。

下下周考交规,争取一次过,不然hin丢银…


这两天北京下了雪,还挺大,在破了持续不降水的纪录后,这次的雪显得格外珍贵。

不记得第一次见到下雪是什么时候了,但可以肯定的是当时应该是十分高兴和新奇,以至于现在碰到下雪天也是十分兴奋。以下是我关于雪的记忆。

1.一大早出门看到到处都白了,很是高兴,哪有雪往哪踩,但不明白为啥爸妈一早就把院子和门口的雪都扫了。

2.小学的时候没过膝盖的雪我认为是我见到过厉害的一次降雪。认为堆雪人一定要用胡萝卜做鼻子。

3.看到有人骑车滑倒我很开心。

4.在学校和同学打雪仗,两边打红了眼,一同学把石子儿塞到雪球里。。。

5.把教室里的长凳子拿出来,反过来坐上去,你拉我跑一圈,我拉你跑一圈。

6.玩雪的时候手冻得要命,进了教室却热得发烫。

7.老师说:“雪白雪白的雪”这句话是错的。

9.大雪过后去踢球,专门练铲球,因为可以倒在地上滑老远。

10.大雪过后去踢球,脚冻得生疼,但第一脚触球就把球凌空抽进大门,一帮人都惊了。

11.大学图书馆,外面在下雪,见识到了啥叫“鹅毛般的大雪”。

12.往年每年回家都会碰到下雪,但今年没下,相反,很暖和。

13.云南,在去飞来寺的路上看到了远处的山上发生了雪崩,壮观。

14.魂牵梦绕的梅里十三峰在暮色下依次出现在我的眼前的时候,心里出奇地平静。

15.在梅里往事坐着喝热奶茶,看外面星空下的梅里雪山。第二天早上看到了传说中的日照金山,激动到死。

16.白雪,松绒,经幡,小路,骡子,通往香格里拉的路。

17.“雪域圣境,请勿大声喧哗”的警示牌。大本营前,深得能没掉大腿的雪。

18.在冰封的神瀑下扒光上衣摆pose拍照。然后恭敬地拜神瀑。

19.第一次滑雪摔够呛。第二次第三次学单板,上瘾了,期待下个雪季。

20.南方雪灾。


上篇日志中写到的访问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 中:

  1. #访问图片的代理
  2.     location /lvto/pics {       
  3.         rewrite ^/lvto/pics/(.*)/(.*)/(.*)/    /lvto/picture/pictureRedirector.do?username=$1&picid=$2&pictype=$3 break;
  4.             proxy_pass http://127.0.0.1:81;
  5.     }

其中的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中是这样的:

  1. server.document-root = "/usr/local/mogdata"
  2. #其他配置......
  3. server.port  = 83

根据以上位置,通过以下地址一样可以访问MogileFS中的文件:

  1. http://127.0.0.1:83/dev1/0/000/000/0000000014.fid

4.最后一步,即把第2步最后得到的地址再转向第3步的地址。这时又要用到Nginx。配置如下:

  1. location /dev1 {                
  2.         include    /usr/local/nginx/conf/proxy.conf;         
  3.             proxy_pass http://127.0.0.1:83;
  4.     }

这样就实现了最终的目标,通过类似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就是做这个东东的。

继续学习中。。。


Page 7 of 28« First...«56789»...Last »

留言

  • Sunshow add_action('pre_update_option_' . $optionname, 'your_filter_function', 100, 2); function your_filter_function...
  • QQ328496647 我正在开发一个插件,被你上述所说给卡住了,update_option保存数据进数据库...
  • 南子 芳姐好泥害啊
  • 呱呱 我昨天去的,花已经少多了。一天东沟上下,累死爷了,而且距离东台还差10米时...
  • 小兵 我这辈子再也不走中东山脊下西沟的路了~~
  • 肉肉 沙发~
  • 小朋 是挺像段延庆的,你的观音呢
  • 舞鞋 额。。。。。。。
  • Pippo 好。
  • 八千 你这个让我想起了金庸笔下的四大恶人,既有段延庆的残疾,又有南海鳄神的憨...