摘要:
.NET中操作IPicture、IPictureDisp的小随笔【题外话】最近在做一个调用某实验仪器的程序,这个仪器提供了Windows上COM的接口。调用仪器的时候需要传输图片,提供的接口里使用了IPicture这个接口,由于以前没接触过,所以查找了一些资料,整理了一下与.NET中System.Drawing.Image的互转的方式。【文章索引】IPicture和IPictureDisp是什么使用AxHost实现与System.Drawing.Image的互转使用VB6 compatibility library实现互转Alpha通道的问题【一、IPicture和IPictureDisp是什 阅读全文
posted @ 2013-10-07 23:47
HackerVirus
阅读(2087)
评论(0)
推荐(0)
摘要:
Git学习笔记与IntelliJ IDEA整合Git学习笔记与IntelliJ IDEA整合一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:http://rogerdudler.github.io/git-guide/index.zh.html Github官方使用说明:https://help.github.com/articles/set-up-git 默认安装 配置 1)首先你要告诉git你的名字 git config --global user.name "Your Na.. 阅读全文
posted @ 2013-10-07 23:40
HackerVirus
阅读(337)
评论(0)
推荐(0)
摘要:
[interview]螺旋队列问题摘要本文主要讲解三种螺旋队列的实现方式和打印输出:从中心往外端顺时针旋转,记为『外螺旋队列』从左顶点开始,绕剩下的最大圈顺时针往内旋转,记为『内螺旋队列』从左顶点开始,之字形旋转(只能同行同列地移动),记为『 』螺旋队列』从左顶点开始,之字形旋转(只能沿-45°斜线移动),记为 『/ 螺旋队列 』前三个螺旋队列图示如下:1. 外螺旋队列通过几个标记位,来确定其他值的大小,由这两个值再来确定其他值,首先,我们可以确定这个值的大致范围: maxAbs=max{ fabs(r),fabs(c)},这样这个值就在 (2maxAbs-1)2~(2maxAbs+ 阅读全文
posted @ 2013-10-07 23:36
HackerVirus
阅读(368)
评论(0)
推荐(0)
摘要:
随笔 - 275, 文章 - 0, 评论 - 1122, 引用 - 0Hibernate:有了 save,为什么还需要 persist?目录背景官方注释测试分析备注背景返回目录万物皆自然,每个 API 的设计,无论是否正确,都有其意图。因此,在学习某些框架的时候,我们需要经常思考:这个 API 的设计意图是啥?本文来探讨一下 Session 中 persist 的设计意图。官方注释返回目录save 1 /** 2 * Persist the given transient instance, first assigning a generated identifier. (O... 阅读全文
posted @ 2013-10-07 23:34
HackerVirus
阅读(276)
评论(0)
推荐(0)
摘要:
.NET 配置文件简单使用 当我们开发系统的时候要把一部分设置提取到外部的时候,那么就要用到.NET的配置文件了。比如我的框架中使用哪个IOC容器需要可以灵活的选择,那我就需要把IOC容器的设置提取到配置文件中去配置。实现有几种方法。1.使用appSettings这个是最简单的可以设置和读取的用户设置程序中可以用key去读取:string objContainer = ConfigurationManager.AppSettings["objectContainer"];简单实用但是不够优雅。2.实现自己的配置节点首先在configSections节点配置自己的配置解析类。 阅读全文
posted @ 2013-10-07 23:24
HackerVirus
阅读(552)
评论(0)
推荐(0)
摘要:
今天看了下websocket的知识,了解到这是html5新增的特性,主要用于实时web的通信。之前客户端获取服务端的数据,是通过客户端发出请求,服务端进行响应的模式,或者通过ajax每隔一段时间从后台发出请求,然后更新页面的信息,这种轮询的方式使得用户感觉页面是“实时响应”的,这样做虽然简单但未免有些暴力,另外每次请求都会有TCP三次握手并且附带了http头信息,服务器表示压力很大,这就造成了性能上和延迟的问题。 后来的技术方案中又出现了长轮询、Comet、浏览器插件(flash)和Java等来实现服务器往客户端推送消息,但都有一些弊端。 WebSocket的出现,意味着另一种解决方案,其提供 阅读全文
posted @ 2013-10-07 23:20
HackerVirus
阅读(332)
评论(1)
推荐(0)
摘要:
Hibernate:不容易理解的 lock 和 merge目录背景Lock官方的注释LockMode.NONELockMode.READLockMode.UPGRADEMerge官方注释detached 对象测试unsaved 对象测试备注背景返回目录lock 和 merge 在字面上很容易理解它们的语义,不过它们的实际行为所代表的语义范围要大一点,本文就简单的记录下来,还请朋友们多批评和指正。Lock返回目录官方的注释返回目录 1 /** 2 * Obtain the specified lock level upon the given object. This may ... 阅读全文
posted @ 2013-10-07 23:16
HackerVirus
阅读(352)
评论(0)
推荐(0)
摘要:
状态模式 人的机缘是神奇的,认识一个人就相当于打开了一个圈子,不管这个人是否在圈子中心,而这点,会在不经意间带给我们意想不到的作用。 如果我们在编写代码的时候,遇到大量的条件判断的时候,可能会采用策略模式来优化结构,因为这时涉及到策略的选择,但有时候仔细查看下,就会发现,这些所谓的策略其实是对象的不同状态,更加明显的是,对象的某种状态也成为判断的条件。 我们还是以一个例子入手。假设现在我们有一个饮水机,它有以下两个状态:满桶,空桶。初始状态是满桶,容量是20。饮水机只有一个动作:press,每次press后都会使容量减1,一旦为0,则将状态设置为空桶,这时press没有水流出。 要使用状态模式 阅读全文
posted @ 2013-10-07 23:14
HackerVirus
阅读(253)
评论(0)
推荐(0)
摘要:
观察者模式(Head First设计模式学习2)1.1观察者模式定义在给出观察者模式的定义之前,我们先来看个报纸和杂志的订阅是怎么回事:1.报社的业务就是出版报纸2.向某家报社订阅报纸,只有新报纸出版,报社才会送给你,只要你是用户,他就会一直向你发送。3.当你不向看报纸了,取消订阅,他们就不会发送报纸。4.只要报社还在运营,就会有人订阅报纸或取消报纸订阅其实这个过程就和我们的观察者模式的过程相似。所以我们可以简单的将观察者模式定义为:出版社+订阅者=观察者模式这个毕竟是简单的,下面我们给出正式的定义:观察者模式定义了对象之间的一对多依赖,当一个被依赖者改变状态时,他所有的依赖者都会收到通知并自 阅读全文
posted @ 2013-10-07 23:11
HackerVirus
阅读(968)
评论(0)
推荐(0)
摘要:
.NET重构—单元测试重构阅读目录:1.开篇介绍2.单元测试、测试用例代码重复问题(大量使用重复的Mock对象及测试数据)2.1.单元测试的继承体系(利用超类来减少Mock对象的使用)2.1.1.公用的MOCK对象;2.1.2.公用的MOCK行为;2.1.3.公用的MOCK数据;3.LINQ表达式的重构写法(将必要的LINQ写成普通的Function穿插在LINQ表达式中)4.面向特定领域的单元测试框架(一切原则即是领域驱动)4.1.分散测试逻辑、日志记录(让测试逻辑可以重组,记录形式为领域模型)4.2.测试用例的数据重用(为自动化测试准备固定数据,建立Assert的比较测试数据)1】开篇介绍 阅读全文
posted @ 2013-10-07 23:06
HackerVirus
阅读(295)
评论(0)
推荐(0)
浙公网安备 33010602011771号