谈谈.NET的协变和逆变
摘要:伴随Visual Studio2010的发布,C#这门语言提供一些新的特性,包含协变(Covariant)和逆变(Contravariant)、动态(Dynamic)和DLR、命名参数和可选参数、索引属性、COM调用优化和嵌入COM互操作类型。写本文的目的主要是探讨下泛型类型的协变和逆变,按照以往版本.NET新特性的增加,一般是由新的关键字、Attribute来标注,继而编译器或者.NET Runtime负责解析执行。这两个新特性也是如此,两个关键字in/out。目录1.协变逆变的追本溯源2.协变逆变的深入分析3.协变逆变的场景应用4.总结一.追本溯源协变和逆变需.NET Runtime的支持
阅读全文
键盘农夫
摘要:07 2011 档案走台阶 OR 台阶走——《狂人C》习题解答14(第三章习题4)摘要: 介绍怎样KISS阅读全文06 2011 档案Horner's rule——《狂人C》习题解答5(第二章习题8)摘要: /*第二章 8. 编程计算下面多项式的近似值x^4+2x^3+3x^2+8x+7,x=3.47*/#include <stdio.h>#include <stdlib.h>#define X 3.47int main( void ){ printf("%f\n" , ( ( ( X + 2. ) * X + 3. ) * X + 8. )
阅读全文
浅析延迟执行--实现,优点,陷阱以及题外话
摘要:上周五在公司内部做了一个小型的sharing,讨论了一些与延迟执行有关的东西。现在把ppt和代码分享出来。如有谬误,请不吝指教 :)代码在这儿:http://codeformyblog.codeplex.com/SourceControl/changeset/view/62764#1095173ppt在这儿:Deferred executionView morepresentationsfromcuipengfei随笔档案 - 2011年8月浅析延迟执行--实现,优点,陷阱以及题外话2011-08-31 16:02 by 崔鹏飞, 1196 visits,网摘,收藏,编辑摘要:上周五在公司内部
阅读全文
Microsoft NLayerApp案例理论与实践
摘要:NLayerApp介绍微软西班牙团队NLayerApp案例的文章Microsoft NLayerApp案例理论与实践 - 总结摘要: 原本不打算写这篇的,因为之前基本上每篇文章都有总结部分,因此,在系列文章结束的时候,需要总结的内容并不多;但正如刚刚所说,经过几个月的努力,本系列文章也到了该结尾的时候,于是还是做个简要的总结吧。我们从《项目简介与环境搭建》开始,了解了NLayerApp的项目概况、先决条件、运行环境以及部署方式,并对该项目所立足的理论基础做了一个非常简单的介绍;接下来的《多层架构与应用系统设计原则》、《DDD、分布式DDD及其分层》两篇文章从理论的角度对软件架构设计原则、分层架
阅读全文
程序员的利器-SourceInsight
摘要:作为程序员,大部分时间是在已有的代码上代码工作。要对已有的代码进行调整,首先就要搞清楚当前代码中蕴含的逻辑关系。所以常常有程序员调侃说花了大半天时间看代码,最后写代码的时间只有几分钟。所以,对已有代码的分析质量将影响(甚至会决定)最终代码修改的质量。SourceInsight在代码分析上给予程序员极大的帮助。尽管我是初次使用,但其功能实在是让人兴奋。大家可以从官网上下载我平时主要用SourceInsight来查看单个文件中的代码关系,在分析单个文上,推荐以下功能:1. 查看成员变量,函数2. 查看函数在当前代码中的调用关系3. 查看成员变量在代码中被使用的关系但SourceInsight的功能
阅读全文
.NET简谈组件程序设计之(手动同步)
摘要:在上一篇文章“.NET简谈组件程序设计之(上下文与同步域)”中,我们学习了关于一些上下文和同步域的概念,可以利用这两个技术来进行自动同步。今天我们主要学习怎么手动来执行同步,能从更小的粒度进行封锁,以达到最大程度的吞吐量。[王清培版权所有,转载请给出署名]我们知道线程是进程的运行实体,进程是资源分配单位,而线程是执行单位。照书上所说,线程是程序的执行路径,当我们分配一个线程的时候,要确定线程的执行路径是什么,也就是代码中的ThreadStart委托所指向的入口点方法。一旦我们手动Start启动线程的时候,当前上下文线程就被系统立即切换,我们从Thread.CurrentThread静态属性中可
阅读全文
dotTrace 使用说明
摘要:注意:在做基于VS2005 开发的网站分析的时候,dottrace 必须打开IIS的对应该的网站,他不能打开VS2005 打开的程序性能分析(Performance Profiling):在dotTrace中在被测试程序中当某些特定操作持续的时间.可以定位运行最慢的代码(Locate the slowest-running parts in your code)找出性能瓶颈的制约(Identify performance bottlenecks down to any particular function)观察单个函数花费的CPU时间(Focus on a function to see w
阅读全文
C#中循环结构的效率问题
摘要:随笔档案 - 2011年8月架构演进-实例篇2011-08-31 14:38 by Virus-BeautyCode, 1466 visits,网摘,收藏,编辑摘要:从上图可以看出,就是一个电子商务网站常见的支付、支付的后续处理,这样一个业务场景。支持多种支付方式,目前包括银联、支付宝,还有平台账户。平台账户就是注册用户将资金存储在平台为用户建立并维护的一个账户里,购买平台的产品,可以使用平台账户中的资金进行支付。阅读全文6 CommentCategories:02 分析设计,04 模式架构Tags:架构演进【Android手机游戏】贪吃蛇(1)2011-08-18 18:33 by Viru
阅读全文
敏捷开发Scrum 学习笔记,适于移动开发
摘要:抽空学习了下敏捷开发,觉得跟自己的一些想法不谋而合,如果一个团队能实施scrum,那效率一定非常高,非常适合移动开发,Android,IOS,WM等小team开发一个app。希望对大家也有帮助, 前期可能会觉得有点别扭,但是坚持下来,效果会非常不一样。你会发现,效果高很多,而且规范。 产品backlog是Scrum的核心,也是一切的起源。从根本上说,它就是一个需求、或故事、或特性等组成的列表,按照重要性的级别进行了排序,它里面包含的是客户想要的东西,并用客户的术语加以描述。 包括以下字段:ID – 统一标识符,自增长NAME – 简短的、描述性的名称Importance – 产品负责人评...
阅读全文
C# 关闭/打开显示器工具+源码(一个API的简单操作)
摘要:C# 关闭/打开显示器工具+源码(一个API的简单操作)如有转载,请注明出处:http://www.cnblogs.com/flydoos/archive/2011/08/23/2150132.htmlC# 关闭/打开显示器工具+源码(一个API的简单操作)最近这些日子,连夜总是要下载一些资料,要是看到电脑亮灯吧,又会给家里人骂,真够纠结的,更郁闷的是笔记本又不能“立刻”关闭显示器(待机一段时间才会自动关闭)~~超级无语。所以就写个小程序,来帮我关闭显示器喽,程序只有一段话,没别的。一看就懂,直接上源码:如果这篇文章对你有用,请留个手印~~1usingSystem;2usingSystem.C
阅读全文
项目实战
摘要:项目实战【基于.NET平台网络编程入门实战系列三】------搭建世界上最简陋的服务器【附源码下载】摘要: 【基于.NET平台网络编程入门实战系列三】------搭建世界上最简陋的服务器【附源码下载】 服务器是干啥子用滴?监听客户端,响应客户端用滴!虽然是世界上最简陋的服务器,但是也有几个注意点:1.因为要一个死循环监听客户端响应,也就是说无法和用户进行交互了,所以防止前台假死就要为监听新起一个线程;2.要把新起的线程td.IsBackground = true;设置为后台线程,这样的话线程才会随着应用...阅读全文posted @ 2010-01-08 17:40 当耐特砖家 阅读(1833
阅读全文
C# 中奇妙的函数
摘要:WebMatrix教程(四) (读取数据库)拥有的都是恩典(宋历) 2011-08-26 05:07 阅读:442 评论:0C# 中奇妙的函数–5. Nullable 静态类拥有的都是恩典(宋历) 2011-08-25 08:40 阅读:1645 评论:7C# 中奇妙的函数 -- 4. Empty, DefaultIfEmpty, Count拥有的都是恩典(宋历) 2011-06-04 05:12 阅读:1697 评论:3码斗士的修炼之路 -- 如何保持并提升战斗力拥有的都是恩典(宋历) 2011-05-19 08:29 阅读:6138 评论:55C# 中奇妙的函数 -- 3. 联接序列的五种
阅读全文
.Net
摘要:EL4.1配置文件管理浅谈(1)摘要: 一、前言 我们知道高耦合性的代码是很不方便变更的,可能会导致牵一发而动全身,为了解耦大家想了很多方法,例如依赖注入等等,常见的做法是将这种耦合外推到配置文件,那么如何能对配置文件进行很好的组织就成了一个比较重要的部分。本文以EL4.1的配置文件管理为例子,看下他们是怎么做的。阅读全文posted @ 2010-04-12 21:24 Leo Zhang 阅读(675) | 评论 (2) 编辑浅析如何在ObjectBuilder2中用动态方法进行构造器注入摘要: 一、前言 在我看来,OB2是一个用来构建和管理对象的开放性的框架,我们可以...
阅读全文
浅谈怎么快速学习一门新的编程语言
摘要:我从2002年到现在,学习了好几种编程语言。有一些,早已不用并且忘光了,有一些尽管不用但还会惦记着,还有一些,朝九晚五地用着。我回顾过去9年的学习经历,差不多每年会学习一门新的语言,现在把它记录如下:语言学习时间状况C2002学习时候在TC上编了一些玩具程序,还曾记得,迁移到VC的时候,找不到graphics.h时的不知所措。读C程序的时间远远多于写C程序。C++2003整天抱着TCppPL,混迹于CSDN C++版。2005-2008年,一直用C++写代码Java2004想了解一些Web方面的知识,于是开始学习Java。05年后一直没碰到,直到08年转做网页游戏,又重新拾起。Python20
阅读全文
我心目中的Asp.net核心对象
摘要:想当初在只使用WebForms框架并以服务端为中心的开发模式时,发现Asp.net好复杂。一大堆服务端控件,各有各的使用方法,有些控件的事件也很重要,必须在合适地时机去响应,还真有些复杂。后来逐渐发现这些复杂的根源其实就是服务器控件相关的抽象逻辑。随着Ajax越用越多,可能有些人也做过这些事情:【新建一个ashx文件,读取一些用户的输入数据,Form, QueryString,然后调用业务逻辑代码,将处理后的结果序列化成JSON字符串再发给客户端】,这样也能完成一次请求。不知大家有没有做过这类事情,反正我是做过的。慢慢地,我也嫌烦了,这些事情中除了调用业务逻辑部分,都是些体力活嘛。于是想,写点
阅读全文
给没有源代码的.NET程序“打补丁”
摘要:公司为一个web应用程序写了一个注册机,基本原理是用户运行这个软件后,得到一个申请码,然后公司根据这个申请码给出相应注册码,匹配后方可正常使用web软件。在别人机子上没有问题,但是我机子上运行软件后死活就是没有申请码产生,也没报错。开发此程序的人员早不知道是谁了,也没有源码,只好自己分析是什么问题导致的,如果是程序的问题,希望能给程序打个“补丁”,准确的说是采用比较初级的.NET逆向工程来注入需要的补丁代码。以下是思路和主要操作(代码中略去了不需要的代码部分)。1.用reflector打开后,发现是.NET程序,且没混淆,这就好办了。因为程序的代码比较少,在reflector中看就那么几个按钮
阅读全文
原生 js 小工具 v1.1:自动生成博文目录,文内标题平滑跳转:欢迎园友试用!
摘要:一、前言 最近十来天都在学习原生 javascript,参考的是 《DOM Scripting》 这本英文原版书,写得确实非常不错,适合 js 基础非常不牢的小白~ 学的时候基本上是看一章就写点读书笔记发表在博客上,但却基本没动过手写代码。 正好自己最近在写技术博文时遇到了一点小需求,就打算用 js 做一个小工具解决掉。二、情景 技术人员写博客时,有一个很常见的方式就是写系列博客(或者称作主题博文),即围绕某一个中心技术点,循序渐进,由浅入深地论述其方方面面。园子里这种现象非常常见,就拿排在前列的几位老大说说,例如Artech 的 “深入剖析授权在 WCF 中的实现[共14篇]”,例如 ...
阅读全文
最老程序员创业札记
摘要:最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用14摘要: 第一批员工吴言把自己租的房子换成了一个临街的两室两厅的单元房,里边只有简单的装修,并且没有家居和家电,虽然每月3500的租金有些贵,但是却可以同时解决吴言住宿和办公问题,吴言还是觉得挺值的。吴言首先买了个简易的地毯,铺在了原本是地砖的地上,因为这样可以防止电脑椅来回移动时产生的噪音影响邻居。然后吴言在比较大的客厅和主卧室里各摆上了四个电脑桌,这样可以方便大家的交流,同时也保证了大家都有相对隐密的个人空间,吴言觉得自己原来公司的开放式办公环境,一点私密空间都没有,感觉很不人性化,当这次自己可以做主时,在成本允许的情况下,他想尽量做到
阅读全文
[转]袁永福的博客系列文章链接集合
摘要:以下皆是袁永福原创,谨此献给各位努力奋斗中的IT同仁。------------------------------------------毕业生的商业软件开发之路 近期开始接触到在校学生、高校实习生和毕业生,在此说一下笔者对这些徘徊在职场门口的学生一些建议,希望能给这些初学者进入软件开发行业带来一些帮助,使得毕业生能更顺利的进入软件开发公司开始职场生涯,人生来一个完美的转弯。列出了所有已经发布的《毕业生的商业开发之路》的链接地址,方便集中查阅。 >>>内容目录规划 http://www.cnblogs.com/xdesigner/archive/2011/08/18/2144
阅读全文
NET.设计模式
摘要:随笔档案 - 2011年7月.NET简谈设计模式之(命令模式) 2011-07-29 16:35 by 南京.王清培, 1002 visits, 网摘, 收藏, 编辑摘要:我们继续学习设计模式系列文章。本篇要讲的是命令模式,其实命令模式也比较好理解,没有用到多高深的技术,也不需要多复杂的抽象。只需要我们脑海里能有一个大概的原型,等我们遇见类似问题的时候我们能通过巧妙的方式来解决。我们做应用层开发的大部分接触的都是一些模式、框架、思想等等,不像搞低层开发的,他们研究的可能多数是一些技术实现的问题,而我们是学习实现的方法论。应用层开发在技术的复杂程度上是有限的,在组合技术的实现上是复...
阅读全文