无梦篇

boygod 发表于 2011-02-10 03:59:02

待续未完,我得逼自己睡觉了

迫不及待篇

boygod 发表于 2011-02-10 03:58:27

待续未完,我得逼自己睡觉了

感谢TC

boygod 发表于 2011-02-10 03:58:06

TC: http://www.topcoder.com/. 全称TopCoder
是一个美国的外包企业,简而言之就是,你干活他出钱...
对于发展中的穷学生,他们付出的美元作为报酬是相当具有诱惑力的.

      听说TC是在大二的时候,浙大有做TC的传统,因为缘于一个人,一个偶像级的人物 wishingbone(请自行google此人事迹)。因为自己其实不喜欢敲代码,注册了账号就一直没怎么有动静...就算是本科的大牛拉我们入伙一起做,我也都打哈哈糊弄过去了.然而,当肚子饿成为了一个现实困难的时候,挣钱边被提到了最优先的位置....
      研一,学校给每个人每月240....据说浙大的研究生每人590...好吧,我脸丑,我到哪里哪里钱少....还要每几个星期去趟杭州,再吃几顿饭,我真的弹尽粮绝了....

不想写了,睡觉,码字有点累

那位传说中的博士哥

boygod 发表于 2011-02-10 03:57:36

      认识博士哥,一定是我在交大最大的收获之一了。从大四去实习之后,被主管推荐用豆瓣来管理自己看过的书籍,于是慢慢的喜欢上了看书。由于开学十天在交大新图的一次自习事故,我彻底失去了在图书馆看书的兴趣。(简而言之就是交大某男当着我的面,完全我是我的存在的抱着自己的女友就开始啃,啃这个字绝对不为过)。   庆幸的得知原来我们实验室不光在徐汇有实验室,在闵行也有实验室的。徐汇是实验室的主战场,但是闵行也有残余势力, 里面就有博士哥,纯做研究的大牛,还有我,每天来实验室蹭空调,然后能安静的看书,睡一小觉.
     第一次见博士哥,其实没什么,他给我的感觉就是白白胖胖的,第一个月我们的交流仅限于他每天晚上比我先走,于是嘱咐我,记得关空调和窗户.直到某一天,我在感叹乌鲁木齐的网络为什么还么有开通,他才和我有了第一句交流"你是新疆的?"  -"恩,我家是乌鲁木齐的." .....原来他家是兰州的,而且家里有亲戚在乌鲁木齐,而且由于是军人家庭,他从小就对新疆知道的特别多.我们聊吃的,聊喝的,然后就聊到了 seven five.....他给我推荐看了一些书,然后还问了我的看法.当然,在被他教导之前,我承认我的看法是偏激甚至疯狂的.....由于那啥,就不赘述了.

      后来我们聊得东西就很多了,电影,看书,还有关于梦想和理想这种扯淡玩意. 我发现我越来越觉得自己看是迷茫,但是博士哥却异常的坚定.听刘老师(博士哥的室友,某211大学任教师的在交大的在职博士)说,博士哥博一就发了篇轰动交大电院的牛文,当年他的文章在他的研究领域内排到世界前三位....为此老板(再插一句,我们老板只做有经济效益的应用,从不碰科研)特批就罗博一个人可以搞研究,经费可以直接找老板特批,不用打卡,直接发全额工资....当我研二开始像其他人那样每天奔波与闵行和徐汇之间,累的屁颠屁颠的只为实验室的打卡的规定的时候,才知道罗博那篇论文是多么的震撼我们的boss啊.....

      后来也问罗博,他的研究工作进展的怎么样,就换来一句话,一直在用很多时间做实验,做修改和论证,写出来的东西总感觉差一点,结果就是,他接下来再也没有去发论文,当他看着自己身边的博士同学一个个都可以毕业了,他还在继续做自己的工作.我也不知道该怎么形容他了,我觉得 "不水", 就是我给他的最高评价.....现在为止,我只见过两个不水的人,一个叫白雪宁(请google自行查找这个神人).另一个就是博士哥...悄悄说,有时候德国人都水,让我觉得这玩意是在糊弄人.....

      博士哥的论文一直都想做出点实质的东西,他很谦虚,说自己这辈子不可能是能推动人类进步的那个人。但是我还是固执的认为,博士哥,就凭你的这股劲,我觉得人类的进步真的是有希望的。

      博士哥看很多书,问他到底看了多少,他说不知道,之说从他很小的时候,就抱着新华字典,开始边看边查那种很厚很厚的书里面的字了....我推荐他用了豆瓣,结果,他就用一个小时时间,标记了100多本读过的书,然后告诉我,这些是他随手标记的....跟他讨论很有意思,我从没有说过他,总是被他说的我没办法还击...为什么?我的想法片面,没有系统性.而他的,他自称是科学的系统的逻辑性的.那叫做一种科学家的科学逻辑方法....差不多这么叫.  他给我讲平等,告诉我民主,告诉我理想世界,然后告诉我理性的看待中医,我们还讨论实事,当我被罗永浩的一个视频忽悠的一塌糊涂的时候,博士哥就用一句话点醒了我.老罗说中国的很多老师上课像猴子,他不那样干....博士哥说,那么老罗怎么干?  其实他也是猴子...
       博士哥看了非常多的电影,到底看了多少,他也不知道,他说从小学起,他每天放学都去租录像带,把家里附近的能租到的录像带都看过了,好看的还看了不止一遍...我晕啊,他小学哪来的这么多时间,后来他告诉我,他小学不写作业...经常被批评,上课不听课,因为老师讲的东西有时候都是在扯淡,他自己看书....再比比我小时候,崇拜老师就跟崇拜上帝一样,老师说的总没错....这就是教育的悲哀吧....也是中国家庭教育的悲哀....我想,等我的孩子长大了,我教他/她的第一件事便是,自己思考,学会质疑!
      跟着博士哥讨论电影,我的电影欣赏水平好像也上升了一个档次,以前只看动作片,大片,那种越华丽越好的....现在更注重思想性,知道了要去从电影中解读一些什么观点....他给我推荐了很多电影,看完了,果然觉得看世界仿佛都不一样了.

      博士哥喜欢吃,而且喜欢找吃的....他找遍了学校附近的好吃的,我们有时候晚饭来兴致了就去附近找点好吃的,有时候下雨了就点他推荐的外卖.我的生活从此以后也有了很多好吃的,西餐,特色烤翅,川菜,红豆撞奶.....再也不是单调的2个菜加一碗米饭了....

      我们对看书和电影有一致的看法,对吃方面因为都是西北人,喜好也差不多.而且无意间,因为奶奶的去世,和他谈起了一些东西,那就是死亡....第一次,看似无所不知的博士哥也说出了不知道....他跟我表达了他的恐惧,原来,跟他的想法比起来,我的胡思乱想简直就不能算做思考.....它的系统性有发挥了作用,他看过了多有大师讲述死亡的书,他自己去观察那些最惧怕死亡的人....然后,给自己设置同样的情形.....换了我,我可能已经为交大贡献了一个跳楼名额了....然后他微微一笑,还是去吃点好吃的吧....没答案,得继续找寻,但是还是得好好对待自己....

      跟博士哥讨论自己的前途,讨论自己的理想,有时候真的觉得他才是能真正给我指点点什么的人....心里除了感谢还是感谢,每次找借口请他吃饭,都被他拒绝了,我总是说不过他.....该到我掏钱了,又被他抢先了....我不知道我能为他做点什么,心里除了感激和谢谢,我真的不知道该怎么做.

      祝愿博士哥的那篇改了无数次的论文能被接受,那样你又回到巅峰了.祝博士哥永远都是那个开开心心,一边笑一边在dota游戏里淫荡的从我背后跳出来把我秒杀掉的那个大孩子....希望你在科研的路上,顺利. 因为有你这样坚定的,不水的学者,亚裔才有希望,人类也才有希望.

