2012年七月月 发布的文章

绥中电厂海滩之旅

上周末,部门组织了一年一度的集体出游活动,这次的目的地是位于葫芦岛市附近的绥中电厂海滩。

 
周六(北京时间7月28号),恰逢伦敦奥运会举行开幕式,很遗憾不能完整的看完现场直播。在看完憨豆先生的精彩表演后,我就从家里出发了。本来这次旅游我是想带LP和果果一起去的,之前用一周时间已经做好了所有准备(吃的、穿的、玩的、用的),但人算不如天算,果果居然感冒了,早上起来一量体温:38度。唉,果果与大海第一次邂逅的时间只能推迟了。
 
天气预报也没有给我们带来什么好消息,受冷涡影响,周六、周日葫芦岛一带有各种雨:中雨、大雨以及雷阵雨。还好,大家也调低了对此次出游的期望:大不了就在住所打牌吗!大巴准时从沈阳出发了。
 
将近六个小时的行程让人有些疲惫,路上虽然顺利,但有些惊险:大巴刚到京沈高速锦州西出口时,老天就降起了瓢泼大雨,雨最大时能见度估计也就二三百米。司机降低了车速,我们到达的时间也延后了将近两个小时。老天也许是怜悯我们,当我们到达目的地时雨居然停了。
 
这次我们住在农家院,房间挺不错的,几乎每间屋都有电视和空调,4人以上房间还都有室内卫生间,可以洗热水澡。吃的也还行 – 只要不吃坏肚子,我都认为“不错”^_^ 。最大的不足就是离海边太远,步行要半个小时,这与之前几次到海边旅游的境况大相径庭 – 以前基本上出门就能看到海。
 
