Spiga

[置顶].Net 4.0 Parallel 编程之旅

2011-06-06 13:28 by Henry Cui, 503 visits, 网摘, 收藏, 编辑
摘要:在过去的时间里写了9篇Post关于.Net 4.0 Parallel 编程部分的内容,现在整理下,方便自己以后回顾阅读。 首先我们从基础的Loop开始: 1).Net4.0 Parallel编程(一)Data Parallelism 上 2).Net4.0 Parallel编程(二)Data Parallelism 中 3).Net4.0 Parallel编程(三)Data Parallelism下 然后我们看看Task: 1).Net 4.0 Parallel 编程(四) Task(上) 2).Net 4.0 Parallel 编程(五)Task(中) 3).Net 4.0 ... 阅读全文

Html5 Step by Step(二) 本地存储

2012-02-26 21:00 by Henry Cui, 789 visits, 网摘, 收藏, 编辑
摘要:在上篇的文章中我们看过了Html5中拖动API,本篇文章中会就HTML5中的Web Storage、本地数据库进行一些简单的介绍。 Web Storage 在Html4时代,如果我们需要把数据存在客户端,我们想到的就是Cookie。但是Cookie本来就有很多不好的地方,比如Cookie的里面存储的大小只能是4kb;每次请求时都会将Cookie信息包含在请求信息中,增加了额外的带宽。在Html5中,提供了sessionStorage跟localStorage来进行本地数据的存储。 sessionStorage:数据的存储只在特定的会话中,数据只会保留到浏览器关闭之前,适合保存临时数... 阅读全文

HTML 5 Step by Step(一) 拖放API

2012-02-08 21:44 by Henry Cui, 1467 visits, 网摘, 收藏, 编辑
摘要:在Html4中,我们可以通过监听mousedown、mousemove、mouseup来实现拖放效果。在Html5中,直接提供了支持拖放操作的API,我们可以很简单的几步就可以实现拖放的效果。 实现的概要 首先我们了解下跟拖动相关的事件: 事件 产生的源对象 说明 dragstart 被拖动的元素 开始拖放动作 drag 被拖动的元素 拖放过程中 dragenter ... 阅读全文

Git学习笔记(一)初识Git

2012-02-02 20:38 by Henry Cui, 1805 visits, 网摘, 收藏, 编辑
摘要:Git/GitHub已经火爆很长时间了,我已经落伍了。不管怎样现在学习也不为晚,今年也争取走出.Net,看看外面的世界。 安装Git 这里只在Window下进行的,首先从这里下载Git.exe。下载完成后,然后就进行Next、Next、Next… 生成SSH 安装完成后,进行SSH的生成跟设置,打开“Git Bash” 1.判断是否已经创建了ssh: $ cd ~/.ssh 第一次安装完,一般提示为No. 2.生成ssh $ ssh-keygen -t rsa -C henllyee@126.com 这里使用您自己的邮箱 默认会生成id_dsa.pub文件在C:\Use... 阅读全文

DDD中的Specification模式