工作篇

boygod 发表于 2011-02-10 03:16:20

      很久很久以前,在我还不认识任何一个外国人之前,就听说过德国人做事格外严谨.这次碰到个德国人做我的导师,心里除了发憷,其实还是有些开心的,因为我猜想自己会得到严格的看管并得到提升.事实证明,前者是说着玩的,当实验室的其他同学天天打卡上班的时候,我却可以悠闲的在寝室做home-working.但是后者,那是毋庸置疑的.

      Carsten对待工作绝对的认真,他不像其他导师通常做的那样,指着一个人说"那个谁谁谁,你把这个东西搞一下,一个月以后汇报结果,不懂得自己问问人,或者google一下". 在这边的工作(ROLE)主要是在一个开源框架下用Java做后台,Js做前端开发工具,javascript我是一点都不懂,仗着它跟C有点像,勉强能照猫画虎,但是如果碰到bug,那绝对是没招儿的. 这时候问Carsten,他会放下手上的活,搬着椅子到我身边来,帮我debug,和我一起分析可能在哪里出现了问题,并且用他高超的google技巧一次找到解决方案.....在他旁边的我,只能一次次感慨,上了四年本科计算机,我居然只会用纸笔debug,而且不会用搜索引擎....

      跟Carsten的所有交流都是英语完成的,其实我自己的英语是非常非常差的,仗着我小学打下的良好功底,我一直啃老底啃到了大学,现在居然还厚着脸皮在研究生继续啃....词汇量不过关是最大的难题,我只会脱口而出那些小学生采用的词汇,确实太丢人.....其实英语方面实际技能的长进还真没多少,不过跟carsten的交流,还有以后参与到欧洲教育联盟的工作上的原因,我对自己那土的掉渣的英语多了很多自信,这也无形中给自己了信心.....以至于我有段时间,每句话里必定有个英语单词,装逼装到那个份上,真是令人发指了.....

      说几件事情给自己提醒,也算是给Carsten给我的最好礼物吧
      1,想想当我们完成了自己的任务后,有没有认真总结过在做的过程中碰到过的困难和解决的方法?  当我顺利接手欧洲项目的时候,Carsten花了两周的时间,建立了一个wiki 系统,里面记录了所有我上手问到过的问题和解决方法,还有给后来人提供帮助和介绍的详细的参考文档....我们最近常碰到那些不起眼的,或者是那些无伤大雅的小bug,carsten通常第一句就是“Interesting! Let me see why does it happen.”接着下星期再见到Carsten的时候,他会兴冲冲的告诉我他找到了解决方案,并且已经在wiki中建立了tips防止类似的事情发生。

      2.,Carsten经常问我的就是“Why”。 当我告诉他我知道怎么解决了,并且blabla把google到的答案告诉他的时候,他第一个反应就是问why,然后我就呆在那里,心里真想直接告诉他,because google told me to do that..... 但是说实话,我没有把工作当做学习的过程,我只是把工作当作工作,找到了解决方法,照搬照做,搞定了就收工,但是里面的原理,其实一点都没有掌握....再被Carsten连续问了一个多月why之后,我知道开始自己先去理解,然后再去解决问题了.....后来某天carsten告诉我某个东西应该怎么怎么解决,我也习惯性的问出了why,Carsten笑了,说的不是why,而是that's what I want.

     3,博士哥跟我聊起Carsten,也说,咱们中国人做事情,大多数都喜欢挑简单的做,但是欧洲人,特别是德国人,喜欢挑难的事情做。我也明白其中的道理,但是真的把简单的事情和难的事情同时放在我面前让我挑,我显然会选前者....因为交大自己的教育框架和欧洲那边的不太一样,所以当我们需要同时遵循一个opensocial标准时,需要做一些改动,但是其实这改动是可以通用语所有遵守opensocial的框架的.我接到任务的想法就是就事论事的改点代码,让我们的框架和欧洲那边的兼容了就好了,修修改改差不多写了300行代码.Carsten逼着我优化优化精简精简,愣是给精简到90多行,然后又要求我给所有的代码加上注释,加完之后130多行.接着,作为一个模板代码群发邮件通知所有的共同开发者.过了两天,Carsten高兴地在gtalk上和我说,我们的代码被欧洲教育联盟正式采用为模板代码. 很震惊,很开心,这是对我们工作的认可,也是我被Carsten身上的认真劲头彻底震撼到的一次.

      跟着Carsten有一年了,在他身上学到很多很多东西,为人和蔼善良,谦逊有礼,对一切都非常认真....不知道该怎么形容他,只是一句话,跟着他,是我觉得最幸运的一件事情