匆匆午饭后,我们就乘车来到了海边。外面的天很阴沉,没有太阳,也就没那么晒,至少省防晒霜了。不过这里的海却不那么吸引人 – 水质黄浊,风浪巨大。不知道是不是这里的泥成分较大,海水发黄,十分浑浊,与之前我在网上看到的网友的评价出入很大啊。另外当天风浪很大,初步目测了一下,浪高在0.8-1米左右,即使会游泳的人也不敢贸然向远处游,绝大多数人是套在泳圈里在岸边接受“海浪”冲扶:(。海滩也很窄,没走几步就延伸到海中了,坡度也陡,难觅平缓;沙子较粗,同事开玩笑的说:这不就是建筑工地用的那种沙子么^_^。
 
 
水太脏,索性也就不下海了。沿着海岸走了一周,无趣。于是和同事一起到岸边组织踢沙滩足球。估计与我有同感的同事有不少,不一会儿就聚集了好多要踢球的同事。沙滩上踢球是很累的,踢了几个回合下来就已经全身透汗了。另外由于沙子较粗,一不小心脚内测磨掉了一小块皮。于是下场用清水冲洗伤处,坐下休息。
 
沙滩的配套设施也不那么完善,淡水淋浴房中出的水十分浑浊,看到进去洗澡的同事都扫兴而出。玩得不尽幸,索性也就早点回了驻地(没等旅行社的车)。
 
晚饭后,有些人回屋以电视消遣,有些人(包括我)则开始打牌消磨时间。这时外面居然下起雨来,而且是雷雨 – 电闪雷鸣的。突然听到一个极响的雷,然后农家院所有的电视信号就都没有了。估计是小镇的电视信号设备被雷搞坏了。那些看电视的同事无所事事,也就陆续卧床休息了。我们继续打牌,一直打到快11点了,雨停了。年轻的同事提议去外面吃烧烤,考虑到外面道路泥泞,还没有路灯,再加上我也不喜欢海鲜烧烤,因此我也回屋休息了。还别说,一天下来还真的挺累,很快就进入了梦想。半夜时分,外面似乎又下起了暴雨,且伴有雷电,翻了个身,继续在梦中旅游^_^。
 
第二天起来时,雨早已停了,外面有些凉,但空气不错,天气有转晴的迹象。按照导游的计划,今天我们去另外一片小海滩 – 那里游客不多。早饭后乘车来到这片海滩,的确不大,人也的确很少,但海水与昨天的海滩没有大分别,浪似乎更大了。大家基本没有下水的。海滩上有一个简易排球场地,我们租了个排球,继续海滩运动之旅。好久没打排球了,不过高中的排球底子还在,感觉还行 –  技术动作还是蛮规范的^_^。大家玩得还是蛮欢乐的,打了近两个小时,全身透汗,不过时间到了,该乘车返回了。
 
两天的绥中电厂海滩之旅就这样不温不火地结束了,中午十分,天已大晴,太阳出来了,瞬间大家就感觉到了热量。午饭后,大家赶紧钻进已开空调的大巴车中,等待回程。一路无雨,行车速度自然也就快了许多,4个半小时多点,我们就回到了沈阳。
 
乘地铁回家,看到果果病已痊愈,虽疲劳,但还是蛮高兴的。

buildc 0.1.9版本发布

随着buildc使用的深入,越来越多的新需求暴露了出来。为了满足这些需求,我们组的小兄弟又对buildc进行了一些改造,这些变化如下:

1、支持将多个子工程打包到一个安装包中

最初buildc的设计思想是为每个子工程单独制作安装包,这样具有很强的灵活性。但在对现有N个工程进行构建脚本改造的过程中发现,有些工程间存在严重 依赖,比如工程A是一个业务级公共库工程,工程B和工程C都依赖工程A构建后生成的静态共享库。而工程A又无法被当成第三方库处理,这给我们的安装包构建 制造了难题。我们的解决方法就是改造安装包工程的setup.cfg文件,让其支持多source。从正规语义上来讲,我们这么做将使得buildc支持 将多个子工程打包到一个安装包中,而间接的作用则是解决了上述有依赖关系的工程安装包制作的问题,虽然看起来不那么美。

修改后,setup.cfg中配置就变成下面这种情况了:

source = [
  {
     "trunk"          : "svn://10.10.15.56:4444/cn/trunk/A",
     "binary_prefix"  : "fooA"
  },

  {
    "trunk"          : "svn://10.10.15.56:4444/cn/trunk/B",
    "binary_prefix"  : "fooB"
  }
]

不过问题并没有彻底解决。A工程的构建结果是一个.a文件,按照原buildc处理流程,该.a文件会被放入安装包中的app目录下,但这不是我们想要 的,.a文件是不应该放入安装包的。与此同时,一些子工程的输出是.so文件,按照最初的规划,这些.so文件应该被放入deps目录,而原buildc 默认都是放在app目录下。为了解决这个问题,我们给source做了"属性扩容" – 增加了一个可选的pack_path字段。

source = [
  {
     "trunk"          : "svn://10.10.15.56:4444/cn/trunk/A",
     "binary_prefix"  : "fooA"
     "pack_path" : ""
  },

  {
    "trunk"          : "svn://10.10.15.56:4444/cn/trunk/B",
    "binary_prefix"  : "fooB"
  },

  {
    "trunk"          : "svn://10.10.15.56:4444/cn/trunk/C",
    "binary_prefix"  : "fooC"
    "pack_path" : "deps"
  }
]

这个示例中,A工程pack_path的值为"",buildc将忽略A工程的输出文件,B工程没有配置pack_path,则buildc默认将B工程 的输出文件放入app目录;而C工程明确为pack_path赋了值,buildc会将C工程输出文件放入deps目录。

buildc原本支持在命令行输入工程源码库地址(–tag=YOUR_SOURCE_TAG),现在依旧支持。一旦命令行指定了工程地 址,buildc将不会理睬setup.cfg中source中配置的各个源码库路径,将从命令行指定的工程地址处取得最新源码,但暂无法指定 pack_path,默认会将构建结果放入app目录。

2、打包时自动生成VERSION文件

buildc在执行pack build后,自动在安装包中生成一个VERSION文件。该文件中包含与安装包匹配的平台信息(包括CPU体系、OS类型等)以及构建时的一些版本信 息。该文件除了便于安装包使用人员查看安装包相关版本信息之外,还可以用作安装包在目标平台进行约束检测的依据。如果你的安装包是for x86-64 linux的,那么宕操作人员误将该安装包部署到Solaris 10 for sparc平台时,安装包中的deps_check.py脚本会比对当前平台信息与VERSION文件中携带的信息,发现不匹配,则报错并停止程序的安 装。

3、其他

该版本buildc还提供了一些脚本的详细示例,如env_gen.py、deps_check.py。另外从Make.rules.in模板中去除了硬编码的-D_DEBUG定义。

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats