前几天,园子里评论比较高的一篇文章是《如何向妻子解释OOD》,这篇文章用交谈的方式,用生活中的示例来讲述面向对象编程的一些相关概念。一般这样的文章读起来都会朗朗上口,也非常好理解,因为都是生活中实际的例子。但是也有读者在下面的评论里说,他以前经常看一些用小猫小狗,汽车等用来讲解面向对象的文章,看的时候很有感觉,但是事后很快就遗忘了,更别说应用到自己的项目中。 实际上这不难理解,面向对象本身的目的
工具类是好的。提供机制但不提供策略,这是一个linux的编程哲学。我原来提到过,在某篇文章中看过GoF中的Gamma现在也更喜欢库而不是框架。
我现在编程已经不太看重这些了,当然因为必须在现有的语言、库和工具下工作,很自然的就会经常性的形成类似于框架的东西,但是我会经常问自己是否能够避免:如果去框架化不会带来更多的麻烦,我就会把它拆掉。
认知
那框架完全是废物吗?非也。能产生这种东西,就表明它必
按理说元旦的时候就应该对自己这一年做一下总结的,让一些乱七八糟的事情耽误了,没写成,一直认为是个遗憾,晚上9点就要去坐火车,踏上归乡路了,呵呵,抽出点时间,总结一下吧,总结过去,展望将来。
想来今年对我来说是一个意义极其重大的一年,在我人生的前24年里,也就是考上大学那年能和
MonoMac是面向Mac OSX API的C#绑定,其API设计主要受到了MonoTouch的启发,后者可以基于Mono开发原生的iOS应用程序。MonoMac套件的目标之一,也是发布独立的 .app应用程序,让最终用户摆脱对Mono的依赖。MonoTouch的成功则是一个良好的基础,于是Mono开始将Cocoa API使用C#和.NET世界中的模式与惯例用法表现出来,并提供开发人员整套Coco
如果我们记录用户的点击或者鼠标的移动,并且绘制成热点图,生成的结果可以帮助我们分析和改良UI。
用于分析网站UI友好性的点击热点图可以这么来做:
最简单的方式是记录页面地址,鼠标相当于页面左上角的X和Y。
然后从我们的网页截图,把热点绘制在这个图上。
但是这种热点图的缺点是不能考虑多种用户状态或者说页面状态给页面带来布局的变化。
改良方法是记录页面地址,页面状态(比如是否登录),以及X和Y。
然后
Dictionary<TKey, TValue> 类是常用的一个基础类,但用起来有时确不是很方便。本文逐一讨论,并使用扩展方法解决。 向字典中添加键和值 添加键和值使用 Add 方法,但很多时候,我们是不敢轻易添加的,因为 Dictionary<TKey, TValue> 不允许重复,尝试添加重复的键时 Add 方法引发 ArgumentException。 大多时候
在前端优化的各种金律铁规中,“减少客户端对资源的请求”都会在其中出现,刚好最近对网站做一些优化,使用了一下Combres组件,有点心得,遂整理成文。
园子中也有几篇Combres组件的介绍,如:Combres库学习小结以及部分源码分析和使用Combres 库 ASP.NET 网站优化。可部署时参考起来显得有些简略,所以此文也算对此类文章的补充。
配置组件
此组件的一些作用和
之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题。
>>> 来看一看,瞧一瞧!
上代码:
看生成的SQL语句:
1. Entity Framework生成的SQL:
一个TOP,三个FROM。
2. LINQ to SQL生成的SQL:
无TOP,两个FROM。
两者的差
1 数据架构中的索引。新增功能少不了新增表,但是在设计规划阶段,往往思想是做表结构,很少有开发人员能够考虑到后期的性能问题,业务查询量集中度问题。一个资深的开发人员会考虑新增功能的性能瓶颈可能会存在于哪?如何解决这个瓶颈,有时候最简单的就是建索引。2 SEO。 初级开发人员往往具备的SEO知识有限,但是SEO对开发人员来说,仅仅是一些细节的注意,比如:每个页面可定制的title,descripti
托管代码中的字符串是一类特殊的对象,它不可被改变的,每次使用 System.String 类中的方法之一或进行运算时(如赋值、拼接等)时,都要在内存中创建一个新的字符串对象,也就是为该新对象分配新的空间。这就带来两个问题:
1:原来的字符串是不是还在内存当中?
2:如果在内存当中,那么机密数据(如密码)该如何保存才足够安全?
先来看第一个问题:
代码
public class P
前面两篇文章主要对HandlerSocket从整体上做一些介绍,本文从性能及其性能优化方面来做一些介绍。
一、HandlerSocket性能HandlerSocket作者测试HandlerSocket在查询情况下QPS为75K,Memcached为40K,MySQL为10K。但是需要注意到它的测试场景,一般的应用是很难有这样的场景的,所以说一般应用是很难达到7.5倍于MySQL的情况
1、InkCanvas类。
实现画板需要用到InkCanvas。一般情况下不需任何代码就可以在上面画线了。
如果需要设置画笔颜色、笔尖大小等就需要设置DefaultDrawingAttributes,例如:
DrawingAttributes attributes = new DrawingAttributes();
attributes.Color = Colors.Black;
attrib
上一周,未来的Web有了自己的logo。无论你喜不喜欢,HTML5来了并且将成为新的标准。本文将介绍一些HTML5新的实例。
1.The Wilderness Downtown by Google & The Arcade Fire
很有中国风的应用,输入城市名即可。。
2.Jolicloud
3.Word
If you search "0x000000c5" with Baidu, about 26,600 entries may turn up. But in the vast majority of the results, almost no one gives a reasonable and specific solution to each of the problem. In my o
之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题,简直是历史的倒退。
>>> 来看一看,瞧一瞧!
上代码:
看生成的SQL语句:
1. Entity Framework生成的SQL:
一个TOP,三个FROM。
2. LINQ to SQL生成的SQL:
无TOP,两个F
前段时间在用devcpp时,发现他有个插入快捷键,可以自定义注释模板,直接插入即可,感觉很方便。
但是我偏向于VS,所以就在CSDN上提问了,很高兴的找到了我需要的答案---自定义宏注释模板。
这里和大家分享下(虽然网上讲的很多了。。。)
程序注释的重要性毋庸置疑,一个大型的项目通常情况下都是几个软件工程师合作出来的成果,假如该项目中的代码注释不全,那会给将来的维护者带来无穷无尽的隐
我们先简单介绍扩展方法的定义,扩展方法是用来在类型定义完成后再继续为其添加新的方法。扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。
扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。你只要在静态类的静态方法的参数前加上this,就可以生成这个类的扩展方法。
如果你曾经开发过详细资料
管理工作杂谈
我们很多人都看过《三国演义》,不知大家
上文介绍了为什么会出现HandlerSocket,是什么需求驱动这个产品的出现。本文主要从整体架构上做一些介绍,包括对它的一些主要优缺点和具体的应用场景。
一、HandlerSocket整体架构
HandlerSocket设计为MySQL的一个plugin,作为mysqld进程的daemon存在,与Client通过TCP/IP交互,进行CRUD相关的操作。基于此原因,不仅
今天就要放假了,人也都快走光了,做了两张敏捷个人的桌面,上面涵盖敏捷个人含义、架构、核心、工具和知识,希望你们每天看着这个桌面能够更好的成为一个敏捷个人!
推荐:你可能需要的在线电子书
我的新浪围脖: http://t.sina.com.cn/openexpress