Game Engine Framework

在这次找工作的过程中,有一道笔试题让我印象深刻,题目只有简单的一句话:please use pseudo code to write a game engine framework(请用伪代码写出一个游戏引擎的框架) 当时看到这道题,完全是一种头皮发麻的感觉,虽然我对游戏引擎还算比较熟悉,但它可是个“巨象”般的庞大结构,要在短短的90分钟的笔试时间内把它“摸”完(而且90分钟也不只这一道题),那可真是天方夜谭。所以我当时在试卷上留下的结果就是,草草的画了几个模块图了事。 之后我才意识到,我根本就完全没有理解这道题,或者说,是完全没有理解一个词的意义——framework。受游戏引擎庞大印象的牵连,我把framework想得太大了。 Framework对于IT人士来说貌似是个挺时髦的词,这个词也经常被我们挂在嘴边,我也如此。但问题是,我几乎从来没有去好好的留心过或者深究过,到底什么才是framework,什么样一个东西才能被称为framework,它的准确定义又是什么呢。 看一般英汉字典里对于framework的解释: structure giving shape and support  框架; 结构 这只是给了我们framework的中文翻译而已,几乎还是没有给我们什么有用的信息。 记住一句话:有困难,找Wiki。当我看到Wiki上对software framework精确的定义时,突然间,一切都明白了。 原文URL:http://en.wikipedia.org/wiki/Software_framework A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality. Frameworks are [...]

System.Web.Mail中的验证问题

昨天想做一个遇错自动发邮件通知owner的功能,想到的是System.Web.Mail中的SmtpMail:         MailMessage mail = new MailMessage();         mail.Subject = “XX is going down”;         mail.Body = “Pls check asap”;         mail.From = “sender@xx.com”;         mail.To = “owner1@xx.com; owner2@xx.com”; //semicolon-delimited receiver list         mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendusing”, 2); //use 2 to send using SMTP over the network         mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”, 1); //use basic authentication         mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendusername”, “username”)         mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendpassword”, [...]

Posted in: .Net Framework by Longzhang Fu 1 Comment , ,

SQL Server 中的错误处理(一)

Sql server 2000 中的错误处理 Sql server 2000中所提供的是一种非结构化的错误处理,其主要方法是使用@@error 来取得之前最近的一条处理的返回值。0表示操作成功,非0值则表示操作失败,不同的非0值表示不同的错误。 @@error 使用不方便之处在于你必须在怀疑会出错的语句之后,立即将@@error 赋予能够长时间保存值的自定义变量,否则该值将随着下一条语句的执行而产生变化,无法反映你所关注语句的真实执行情况。返回上一语句所影响的行数的@@rowcount亦是如此。 于是我们想,如果执行某操作后需要同时返回@@error以及@rowcount,是否可以运用下列语句? <sql operation> SET @err = @@error SET @rc = @@rowcount 答案是否定的,问题在于第二句 “SET @rc = @@rowcount;”  返回的实为 “SET @err = @@error” 的执行结果(为0 — 该语句未影响任何一行) 而并非我们所希望得到的 <sql operation> 的属性。所以我们看出,单句赋值的SET是不能达到预期结果的。 不过在Sql server 2000中,我们还有一个work around: <sql operation> SELECT @err = @@error, @rc = @@rowcount – Error handling code [...]

Posted in: MS SQL Server by Longzhang Fu No Comments ,