‘未分类’ 分类的存档

没时间写博客了。。欢迎大家转到我的微薄http://weibo.com/xsi64/

2012年1月13日10:27 没有评论

扩展方法让大家很容易的向现有类型中添加方法(不破坏源类的内容)。 写法,看代码: 很容易吧,需要注意的是,扩展方法必须是在非泛型静态类中定义,并且扩展方法必须是静态的,方法的第一个参数必须是this [类型]。使用扩展方法,可以很容易的为我们已有的类添加方法,如给String类添加个ToSource方法等。

2011年4月26日14:52 没有评论

博客的关键字“.net 开发者”,“.net开发者”两个关键字,在百度和谷歌都排第一了,呵呵。不过,至今pr还是0,汗。。。

2010年11月11日00:36 2 条评论

互联网刚刚在国内兴起时,QQ就已经悄然进入每台电脑中,成为了当时人们普遍使用的在线沟通工具当时叫QICQ,说白了就是模仿ICQ做的一款即时通讯软件,到现在发展已有十几年了,现在,可谓是用户群最大的互联网沟通工具了。 360则是从一家流氓公司3721(当年的3721插件可谓声势赫赫,你想卸载都卸载不了),成长而来,经历了3721的痛苦后,还算老实,一直研究它的杀毒软件,虽然做的也不咋地,用了后,电脑奇慢,不过打着免费的名号,还是有很多小白甘愿使用(放着国外的杀软不用)。最近,随着小白的无限增长,360也开始蠢蠢欲动,一个一个的打击它的竞争对手,如:可牛杀软、金山杀软等。 可随之,360再次升级,将战火蔓延到QQ身上,出了个叫扣扣保镖的东西,直接定位QQ多个潜在安全问题,众小白们感叹,原来,我们的QQ有这么多安全问题啊,我修我修我修修修,这下安全了。可,这么一修,影响了QQ大批业务不能正常运行,QQ于是已挟持为名,反击360,发布天下告知,只要有360的地方,就没有我QQ,一定要整个鱼死网破才行,并联手被360重创的多家公司,可牛、金山等反抗。 其实,从技术的角度上讲,360确实已经侵犯了QQ的权益,360运用应用程序注入的技术,控制QQ程序运行,就跟当时的珊瑚虫外挂一样,只不过这次太离谱了,屏蔽太多功能了,而且点击QQ安全中心弹出的确实360的扣扣保镖,真是可笑啊。 再次,从保护个人隐私的角度讲,QQ肯定会存有用户的个人隐私资料、如QQ的个人信息,对话记录等。如果,360进入QQ的话,这些资料360也必会将其拿到。至于两家公司如果处理这些隐私数据,就要看两家公司的RP了。 注:360我是没用过,见别人用过,嚷嚷着自己电脑慢的,找我来给她看电脑,结果电脑上基本都有360。。。。。。

2010年11月10日23:39 没有评论

博客已经迁移到新的主机上,大家看看访问速度是不是有一个明显的提升的?我这边看,速度是快多了,呵呵。

2010年11月8日15:07 没有评论

介绍一下如何在实例中相互操作,比如在程序A中调用程序B中的方法,看起来不太可能,不过我们可以利用Win32API来实现。我们需要用到2个Win32函数: uint RegisterWindowsMessage(string lpString); 注册一个新的窗口消息,该消息确保在系统中是唯一的,返回消息值,可在下面SendMessage函数中调用,如果该消息已经存在,则返回它的消息值 IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); 向指定的窗口发送消息 IntPtr FindWindow(string IpClassName,string IpWindowName); 查找与指定类名或窗口名相同的顶层窗口句柄 IntPtr WindowProc(IntPtr hwnd, uint msg, IntPtr wParam, IntPtr lParam, ref bool handled); 处理发送给窗口的消息 有了这两个程序就可以实现了,比如说我们在程序B中通过RegisterWindowsMessage函数定义一个字符串为“TestInvoke”的系统消息,再在程序A中,通过RegisterWindowMessage函数获得“TestInvoke”的消息值,再通过FindWindow获得程序B的句柄,通过SendMessage发送给窗口B,窗口B再通过WindowProc处理这个消息,调用相关函数。这个过程看似很复杂,只要我们多加思考,还是很容易理解的。 WindowApp1: WindowApp2: 代码下载

2010年8月19日08:38 2 条评论

