写给刚刚毕业非名校而且正在迷惑中的工科大学生们之二——全真教与梅超风 谈程序员的修炼之路
一时激动 写下了这个系列之二。这个话题 其实在我上课的时候 已属老调重弹的话题 即使在我的新书《葵花宝典——WPF自学手册》中第15章也谈过 但是还从未见之互联网。这是把家底亮出来。当然能够写出来还是缘于第一篇 被大家所关注。老实讲 这里是程序员的舞台 我只不过是这个舞台上的一个“龙套” 能够得到大... ...
系统架构师-基础到企业应用架构-业务逻辑层
一、上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范及如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式。并且我们也讲述了该如何通过设计手段去分析功能点及设计分离... ...
今天你抛弃了ASP.NET了吗?问题篇
一个怨公的声音--------------------------------------我用ASP.NET开发也有几年了,一直在忍耐,忍耐,终于,我实在忍无可忍了。ASP.NET制造出来的问题比带来的好处多的多的多的多!1. VIEWSTATE之类的问题就不说了,为了持久客户端状态,用了个通用的架... ...
依赖属性之“风云再起”
由于依赖属性是WPF和Silverlight的核心概念,微软在C\S和B\S平台上主要精力都放到了WPF和Silverlight技术上,同时 Silverlight也是Windows Phone的两大编程模型之一(另外一种是XNA),所以我们花费了大量的时间和篇幅进行论述。在上一篇WPF基础到企业应... ...
如何解决EnterLib异常处理框架最大的局限——基于异常类型的异常处理策略
个人觉得EnterLib的EHAB是一个不错的异常处理框架,借助于EHAB,我们可以配置的方式来自定义异常处理策略,从而带来最大的灵活性和可维护性。但是,在我看来,EHAB有一个最大的局限,就是异常处理策略的粒度过大——只能提供基于异常类型级别。本篇文章通过一个自定义异常处理器很好地解决了这个问题。 ...
浅谈这次ASP.NET的Padding Oracle Attack相关内容
上一周爆出了一个关于ASP.NET的安全漏洞,有关这个漏洞的第一篇文章应该是ScottGu的说明,但是其中各方面谈的也是语焉不详。由于这个漏洞关系到“安全”这样敏感的话题,其中又涉及到密码学这样常人看不明白的技术,于是导致了各种猜测和推测,其中甚至与我对ASP.NET的了解所有矛盾,因此我觉得也大都... ...
6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
引言 本篇文章主要介绍.NET中6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱。文章开始介绍当你声明一个变量时,编译器内部发生了什么,然后介绍两个重要的概念:栈和堆;最后介绍值类型和引用类型,并说明一些有关它们的重要原理。 最后通过一个简单的示例代码说明装箱拆箱带来的性能损耗。声明变量的内... ...
Silverlight MMORPG网页游戏开发课程[一期] 第七课:场景之地形与寻径
在上一课实现场景遮挡效果的基础上如能融合相应的地形系统,那么整个场景才能算做是个有机整体。传统的2D-RPG游戏场景按视角划分可分为横向、纵向与斜向的,本节我将分别向大家介绍如何搭建基于直角坐标系及斜视角的RPG游戏场景,并在此基础上实现精灵的完美寻径功能。 ...
详解ASP.NET的最新安全漏洞,Padding Oracle攻击原理及其他
微软在9月17日中午正式对外公布了ASP.NET平台下的安全漏洞,即Microsoft Security Advisory (2416728)。SecurityFocus上已将此漏洞定义成了"Design Error",那么微软一开始的设计就是错误的,为什么这么说呢?且待我们慢慢来分析。昨天在园友辰... ...
对ASP.NET的最新安全漏洞进一步跟进说明
今天上博客园,看见了关于ASP.NET的安全漏洞,内容大致是:黑客可以下载ASP.NET网站的核心文件(WEB.CONFIG),我估计还可以下载任意文件,例如数据库。这个BUG基本上是致命的,可是博客园的描述却非常的少,我看了半天也没有明白什么意思,如何攻击,于是挖掘下去。现在把一些明细写出来。微软... ...
Step by Step-构建自己的ORM系列-开篇
首先、园子里面之前的很多同仁已经讨论过了ORM相关的框架及其优点和缺点。虽然我本篇讨论的有点晚,但是其毕竟优点大于缺点,本文只是简单的介绍我讨 论ORM的目的,及为什么要讨论这个已经被大家讨论的成熟的不能再成熟的东西。 我们先来看看ORM的优缺点: ...
云计算之旅5—实战第一个云程序
本篇文章在安排上大致如下:首先回顾前面的基础知识,这样大家就可以有一个大概的认识;接着介绍开发工具,正所谓“工欲善其事,必先利其器”;再接着就是开发第一个简单程序,通过这个简单程序来看一下其开发过程;开发完毕之后就需要部署,在讲部署之前我们必须要有账户来完成此操作,所以紧接着就依次讲解账户申请和部署... ...
谈谈你最熟悉的System.DateTime
最近一直在负责公司内部框架的升级工作,今天对一个小问题进行了重新思考——时间的处理。具体来说,是分布式应用中如何有效地进行时间的处理以提供对跨时区的支持。不过,对该问题解决方案的介绍我会放在后续的文章中,在这里我们先来介绍一些基础性的内容——谈谈我们熟悉的DateTime类型 ...
IoC+AOP的简单实现
对EnterLib有所了解的人应该知道,其中有一个名叫PIAB的AOP框架;而整个EnterLib完全建立在另一个叫作Unity的底层框架之上,我们可以将Unity看成是一个IoC的框架。对于一个企业应用来说说,AOP和IoC是我们进行逻辑分离和降低耦合度最主要的方式,而将两者结合起来具有重要的现实... ...
谈如何边做事,边提高
来博客园的基本是写程序的,好像是废话,缩小点范围,来这里起嘛证明,大家都想学习进步,都是同道中的同道中人。兴趣,往高一点说叫理想,是我们共同的动力,从上一文中再次得到印证。 评论中,有位朋友说自己“每天晚上学习到两三点,早上再花一两个小时赶到公司继续做”,诚心佩服!想一两年前的自己,亦要甘拜下风。可... ...
由Effiproz DataBase来看.NET开源数据库发展
这篇文章本来应该写在上个周末, 可是临时有事给耽误了,上周五在MSDN上看到Effiproz DataBase发布了1.2版本. 在Effiproz以前也用过几个嵌入式开源数据库. 不过Effiproz DataBase是纯C#编写的. 开发者就可以将它移植到具备CLR的大多数环境中,包括.NET ... ...
C#会重蹈覆辙吗?系列之4:华而不实的C#析构器
前段时间去鸟国出差,颠倒黑白,碌碌无为,疏于写博,请大家理解。下面继续前贴7月《C与C++社区混战,C#会重蹈覆辙吗?》的讨论。这次要谈的是C#的析构器的问题。这是C#中非常华而不实的一个设计,不必要,且常常误导很多C#er,且是.NET性能问题的常见陷阱地带。下面逐项讨论:1.C#析构器是一个丑陋... ...
综述:编程语言的发展趋势及未来方向
这是一篇发表在《程序员》杂志8月刊的文章,是根据我对Anders Hejlsberg的演讲内容的翻译的缩写。原本的完整演讲内容有数万字,为了在杂志上发表因此简化成了五千字,因此如果您对完整内容感兴趣,不妨根据文末链接来访问完整内容,其中也包含大量分解的幻灯片以及代码。 ...
WPF基础到企业应用系列7——深入剖析依赖属性(WPF/Silverlight核心)
这篇文章比较多,在开篇之前我们会先介绍比本篇更重要的一些东西,然后插播一段“云计算之旅”的广告,作为最近几个月执着研究的东西,终于可以和大家见面了,希望自己能从实践中深入浅出的讲明白。在前面的两个内容之后我们正式进入本篇的主题——依赖属性。依赖属性是WPF的核心概念,所以我们花费了大量的时间和篇幅进... ...