代码改变世界

随笔档案-2010年05月

.NET(C#) Internals: .NET Framework中已使用的设计模式

2010-05-29 20:01 by 吴秦, 9325 阅读, 收藏, 编辑
摘要: ——适合有一定设计模式基础和.NET基础的人阅读。写在前面“设计模式”我一向是敬而远之的态度,不会去写这方面的文章,原因有二:第一,要想写好设计模式的文章太难,需要笔者丰富的经验;第二,没有深厚的功底写出的设计模式文章容易误导他人。自认没有深厚的功底,但我不会为了设计模式而设计模式。我想大部分人对设计模式的理解是不够深刻的,不然应用自如,特别是初学者... 阅读全文

.NET(C#) Internals: 鲜为人知的??

2010-05-21 16:09 by 吴秦, 3264 阅读, 收藏, 编辑
摘要: ——细微见真知!引言"??"我很早就知道这它了,但我之前从没想过要拿它出来分享。主要是因为感觉它应该很基础,大家都知道,但是现在我发现身边很多人不知道"??"这个运算符!故有此文,如果您已经对??很熟悉了就没必要看此文了。本文主要内容如下:1、"??"运算符2、可空类型3、深入分析4、比较1、"??"运算符如果"??"运算符的左操作数非空,该运算符将返回左操作数,否则返回右... 阅读全文

Android 开发之旅:深入分析布局文件&又是“Hello World!”

2010-05-20 18:45 by 吴秦, 36013 阅读, 收藏, 编辑
摘要: 引言 上篇可以说是一个分水岭,它标志着我们从Android应用程序理论进入实践,我们拿起手术刀对默认的“Hello World!”程序进行了3个手术,我们清楚了“Hello world!”是如何实现显示在屏幕上的,而且我们知道不仅可以根据布局文件main.xml来初始化屏幕,还可编程地进行。以后基本我们都会以实践的方式来深入Android开发。我们这次深入分析Android应用程序的布局文件,主... 阅读全文

HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等

2010-05-18 15:29 by 吴秦, 84398 阅读, 收藏, 编辑
摘要: 引言 HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来。但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态有哪些?以及在C#中你如何使用?如果你不能清楚地回答其中的大部分问题,那么这篇文章就是为你准备的!大纲如下: 1、HTTP概述 1.1、HTTP协议的客户端与服务器的交互 1.2、HTTP消息 1.... 阅读全文

.NET(C#) Internals: as a developer, .net framework in my eyes

2010-05-17 01:19 by 吴秦, 4570 阅读, 收藏, 编辑
摘要: ——当我第一次听到Microsoft .NET平台时,我就知道它将续写微软不败的神话。(Jeffrey Richter) 引言 这篇文章我很早很早之前就想写了,本来是想把它作为我开博的第一篇的,但由于种种原因直到现在写出来。本文不是用.NET平台和其余平台(诸如Java)做比较,不去评论孰优孰劣。仅仅是作为一个.NET开发者,介绍一下我眼中的.NET。 1、.NET ... 阅读全文

.NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(二)

2010-05-12 21:54 by 吴秦, 3277 阅读, 收藏, 编辑
摘要: 引言 随着CPU多核的普及,编程时充分利用这个特性越显重要。上篇首先用传统的嵌套循环进行数组填充,然后用.NET 4.0中的System.Threading.Tasks提供的Parallel Class来并行地进行填充,最后对比他们的性能。本文将深入分析Parallel Class并借机回答上篇9楼提出的问题,而System.Threading.Tasks分析,这个将推迟到.NET(C#) In... 阅读全文

.NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)

2010-05-11 13:11 by 吴秦, 4237 阅读, 收藏, 编辑
摘要: 引言 随着CPU多核的普及,编程时充分利用这个特性越显重要。本文首先用传统的嵌套循环进行数组填充,然后用.NET 4.0中的System.Threading.Tasks提供的Parallel Class来并行地进行填充(当然这里也用到嵌套循环),通过对比发现其中差异。主要内容如下: 通常的数组填充 并行的组数填充 性能比较 System.Threading.Tasks分析,这个将在续篇.N... 阅读全文

Android 开发之旅:又见Hello World!

2010-05-11 02:03 by 吴秦, 34541 阅读, 收藏, 编辑
摘要: ——量变产生质变,如果你从第一篇一直看到了这篇,可以说这就是你的质变点之一。 回顾及展望 经过数篇对Android应用程序的原理的讲述,现在我们大概回顾一下。 首先我们利用Hello World程序介绍了一个Android应用程序的目录结构,包括src文件夹、gen文件夹、Android x文件夹、assets文件夹、AndroidMainifest.xml、defau... 阅读全文

Android开发之旅:组件生命周期(三)

2010-05-07 19:39 by 吴秦, 8017 阅读, 收藏, 编辑
摘要: Android系统试图尽可能长地保持一个应用程序进程,但是当内存低时它最终还是需要移除旧的进程。为了决定保持哪个进程及杀死哪个进程,Android将每个进程放入一个基于运行于其中的组件的重要性等级和这些组件的状态。重要性最低的进程首先被杀死,然后是次低,以此类推。总共有5个层次等级。下列清单按重要性顺序列出: 前台进程,用户当前工作所需要的。一个进程如果满足下列任何条件被认为是前台进程: 它正运行... 阅读全文

Android开发之旅:组件生命周期(二)

2010-05-06 23:59 by 吴秦, 10829 阅读, 收藏, 编辑
摘要: 引言 应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见。组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能性。 上篇Android开发之旅:组件生命周期... 阅读全文

如何从单行提取成多行(TSQL)?

2010-05-05 22:39 by 吴秦, 4662 阅读, 收藏, 编辑
摘要: Outline: 问题产生背景 交叉连接 UNION操作 WITH子句 性能比较 抛砖引玉(欢迎指教!) 问题产生背景 从一个仅有数额指标的交易表中创建一个查询,这个查询用于会计日志条目。因此如果一个日志条目应该有存款和借款,但是其他的值应该是相同的,因此我想通过SQL查询从一行提取2行记录。听起来很模糊?我Google之后发现没有任何结果,所以我就写了这篇文章。为了简化,这里举个例子。我有一张... 阅读全文

Android开发之旅:组件生命周期(一)

2010-05-05 02:38 by 吴秦, 26766 阅读, 收藏, 编辑
摘要: 引言 应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见。组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能... 阅读全文

Android开发之旅:进程与线程

2010-05-02 16:58 by 吴秦, 19827 阅读, 收藏, 编辑
摘要: 引言 当应用程序的组件第一次运行时,Android将启动一个只有一个执行线程的Linux进程。默认,应用程序所有的组件运行在这个进程和线程中。然而,你可以安排组件运行在其他进程中,且你可以为进程衍生出其它线程。本文从下面几点来介绍Android的进程与线程: 1、进程 2、线程 2.1、远程过程调用(Remote procedure calls,RPCs) 2.2、线程安全方法 1、进程 组件... 阅读全文

解决wubi安装ubuntu时要下载系统映像文件问题

2010-05-02 12:06 by 吴秦, 29843 阅读, 收藏, 编辑
摘要: 引言四月二十九号——让我等待很久的一个日子,ubuntu 10.04就是在这天正式发布的,我想有很多人跟我一样一直在等官网挂出下载链接的那刻。读大学时曾经在官网订过ubuntu光盘,要用英文写的,还以为会寄不到,谁知大概一个月时间我就收到了,自此就跟ubuntu接下了不解之缘,在此之前用过red hat 9.0(它永远的经典,我想很多人都是用这个进入linux大门的)、re... 阅读全文