IT技术博客

IT技术博客,精选各种精华文章供您阅读,是您学习各种IT技术的博客优选之地

不要困在自己建造的盒子里——写给.NET程序员

在给这篇文章起标题的时候,我斟酌了很久,因为我个人是反对使用“.NET程序员”、“C++程序员”或“PHP程序员”这类简单粗暴的方式为程序员做划分的。但是客观确实存在一个现象,就是很多程序员会为自己设置一个无形的界限,将自己与某种语言或平台硬绑定到一起,例如我这里所指的“.NET程序员”。请注意这与&l

Productivity Power Tools(Visual Studio 扩展) 最新亮点

搜索功能(新!)  在Visual Studio中有许多不同的搜索方法(增量搜索,快速查找,在文件中查找,查找工具栏等),对于一个给定的任务往往是不太明确的。 而且查找对话框本身也使得我们没法很好的查看和跳跃代码。 Productivity Power Tools 增加了新的查找扩展。 在编辑文本的状态下,按Ctrl + F 就弹出了这个小而强大的窗口,通过这个窗口你可以使用大多

SOA是什么

    估计很多人都听说过SOA这个词了,但是很多人还是不知道到底什么是SOA。开发人员很容易理解为是一个Web Service,但是这绝对不是SOA,那顶多只能算是SOA的一种实现方法。那么,到底什么是SOA呢?最近正在看SOA Source Book,本篇我将介绍一下SOA到底是什么?如有错误,欢迎指正。     

XML学习笔记(一):XML中的命名空间

由于项目需要对大量的XML文件进行处理,而自己当时的XML知识还仅限在怎么编写XML实例文档,使用简单的XPath对XML文档进行搜索,而对于XML模式、XLST没有任何概念。一句话就是XML的相关知识还是相当的匮乏,所以下决心开始学习XML比较深入的知识,而此次的XML学习之旅将从XML模式开始。并将此学习过程中的一些心得总结出来,以供大家分享。文中有不当之处,望前辈指点一二:) 一、XML中命

Lucene.net 项目停了

Lucene.net 项目有将近1年没有出官方版本了,从去年年初就听说好像出什么问题了,但一直没有看到官方说法。最近搜了一下,这个项目好像确实停了。Apache 开源基金会已经把这个项目的主页下掉了,放到孵化器里面去了。这个项目目前用户还是很多的,包括博客园的找找看,我估计也是基于这个 lucene.net 的,停了还是比较可惜的,希望它的分支能继续发展起来。下面把我看到的相关文章,我大概给介绍一

创建书签小工具之理论

书签小工具(Bookmarklets)是一个非常棒的javascript代码小片断伪装成的小应用,它驻留在你的浏览器里并为网页提供额外的功能。这里我们将研究如何从头开始创建一个书签小工具及一些最佳实践的建议。 我们一直在寻找增加浏览体验的方法,有的方法众所周知,有的则鲜为人知。我原本认为书签小工具属于后者,非常令人讨厌的东西。令我非常懊恼的是我发现在这个问题上我完全是错误的。它并不是令人厌烦的,而

TDD到底美还是不美?

最近CoolShell的上一篇《TDD并不是看上去的那么美》引起了敏捷社区的高度关注和激励辩论。今天,InfoQ甚至专门举行了一个“虚拟座谈会”《TDD有多美?》,几位国内敏捷社区的名人专门就此问题展开了深入地讨论。不论结果如何,这个纯技术的探讨精神还是非常值得赞赏的。事件实际上可以简单的归纳为“一个有一定影响力的开发人员质疑TDD,一群敏捷社区名人对TDD进行

SQL Server如何保证可空字段中非空值唯一

