找到相关内容 52
【原创翻译】深入理解CSS盒子模型
前言:前阵子在做一个项目时,在页面布局方面遇到了一点小问题,于是上stackoverflow上求助。ifaou在帮助我解决我问题的同时,还推荐我阅读一篇有关CSS盒子模型的文章《The CSS Box Model》,阅读之后受益匪浅,才知道自己对盒子模型知识还是如此欠缺。恰逢学期末,项目验收后暂时告一段落,有空闲的时间。于是想把这篇文章翻译出来,一方面再给自己一点挑战和锻炼,另一方面也给大家参考,
http://cyqdata.cn/cnblogs/article-detail-38726 
深入浅出多线程系列之十:Wait 和Pulse
Signaling with Wait and Pulse(等待和暂停的信号)   早期谈论过等待事件句柄(调用Wait的线程在没有收到另一个线程的通知前会一直阻塞)。 Monitor借助它的静态方法Wait,Pulse,PulseAll提供了一个更给力的信号构造,使用这些方法和lock语句,你可以自己实现AutoResetEvent,ManualResetEvent和Semaphore
http://cyqdata.cn/cnblogs/article-detail-38713 
深入浅出多线程系列之九:Interlocked
在大多数计算机上,增加变量操作不是一个原子操作,需要执行下列步骤: 1.       将实例变量中的值加载到寄存器中。 2.       增加或减少该值。 3.       在实例变量中存储该值。   在多线
http://cyqdata.cn/cnblogs/article-detail-38587 
深入浅出多线程系列之八:内存栅栏和volatile 关键字
以前我们说过在一些简单的例子中,比如为一个字段赋值或递增该字段,我们需要对线程进行同步, 虽然lock可以满足我们的需要,但是一个竞争锁一定会导致阻塞,然后忍受线程上下文切换和调度的开销,在一些高并发和性能比较关键的地方,这些是不能忍受的。 .net framework 提供了非阻塞同步构造,为一些简单的操作提高了性能,它甚至都没有阻塞,暂停,和等待线程。   Memory Barrie
http://cyqdata.cn/cnblogs/article-detail-38521 
深入讨论SQL Server 表的主键问题
主键设计现状和问题   关于数据库表的主键设计,一般而言,是根据业务需求情况,以业务逻辑为基础,形成主键。比如,销售时要记录销售情况,一般需要两个表,一个是销售单的概要描述,记录诸如销售单号、总金额一类的情况,另外一个表记录每种商品的数量和金额。对于第一个表(主表),通常我们以单据号为主键;对于商品销售的明细表(从表),我们就需要将主表的单据号也放入到商品的明细表中,使其关联起来形成主从关系。  
http://cyqdata.cn/cnblogs/article-detail-38415 
深入浅出多线程系列之七:4种定时器
在Framework中存在着4种定时器:其中分为两类, 多线程计时器 1:System.Threading.Timer 2:System.Timers.Timer   特殊目的的单线程计时器: 1:System.Windows.Forms.Timer(Windows Forms Timer) 2:System.Windows.Threading.DispatcherTimer(WPF t
http://cyqdata.cn/cnblogs/article-detail-38401 
我的VSTO之路(四):深入介绍Word开发
在上一篇文章中,我介绍了Word的对象模型和一些基本开发技巧。为了更好的介绍Word插件开发,我为本文制作了一个Word书签的增强版,具体功能是让用户在Word中选择一段文本,为它添加书签并其标志为高亮,同时用户可以为这段书签写注释,以后当用户点击这个书签时,我就会显示注释。以下是我录制的视频介绍:   这个插件将包括以下几个技术点: 添加右键菜单
http://cyqdata.cn/cnblogs/article-detail-38199 
深入剖析WCF的认证机制(3): 绑定、安全模式与客户端凭证类型[BasicHttpBinding篇]
整个安全传输是在WCF的信道层进行的,而绑定是信道层的缔造者,所以终结点采用哪种类型的绑定以及对绑定的属性进行怎样的设置决定了信道层最终采用何种机制实现消息的安全传输。具体来说,我们可以通过绑定设置最终采用的安全模式,以及基于相应安全模式下进行认证和消息保护的行为。 一、Binding安全相关的应用编程接口 不同的绑定类型由于其采用的传输协议不同,应用的场景也各有侧重,很难提供一种统一的应用编
http://cyqdata.cn/cnblogs/article-detail-38169 
深入解读Silverlight的布局原理
对于Silverlight学习来说,首先要面对的应该是布局:你得把元素放到你想摆放的位置,然后是考虑元素的层次以及可见性,之后可能你想让它动起来,就学习动画,最后理解更深入之后,可能会开发如Behavior之类的行为,或者设置复杂的控件状态,模板。   很多教程是从使用Grid开始,然后是Canvas,StackPanel之类的控件,他教你怎样设置元素的位置。然后就没有下文,很少会去讲解布局的原
http://cyqdata.cn/cnblogs/article-detail-38065 
深入剖析引用参数Ref和Out
学过C/C++的人,对C#的关键字Ref和Out应该都很好理解。它们都提供了一种可以在被调用函数内修改传递的参数的值的方法。因为这一功能很类似C/C++的指针。对于没学过C/C++的,也应该可以明白这两个参数的作用。虽然Ref和Out都提供了修改参数值的方法,但它们还是有一点点小的区别。1、Ref在作为参数调用函数之前,变量一定要赋值,否则会得到一个常规编译错误:使用了未赋值的变量。2、在被调用函
http://cyqdata.cn/cnblogs/article-detail-38013 
深入剖析WCF的认证机制(2): 认证与凭证[下篇]
在《上篇》中,我们谈到了常用的认证方式:用户名/密码认证和Windows认证。在下篇中,我们着重来介绍另外一种重要的凭证类型:X.509证书,以及针对X.509证书的认证方式。不过为了让读者能够真正地全面地了解X.509证书,我们需要先了解一些关于非对称密码学的背景知识。 目录 一、非对称密码学(Asymmetric Cryptography)   &
http://cyqdata.cn/cnblogs/article-detail-37981 
《项目百态:深入理解软件项目行为模式》:一本写作比较随便的项目经验集
这本书是人民邮电的图灵IT人文系列之一。今年3月出的。上amazon.com上查,英文原版是2008年出的。是六位作者拼出来的。其中两位作者是IT名著《人件》的作者。 书中列举了86个软件项目相关的所谓模式。我感觉都是经验之谈。非常值得IT从业人员阅读。不过也有非常明显的缺陷。就是严重缺乏归类整理的工作。书中的86个模式,涉及到软件开发项目的方方面面,维度、粒度有许多差异,甚至模式之间的行文风格都
http://cyqdata.cn/cnblogs/article-detail-37973 
深入剖析WCF的认证机制(1):从两种安全模式谈起
WCF的安全体系主要包括三个方面:传输安全(Transfer Security)、授权或者访问控制(Authorization OR Access Control)以及审核(Auditing)。而传输安全又包括两个方面:认证(Authentication)和消息保护(Message Protection)。认证帮助客户端或者服务确认对方的真实身份,而消息保护则通过签名和加密实现消息的一致性和机密性
http://cyqdata.cn/cnblogs/article-detail-37969 
深入理解C++的动态绑定和静态绑定
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。 需要理解四个名词: 1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。 2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。 关于对象的静态类型和动态类型,看一个示例: view plainc
http://cyqdata.cn/cnblogs/article-detail-37866 
深入浅出多线程系列之二:关于Thread的那些事
1:你可以调用线程的实例方法Join来等待一个线程的结束。例如:         public static void MainThread()        {    &nbs
http://cyqdata.cn/cnblogs/article-detail-37836 
.NET Discovery 系列之四--深入理解.NET垃圾收集机制(下)
本系列文章导航.NET Discovery 系列之一--string从入门到精通(上).NET Discovery 系列之二--string从入门到精通(勘误版下).NET Discovery 系列之三--深入理解.NET垃圾收集机制(上).NET Discovery 系列之四--深入理解.NET垃圾收集机制(下).Net Discovery 系列之五--Me JIT(上).NET Discove
http://cyqdata.cn/cnblogs/article-detail-37779 
深入浅出多线程系列之一:简单的Thread
CLR和操作系统会自动的为应用程序创建一个线程,这个线程叫做主线程(main Thread) 如果要创建一个新的线程,可以使用Thread类。下面是一个简单的例子: class ThreadTest{  static void Main()  {    Thread t&nbs
http://cyqdata.cn/cnblogs/article-detail-37732 
使命必达:深入剖析WCF的可靠会话
作为一个通信基础平台,WCF必须保证通信的可靠性。由于消息交换是WCF采用的通信手段,通信可靠性的保障体现在确保消息的可靠传输。WCF本质上是一个消息处理框架,作为整个消息交换系统的两个终端,即发送端和接收端。换句话说,WCF仅仅负责对消息的发送和接收,一旦消息通过WCF的信道层进入了网络,就脱离了WCF的控制范围。但是,由于网络环境的限制,网络层不能百分之百地确保对消息的有效交付。如何克服中间环
http://cyqdata.cn/cnblogs/article-detail-37631 
深入浅出Flex Viewer(三)——Config的原理
一、概述       在上文《深入浅出Flex Viewer(二)——体系结构》中,笔者详细介绍了到Flex Viewer框架,使得读者能够对该框架源代码的关键目录和文件结构和这些文件中所包含或涉及到的系统的哪些构件;以及这些构件间的逻辑关系和连接这些构件所用的关键技术,如:消息总线(EventBus)、配置项管理(Conf
http://cyqdata.cn/cnblogs/article-detail-37269 
Windows Azure云计算学习笔记2--Windows Azure深入观察
上节 Windows Azure云计算学习笔记1--Windows Azure简介中是对Azure的一个总体概览,这篇将第Windows Azure云计算做深入探讨。   创建Windows Azure应用 ----------------------------------------------------------------------- 对于开发人员来说,创建Windows
http://cyqdata.cn/cnblogs/article-detail-36715