Fork me on GitHub

2013年7月15日

摘要: 开源Word读写组件DocX 的深入研究和问题总结一. 前言 前两天看到了asxinyu大神的【原创】开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX。 我也把它融入到我的项目当中并进行了实践。工具果然牛叉,但也有一些问题,后边一并列出来。 二. DocX的基本原理 Word有一个开放的文件格式,叫做Office Open XML。Office 从2007版本开始用它。它的基本方法是将文本和格式存储成xml,把其他资源(图片等)存储成独立文件,并将其进行Zip压缩。这样的好处是它的体积远比03版本的office文件小得多,但也造 阅读全文
posted @ 2013-07-15 22:37 HackerVirus 阅读(401) 评论(0) 推荐(0)
摘要: HtmlParser应用,使用Filter从爬取到的网页中获取需要的内容{ String url = "http://wenku.baidu.com/search?word=htmlparser&lm=0&od=0&fr=top_home"; //获取页面中的格式的链接 nodeFilterTagClass(url, "UTF-8", LinkTag.class); //或取页面中的格式的链接 nodeFilterTagClass(url, "UTF-8", ImageTag.clas... 阅读全文
posted @ 2013-07-15 22:36 HackerVirus 阅读(169) 评论(0) 推荐(0)
摘要: C#中的结构体与类的区别经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点.1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字struct.在语法上其实类和结构有着很多相似的地方. 定义类的语法 1 class Person 2 { 3 private string name; 4 private int age; 5 6 public void SayHi() 7 { 8 Console.WriteLine("Hello,My Name is "+this... 阅读全文
posted @ 2013-07-15 22:31 HackerVirus 阅读(168) 评论(0) 推荐(0)
摘要: Winform 让跨线程访问变得更简单前言 由于多线程可能导致对控件访问的不一致,导致出现问题。C#中默认是要线程安全的,即在访问控件时需要首先判断是否跨线程,如果是跨线程的直接访问,在运行时会抛出异常。近期在项目中碰到这个问题,首先想到的是,关闭跨线程检查,因为做的Winform没有多么复杂,图省事就直接这样做了,之后又出了一点点问题,还是必需通过委托的方式来实现。资源下载 测试示例解决跨线程访问: 网上的资料很多,这里直接摘抄。 1、关闭跨线程检查。 2、通过委托的方式,在控件的线程上执行。 具体的代码如下:using System;using System.Threading... 阅读全文
posted @ 2013-07-15 22:27 HackerVirus 阅读(222) 评论(0) 推荐(0)
摘要: javascript对象深拷贝,浅拷贝 ,支持数组经常看到讨论c#深拷贝,浅拷贝的博客,最近js写的比较多, 所以也来玩玩js的对象拷贝。下面是维基百科对深浅拷贝的解释:浅拷贝One method of copying an object is the shallow copy. In the process of shallow copying A, B will copy all of A's field values.If the field value is a memory address it copies the memory address, and if the fi 阅读全文
posted @ 2013-07-15 22:23 HackerVirus 阅读(239) 评论(0) 推荐(0)
摘要: Windows Store 手势编程小结最近完成了一个Windows Store上面的手势操作的页面。在这里总结了一下经验和心得,希望能和大家一起分享和讨论一下。首先,要纠正一个误区,在Windows Store里面,手势和鼠标的操作事件是不区分的。比如简单的手指滑动事件,正常的写法还是在PointerPressed, PointerPressed和PointerReleased里面去处理。大家可能认为,手势的事件应该在,ManipulationStarted和ManipulationDelta等事件里面去处理。但是如果我们在Manipulation事件里面处理了,Pointer的事件依然会被 阅读全文
posted @ 2013-07-15 22:17 HackerVirus 阅读(255) 评论(0) 推荐(0)
摘要: 配置sonar、jenkins进行持续审查本文以CentOS操作系统为例介绍Sonar的安装配置,以及如何与Jenkins进行集成,通过pmd-cpd、checkstyle、findbugs等工具对代码进行持续审查。一、安装配置sonar1、Sonar介绍Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行 阅读全文
posted @ 2013-07-15 17:11 HackerVirus 阅读(300) 评论(0) 推荐(0)
摘要: ASP.NET4.5Web API及非同步程序开发系列(1)认识非同步程序开发设计模型从VS2012开始引入的型的非同步程序设计的支持-------async/await设计模型之前的当我们支持非同步作业的时候,往往使用多线程开解决,我们比较熟悉的就是执行者:Thread,ThreadPool (线程和线程池,后者有利于资源的有效利用)非同步的设计模型:Begin方法/End方法,Async事件/Completed事件(主要是异步委托之类的,我在我以前的博文中有写过专题)BackgroundWorker控制项Task Parallel Library 虽然今天的重点是.NET4.5的asyn. 阅读全文
posted @ 2013-07-15 17:05 HackerVirus 阅读(242) 评论(0) 推荐(0)
摘要: Teambition可用性测试记引言:最开始知道Teambition是几个月前,当时是想找一个团队协作工具。Teambition是候选之一,它的界面设计给我留下了印象。后来得知其背后年轻的创始团队还是让我有些小惊讶的。这次通过朋友介绍给Teambition做可用性测试也有些兴奋。从会面到测试设计,再到实施与总结,前前后后持续了3周。在这个过程中我一直在观察、思考,发现了闪光点,同时也捕获了许多细节问题,可谓收获颇丰。我认为Teambition网站在可用性(体验)方面是经过思考的,网站的设计含蓄优雅,力图通过技术让Web页面给用户类似桌面应用的实时体验。大量使用隐藏、扩展面板,避免令人厌烦又毫无 阅读全文
posted @ 2013-07-15 17:05 HackerVirus 阅读(311) 评论(0) 推荐(0)
摘要: C#下丢掉.asmx文件的WebService的实现我在用.net实现Webservice的时候发现需要一个没有任何用处的.asmx文件,但是却没法删除,这两天我实现一个通过接口时想实现dll直接部署,不需要弄个.asmx文件.翻阅了很多,最后在Spring.net里面得到了启示.我要实现的方式是直接在httpHandlers中配置 然后通过就可以直接部署,特别适合进行二次开发,嵌入式开始什么的.具体的实现如下:先需需要通过继承反射实现一个c#的程序集封装的调用(很讨厌C#的程序集封装,讨嫌的要死) /// /// WebService处理类. /// [Perm... 阅读全文
posted @ 2013-07-15 16:59 HackerVirus 阅读(743) 评论(0) 推荐(0)