今天同学向我提了一个问题,我觉得蛮有意思,现记录下来大家探讨下。 问题是:在一个表里面,有一个允许为空的字段,空是可以重复的,但是不为空的值需要唯一。 表结构如下面代码创建 CREATE TABLE test_tb(    TestId int not null identity(1,1)&nbs

【工具推荐】ELMAH——可插拔错误日志工具

      今天看到一篇文章(构建ASP.NET网站十大必备工具(2)),里面介绍了一个ELMAH的错误日志工具,于是研究了一下。 ELMAH 是 Error Logging Modules and Handlers for ASP.NET 的缩写。ELMAH可以让你记录下你的网站发生的任何一个错误,在将来,你可以重新检查这些错误。你可以从ELMA

使用Aspose.Cell控件实现Excel高难度报表的生成(二)

继续在上篇《使用Aspose.Cell控件实现Excel高难度报表的生成(一)》随笔基础上,研究探讨基于模板的Aspose.cell报表实现,其中提到了下面两种报表的界面,如下所示: 或者这样的报表格式  首先来分析第一种报表,这个其实还是比较固定的二维表,我们只要绑定相关的信息即可,设计模板如下所示: 实际生成的报表如下所示: 实现的代码其实不复

CYQ.Data 数据框架 发放V1.5版本源码

本篇的内容很简单,就发放V1.5版本源码,同时补充了所有发布版本的API文档。   具体相关下载地址见: 秋色园下载中心:http://cyqdata.cn/download/article-detail-426   如何快速上手: 看文章:http://cyqdata.cn/cyqdata/article-cate-33 看视频:http://www.cy

.NET中的异步编程(三)- Continuation passing style

在上一篇文章中我们围观了传统的异步编程,感受到了异步编程不是简单的事情。传统的异步方式将本来紧凑的代码都分成两部分,不仅仅降低了代码的可读性,还让一些基本的程序构造无法使用,所以大部分开发人员在遇到应该使用异步的地方都忍痛割爱。本来我在本篇文章中想讨论一下.NET世界中已有的几个辅助异步开发的类库,但是经过思考后觉得在这之前介绍一下一些理论知识也许对理解后面的类库以及更新的内容有所帮助。今天我们要

C#.NET 剪切板复制粘贴泛型的例子代码参考 Clipboard Copy Paste List

 我们经常希望我们的软件有复制粘贴功能,可以把一个角色(用户组)里的用户全部复制粘贴到另外一个角色(用户组)里,若软件有复制粘贴的功能,操作起来会非常方便,所以在走火入魔通用权限管理系统组件源码里,也有类似的复制粘贴的例子代码,有需要的可以参考下面的代码实现,虽然代码很简单,但是也折腾了1天才调试好,希望能对有需要的人有些帮助少浪费宝贵生命,及时找到需要的资料。  &

谈谈Linux内核驱动的coding style

最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。当初自己对内核文档里的CodingStyle一文只是粗略的浏览,真正写代码的时候在很多细节上会照顾不周。不过, 在不遵守规则的程序员队伍里,我并不是孤独的。如果去看drivers/staging下的代码,就会发现很多驱动程序都没有严格遵守内核的coding style,

采用HttpModules来重写URLs(实践篇)

首先写一个处理urls重写的类,并且这个类必须继承ihttpmodule接口,以博客园的程序为例: public class urlrewritemodule : system.web.ihttpmodule { public void init(httpapplication context) { context.beginrequest +=new eventhandler(context_b

[Silverlight]实现DataGrid使用CheckBox选择行

先显示最终结果,其中左边是错误的例子,右边才是正确的 在DataGrid中使用CheckBox选择行时典型的错误就是CheckBox没有Binding到任何属性上,这样的话当拖动滚动条时CheckBox.IsChecked就会乱掉,如Demo中左边那个DataGrid所示。最直观的解决方法是禁用DataGrid的滚动条,或者在绑定的数

MS CRM 2011中过滤化查询的实现方法

MS CRM 2011中过滤化查询的实现方法     使用过滤化查询,可以实现根据表单上的其他信息作为搜索条件,限制Lookup查找框中的搜索结果数量的目的。 在讲解具体的实现方法之前,先设定一个应用场景:     实体配置信息列表: 省份 New_province 名称 New_name 城市 New_c

[Project Euler] 来做欧拉项目练习题吧: 题目015

                                       [Project Euler] 来做欧拉项目练习题吧: 题目015     &nb

SQL Servr 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性

友情提示,您阅读本篇博文的先决条件如下:   1、本文示例基于Microsoft SQL Server 2008 R2调测。   2、具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验。   3、具有使用 Microsoft Visual Studio 进行 Microsoft .NET Framework开发的经验。   4、熟悉或

Zigbee之旅(五):几个重要的CC2430基础实验——串口通信

一、承上启下   在无线传感网络中,CC2430需要将采集到的数据发送给上位机(即PC)处理,同时上位机需要向CC2430发送控制信息。这一切都离不开两者之间的信息传递。这一节,我们就来学习如何实现PC机与CC2430之间的串口通信。   CC2430包括2个串行通信接口 USART0 与 USART1,每个串口包括两个模式:UART(异步)模式、SPI(同步)模式,本节仅涉及UART模式)。 二