黄聪

论SEO对人类的重要性,请看我的博客:hcsem.com

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 45 下一页

2010年8月6日

摘要: 我对于线程,进程的概念一直都是比较模糊,最近整理了一下。总结起来就是,线程是进程的一部分,进程是程序的一部分。 线程的引入:例如,有一个Web服务器要进程的方式并发地处理来自不同用户的网页访问请求的话,可以创建父进程和多个子进程的方式来进行处理,但是创建一个进程要花费较大的系统开销和占用较多的资源。除外,这些不同的用户子进程在执行的时候涉及到进程上下文切换,上下文切换是一个复杂的过程。所以,为了减少进程切换和创建的开销,提高执行效率和节省资源,人们在操作系统中引入了"线程(thread)"的概念。 进程的作用和定义:进程是为了提高CPU的执行效率,减少因为程序等待带来的CP 阅读全文
posted @ 2010-08-06 15:35 黄聪 阅读(350) 评论(0) 推荐(0) 编辑

2010年7月15日

摘要: 将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。using System;using System.Data;using System.Windows.Forms;using System.Data.OleDb;namespace WindowsApp 阅读全文
posted @ 2010-07-15 21:12 黄聪 阅读(1366) 评论(3) 推荐(1) 编辑

2010年7月11日

摘要: 以前一直是用C#直接操作Excel,但是发现性能无比低下,最近发现用Excel中的宏可以高速的完成批处理的功能,于是决定写一个用C#为Excel文件创建宏的程序,工程如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.IO;using System.Runtime.InteropServices;using System.Reflection;using System.Text;usi 阅读全文
posted @ 2010-07-11 13:55 黄聪 阅读(2387) 评论(1) 推荐(0) 编辑

摘要: 近日的一系列工作是做网站的营运维护,因此做了大量的支持工具。有Excel中写VBA的,也有直接C#做的工具。有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进行相应的处理。为了使用方便,我写了一个执行Excel VBA宏的帮助类 。放在博客里做个备份也希望对有类似需求的朋友有所帮助。帮助类仅提供了一个方法:RunExcelMacro参数说明: string excelFilePath Excel文件路径 string macroName 宏名称 object[] parameters 宏参数组 out object rtnValue 宏返回值 bool 阅读全文
posted @ 2010-07-11 11:10 黄聪 阅读(1376) 评论(0) 推荐(0) 编辑

摘要: C# 中使用 Excel using System;using System.Collections.Generic;using System.Text;using System.Reflection;using System.Runtime.InteropServices;using Microsoft.Office.Interop.Excel;using ExcelApplication = Microsoft.Office.Interop.Excel.ApplicationClass;namespace ExcalDemo...{public class ExcelFiles...{pu 阅读全文
posted @ 2010-07-11 11:06 黄聪 阅读(2791) 评论(0) 推荐(0) 编辑

2010年6月19日

摘要: Google音乐帮你挑歌:http://www.google.cn/music/songscreener 阅读全文
posted @ 2010-06-19 16:52 黄聪 阅读(562) 评论(0) 推荐(0) 编辑

摘要: Google 搜索百宝箱:时光隧道Google搜索百宝箱的时光隧道功能,全面搜罗你所关注的信息,并按照时间顺序展示出来,帮你详细了解事件的来龙去脉。进入Google 搜索百宝箱:在搜索结果页,点击进入“搜索百宝箱”;透过时光隧道,可以看出这个世界的改变.这是我对"网络对汽车业的影响"一个思考,从上图可以看出,随着网络的发展,越来越多的人开始在网络上寻找自己需要的东西,也给各行各业带来了新的商机,同时我们可以发现网络的使用率从2000年之后突飞猛进,这提示着我们,如果你要创业,你应该把你的产品和网络联系在一起,如果你是消费者,你需要学会使用网络寻找到你需要的东西. 阅读全文
posted @ 2010-06-19 16:41 黄聪 阅读(2309) 评论(0) 推荐(0) 编辑

2010年6月14日

摘要: 在上一篇我们已经用PowerDesigner创建好了需要的测试数据库,下面就可以开始用它完成批量代码生成的工作啦.下面我会一步步的解释如何用CodeSmith实现预期的结果的,事先声明一下,在此只做一个简单的Demo,并不详细的讲解CodeSmith各个强大的功能,有兴趣的朋友可以打开CodeSmith的帮助文档了解.我只做个抛砖引玉,希望能激起大家更多思想的火花~先看看CodeSmith的工作原理:简单的说:CodeSmith首先会去数据库获取数据库的结构,如各个表的名称,表的字段,表间的关系等等,之后再根据用户自定义好的模板文件,用数据库结构中的关键字替代模板的动态变量,最终输出并保存为我 阅读全文
posted @ 2010-06-14 14:11 黄聪 阅读(82705) 评论(63) 推荐(109) 编辑