实在无语,google中国决定退出中国了。。。 以下为 Google 官方博客的全文翻译: 在今年1月12日,我们在这个博客上发表了声明,提到包括 Google 在内的超过20家美国公司遭到来源于中国的黑客入侵。在针对这些攻击的调查过程中,我们发现了一些和中国有关联的人{和}权活动者的 Gmail 帐户被第三方入侵的证据,这些攻击大多数是借助安插在他们电脑上的病毒和恶意程序进行的。这些攻击和监视行为——以及近年中国公民在互联网上的言论自 {和}由被大大的限制,包括 Facebook、Twitter、YouTube、Google Docs 和Blogger 等网站都相继被持续性的封锁——促使我们决定停止在 Google.cn 审查我们的搜索结果。 所以,今天早些时候开始,我们停止了对 Google.cn 所有搜索服务的审查:包括 Google 网页搜索、Google 新闻、Google 图片。访问 Google.cn 的用户将被自动跳转到 Google.com.hk,这里将为这些从 Google.cn 跳转过来的用户提供没有审查的简体中文搜索服务。在香港的用户依然可以通过 Google.com.hk 继续使用无审查的繁体中文服务。由于访问香港服务器用户会的突然增多和此次变化的复杂性,用户可能会在我们调整期间遇到服务速度变慢或者部分产品暂时无法访问的现象。 做出停止 Google.cn 搜索服务审查的决定是艰难的,我们希望世界上包括在中国大陆人民在内的更多人可以使用我们的服务。但是中国政府在与我们的谈判中非常明确的表示,自我审查是没有任何回旋余地的法律要求。所以我们相信通过 Google.com.hk 来提供无审查的搜索是一个符合情理的选择——完全符合法律,并且可以使中国人民获得更多的信息。我们衷心希望中国政府能尊重我们的决定,尽管我们知道通过这个方式提供的服务有可能随时被阻断。为此,我们建立了一个每天规律更新的页面来监控中国大陆访问各个 Google 服务的情况,这样所有人都可以随时看到哪个 Google 服务在中国可以访问。 由于 Google 有着广泛的业务,所以我们在中国大陆的研发机构和销售部门会继续保留,其中销售部门的规模将在很大程度上取决于是否能在中国大陆正常访问 Google.com.hk 。 最后,我们在此声明,所有关于本次事件的决定都来自于我们美国的管理团队,没有任何一个中国大陆员工可以或应该为此事承担责任。在今年一月我们宣布可能退出中国之后,我们位于中国大陆员工在面对巨大压力的情况下依然保证了中国用户和客户能正常访问谷歌中国各个服务,我们深深的为他们感到骄傲。 高级副总裁、公司发展和首席法务官 David Drummond 于 2010年3月22日 下午12:03:00 发布 谷歌中文网站可以继续通过www.g.cn或www.google.cn访问 谷歌英文网站可以通过www.google.com/ncr访问

2010年3月23日12:15 没有评论

北京时间1月21日,来自官方消息,欧盟无条件批准了Oracle收购Sun的提案,成交额70亿美元,这条消息,标志着一个伟大的公司,Sun,Java的缔造者,即将离我们远去。从此,Java将卸下Sun Microsystems的标志了,Oracle将取而代之,不知道以后,我们还能不能记得Java的发明者是Sun。 Java之父在他的博客写到,So long, old friend…

2010年1月22日11:36 没有评论

上次,我们讲了NHibernate的概述,今天我们来做一个NHibernate实例,让大家体会一下,NHibernate是如何工作的。 首先,我们从NHibernate官网下载最新的nhibernate类库,创建一个示例数据库作为数据源。我们这里使用了SqlServer2008的数据库,用SqlServer2000也可以(NHibernate最大的特点之一就是支持现在流行的几乎所有的数据库),我们这里数据库名称是NHDemo,新建一个Person表,字段结构如下: 接下来,我们建立一个控制台项目,和一个类库项目,控制台项目作为输出结果。 项目文件建立好了,我们把需要用到的dll拷贝到dlls目录中。Iesi.Collections.dll,log4net.dll,NHibernate.dll可从压缩包的Required_Bins目录中找到,其他dll可从Required_For_LazyLoading\Castle目录找到。接下来,我们创建持久化对象,也就是数据库所映射的实体类。名称是:Person.cs 接下来,我们创建这个实体类的关系映射文件。NHibernate就是通过这个文件找到我们的持久化对象和数据库表中的对应关系的。(我们要为Microsoft Visual Studio 2008添加编写NHibernate配置文件智能提示的功能。只要在下载的NHibernate文件包里找到configuration.xsd和nhibernate-mapping.xsd两个文件并复制到X:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas目录即可)名称是Person.hbm.xml 注意,此时映射文件需要修改属性,将“生成操作”改为“嵌入资源”。 下面我们编写NHibernateHelper,首先,我们要从ISessionFactory中获取一个ISession(NHibernate的工作单元)。ISessionFactory可以创建并打开新的Session。一个Session代表一个单线程的单元操作。 ISessionFactory是线程安全的,很多线程可以同时访问它。ISession不是线程安全的,它代表与数据库之间的一次操作。ISession通过ISessionFactory打开,在所有的工作完成后,需要关闭。 ISessionFactory通常是个线程安全的全局对象,只需要被实例化一次。我们可以使用单例(Singleton)模式在程序中创建ISessionFactory。这个实例我编写了一个辅助类NHibernateHelper 用于创建ISessionFactory并配置ISessionFactory和打开一个新的Session单线程的方法,之后在每个数据操作类可以使用这个辅助类创建ISession 。代码如下 接下来,我们为控制台添加NHibernate配置信息,加入App.config应用程序配置文件,代码如下 从字面上可以看出dialect是数据库方言,connection.provider是数据库连接驱动,connection.connection_string是数据库连接字符串,其中<mapping assembly=”NHDemoDAL” />,NHDemoDAL即为我们刚才建立的NHibernate项目文件。我们添加代码,来享受NHibernate带给我们的一切吧。 输出结果: 查看数据库: 由于采用了事务处理机制,每次修改数据后,都需要提交一个事物来完成操作。至此,我们的第一个NHibernate实例已经完成,是不是很简单呢? 源码下载

2010年1月21日16:13 2 条评论

最近网上抄的沸沸扬扬的就是谷歌退出的消息了,消息来源于谷歌官方博客,究其原因,很有可能是谷歌对中国政府的一些限制,调查,合作习惯有关系。我们做技术的都知道谷歌的搜索比百度要好很多很多,技术层面上完全不是一个量级的。我们用谷歌搜索可以搜索到更多、更准确的内容,百度在谷歌面前完全是小孩子玩的把戏,就像中国杀毒软件和国外杀毒软件一样。 试想,如果谷歌离开中国,世界最大的搜索引擎供应商离开,对于中国政府在世界的地位来说,对于千千万万中国网民来说,都是一个不小的损失。像我,每天的工作,都离不开谷歌,查资料,解决技术难题,有些百度上根本找不到,我们真的很需要谷歌。 我们期望,谷歌不要走。

2010年1月14日13:43 没有评论
Page 1 of 212