前阵子我在公司换了一个部门,总的来说自己还是很满意的。现在有时间研究自己喜欢的东西,从原来繁重的编码任务中解脱出来,做技术新颖的东西,很有意思。
最近主要做了这样一些事:
1. 小小的玩了一下linux。
说来惭愧,作为“计算机科班”出身的我居然之前还没怎么用过linux(就在学校做实验的时候用过几次),最近公司给我新配了台台式机,里面预装的居然是ubuntu,正好省的我装了,直接小小的用了一下,感觉还是不错的。还附带了一张ubuntu的正版安装盘,于是我给笔记本也装上了,呵呵。
通过各种在网上搜索用法,我现在已经可以小小的使用linux。如浏览网页,看FLASH,收发邮件,编辑文档,QQ(腾讯基于LINUX的QQ版本比较老),MSN(我使用pardin,这个“万能”聊天登陆器实在很牛逼,但是我至今没研究出来怎么在pardin下使用MSN的群。。)。然后小玩了一下linux下大名鼎鼎的基于SDL游戏引擎(关于SDL,请看我之前的日志,有介绍)的开源SLG游戏韦诺战争。
不过总的来说,用的还不是很方便,很不爽的是没有较好的输入法,或者一些软件存在各种问题,需要自己手动配置(如FLASH中文乱码等),还有装LINUX的ATI的显卡驱动把我郁闷了很久……
本有打算将之前做的一个小的局域网共享软件的服务器端移植到linux ,后来没时间做了……
当然,这都只是站在一个用户的角度来体验LINUX,不过我向来也喜欢由感性方面入手学习。
2. 研究&学习搜索引擎工作原理。
看了几篇关于搜索引擎现状和原理架构的书籍,整体上对搜索引擎工作原理有个大致的了解。其实光是工作原理的话,从架构上来说还是很好理解的,具体细节我觉得现在没必要了解,扫了两眼,以后用到的时候再说吧。我看的一个介绍的文章中,有一大半是原理的数学证明,感觉很牛X……
3. 较深入的实践设计层面编程。
对于之前做的一个共享平台,在基本功能代码已经实现的情况下,整理总体架构,建立起较完整的面向对象结构,提高代码质量,优化数据结构,这个让我收获很大。从较粗糙的层面实现了点对点传输、文件传输管理、断点续传、下载双向限速等。
这让我心悦诚服的领略了编码之前的设计,是多么的重要。再也不会像个学生一样,迫不及待的动手开始写代码。
4. 头脑风暴。
和同事研讨研发方向,不断的冒出新点子,不断的被否定和肯定。这样来磨合和确定团队研发方向。
同时我自己也不断的有新点子冒出,然后通过查阅相关资料自己来肯定和否定自己的想法,简直是太HIGH了。我认识到了,必须广泛涉猎知识,增加自己在认识上的宽度(特别是当今的时髦技术),这样才能在思维中少走弯路,正确的导向思维。
5. 关于GDE(我自己业余时间组织朋友们做的一个RPG游戏项目)的想法。
决定重做游戏的UI部分。这是第二次推翻自己的成果,虽然现在看上去架构还不错,而且也初具规模。(引擎部分代码上万行)不过我自己知道,存在严重的硬伤,界面部分与代码耦合度太高,这完全是由于使用HGE引擎,由HGE引擎决定的。我承认可以将其封装得更好,可以重新设计UI部分的总体架构。但是为何不用更新潮的技术呢?
是时间松开抱着C/C++不放的态度了。本来想做一个游戏的话,自己觉得凑合就行,但是这样做出来也是没意义的,所以不如就用最新潮的技术——做就要做的最好,最时尚,甚至是现在商业游戏都没有广泛应用起来的技术。
那么我们选择WPF/silverlight + C# 来做用户界面,C++写数据核心,XML作为数据管理,LUA或者JSP作为脚本(大概方向,待讨论。)并且精简人员——为什么要精简人员?作为非盈利项目,其工作效率完全依靠参与者的兴趣和热情度。在数个月的项目管理中,我深刻体会到参与者热情不一导致的开发效率低下。所以不如精简开发人员,虽然任务量会大很多,但是绝对有利于项目进度。