All Stories

使用Apache作为Gems服务器

  这个想法有好几天了,在网上搜来搜去,也没找到多少有用的东西,不过今天晚上加班,还是弄到基本可用的程度了。  首先需要明确一点是,所谓的RubyGem服务器其实是一个非常普通的http服务器。在公司里那台公用服务器上,自动化组的人用ruby发布包里自带的gem_server.bat运行了一个脚本,提供gem服务。打开这个bat文件看看,其实是个Windows批处理脚本和ruby脚本混合的东西,它开头一条语句将处理流程跳转到最后,运行ruby.exe来执行自身,中间则是一段一段的html代码和ruby代码,最主要的是最后一段ruby代码,通过WEBRick包提供的功能,在本地开设了一个http服务,并动态处理远程连接的http请求。其中最重要的是yaml请求,远程客户端请求yaml文件,其实它是一个对服务器上所有的gem包的索引,有了这个索引文件,客户端知道服务器上有效的gem包版本和具体路径,然后同样是通过http协议下载需要的gem包,并安装到本地。  有了这些基础,接下来的就好办了。Apache随便哪里都能弄到,基本配置也非常简单,就是改一下端口,设置几个别名,把gem服务器常用的几个目录添加上。一般需要/、/gems/、/doc_root/、/yaml这4个路径,其中/gems/和/doc_root/就是ruby在文件系统目录的直接映射,/和/yaml要通过脚本刷新,脚本不用自己写,只要拿gem_server.bat改一下就行了,原本它是直接生成字符串返回给http客户端,这里就改成把生成的字符串写入到文件就行了。试了试gem install命令,可以用,解决!  最后再来啰嗦一下,为什么要用Apache来作为Gems服务器。因为那个gem_server.bat用ruby来启http服务器,却有非常严重的内存泄漏问题,只要客户端连接稍微多一点,内存占用就直线飚升,随随便便就能到1.5G,所以,就是不能用它!

阿迪牌保暖鞋

  定价¥680,用卡打88折后¥598.40元。今天可谓是速战速决,吃完中饭回来休息了一下,立马决定去买东西,刚出小区大门口,就看到辆满载着人的335缓缓驶来,挤上去,男的在这方面就是有优势,不怕被人趁机骚扰的同时,内心邪恶点的可以趁机骚扰一下车上的ppmm,不过我的胆子还不够大,革命尚未成功,同志仍需努力!好不容易晃悠到华强北,直奔茂业大楼,到阿迪专柜看了看,马上看到一款保暖鞋,第一印象这就是我想要的款式,底是胶底的,面是牛皮的,颜色是黑的,价格对我来说是高的,但我还是二话不说,只试一下大小就开单了。

总算大致知道CppUnit用法了

  昨天在小卖部买了本持续构建的书,后来又看了一天敏捷方法的资料。今天突发奇想,想要在我的工程里加入单元测试的代码,工程是用MFC的,所以很自然的想到用CppUnit,Boost压根就没被我想起来。  之前有过好几次想学一下CppUnit的使用,可是最后都放弃了,每次放弃的原因都一样,静不下心来,觉得太麻烦了,不知道从哪里开始。今天就先问了一下旁边的一个同事,他告诉我只要从某个类继承,就可以写测试代码了。然后看了看Impeller中的代码,尝试着给我的工程里加入使用CppUnit的测试代码,一切顺利,太好了。这样也算是又学会了一项技能吧,哈哈!

我很生气

  我会让后果很严重的。  凭什么要强迫我们免费奉献业余时间去吼那难听到死的歌。

最后一次心伤

  在看《奋斗》时,很讨厌夏琳那个角色,只觉得她把陆涛弄得这么痛苦,为什么陆涛还是不死心,对米莱和灵珊两个富家女视而不见。其实在看片的时候,我就很强烈地意识到,某种角度讲,我不就跟陆涛很相似吗。可是最后陆涛还是跟夏琳在一起了,在他再次一无所有的时候夏琳又回来了,这似乎从深层意义上看,也许是陆涛内心深处的仇富心理,以及夏琳的心高气傲所带来的局限性。从现实角度看,我注定不会有陆涛那样的命运了,我的各方面条件都不行,陆涛在剧中是作为一帅哥角色的,而要以我的样子来出卖色相,实在太困难了,陆涛自身是个很有能力的人,温柔而且聪明,这些方面我也是望尘莫及,最后,他有个很富有的亲生父亲,这个出身是不能选择的。  所以我只能好好地走自己的路,工作,想办法多赚点钱,最好能找一个自己喜欢的女孩当女朋友,然后尽自己努力让家人过得好一点。  事到如今,我真的应该放开点,以前的事慢慢淡忘。我只是一个非常非常普通的人,做什么都不会太出色,只能走着平凡人该走的道路。有的事情不能强求,我应该另找出路,也许真的是错过的,但也已经过去了,再懊悔也无济于事,总是回头看,独自一人在黑的夜里舔舐着鲜血淋漓的伤口,除了自己没人再会看到这惨痛的一切,与其如此,不如向前看,或许更美好的在前面等待着。

今天又被郁闷了

  被叫去又讨论了一把什么鬼需求,被郁闷了一把,这鬼东西太烦人了,最后我们老大还问我有没有不能实现或者实现特别困难的,我只能麻木地摇摇头,我已经没语言了,上次已经有过经验,就算我说哪里哪里实现很困难,那大boss也会说,这有什么难的,不是很简单嘛,然后不着边际地给你做一堆设计。  回到办公位,我是茫茫然而毫无头绪,稍微整理了一下讨论的内容,然后就向老大去请假,出乎意料地顺利,这样我就决定2月1日回家啦,哈哈。  还有个郁闷的问题是,不知道为什么,我的双缓冲就是不起作用哈,拖动一个图形时,另外的图形都会闪烁得非常严重。不过根据现在讨论的结论看,我是暂时不用做这编辑器了,因为大boss明确表示不要做编辑器,这编辑器是专有的,我们要用通用的工具,这样即使在某种特殊的情况下,我们没了这工具,还是可是使用这套东西。真tmd奇怪理论,什么时候会出现这种情况,又要没有工具,又要能完成什么什么功能。反正很早就开始无语了,我还想再过两年呢,这样弄下去我可坚持不了了。

终于看完《奋斗》了

  好些天前,估计至少有半个月前吧,跟小妞一起吃饭,她便使劲儿推荐我看一下《奋斗》,当时还满不在乎的,听小思宇也说过,她还买了书的,一次偶然看到VeryCD上有下载的,便全下了下来。电视连续剧看着就是比较费劲儿,而且我感觉挺浪费时间的,不过我终于看了1个多星期,把它全部看完喽。  片子一共32集,在我看来算是比较长的了。里面讲的故事真如小妞小思宇说的,很贴近生活,贴近我们这类人的生活的。主角大学毕业,然后经历事业、爱情上的各种风风雨雨,有的时候不禁就会拿自己的经历来比较。  总的说来,陆涛我挺喜欢的,但挺讨厌夏琳的,挺同情可怜米莱的。我觉得陆涛做的百分之八九十我都是很赞同的,但夏琳在陆涛搞房地产那段时间对他的冷冷的,让我讨厌死她了,呵呵。最同情的还是米莱,外表乐观坚强,其实内心一直脆弱得很。  这片子看着看着就会引起点儿共鸣,真能鼓舞点儿人的。

烂醉如泥胃难受

  昨天测试部年终聚餐,疯丫头又当主持,又跳印度舞,跳得挺好看的,只是我的相机啊,郁闷死我了,想要连拍,结果拍下一些很模糊的下来。还有另外一个mm跳劲舞,也还好看,遗憾的是拍下的是更模糊的。说是聚餐,但好像菜上得并不多,味道不差,不过我全找人喝酒去了,一个测数据的小mm经过我们桌,硬是被我拉住喝酒,哈哈。找各种理由和人喝了一些,结果喝了个烂醉,去洗手间抠了一下,吐空了,摇摇晃晃地坐班车回来,那室友还说要在路上看住我,自己在车上就吐得起劲。回到家胃难受死了,躺在床上实在不舒服,就翻出手机,又想不出打给谁好。打了一会儿电话,还是难受,冲到卫生间里,趴在马桶上想吐,但要真的没什么东西可以吐了,抠也抠不出东西来,这么不爽还是第一次。后来不知不觉,总算睡着了,一直到凌晨4点多才睡来一下,接着就睡到上午10点多,安逸啊!  我用了双缓冲,居然不起作用,估计是没用对,气愤加郁闷。还得改呀,不过有参与的例子代码,应该没啥问题吧。现在对于这个简单的编辑器,还有4个大问题:1、需要能拖动线条的一端;2、移动节点时,线条要能跟着动;3、线条要有箭头;4、线条与节点的交点处要截断。

进展比自己想像的慢一点

  已经有好几次了,在比较重要的时候,总以为自己能很快处理完。这次也是,但从今天的进度看来,总的说起来比自己想像的要慢一点,不过基本还算是正常的。  今天遇到一个很奇怪的事情,主要还在于自己对MFC架构了解不够。在Doc/View架构中,Doc类有一个方法用于串行化,我就想当然地以为将数据保存到文件中时,应该在这个方法中添加代码,但没有用它提供的串行化对象,直接获取到文件名,就一古脑儿地把所有数据写入到文件中去了。可是却发现,执行完后,文件却是空的,并且怎么也找不到原因,单步调试的时候发现,写入文件的代码是正确的,数据确实是写入了,可是后来不知道哪里又被清空了。最后很无奈,在默认的OnSaveDocument调用完后再来用我自己的代码写文件,就没事了,既然最终目的是达到了,我也就没去深究原来的方法为什么有问题,据我现在的猜测,可能是要把在那个串行化的方法中把数据输入到那个串行化对象中,之后MFC会自动把该串行化对象中保存的数据写入到文件中去,当然这只是我的胡乱臆想,呵呵。  自我感觉这次做这个特性代码结构是我个人有史以来水平较好的一次,不知道是不是真的是因为代码写多了,不知不觉就会水平有所增长,总感觉现在这个架构,层次划分,类的设计,都很让自己满意,呵呵。我觉得我就是不会那啥瀑布模型,就是不适应,那对架构设计要求太高了,对architecture的抽象能力要求也太高了,我就只能适合用一下像XP那样的方法,一边写一边重构,但是我又不用TDD,所以还是很奇怪的。  再感叹一下,强大的Boost,不用白不用!