荒废了好久,来补上一篇年度总结,也可能是好几篇,因为确实经历的好多事

boygod 发表于 2011-02-10 02:03:34

      确实副标题应该叫做,1~12, 2010, 白白~~   沿用了去年的格式,去年的总结参见:1~12, 2009, 白白
    
      这一年确实经历了很多事情,有些确实记不清了,先捡能记得起来的说吧。2010那年的春节,是我长大以来过的最不快乐的一个春节,因为奶奶病了,准确说是身体半瘫痪了,全家人都围绕着奶奶转,所有的计划安排都被打乱了。我也真正体会了“久病床前无孝子”这句话。再没回家之前听着妈妈晚上打来电话给我的哭诉,我也只能安慰她,照顾老人是我们应该做的。回到家的第三天,我去了奶奶家,代替爸爸值白班照看奶奶。六个小时,除了看无聊的电视,帮奶奶揉揉那几乎僵硬的手,再没别的可以做的了。和奶奶聊那些我小时候就问过的故事,翻出以前的老照片看看爸爸姑姑他们年轻时候的样子。第一次,第二次,都还好,可是越到后来,其实我自己也是烦了,也是看到只有我一个孙子辈的人在轮守奶奶,其他人缺在该干嘛干嘛,我心里确实不服气了...后来想想,孝顺这件事,是可以强求的吗?只能做好自己,真的做好自己就够了,看别人,走别人的路,那会歪了自己的方向.
       大年三十,全家人一起吃了饭就匆匆散伙了,该干嘛干嘛去,仿佛谁都迫切的想离开奶奶家得到放松.....一个寒假,我只有和一个词有关"值班"....因为如果我不去,那么该去的就是爸爸妈妈........
       过完了寒假,闷闷不乐的到了上海.开始了我研一下学期的课程. 下学期的课程相对轻松,其实只是课程少了,但是该翘课的还是翘课,这直接导致了我考试成绩差,要交一半学费....下半学期可以去实验室做一些事情了,正好缓解了我手头的紧张,学校每个月只发240,这让人在上海怎么活....还好有上学期做助教剩下的大概接近1000块吧,勉强帮我撑了两个月. 正式的在实验室接受工作了,跟着我的德国导师Carsten Ullrich做他关于欧盟个性化学习环境的开发工作。实验室群发邮件说做具体工作室友每月500的津贴的,但是因为是德国导师的关系,一直憋着不敢说,做了两个月,是在穷的叮当响了,后来厚着脸皮去问了,Carsten才知道我居然两个月没钱拿....做的工作我打算用完整的一篇文章来叙述,因为确实在这一年的工作中,我觉得我成长的还是很大的. 详情请见 "工作篇".
       接着就是每天翘课,躲在实验室,白天看书,和博士哥聊天,问他我的困惑,晚上和他dota两盘,尽管每天都被他虐,但是偶尔我RP爆发也能虐回来,dota之后干活. 悄悄的说,其实白天基本是在构思,Carsten给我的任务通常时限是一周,思考一天,一晚上做完,第二天去交差,基本上都是这样子,无非就是改BUG的时候会怨天怨地,埋怨以前的程序员脑子被门夹过....
       此处插入第二篇, "那位传说中的博士哥"

      生活也就这么继续,看书,看书,yy,yy,然后.....继续穷着想法怎么才能找点钱呢? 插入: 突然想起来,3月初的时候去腾讯面试过PM实习生,是因为确实穷疯了,要自己养活自己啊,已经给爸妈信誓旦旦的自己不需要生活费了,而且大四都还算有稳定收入的过来了,总不能到了上海,到了研究生了,退回远古时代吧. PM实习生面试何如?   死了,过了五面,傻了吧唧的死在了最后一个貌似是HR总监的人那里了....此处省略2222字,自己最2的就是懒了,每个人过来都问几乎一样的问题,我换着法的已经答过5次了,再来一遍,懒了,用了类似于此处省略222字的方式回答...那个总监听完直接出去了....然后就是得到了回去等消息的回复....那就是委婉的说,"你玩完了"....我在阿里帮老大面试人的时候,也是这么拍着一位浙大师兄的肩膀笑着说"回去等消息吧....." 总结一句,别懒,别懒,做人,千万别懒,回望自己的,不管做什么事情,只要一懒就马上出状况. 这个必须要改,细节的细节必须照顾到.

      回来想到了根救命稻草,本科时候班里的大牛yext推荐我们做TC,我尽当耳边风了....回来开始看各种各样的上手文档,准备做做苦力程序员,给自己挣点生活费.
      再插入一篇, "感谢TC".

      就是忙碌的每天刷着TC,然后在那种我也不知道我到底学了啥的状态中,开始迎接期末考试了,反正抱着我已经攒够学费的态度,胡搞了.....

      暑假,回来的第一个月,基本每天就是看看Java,打算重新梳理一遍Java的东西. 直到2010年7月31日,我这辈子最难忘的日子,这一天清早,家里的电话急促的响起来,妈妈挂了电话就说,赶紧准备准备去看奶奶最后一面.那一天,我的奶奶永远的离开了我们.我到的时候,只看到爸爸,姑父,姑姑正在把奶奶那小小的身体放进棺材里....我没见到奶奶的最后一面.再往前推,见到奶奶的最后一次是我暑假刚回来的第二天,在养老院,那是个大晴天,院子里的老人们唱着歌,聊着天,可是却没有奶奶,上到3楼奶奶的房间里,奶奶在睡觉,护士说奶奶感冒了,刚睡着. 爸爸说别打扰奶奶,让她睡吧,看着奶奶是那么平静,正打算要走,奶奶醒来了,我握着她的手说我回来了,我来看你了,但是,当我问她我是谁,他却不认识我了,回答的是我哥哥的名字.....后来又说出我的名字,我也不知道她到底认出我没,再接着,她又睡着了.....再往前推,就是寒假我去学校前最后一次陪着奶奶了, 边给她揉手边告诉她要经常像现在这样要其他人给她揉手,这样也许能恢复一下知觉.奶奶给我的嘱咐就是那一句"注意身体,好好学习".她没文化,她唯一懂的就是她的孙子得健康,开心的,好好的学文化.
      就这样,我人生中第一次知道了失去亲人的滋味,那种莫名的痛不知道该怎么形容.人,不在了就是不在了.但是我还是习惯的想她,想自己小时候总是缠着她问她和爷爷还有爸爸小时候的故事的情景.那些情景我都记得,这辈子,我想我也忘不掉.送走她的那天,在火化前,我又见到了她,她安详的躺着,就像是书里说的那样,像是睡着了,只是没醒来而已,只是,没有那轻微的鼾声了. 我去摸了她的脸,软软的,但是冰凉冰凉的. 看着她娇小的身躯被推进熊熊的火焰,我心里有说不出的滋味.奶奶,你怕吗? 疼吗? 我舍不得你.

     然后奶奶就被装进了个小盒子,和爷爷一起永远的葬在了一起,他们能在一起了,能享受宁静了.希望你们幸福.....姐姐说她做梦了,梦见年轻的奶奶坐在一个年轻男人的车里,笑着,车开走了.....爷爷走得好,我没见过,姐姐没见过,但是爷爷是个司机,不知道怎么了,我只是想到了我自己,我会照顾好我的她,用我的一辈子,用我的很多辈子去照顾好我的她,不让她受一点点委屈. 跪在爷爷奶奶的墓碑前,只许了个愿,希望爷爷替我照顾好奶奶,要让她幸福....

    奶奶的去世,对我影响应该说是非常大.我一向是个喜欢思前想后的人,我想到了好多.......在我十二岁的某天晚上,就飘过了某个想法,我死了会怎么办,这个想法一直误解到现在,自己时常在夜里被吓的坐起来,睡不着觉.....为此我也尝试用科学的思维去理解和接受这个现实,并与博士哥讨论过,见"那位传说中的博士哥"....但是现在还没做到. 想到了是不是留给自己孝顺父母的时间不多了,我现在还是个废物,不能够陪在父母身边,不能给他们想要的生活.....于是,我产生了个可怕的想法....还得插入一篇,"迫不及待篇",此处叙述我在8月到10月心里和生理状态.

    此处略过后半年,因为之后的生活差不多就包括在那些插叙(迫不及待篇)里了。

    最后,插入一篇"无梦篇",因为我发觉自己确实有点迷失了,我也不知道自己要什么,不是真的不知道,是想要的太多,而我还没抉择...也不敢抉择......但留给自己的时间不多了,我也该仔细的想想今后的计划了.留给无梦篇吧.

RP Axure 使用教程 (原创)

boygod 发表于 2010-05-09 19:07:07

准备写一个RP Axure的教程。搜了一下,中文方面基本又都是互相拷贝来拷贝去,一点营养都没有。
关键词(Tag): pm design

Mysql 中的正则表达式使用方法 原创

boygod 发表于 2010-05-05 14:33:10

没找到什么有用的资料。自己还是去看英文的,然后写个中文的吧

奇妙的东西^和^,用法不同啊

* Matches zero or more instances of the string preceding it
与0个或者多个串开头的字符串匹配

+
Matches one or more instances of the string preceding it
与1个或者多个串开头的字符串匹配

?
Matches zero or one instances of the string preceding it
与0个或者1个串开头的字符串匹配

.
Matches any single character, except a newline
与任何一个字母匹配,排除newline字符

[xyz]
Matches any of x, y, or z (match one of enclosed characters)
与x或者y或者z其中的一个匹配

[^xyz]
Matches any character not enclosed
与不是x不是y不是z的人和一个字符匹配

[A-Z]
Matches any uppercase letter
与A到Z中的任何一个字符匹配

[a-z]
Matches any lowercase letter
与a到z中的任何一个字符匹配

[0-9]
Matches any digit
与0到9中的任何一个数字匹配

^
Anchors the match from the beginning
以XXX开头的标记

$
Anchors the match to the end
以XXX结尾的标记

|
Separates alternatives
“或”连接符

{n,m}
String must occur at least n times, but not more than m times
字符串必须出现至少n次,但不能多于m次

{n}
String must occur exactly n times
字符串必须出现n次

{n,}
String must occur at least n times
字符串必须至少出现n次

[[:<:]]
Matches beginning of words
与以XX开头的词匹配

[[:>:]]
Matches ending of words[:class:]match a character class i.e.,
与以XX结尾的词匹配

[:alpha:] for letters
[:space:] for whitespace
[:punct:] for punctuation
[:upper:] for upper case letters

例子:
1.检查只以数字组成的区域
SELECT age FROM employees WHERE age REGEXP '^[0-9]+$'
// age域必须以数字开头以数字结尾,同时只能出现0-9的字符,并且出现1到多次

2.选择出雇员的11位手机号
SELECT name FROM employees WHERE contact_no REGEXP '^[0-9]{11}$'
//0-9 出现11次

3.域只出现字符,但不包含数字
SELECT text FROM employees WHERE text REGEXP '^[^0-9]+$'
//注意其中^和^的用法,前面一个表示是以XX开头,后面的表示排除0-9数字.
关键词(Tag): sql expression regular

