微软的UAC战略
作者:Gmxp 日期:2008-04-28
最近忙于冠锁2的开发,很久都没有写东西了,今天就随便写一点凑凑数吧。
大一的时候曾经有一篇和UAC相关的日志,现在看来,那时候还是太肤浅了(可能等到毕业后再来看我现在的日志,也会觉得肤浅吧,呵呵)。我一直以来都是比较喜欢UAC的,它可以帮助我了解我的计算机正在干什么事情,对防范病毒,木马,恶意代码都很有用(用Vista一年的还没有中过毒);但是很多人似乎并不喜欢它,嫌它烦。呵呵,事实证明了很多时候技术并不直接反映市场,很多人不喜欢它,但是多少人知道它后面有多么强大的权限认证机制吗?
呵呵,跑题了。前段时间看过一篇报道,大概就是说微软借用UAC来激怒用户,迫使广大软件公司修改自己的产品以使Windows具有更高的安全性。仔细一想,其实挺有道理的,很多时候我们的代码没有必要运行在很高的权限下,低权限也可以完成,例如CreateFile,如果仅仅只是为了获得一个文件的属性时,调用CreateFile完全没有必要用GENERIC_READ这样的权限的,FILE_READ_ATTRIBUTE足矣。在Vista之前的,我们可能完全不会理会这样细小的差别,但是Vista下,一些受保护的目录下使用GENERIC_READ就会失败,这就迫使我们更改自己的代码来获得Vista的兼容性,毕竟弹出UAC窗口是很恶心的;这样对于Windows来说,运行在高权限下的应用程序数量大减(通常只有少数系统关键组件运行在高权限下),安全性就可以大大提升,这才是微软想要的呀!
大一的时候曾经有一篇和UAC相关的日志,现在看来,那时候还是太肤浅了(可能等到毕业后再来看我现在的日志,也会觉得肤浅吧,呵呵)。我一直以来都是比较喜欢UAC的,它可以帮助我了解我的计算机正在干什么事情,对防范病毒,木马,恶意代码都很有用(用Vista一年的还没有中过毒);但是很多人似乎并不喜欢它,嫌它烦。呵呵,事实证明了很多时候技术并不直接反映市场,很多人不喜欢它,但是多少人知道它后面有多么强大的权限认证机制吗?
呵呵,跑题了。前段时间看过一篇报道,大概就是说微软借用UAC来激怒用户,迫使广大软件公司修改自己的产品以使Windows具有更高的安全性。仔细一想,其实挺有道理的,很多时候我们的代码没有必要运行在很高的权限下,低权限也可以完成,例如CreateFile,如果仅仅只是为了获得一个文件的属性时,调用CreateFile完全没有必要用GENERIC_READ这样的权限的,FILE_READ_ATTRIBUTE足矣。在Vista之前的,我们可能完全不会理会这样细小的差别,但是Vista下,一些受保护的目录下使用GENERIC_READ就会失败,这就迫使我们更改自己的代码来获得Vista的兼容性,毕竟弹出UAC窗口是很恶心的;这样对于Windows来说,运行在高权限下的应用程序数量大减(通常只有少数系统关键组件运行在高权限下),安全性就可以大大提升,这才是微软想要的呀!
[转]不要一辈子靠技术生存
作者:Gmxp 日期:2008-04-13
一、在国内你千万不要认为学习技术就可以换来稳定的生活和高薪待遇,更不要认为那些从事市场开发及打杂的人,就没有前途
不知道你是否知道,国内有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开发的关键阶段需要团队的成员没日没夜的加班,还需要为测试出的BUG和不能按时提交的软件模块功能而心怀忐忑,有的时候如果你不幸加入现场开发的团队你则需要背井离乡告别你的女友,进行封闭开发,你平时除了编码之外就是吃饭和睡觉(有钱的公司甚至请个保姆为你做饭,以让你节省出更多的时间来投入到工作中,让你一直在那种累了就休息,不累就立即工作的状态)。
更可怕的是,会让你接触的人际关系非常单一,除了有限的技术人员之外你几乎见不到做其他行业工作和职位的人,你的朋友圈子小且单一,甚至破坏你原有的爱情(想象一下,你在外地做现场开发2个月以上,却从没跟女友见过一面的话,你的女友是不是会……)。
也许你拿到了所谓的白领的工资,但你却从此失去享受生活的自由,如果你想做技术人员尤其是开发人员,我想你很快就会理解,你多么想在一个地方长期待一段时间,认识一些朋友,多一些生活时间的愿望。
比之于我们的生活和人际关系及工作,那些从事售前和市场开发的朋友,却有比我们多的多的工作之外的时间,甚至他们工作的时间有的时候是和生活的时间是可以兼顾的,他们可以通过市场开发,认识各个行业的人士,可以认识各种各样的朋友,他们比我们坦率说更有发财和发展的机会,只要他们跟我们一样勤奋。(有一种勤奋的普通人,如果给他换个地方,他马上会成为一个勤奋且出众的人。)
不知道你是否知道,国内有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开发的关键阶段需要团队的成员没日没夜的加班,还需要为测试出的BUG和不能按时提交的软件模块功能而心怀忐忑,有的时候如果你不幸加入现场开发的团队你则需要背井离乡告别你的女友,进行封闭开发,你平时除了编码之外就是吃饭和睡觉(有钱的公司甚至请个保姆为你做饭,以让你节省出更多的时间来投入到工作中,让你一直在那种累了就休息,不累就立即工作的状态)。
更可怕的是,会让你接触的人际关系非常单一,除了有限的技术人员之外你几乎见不到做其他行业工作和职位的人,你的朋友圈子小且单一,甚至破坏你原有的爱情(想象一下,你在外地做现场开发2个月以上,却从没跟女友见过一面的话,你的女友是不是会……)。
也许你拿到了所谓的白领的工资,但你却从此失去享受生活的自由,如果你想做技术人员尤其是开发人员,我想你很快就会理解,你多么想在一个地方长期待一段时间,认识一些朋友,多一些生活时间的愿望。
比之于我们的生活和人际关系及工作,那些从事售前和市场开发的朋友,却有比我们多的多的工作之外的时间,甚至他们工作的时间有的时候是和生活的时间是可以兼顾的,他们可以通过市场开发,认识各个行业的人士,可以认识各种各样的朋友,他们比我们坦率说更有发财和发展的机会,只要他们跟我们一样勤奋。(有一种勤奋的普通人,如果给他换个地方,他马上会成为一个勤奋且出众的人。)
程序代码