All Stories

持续集成

持续集成

  今天突然想起来,要一个同事教我怎么冒烟。项目组里用的是CruiseControl这个持续集成框架,通过编写xml格式的脚本,可以让它自动从版本控制系统里获取最新的代码,自动编译,自动打包,最后进行发布。同事大致给我讲了一个需要进行修改的三个xml配置文件的用途及里面一些元素的使用方法,然后我就开始在自己的电脑上进行实验,开始遇到一点困难,怎么都弄不好。先是要用它来启一个Web服务器,好像自带的是apache,因为要用JSP,还要用ANT,所以还得装JDK,装好JDK却不知道还得在环境变量里添加一个JAVA_HOME设到JDK的目录去,所以总是连网页都显示不出来,后来在同事的指点下,设好环境变量,页面终于出来了。不过取代码、编译、发布的过程总是失败,最后发现,好像是首先,指定的路径不能再空格,即使是使用8.3格式也不行,然后,得小心地设置各个源代码、工程等的存放路径,这样才能继续,保证编译时能取到正确的工程文件。其实到后来才了解到本质,就是一堆命令行的集合,只不过有些常用的功能它提供更方便的命令来执行,比如文件操作、版本控制管理系统操作等等。  现在,我给自己也建了个本地的CruiseControl,可以每天冒烟了,哈哈,这有一个好处,每天可以自己设定一个时间,然后让它自己运行,编译完后执行安装程序的脚本,制作好安装包,再压缩打包,最后就是一个完整的程序包。  仔细想想,转项目部后的近半年,还是学了一些有用的东西。比如除了这个外,还有MFC编程,至少现在能用MFC+Codejock的库写些简单的程序了,使得我现在几乎完全放弃使用C++Builder/Delphi了。对COM编程也有了很肤浅的了解,对Scintilla的使用方法的了解……等等等等,说不定对我以后都有帮助。  现在要做的一体化平台已经决定用Boost了,老大应该也不会太反对了,因为我的方案已经基本确定,Demo都给他看过了,现在可以好好使劲用一把Boost中的一堆堆让人眼花缭乱的模板了,哈哈哈哈,真是开心!

长吐一口气

长吐一口气

  今天老大来跟我讨论那东东的设计方案,居然说要用PHP/ASP之类的东西做个网站,把我郁闷了一把,不过好在我最后发现用这样的设计是无法比较方便地实现P2P文件传输的,最后老大只好同意照我的想法来实现了,真是有点庆幸,不然我就要郁闷了!不知道为什么他那么喜欢Web的东西,而不知道为什么我那么不喜欢Web的东西!而且那帮人真的是COM/DCOM技术的狂热爱好者,只要搭得上边的都想用这个来做,真是晕倒,而恰恰我是一点都不感冒,如果有可替代的其它技术,我就宁可不用的。有些地方不用COM实在没有其它方便的方法了,也就没办法了,比如Shell扩展之类的。  除了把设计方案讨论了一下,今天都没怎么做,还在担心那个流程图怎么画,昨天后来想了想,光是Graphviz还是不够的,Graphviz只是根据依赖关系自动给出图形,但具体的节点处于什么位置,却好像没有提到。  另外,又学到一个东西,在HTML页面中表单内容通过URL传递时,像中文之类的非标准ASCII字符,会先经过编码,以ASCII可见的方式传递,开始我看asio那个例子里面的代码,只是简单的转换,后来我把Google桌面搜索的页面改了一下,发现就变了,最后发现人家是用UTF-8编码来转换的,经过反复的试验,最后得出结论,IE打开的HTML页面如果是UTF-8保存的,就会把表单传递的内容也以UTF-8格式转换,如果以ANSI格式保存的,则也以ANSI格式转换。如果要从UTF-8转到ANSI,可以用Win32 API MultiByteToWideChar先把UTF-8转成UNICODE的,再用WideCharToMultiByte转换回ANSI就可以了。

今天写了点代码

今天写了点代码

  我等不下去了,今天先自己写了点代码,把asio那个http server的代码copy过来用了用,效果很不错啊,哈哈,仰天狂笑三声先!  现在是很确信这个东东的最大难点是流程图的自动构成,再生成带有热点链接的html页面。跟老大稍微讨论了一下,他提到我们可以让用户自己填一个规定格式的表格,我们再从表格中生成流程图。这确实也是一种解决问题的思路,而且让我突然感觉眼前一亮,似乎这个问题也不再是不能解决的了。老大提到可以用VML这样的东东,我没听说过,不过却知道有Graphviz这个东东,似乎可以解决我这个问题。  看起来业务逻辑相对是一个很简单的任务了,但如果确定要用Graphviz的话,还得学习一下它的dot语言,虽然我可能最后只用到它很小一个功能子集。时间只有3个月,11月底就要有可用的版本来试点,可能会有点紧哦。抓紧时间,争取快点把那些不是很困难的部分早点完成,然后来攻关这个流程图生成、html页面生成问题。  晚上afei打电话来慰问了一下,应该是xcc跟她说了我的事。然后谈了一会儿关于工作的事情,心里又舒畅了不少,等这个项目完成了,如果没有什么大意外的话,我一定要走了。

asio真是牛x啊

asio真是牛x啊

  今天开始搞新项目了,这个项目需求好久好久前就出来了,一直拖着,大概的设计思路我也已经有了,但从工作的角度讲,今天才是真正的开始,从需求分析开始。其实我觉得需求已经比较明确了,只是那些人到时候估计会不停地改口,这是很让人郁闷和气愤的,但也是不可避免的。  鉴于打算用类似Google桌面搜索那样的界面技术,所以得先研究下本地建一个http服务器有困难,看了看asio的例子程序,估计所有代码加起来不到100KB吧,但确实已经是一个可用的http服务器了,我都用bjam编译运行过来,效果很让我欣喜若狂,本来这样的只是为了本地建一个给本机用的服务器,足够了啊!所以不禁要感叹一下,asio真是牛x啊!  老大一直很担心到时候拿不出东西来,总是叫我好好讨论一下需求。我自己的想法,这个东西要是把所有支撑模块都做好了,业务逻辑其实是很简单的一块,随便怎么改都行,应该很灵活,即使到时候发现他们的要求变了,我应该也能快速作出响应。  中午没睡着,下午就虚了,晚上就又累又困了。

睡不着

睡不着

  梦中无数次出现她那羞羞答答用手压着嘴唇跟我说的情景。我使劲儿安慰自己。这是第一天,这样的日子还会有多少。

挺意外的

挺意外的

  居然接到luolu打来的电话。正在看小说的我,先是看到一个看不到号码的来电,接通后断来,后来是一个很奇怪的号码,还在那里用普通话问我知不知道她是谁,我一开始当然听不出来了,毕竟也是好久了嘛,于是老实地说听不出来。好像前一次打电话是我刚来深圳不久,她刚好回国,我就打到她家里,到现在也近两年了。而且这些年来每次只能通过电话才会听到一下她的声音,每次听到的声音好像差别又都挺大的。不过几句话下来,还是猜出来了,我马上说,这么多年了,我哪会这么容易能听出来啊。并且我真的挺意外的,因为从来没想过她会打电话给我,我也一直在疑惑她怎么会知道我的手机号的,而她却说是我以前在QQ上告诉她的,晕,我自己是一点印象都没有了。其实这么多年不见,真的能说的话题已经挺少了,她说知道hw死了人了,来慰问一下,居然连她这个身处异国他乡远在欧洲的人都能知道这个事,这个影响真是太坏了。顺便还问我结婚没,我说你都没结,我哪会结啊,然后问我有GF没,很惭愧地告诉她,本人魅力不够,还没有,唉,刚刚正在郁闷着呢!另外又闲扯了几句,问她回国之日之类的,实在没什么话题可以说的,最后她就说,多联系啊,只是她在上班,不能开QQ,不能开MSN。然后我说用邮件就行了,她说她是小女孩,当然我要主动写给她先,呵呵,能这么跟我说话的,大概也只有她了吧,呵呵。

失落,然后解脱

失落,然后解脱

  虽然早已隐约感觉到了,但是亲耳听到从她口中亲自说出来,还是觉得挺失落的。虽然一直以来都告诫自己,动什么也千万别动感情,可是我还是一步一步陷入了自己造出来的那个泥潭中去了。细细数来,这样的情况已经不是第一次了。总是一开始自己装清高扮酷,然后等日子长了久了,自己慢慢投入进去了,而人家却已经要离去了。  快下班的时候,小妞和小思宇突然发邮件说一起吃饭去。我真想说,你们是我这颗漂泊的心避风的港湾啊。吃饭完,三个人慢慢走回百草园,我什么也没跟她们说,但心里觉得比较安稳。回到家,给xcc打了个电话,倾诉了一下。xcc还是比较会安慰人的,分析形势,价值取舍,说得头头是道的,真的很让我觉得舒坦。  失落过后,接着的是解脱,因为可能会面临的很多困扰都没有了,大概我的食欲也会慢慢好起来吧。至少我很孔雀地感觉到她还是比较在乎我的,或者说曾经在乎过我的。  让人不能自拔的,除了牙齿,还有爱情。

又剩下2/3多的面

又剩下2/3多的面

  仍然没什么食欲,中午故意拿了一碗少点的米饭,吃是吃完了,不过真的是硬塞下去的,没啥胃口啊,倒是快下班的时候确实感觉到饿了,可是到了食堂打了一盘面后,还是不怎么想吃。  今天又解决了一些比较紧急的问题,明天下午就是1.1.0版本的发布会了,搞得还很隆重的样子呢,呵呵。这个版本里我悄悄藏入了一句话,一句我最近很想说,却又不好意思直接说出来的话。说明显也很明显的一个地方,不过大部分人应该都不会关注那里的吧,就算发现了,也应该是无意间在看其它东西时偶然发现的吧,呵呵。  项目组要组织出去游玩了,去阳朔。去年五一的时候跟小妞和小玉玉一起去过,倒也还算开心。还是那句老话,关键不是去哪里玩,而在于跟什么人一起去玩啊!

继续郁闷中

继续郁闷中

  真是不爽,还在郁闷,快半个月了,总是提不起精神来。晚上在食堂拿了一盘面,最后剩下快有2/3吧,连食欲都没了。真是没用啊,就这样被打败了。  下午又去讨论了一下需求,然后想到下周开始就要投入到这个里面去了,还可能有不少困难呢!现在粗略地想想,大概的难点在于,灵活的界面,极强弹性的可扩展性,以及从实现角度讲,现在还不确定自己建一个本地的http服务器有多少困难,如果想加入自己的扩展,又有多少困难。  白天给工具加了保存成HTML、PDF和RTF格式的功能,不过有bug,PDF对中文直接就乱码,RTF遇到中文,用写字板打开还能正常显示,如果用Word打开,也是乱码,晕!