摘要: 最近要忙期考,但还是决定每天抽点空来写CodeSmith的系列文章了,在此实在不敢用教程这个词语,毕竟自己对CodeSmith了解的也不是很多,有很多牛人都在博客园发布了不少关于CodeSmith的文章了,但我还是想发表一下自己的心得,希望能给初学者更多的参考,教程中有错误或者表述不清的地方欢迎大家指出,我还是会秉承之前的风格,用尽量多的图来说明步骤,因为我觉得还是图文并茂的文章比较容易理解.好了,废话少说,开始我们的CodeSmith旅程吧,我先讲讲这个系列教程要完成的目标吧,众所周知,CodeSmith其中一个强大的功能就是依照模板生成批量代码,这也是吸引着众多编程人士使用它的原因,它大大 阅读全文
posted @ 2010-06-14 14:08 黄聪 阅读(96065) 评论(37) 推荐(113) 编辑

2010年6月11日

摘要: 1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这 个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈! 2、一定要确定自己的发展方向, 阅读全文
posted @ 2010-06-11 23:16 黄聪 阅读(4793) 评论(7) 推荐(12) 编辑

2010年6月8日

摘要: Enterprise Library 5.0 系列教程哈哈,这次是我第一次写系列文章,没想到也不知不觉就写完了,为了大家认识Enterprise Library 5.0都有哪些功能模块,我在此做了一个目录供大家参考,也希望大家多多指教,将来我还会写一些文章分享自己的学习成果的 \(^ ^)PS: 近期有不少朋友加我QQ问EL5.0的问题,但是因为毕业了我没有从事C#开发的工作,对这些早已生疏,大家就不要加Q问我了。大部分问题其实在官方文档和Google上面都有答案的,本教程仅供大学参考学习……目录1. Microsoft Enterprise Library 5.0 系列教程(一) Cachi 阅读全文
posted @ 2010-06-08 15:40 黄聪 阅读(25938) 评论(30) 推荐(19) 编辑

摘要: 到目前为止,我们使用的模块都是在同一个配置文件中,这显然是不灵活的,我们希望每个功能模块能独立的在一个配置文件中体现,这样不仅易于管理,易于扩展,也易于阅读和分类.企业库当然考虑到了这个问题并且提供了解决方案,本章就是讲解如何使用Configuration Application Block来将各个模块分割到独立的配置文件中的.和以前一样,我们先提需求,再用实例做讲解,这样比较形象生动些: 1)创建一个工程,里面用到企业库的Data 数据访问模块和Log日志处理模块 2)2个模块的配置分别保存在不同的配置文件中(Data.config和Log.config中) 3)在程序中调用这2个模块... 阅读全文
posted @ 2010-06-08 14:16 黄聪 阅读(9721) 评论(20) 推荐(5) 编辑

2010年6月6日