ceil的实现

boygod 发表于 2010-03-03 21:45:38

网上看了一下,基本上都是ceil的用法的,自己就找了点东西,说说ceil的实现

出处:http://www.mathforum.org/kb/message.jspa?messageID=4534522&tstart=0

double (ceil)(double x)
 { /* compute ceil(x) */
      return (_Dint(&x, 0) < 0 && 0.0 < x ? x + 1.0 : x);
}

_Dint(double *px, int n) clears all but the first n bits to the right
of the (true) binary point in the floating-point value *px, then
returns a code describing the nature of the *discarded* value.

_Dint(&x, -1) truncates x to the nearest *even* value, a critical
test in function pow that's messy to write otherwise.

_Dint(&x, 0) truncates x to an integer and returns zero only
if x was already an integer. It returns other codes if x was a
NaN, an infinity, or a denormal. A good way to kick off all
sorts of math functions.

_Dint(&x, 1) truncates x to the nearest multiple of 1/2, and
tells you whether the result was an exact multiple of 1/2.
Round to nearest, anyone?

_Dint(&x, 2) truncates x to the nearest multiple of 1/4, very
handy for determining a quadrant.

_Dint(&x, (FBITS - 1) / 2) helps split a value into pieces so
you can perform arbitrary-precision using normal floating-point
operations.

At a quick count, we use _Dint in four dozen places in the
Dinkumware C library. It's the binary analog to the most
important (IMO) innovation in the evolving IEEE-754R decimal
floating-point package -- the ability to round to a given
number of decimal digits. But you will notice that _Dint is
*not* specified by the C Standard, and it is *not* present in
other implementations of the Standard C library. (Nor is the
decimal analog in IEEE-754R so clearly delineated.)
关键词(Tag): programming ceil

pretty pics

boygod 发表于 2010-03-02 21:29:24

Good site:

www.iStockphoto.com



Cheap pics site:

www.dreamstime.com
www.fotolia.com
www.japanesestreets.com
www.shutterstock.com



Free pics site:

www.morguefile.com
www.flickr.com/creativecommons
www.imageafter.com
www.exc.hu
www.everystockphoto.com
关键词(Tag): pics