2011-09-12 16:44 by Henry Cui, 1277 visits, 网摘, 收藏, 编辑
摘要:在领域驱动开发中,我们会常用到Repository、Unit of Work等模式,而Specification模式并不是很常用,Specification模式在领域层中主要为我们实现领域规则的自由组合。 关于Specification 首先我们来看常见的Specification模式中的类图(来自于http://en.wikipedia.org/wiki/Specification_pattern): Specification,规格说明书,这里我们可以理解为规则约束,我们可以对每个规则定义一个Specification,同时也可以将不同的Specification进行组合使用。 ... 阅读全文

Silverlight 4之旅(三)数据绑定(中)

2011-08-07 17:07 by Henry Cui, 1934 visits, 网摘, 收藏, 编辑
摘要:在上篇文章中我们已经看过了绑定的基础知识,以及绑定数据源的选择问题。在本篇文章中我们看下绑定时Target的现实的问题。 自定义显示 很多时候我们的DataSource存储的数据并不可以直接用来显示,比如说我们对于Bool类型,需要显示为“是”或则“否”而不是“True”,“False”,甚至有的时候我们需要将DataSource的某个属性在多个不同的UI的地方进行不同的显示。 在我们进行绑定的时候,绑定机制默认选择类型的ToString方法进行绑定到UI上面,还好,在Silverlight中提供了Formatting的机制让我们来自定义我们的显示。我们可以通过Formatting来定义格式化 阅读全文

Silverlight 4之旅(二)数据绑定(上)

2011-07-20 20:39 by Henry Cui, 2455 visits, 网摘, 收藏, 编辑
摘要:在上篇Post中通过一个简单的Demo,跟Silverlight有了一次接触,本篇文章中会就Silverlight 4中的绑定进行些说明。绑定可以说是Silverlight跟WPF中最为重要的技术,绑定的作用就是让我们的数据源跟SilverlightUI现实进行动态绑定。 绑定的基础概念 绑定是一种比较有效的建立UI跟Data之间的链接,在Silverlight中我们可以将UI的控件中的某个属性进行绑定,也可以将UI的几个属性之间进行相互绑定。绑定中有三个核心的概念:Source(数据源)、Binding Model(绑定模式)、Traget(目标UI)。这张图可以很好说明这三者之间的关系: 阅读全文

Silverlight 4之旅(一)

2011-07-17 13:53 by Henry Cui, 1558 visits, 网摘, 收藏, 编辑
摘要:由于工作的关系,现在的项目要求表现层使用Silverlight来实现,本人也不得不走向Silverlight这条路了。也许只是匆匆过客,但是还是做个记录吧。 简介 Microsoft Silverlight 是一种跨浏览器、跨平台的 .NET Framework 实现,用于为 Web 生成和提供下一代媒体体验和丰富的交互式应用程序 (RIA)。Silverlight 统一了服务器、Web 和桌面的功能,统一了托管代码和动态语言、声明性编程和传统编程以及 Windows Presentation Foundation (WPF) 的功能。 Silverlight 允许您创建具有以下功能的最先进的 阅读全文

.Net 4.0 Parallel 编程之旅

2011-06-06 13:28 by Henry Cui, 503 visits, 网摘, 收藏, 编辑
摘要:在过去的时间里写了9篇Post关于.Net 4.0 Parallel 编程部分的内容,现在整理下,方便自己以后回顾阅读。 首先我们从基础的Loop开始: 1).Net4.0 Parallel编程(一)Data Parallelism 上 2).Net4.0 Parallel编程(二)Data Parallelism 中 3).Net4.0 Parallel编程(三)Data Parallelism下 然后我们看看Task: 1).Net 4.0 Parallel 编程(四) Task(上) 2).Net 4.0 Parallel 编程(五)Task(中) 3).Net 4.0 ... 阅读全文

.Net 4.0 Parallel 编程(九)Task中的数据共享(下)

2011-04-21 10:17 by Henry Cui, 1968 visits, 网摘, 收藏, 编辑
摘要:在上篇Post中我们看过了几种常用的同步类型,本篇文章会介绍下申明性的同步的实现以及对于集合类型数据共享的问题,首先看下申明性同步的实现。 申明性同步 我们可以通过使用Synchronization 特性来标识一个类,从而使一个类型的字段以及方法都实现同步化。在使用Synchronization 时,我们需要将我们的目标同步的类继承于System.ContextBoundObject类型。我们来看看之前的例子我们同步标识Synchronization 的实现: [Synchronization]class SumClass : ContextBoundObject{ private int _ 阅读全文

.Net 4.0 Parallel编程(八)Task中的数据共享(中)

2011-04-12 22:41 by Henry Cui, 1509 visits, 网摘, 收藏, 编辑
摘要:在上篇文章中我们看过了多线程中的数据共享问题,以及通过分离执行来解决的办法。本篇文章就数据共享的同步处理中的一些常见的方法进行一些介绍。 数据同步时的步骤 我之前的文章我们对数据共享问题处理的方式是“分离执行”,我们通过把每个Task执行完成后的各自计算的值进行最后的汇总,也就是说多个Task之间不存在数据共享了,各自做各自的事,完全分离开来。可是这毕竟不是我们常规的处理办法,这样我们会花更多的经历在分离上。其实我们主要的数据共享在Sum上: for (int j = 0; j < 1000; j++){ Sum++;}那我们可以通过一种有序的机制来访问Sum,即当一个Task在进行Su 阅读全文