摘要: 代理对象(Proxy Object)会通过Handler链定位到真实对象(Real Object),而Policy则被注入到代理对象和真实对象中。整个流程如图:我个人对Policy Injection Application Block使用的看法是:用户先创建一个代理,用这个代理间接操作实体,在调用实体的方法或者成员属性时可以透明的触发一系列设置好的Handler(如日记记录,身份验证等),并且只需要修改相应的配置文件就能快速更改Handler链.(因为是个人看法,也许不太准确,官方解释在此 http://msdn.microsoft.com/en-us/library/ff647463.as 阅读全文
posted @ 2010-06-06 07:49 黄聪 阅读(8806) 评论(16) 推荐(6) 编辑

2010年6月5日

摘要: 依赖注入容器Unity:Unity的构造类似于Castle中的IOC(控制反转 或者叫依赖注入)容器,我们使用抽象接口来隔离使用者和具体实现之间的依赖关系,但是不管再怎么抽象,最终还是要创建具体实现类的实例,这种创建具体实现类的实例对象就会造成对于具体实现的依赖,为了消除这 种创建依赖性,需要把依赖移出到程序的外部(比如配置文件)。使用依赖注入后,这些类完全是基于抽象接口编写而成的,所以可以最大限度地适应需求的变化。 依赖注入的形式有三种,分别为构造子注入(Constructor Injection)、设值方法注入(Setter Injection)和接口注入(Interface Inject 阅读全文
posted @ 2010-06-05 11:09 黄聪 阅读(9058) 评论(6) 推荐(5) 编辑

2010年6月4日

摘要: 使用企业库异常处理应用程序模块的优势:它支持整个应用程序体系结构层的异常处理,而不仅限于服务接口的界限。它使得异常处理策略可以在管理层定义和维护,以便决策人员(可能是系统管理员和开发人员)可以定义如何处理异常。他们可以维护和修改控制异常处理的规则集,而无需更改块的应用程序代码。它提供了常用的异常处理功能,例如记录异常信息的功能、通过将原始异常替换为其他异常来隐藏敏感信息的功能,以及通过将原始异常打包到另一个异常中来添加异常的上下文信息的功能。这些功能封装在名为 Exception handlers 的 .NET 类中。它可以合并多个异常处理程序以产生某个异常所需的响应,例如先记录异常信息,再将 阅读全文
posted @ 2010-06-04 23:26 黄聪 阅读(10012) 评论(19) 推荐(10) 编辑

2010年6月3日

摘要: 开发人员经常编写需要安全功能的应用程序。这些应用程序通常需要执行一系列不同的安全操作,而且它们还经常与不同的基础安全提供程序(如 Microsoft Active Directory 目录服务、授权管理器、Active Directory 应用程序模式 (ADAM) 和自定义数据库等)进行交互。 安全应用程序块通过收集开发人员必须执行的许多最常见的安全任务,来简化开发人员的工作。每个任务都以一致的方式处理,从特定的安全提供程序中抽象出应用程序代码并使用最佳做法。您甚至可以通过更改配置来更改基础提供程序,而无需更改基础应用程序代码。验证应用程序块功能框架如下图所示: 几个基本概念:(1) Tic 阅读全文
posted @ 2010-06-03 14:07 黄聪 阅读(8426) 评论(14) 推荐(6) 编辑

2010年6月2日

摘要: 企业库数据库访问模块通过抽象工厂模式,允许用户通过简单的配置选择不同的数据库作为程序的数据源,大大解决了切换数据库时带来的麻烦.因为我本机只安装了SQL Server 2005,所以在此只做SQL的演示,需要深究的朋友可以访问以下网站:http://msdn.microsoft.com/en-us/library/ff664408%28v=PandP.50%29.aspx企业库数据库访问模块的几大功能:1. 最简单的功能,通过ExecuteNonQuery.方法执行SQL语句.2. 执行ExecuteDataSet,返回DataSet类型的数据集.3. 执行ExecuteScalar,获取返回 阅读全文
posted @ 2010-06-02 13:25 黄聪 阅读(18735) 评论(24) 推荐(9) 编辑

2010年6月1日

摘要: 企业库日志应用程序模块工作原理图: 从上图我们可以看清楚企业库日志应用程序模块的工作原理,其中LogFilter,Trace Source,Trace Listener,Log Formatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用LogWriter类的Writer方法,就可以将包含日志信息的LogEntry实体写入Category配置文件中指定的设备了.企业库日记应用程序模块提供了下列几种记录方法:The event log An e-mail message A database A message queue A text file A Windows&# 阅读全文
posted @ 2010-06-01 12:07 黄聪 阅读(14929) 评论(38) 推荐(14) 编辑

2010年5月31日

摘要: 企业库验证应用程序模块之配置文件模式:1. 新建一个控制台应用程序,并创建一个Customer类,其代码如下所示:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Practices.EnterpriseLibrary.Validation.Val 阅读全文
posted @ 2010-05-31 15:13 黄聪 阅读(9171) 评论(19) 推荐(8) 编辑

2010年5月30日

摘要: 企业库提供了一个很强大的验证应用程序模块,特点是:可以通过配置为你的程序中特定的类来定义规则集.是为你的类的公有属性,即对外开放的属性进行验证的.使用企业库验证应用程序模块的优势:有助于保持一致的验证方法。包括大多数标准验证,包括.NET数据类型校验.它让您可以将多个规则集具有相同的类和该类的成员.它可以让你申请一个或多个规则集时,您验证的对象.企业库验证应用程序模块提供了下列几种验证方法:And CompositeValidatorContainsCharacters ValidatorDate Time RangeValidatorDomain ValidatorEnum Conversi 阅读全文
posted @ 2010-05-30 21:22 黄聪 阅读(10362) 评论(6) 推荐(7) 编辑

上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 45 下一页