(图片来源) 原文发布于2009年3月27日 我一直想找到对工程师文化的确切定义,没有定义,怎么判断一个公司是否有工程师文化?不管是Google搜英文“Engineering Culture”,还是百度搜中文,都没找到定义,例子倒给了不少,比如Google和百度自己。 就用通俗的语言说说自己的看法吧。有工程师文化的公司,工程师在公司里地位很高、很强势,甚至比经理、销售等还强势。很多项目产品,并不是经理在驱动,而是一群工程师在主导。经理的作用往往就是财务支援、人力支援、进程记录督促等等,典型的”后勤”和”服务”角色。假如从工程师的角度来看,如果他/她觉得自己在公司里很重要,每日工作得很开... Read More
Windows 8的开发平台总体上分为两部分:一是全新的WinRT,界面搭配Metro style,二是传统的Win32、.NET(SL)、IE三大平台,界面为传统窗体风格。其中全新的WinRT被微软视为开发者的未来。 WinRT平台开发又细分为两大方式:一是C/C++搭配XAML,或C#/VB搭配XAML,二是JavaScript搭配HTML/CSS。C、C++、C#、VB、Javascript全部可以直接调用WinRT APIs,这样微软将Native(本地)、Managed(托管)、Dynamic(动态)三大语言运行机制统一了起来。可见,WinRT是微软将Win32、.NET(SL... Read More
前一段时间看了《深入理解Linux内核》对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识。 我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个技术是怎么发展而来的,在这个技术之前存在哪些技术,这些技术有哪些特点,为什么会被目前的技术所取代,而目前的技术又解决了之前的技术所存在的哪些问题。弄清楚了这些,我们才能比较清晰的把握某一项技术。有些资料在介绍某个概念的时候直接就介绍这个概念的意义,原理,而对其发展过程和背后的原理丝毫不提,仿佛这个技术从天上掉下来的一样。介于此,还是以内... Read More
其实吧,内存泄露一直是个令人头疼的问题,在带有GC的语言中这个情况得到了很大的好转,但是仍然可能会有问题。一、什么是内存泄露(memory leak)?内存泄露不是指内存坏了,也不是指内存没插稳漏出来了,简单来说,内存泄露就是在你期待的时间内你程序所占用的内存没有按照你想象中的那样被释放。因此什么是你期待的时间呢?明白这点很重要。如果一个对象占用内存的时间和包含这个对象的程序一样长,但是你并不期望是这样。那么就可以认为是内存泄露了。用具体例子来说明如下:class Button { public void OnClick(object sender, EventArgs e) { ... }. Read More
每次服务器接受到请求,都要先经IIS处理。这不是一篇描述ASP.NE生命周期的文章,仅仅是关于IIS操作的。在我们开始之前,先了解这些会有助于对全文的理解,同时欢迎反馈和建议。 什么是Web Server? 每当我们通过VS运行ASP.NET网站时,VS集成的ASP.NET引擎会响应各种请求,这个引擎的名字叫“WebDev.WebServer.exe”。 当我们配置一个Web程序时,总会涉及到一个词“Web Server”,它的功能便是会响应所有请求。 什么是IIS? IIS(Internet Information Server)是微软Web Server的一种,用来配置ASP... Read More
1. 不是所有的美剧都适合学英语 如果喜欢看如《24小时》这样的动作片,那你基本会讲一口流利的"呯""轰""啊"之类的开枪爆炸声英语;如果你喜欢看如《豪斯医生》这种专业性很强的片子,那你基本会讲一些如 MRI,CT,Tumor之类的连自己都不明白的江湖郎中英语;如果看的是《越狱》,基本不用举手,别人就知道你是黑手党的了。不是所有剧都是合适用来学习的美剧,要有一定对话量、生活化的、平民化的片子。 2. 开着字幕看是没有前途的 很多人喜欢开着字幕看,觉得会有参照更有帮助,其实这是在拖你的后腿。就像很多人结婚,喜欢找个比自己丑的伴娘,以为这 Read More
英文原文:4 Things I Wish I Would Have Known When I Started My Software Development Career 我的软件开发生涯开始于15年前。 但是直到最近的5年,我才真正开始看到自己在软件开发领域的巨大进步。 这里有一些感悟是我希望能够在我进入软件开发领域时所知道的事情,如果我早一些领悟到,相信会比现在更加成功,也更节省一些时间。 软件开发工作没有“正确方法” 在软件开发生涯的早期,我曾经浪费了大量的时间在学习和争辩,错误的相信有一条“绝对正确的方法”能够应付软件开发的很多方面。 结果证明我曾经认为关于软件开发的... Read More
原文链接:Don’t go into programming if you don’t have a good thesaurus 许多程序员认为编程时,如何命名不仅是他们面临的老大难问题,也是最重要的事情之一。 上周,我发起了一个“程序员编程中的老大难问题”的投票,主要是基于最近Quora上的跟帖讨论。根据大家的反响和投票结果,有一项投票遥遥领先,稳居第一——对于软件开发人员来说,最大的难题是:如何命名(例如:给变量,类,函数和过程命名等等)。 对于这个结果,我多少有点意外,因为作为一个多年的开发人员,我不会投给这一项(我想我会投给“修改或维护别人的代码”)。但是真正让我惊讶的是... Read More
