基于自然语言的软件工程和程序设计(中)
软件发展至今,无论是编程语言,还是软件工程,乃至是互联网的趋势发展,都是飞速发展。于是,我们便迷茫于这样形形色色的语言和概念之间,无所适从。其实,我们不妨返璞归真,回到最初,让我们从语义出发,来讨论这形形色色的种种,你是否恍然大悟呢? 5. 面向过程是先总后分的行文顺序 相信大多数程序员都和我一样,... ...
.NET 4.0 新特性-dynamic
前段时间看过一些关于dynamic这个C#4中的新特性,看到有些朋友认为dynamic的弊大于利,如无法使用编译器智能提示,无法在编译时做静态类型检查,性能差等等。因此在这篇文章中我将就这些问题来对dynamic做一个较详细的介绍,希望通过这篇文章,能使大家对dynamic关键字有个更深入的认识。文... ...
个人管理 - 技术研究之道
本文更新版本已挪至 http://www.zhoujingen.cn/blog/1748.html------------------------------ 作为技术人员,经常遇到没有接触过的技术,有时是点滴的小技能,有时可能是大的一个研究课题。在《个人管理 - 从小工到专家》中有一个复用级别的.... ...
javascript 缓存系统
模仿jQuery,设计了一个缓存系统。像jQuery.data这样的东西,Prototype与mootools也有,目的都是用来辅助事件系统,用来缓存其中生成的数据,而非缓存普通函数上次计算的结果。Prototype利用了它的Hash类,mootools没细看,它内部好像用来缓存uuid。一个共识是... ...
WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]
我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码和配置;通过ChannelFactory创建服务代理对象。在这篇文章中,我们采用一种独特的方式进行服务的调用。 ...
[你必须知道的.NET]第三十五回,判断dll是debug还是release,这是个问题
晚上翻着群里的聊天,发现一个有趣的问题:如何通过编码方式来判断一个dll或者exe为debug build还是release build?由于没有太多的讨论,所以我只好自己找点儿办法,试图解决这个问题,为夜生活带点刺激。于是,便有了本文的探索和分析。 我们应用Visual Studio对代码文件进... ...
NHibernate的缓存管理机制
如果你在使用NHibernate的二级缓存,详细的了解NHibernate的缓存管理,有助于正确的使用缓存;如果你在应用中自己管理缓存,参考一下NHibernate的缓存管理方案,也许可以少走很多弯路 ...
基于自然语言的软件工程和程序设计(上)
软件发展至今,无论是编程语言,还是软件工程,乃至是互联网的趋势发展,都是飞速发展。于是,我们便迷茫于这样形形色色的语言和概念之间,无所适从。其实,我们不妨返璞归真,回到最初,让我们从语义出发,来讨论这形形色色的种种,你是否恍然大悟呢?1. 何为语义我们无论是在编程,还是在架构一个完整而庞大的软件,总... ...
.NET 4.0中数组的新增功能
.NET 4.0中数组的新增功能1 两数组是否“相等”? 在实际开发中,有时我们需要比对两个数组是否拥有一致的元素,例如,以下两个数组由于拥有相同的元素,因此被认为是相等的: int[] arr1 = new int[] { 1,2,3,4 }; int[] arr2 = new int[] { ... ...
重读《由C#风潮想起的-给初学编程者的忠告》有感
我大约刚开始学编程时就看到这篇文章了(下面简称《C#风潮》),这是一篇被转载了上万次的名文,可参见这里 文章搜索。今天无意间又看到它,《C#风潮》显然是很不错的文章,作者列举学习中的实例包括自己的经历,将自己对技术学习的深刻理解,清晰地展示给我们,并指出了学习的方向。又一年就要过去了,现在重读,联想... ...
读《输赢》所想到的——关于CRM和团队管理
最近几天读了《输赢》这本书,感觉是非常不错的一本小说,里面所讲述的故事蕴含了不少销售、管理的道理,并且,因为书中的公司是IT公司,而客户又是银行,所以让我格外感兴趣,因为我现在从事的工作就是金融企业中的IT工作。 尽管作者之前主要是做销售的,而且在书中主要想阐述的就是“摧龙六式”这种销售技巧,或者... ...
个人管理 - 从小工到专家
本文更新版本已挪至 http://www.zhoujingen.cn/blog/1744.html-------------------------------- 很多人都会问”个人技能如何快速提高,如何成为专家?“之类的一些问题,《程序员修炼之道》由一系列独立的部分组成,涵盖的主题从个人责任、职业... ...
【译】利用Asp.net MVC处理文件的上传下载
如果你仅仅只有Asp.net Web Forms背景转而学习Asp.net MVC的,我想你的第一个经历或许是那些曾经让你的编程变得愉悦无比的服务端控件都驾鹤西去了.FileUpload就是其中一个,而这个控件的缺席给我们带来一些小问题。这篇文章主要说如何在Asp.net MVC中上传文件,然后如何... ...
如何提升工作中的影响力
上个月,微软女性员工协会上海分会举行了2010财年第一个以职业发展为主题的座谈会,邀请了六位高级经理与大家交流在工作中提高自身影响力的经验和建议。作为一位在微软相当成功的管理者,潘正磊女士结合自己在微软十多年的职业生涯,首先与上海员工分享了她对这一话题独到的见解。以下是潘正磊女士开场演讲的文字整理。... ...
《程序是给自己看的还是给别人看的》(2009/12/22)
我们常常会发现有一个有趣的现象:程序员从不主动地把自己程序给其他程序员去阅读(除非上级要求、工作移交),程序员也不想看别人的程序,抱怨看不懂别人的程序!程序员一旦将程序变成了日记,一旦只给计算机阅读,这样一来我们这些外人就无法从程序本身中看到程序员的水平了。我们只能根据他们开发的项目、承担的职能等外... ...
JavaScript 图片预览效果
图片上传预览是一种在图片上传之前对图片进行本地预览的技术。使用户选择图片后能立即查看图片,而不需上传服务器,提高用户体验。但随着浏览器安全性的提高,要实现图片上传预览也越来越困难。不过群众的智慧是无限的,网上已经有很多变通或先进的方法来实现。例如ie7/ie8的滤镜预览法,firefox 3的get... ...
算法大全(2)栈和队列
声明,本文所有9道算法题目,覆盖了基本上所有常见的栈/队列问题,全都用C#实现,并测试通过,代码下载:StackAndQueue.zip 目录: 1.设计含min函数的栈,要求min、push和pop的时间复杂度都是o(1)。 2.设计含min函数的栈的另解 3.用两个栈实现队列 4.... ...
JQuery Tips(4)----一些关于提高JQuery性能的Tips
如今咱祖国已经崛起了..电脑的配置也是直线上升.可是js的性能问题依然不可小觑..尤其在万恶的IE中..js引擎速度本来就慢..如果JS如果再写不好,客户端多开几个窗口假死肯定是家常便饭了.废话不说了,下面说说js性能提升的一些小Tips.在选择时,最好以ID选择符作为开头我想这个很好理解,因为JQ... ...
也就说说异常那些事儿
前言 首先本文的阐述源于本人自身对异常的理解,以及总结归纳自身实践以及网络所带来经验。 其次是本文的目的,源于再次探讨企业级开发中的Try......Catch性能问题 一文,我对此文的实践结果无异议,但是其立论实在值得商榷,故书此文共同探讨之。 何谓异常 很多人在讨论异常的时候很模糊,仿佛... ...
再次探讨企业级开发中的Try......Catch性能问题
引言之前写过一篇文章《在企业级开发中使用Try...Catch...会影响效率吗?》一文,得到了不少朋友的关注,自己也与大家私下交流了一些东西。为了最快的让大家明白本文的内容,我先把本文的内容列个提纲,提纲如下:Try...Catch中大家普遍认为的结论尽可能的考虑真实环境的再次做测试并进行分析之前... ...