上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 上周给大家推荐了流编辑器sed,用sed其实已经可以干很多事情了。批量替换文件,批量查找指定的模式,支持单行和多行模式。但通过”sed单行脚本快速参考“可以看出,sed写出来的脚本可读性很差,有些甚至非常难以理解,特别是对于那些对sed的用法不是很熟悉的人来说,看起来简直像一堆毫无意义的字符乱码。脚本写出来不是给自己看的,也要考虑到后续的维护。有没有更好的方式来做同样的事情,甚至比sed能干更多的事情了。awk登场了,它的语法类似与C,写起来非常方便并且非常容易理解,提供了许多系统变量、字符串处理函数、数值运算函数、美化输出函数,甚至可以自己定义函数。能想到的文本分析,AWK貌似都能搞定。下面 阅读全文
posted @ 2012-04-27 06:06 david++ 阅读(7692) 评论(1) 推荐(4) 编辑
摘要: 动机网游服务器端开发过程中,很多控制游戏的参数都不应该直接硬编码的。需要各种各样的配置和脚本文件,好处:可以由策划或数值去随意修改,而不用动程序代码配置可以动态加载,可以动态改变服务器运行中的参数,对已经发布的功能进行调整一般,可采用:ini配置,一般用于window下的软件,游戏客户端有时会用到。比较简单,功能有限。Excel表格,数值策划特别喜欢用这个,可以做很多运算,生成数值,可以用VBA做更多的事情。xml配置,对于层次比较深、结构比较复杂的数据,应该算最佳选择了。XML(eXtensible Markup Language)是一种标记语言,用于说明数据是什么,以及携带数据信息。主要用 阅读全文
posted @ 2012-04-24 21:37 david++ 阅读(8444) 评论(2) 推荐(4) 编辑
摘要: 代码坏味道:是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。1.重复的代码如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。同一个class内的两个函数中含有重复的代码段两个兄弟class的成员函数中含有重复的代码段两个毫不相关的class内出现重复的代码段注意:重复的代码是多数潜在BUG的温床!2.过长的函数拥有短函数的对象会活的比较好、比较长。程序愈长就愈难理解函数过长阅读起来也不方便小函数的价值:解释能力、共享能力、选择能力原则:每当感觉需要以注释来说明点什么的时候 阅读全文
posted @ 2012-04-24 01:28 david++ 阅读(8089) 评论(5) 推荐(5) 编辑
摘要: 做网络游戏服务器端,最烦人的就是查后台日志。外面的玩家报BUG或者其他异常的时候,客服搞不定的时候,就需要服务器的程序去查日志。分析日志需要一些比较好的文本分析工具,grep和sed都是不错的文本分析工具,还有awk,再过复杂的日志分析估计就要写脚本了,推荐使用Python。(其实我一直在纳闷,数据分析这些事情,怎么老是需要服务器程序去查,有专门的数据中心、运维和客服部门,人家才是专业的,工具比咱用的更“专业”吧。最后想了想,公司流程不完善,游戏后台日志分析自己这边还是做起来,不然搞的太被动了也不好。)下面是sed的一个快速参考,更加详细的介绍,还有用法实例,可以参考《sed and awk》 阅读全文
posted @ 2012-04-20 23:51 david++ 阅读(1849) 评论(0) 推荐(1) 编辑
摘要: 电影:《生命之树》《生命之树》由泰伦斯·马力克导演。故事开始于一个1950年代,生活在美国中西部的家庭的杰克在童年时收到双亲两种矛盾的教育。成年后的杰克渐渐迷失了自己,发现他在现代社会失去了灵魂,他寻觅生命的原初以及意义的答案,拷问信仰的存在,最终明白了生命的真谛。故事讲述生长在美国中西部的11岁少年杰克的成长变迁。他的家庭由父母和三兄弟组成。在一个孩子眼中,起初一切都是新奇的。他从母亲身上看到了慈爱,而他的父亲告诉他,这个世界的生存法则就是把自己放在首位。在成长过程中,杰克竭力想要调和双亲相悖的人生观。故事开始于一个50年代,生活在美国中西部的家庭,电影跟随着大儿子杰克的生命展开, 阅读全文
posted @ 2012-04-13 08:00 david++ 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 意图用更加简洁、健壮、可移植、可维护和内聚的面向对象接口,封装已存在的非面向对象API的函数和相关数据。背景使用已存在的非面向对象的API提供的服务或机制,开发可维护和进化的应用。问题简洁的代码比复杂的代码更加健壮,因为它易于理解和维护可移植的软件可以容易的在不同的操作系统、编译器和硬件平台之间移植提高软件可维护性,会降低开发生命周期的开销高内聚的组件,易于学习、维护和增强解决方案结构:行为:实现:识别已有的过程式API中内聚的抽象和关系把内聚的函数放入包装外观类中(Wrapper Facade Class)创建内聚类把多个独立的函数放入其中自动创建和销毁,可以考虑使用构造函数和析构函数选择间 阅读全文
posted @ 2012-04-11 00:12 david++ 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: vim+wikimedia.vim简介:使用vim的wikimedia.vim插件,可以高亮wiki语法关键字,自动补齐等功能。对于喜欢用vim编辑器的人来说,用此方式编辑wiki再好不过了。可以自动识别的文件类型为*.wiki,或者set filetype=mediawiki。安装:下载VIM插件:http://www.vim.org/scripts/script.php?script_id=1787解压缩到$HOME/.vim/或$VIMDIR/vimfile/目录下面确认:$HOME/.vim/syntax/mediawiki.vim确认:$HOME/.vim/ftdetect/medi 阅读全文
posted @ 2012-04-07 03:35 david++ 阅读(3432) 评论(0) 推荐(1) 编辑
摘要: 书籍:《面向模式的软件架构IV:分布式计算的模式语言》简介迄今为止,人们提出的软件开发模式有不少是关于分布式计算的,但人们始终无法以完整的视角了解分布式计算中各种模式是如何协同工作、取长补短的。构建复杂的分布式系统似乎成为了永远也无法精通的一门手艺。本书的出版改变了这一切。本书是经典的POSA系列的第4卷,介绍了一种模式设计语言,将分布式系统开发中的114个模式联系起来。书中首先介绍了一些分布式系统和模式语言的概念,然后通过一个仓库管理流程控制系统的例子,介绍如何使用模式语言设计分布式系统,最后介绍模式语言本身。使用这一模式语言,人们可以有效地解决许多与分布式系统开发相关的技术问题,如★ 对象 阅读全文
posted @ 2012-04-06 01:13 david++ 阅读(986) 评论(0) 推荐(1) 编辑
摘要: 来自:http://game-lab.org/?p=207书籍:《重构:改善既有代码的设计》简介Martin Fowler和《重构:改善既有代码的设计》(中文版)另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。《重构:改善既有代码的设计》(中文版)解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。《重构:改善既有代码的设计》(中文版)的核心是一份完整的重构名录(catalog of refactoring),其中每一项都介绍一种经过实证的代码变换手法(code transformatio 阅读全文
posted @ 2012-03-30 08:21 david++ 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 来自:http://game-lab.org/?p=200书籍:《设计模式——改善既有代码的设计》【简介】这本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。书中分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。【笔记】23个设计最基础的设计模式,每每读起如醍醐灌顶!不愧为经典之作!创建型Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类Builder:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示Factory M 阅读全文
posted @ 2012-03-30 08:20 david++ 阅读(249) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页