{#advanced_dlg.about_title}

DotNet »

2012-03-18 12:23:15 | 0 评论

概述: 本文是为了对XML存储的BlogEngine文章进行整理,保留一个比较洁净的数据。 附加库: HtmlAgilityPack http://htmlagilitypack.codeplex.com/ 使用方式: Article a = Article.Load(“原始数据文件.xml”); a.Move(true);//清除在文章中的图片,只移动文章 a.Move(false);//移动文章,移动图片 源代码: 1: class Article 2: { 3: public const string INITROOTFOLDER = "D:\\Development\\WebSites\\Temptesting\\App_Data"; 4:... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2011-09-19 16:38:09 | 3 评论

在教育别的小朋友的时候,我说凡事多想想,尤其是对于成熟的框架,多看看负面的东西。这次自己吃了一个哑巴亏,郁闷啊,事情是这样的,在一个以前的项目中,我玩过一次JAVA版本的Lucene,在另外的一个项目中C#版本的Lucene貌似也不错,但是两次的应用全部使用的是内置的分词引擎,这次我贸然的换成了盘古分词,而且在盘古分词中使用了一些Hack的方式修正词汇的取得,本以为一切都是很好的,但是,性能测试的时候却大跌眼镜。下面是正常应用的一个场景: 一个单独的线程负责索引没有索引的文章,并写入索引到磁盘。 10个单独的线程后台不断抓取最新的文章并保存到数据库(索引状态为未索引)‘ 在保存到数据库之前,对文章的标题进行分词,取出关键字。 一个独立的UI线程维系前端访问,将输入的查询关键字递交给Lucene进行查询。 在实现过程中,我犯了一下几个错误导致现在查询慢而且程序占... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2011-09-14 17:09:36 | 1 评论

也许你已经知道,我一直都在使用 http://www.componentfactory.com/ 开发的Krypton免费套件,这一套免费的WinForm控件遭遇了她的第一个拐点: http://www.componentfactory.com/blog/2011/09/change-in-status/ 从博客上来看,并不是说没有希望,但是作者对于WinForm的态度是比较明了了。同时作者也明确如果那个合同延期,他将接受这个合同,貌似是要被招安了。 这是否意味着这就是这个控件的终结版了? 我一直以为Phil会有一个公司在后面运作这个组件,但是现在看来的确是他一个人(或者有限的几个人)在维护这个项目,的确很不容易,能够支持到现在,我能理解其中的难处,也能理解Phil为啥最后还是选择了被招安。所幸的是,最终他保留了这个产品,这个产品还维系在他自己手上——不像前一段时间我说的那个refac... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2011-09-06 11:19:35 | 0 评论

在前面的文章中,我很无耻的将盘古分词改造成了单一发布包的版本,最近在使用的时候,发现一个问题: 盘古分词对英文和字符的组合分词并不是很突出。所幸的是代码比较简单,这次继续改造——因为本次改造会影响到分词的准确性和词频的等等潜在问题,我就不提交到盘古分词的官方网站了。首先要说明,我改造这个东西是为了做电影数据的分析的,所以例如“第XXX集”这类的词汇我会合并在一起。 拿实例来说事 ,下面是没有激活新分词的结果(粗体为原始文本,下一行为分词结果,单词之间使用): 【飞鸟影视BT组】超人特工队 The.Incredibles.2004.BluRay.720p.x264.AC3-WOFEI 国英台粤     飞鸟影视   BT   组   超人   特工队 ... [More]

{#advanced_dlg.about_title}

JAVA, DotNet, 行业 »

2011-08-09 13:14:44 | 1 评论

最近准备着手开发一个基于控制台的程序,交互的问题之外就是针对特殊内容的颜色处理,顺便翻了翻资料。 对于C#而言,大部分时候因为其运行在Windows平台下,所以可以直接采用系统API来实现颜色的改变,操作系统也提供了不少内置的颜色供使用。C#的函数引入 using System; using System.Runtime.InteropServices; // DllImport() namespace TextColor1 { class MainClass { [DllImport("kernel32.dll")] public static extern bool SetConsoleTextAttribute(IntPtr hConsoleOutput,int wAttributes); ... [More]

{#advanced_dlg.about_title}

行业, JAVA, DotNet, CPlusPlus »

2011-07-15 15:25:33 | 2 评论

Because uncle Bob's blog is inaccessible now, so I digest it: Posted by Uncle Bob Mon, 08 Jun 2009 16:26:51 GMT There are two metrics that I think are quite useful in the pursuit of clean code. One is Crap, and the other is The Braithwaite Correlation. The first is a pragmatic call to action, the second is a measure of overall care. CRAP (http://www.crap4j.org/) I’ve written about Crap before.... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2011-07-07 17:30:28 | 0 评论

纠结到底是HTTPRequest本身就支持Proxy设置,下面的代码很简单,仅作参考,不要找偶,懒得解释(另外支持Form认证的代码) public string ProxyAddress { get; set; } public int ProxyPort { get; set; } public string ProxyUserName { get; set; } public string ProxyPassword { get; set; } public HttpClient SetProxy(string host, int port, string user, string pwd) { this.ProxyAddress = host; ... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2011-07-07 17:24:49 | 1 评论

我原本就是懒人,何尝勤快过,懒散了这么多年,对一个库是否好用,除了功能满足之外,还有就是简单,最好是简单的一塌糊涂,连傻瓜都会——话说傻瓜也能当程序员了,没活路了。 Lucene本身是很不错的,不管插件机制还是代码效率,都很不错,但是毕竟有些不大不小的水土不服,例如中文分词这个领域就比较麻烦,虽然可以使用标准分词的结构,但是大家都晓得“武汉市长江大桥欢迎您”的闹剧,不是偶然,而是必然,中文的上下文和语境在特定的环境下会产生变化,例如上例,从技术角度来看,没有一点错误。 最后我选择了DotNet版本的盘古分词作为中文分词的引擎。我现在没有在JAVA下面做开发,不知道有没有JAVA版本。 盘古分词本身的发布中包含了字典数据,但是字典数据是在体外加载的,也就是说需要新建目录并配置XML文件指定这个目录。这使得使用盘古分词的客户程序必须引入字典才能运行,而且,如果没有这些文件,会爆出异常信息... [More]

{#advanced_dlg.about_title}

JAVA, DotNet, CPlusPlus, 行业, 网页 »

2011-01-21 15:02:05 | 0 评论

首先递出一个很简单的规则KISS: Keep it Simple&Stupid,有人在扯最后的一个S应该是Standard,也许吧,是什么并不是很重要,关键是规则自己本身的第一句话 Keep it Simple. 维基百科上面 http://fr.wikipedia.org/wiki/KISS-principe (法语,自己找英文和中文哦)对于最后一个S也是很纠结,但是真的很重要吗? 问题出在下面的代码中(代码出自:http://www.cnblogs.com/Fskjb/archive/2009/08/03/1537917.html): public class TestEnum { /*最普通的枚举*/ public enum ColorSelect {         ... [More]

{#advanced_dlg.about_title}

网页, 生活, 行业, JAVA, DotNet »

2011-01-11 14:44:30 | 0 评论

条件编译是一个很神奇的事情,如果没有条件编译,我真不知道如何实现以下的功能: 程序有四个版本:演示版,试用版,客户端正式版和服务器正式版。 四个版本中主要的内容都是一致的 演示版只能显示100个项目,从开始使用开始计时,30天之后自动失效。无客户自定义功能,无编辑功能。 试用版可以显示1000个项目,从开始使用开始计时,100天之后自动失效。客户端自定义功能,但是无编辑功能。 客户端正式版无实效限制,但是必须注册激活使用,无编辑功能,有自定义功能。 服务器版本需要注册激活,无时效限制,所有功能。 从代码上,我要保证我的产品源代码不会被破解,那么最好的做法就是以前的那些拙劣的If语句不要出现在独立的版本中,例如如下的伪代码,会被轻松的破解: if(false==客户端正式版) { return; } 最好的办法就是,这些... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2010-12-23 11:05:59 | 2 评论

什么是闭包?呃~~~~很难回答,但是IBM给了一个比较好的解释:http://www.ibm.com/developerworks/cn/linux/l-cn-closure/index.html 闭包只是在形式和表现上像函数,但实际上不是函数。函数是一些可执行的代码,这些代码在函数被定义后就确定了,不会在执行时发生变化,所以一个函数只有一个实例。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。所谓引用环境是指在程序执行中的某个点所有处于活跃状态的约束所组成的集合。其中的约束是指一个变量的名字和其所代表的对象之间的联系。 C#中是否存在闭包?嘿嘿,这个问题俺就不回答了。直接上代码看看问题所在: static void Main(string[] args) {     String[] val... [More]

{#advanced_dlg.about_title}

行业, DotNet »

2010-12-23 10:34:05 | 1 评论

最近真的很忙,我和兄弟们笑谈现在是当螃蟹的时候,不是看着我横行,而是看着每天都被人架在锅子上面煮,每天都弄得红彤彤的,很红包很喜气,过年了嘛。 前几天团队给我提了个需求,我试着修改代码的时候发现自己的泛型用法有些问题,不够真正的泛型,所幸VS2010的自动提示功能相当强大,所以找到了办法。案例如下,假如有一个方法如下: public static T test<T>()         {             return null;         } 编译是通不过的,这个方法的目的是... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2010-11-24 11:35:39 | 2 评论

I am not sure why Visual Studio create such a VSHost process to host my own process when debugging. The vshost could make me be in trouble: The file name changed by VS, i.e. my target exe is “a.exe”, the hosted filename is “a.vshost.exe” Some functionalities which depend on the filename should be wrong. Files copying when debugging in other machine is not so good. It is easy to remove ... [More]

{#advanced_dlg.about_title}

行业, DotNet »

2010-11-15 23:01:51 | 2 评论

在这里,我来讲讲怎么应付WebBrowser里面的那点破事: 文档真的完成了吗? 也许你和我一样,打开一个页面,听到了不少次的哒哒哒哒的声音,但是单个页面怎么会造成多次的触发DocumentCompleted函数?不信自己试试,判断文档是否真的完成,需要在这个处理函数内判断ReadyState如下: private void WebBrowserEx_DocumentCompleted(object sender , WebBrowserDocumentCompletedEventArgs e) { if (this.ReadyState == WebBrowserReadyState.Complete) { ... [More]

{#advanced_dlg.about_title}

行业, DotNet »

2010-11-11 09:11:25 | 1 评论

终于下定决心升级了,这次没有过多的动作,只是升级了主程序,没有对Theme进行调整,找个空闲时间,让美工帮忙设计一个新的模板再对Theme进行替换。 从1.4.5到1.6.1,核心的东西变化不多,速度增快了不少,我还是喜欢使用原生的XML格式保存文章,这样牺牲速度但是提升了Blog的可移植性。这次的版本,在原生版本的基础上,基本没有什么调整。 第一次用新增的评论管理功能,居然发现在自己的Blog中包含了1000多个未审批的评论,几乎全部都是国外的SPAM网站发出来的,一不做二不休,我删除了全部已经审批和未审批的垃圾评论。评论数量从原先的900多直降到了500多,感觉清爽了不少。 长宽的网络对FTP下行没有什么限制,但是上行的时候出现64K瓶颈,就是当数据上载到64K的时候会自动断开,偶尔能够成功,很别扭。 下载最新的DotNet BlogEngine: http://blogeng... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2010-11-10 23:49:00 | 0 评论

Yes I knew, this functionality could be implemented by any language, even BAT could implement it. But I am a really lazy guy, I only want to make it more easier to implement, so I chose C# with DotNet Framework V2.0. The feature of this tool is: Copy specified directory to destination directory. Copy the files and directories in the source directories to destination directory. Files could ... [More]

{#advanced_dlg.about_title}

行业, JAVA, DotNet »

2010-09-30 14:18:05 | 4 评论

我读小学的时候,当时还不是校长的罗云武老师问了我一个问题:1是0的多少倍?我当时没回答出来,以我那个愚钝的资质,怎么可能回答这么玄奥的问题。昨天晚上有个朋友说起一个笑话,说是某次聚酒众皆踊跃唯一君木然沉思状众人问其故,其人答曰:世界如此之大何时才是尽头。1和0的倍数问题,大抵也是只有在踊跃中沉静的人才能去思考的。 新事物对我来说,近乎这类问题,但是所幸的是,在这个现实的世界中,新事物是可以尝试的。例如今天我要拉扯的Go语言(真不容易啊,Google搞了一个超级具有中国特色的主站名,让我不需要想也能记得住他的域名,够浪啊),我可以尝试,所以可以发发牢骚。 我的语言能力很肉脚——我很少有这么实诚的时候,所以,我学习语言的速度总是很慢的。可惜,对于程序语言,我还是比较快的,因为不需要想太多的例子,也还是有以前的代码作为参考,所以相对自然语言来说,快了不少。即便如此,我还是喜欢这个世界简单一些... [More]

{#advanced_dlg.about_title}

DotNet, JAVA, 行业, 网页 »

2010-09-28 13:48:00 | 0 评论

原始源代码出自: http://jsbeautifier.org/ 在源代码包中包含一个没有发布的C#版本,可惜,代码实在有点过分,所以略作了一些调整,源代码可以在下面的附件中下载。 已经测试出来的问题:注释处理错误,注释处理应该直接按照原始文本输出即可,不需要再做处理。 输入: /*s*/<!--ss-->window.combotreedata_83c7e2f201b9382ed1bc2358d3078ebc=[{id:-1,text:\"Folder1\",iconCls:\"icon-ok\",children:[{id:2,text:\"File1\",checked:true},{id:3,text:\"Folder2\",state:\&qu... [More]

{#advanced_dlg.about_title}

行业, DotNet »

2010-08-06 13:52:35 | 1 评论

重新安装了机器,因为老爷子要用移动硬盘在电视上看连续剧,没忍心将移动硬盘带到办公室,所以很多东西都没有复制到我的机器上。我的机器直到现在还是一个半成品,至少,我没法接受到QQ消息,呵呵,可牛的安装界面还是无耻的乱码 终于忍不住,安装了Visual Studio 2010,当初被我安装完成之后就扔掉的产品,现在貌似又要恢复青春了,这次我决定将几乎所有的产品全部定位到最新的DotNet Framework V4上面,这样我也可以使用最新的语言特性,我已经离开江湖很多年了啊。 我在编译一个简单的SQLite封装的时候,出现了严重的错误: System.IO.FileLoadException was unhandled Message=Mixed mode assembly is built against version 'v2.0.50727' of the runtim... [More]

{#advanced_dlg.about_title}

DotNet, 行业 »

2010-05-04 09:53:41 | 1 评论

驱动之家传来消息: .NET Framework 4.0正式版刚刚发布没多久,微软就计划放弃.NET 3.0/3.5了。.NET Framework最初发布于2002年,被微软视为主要产品(级别等同于Windows、Office),因此享受五年主流支持和五年扩展支持的5+5 生命周期策略,这也是微软产品线中最常见的支持形式。 微软表示,正在努力促使.NET 3.5 SP1和最新的.NET 4.0成为Windows操作系统的关键组件, 因此它们的生命周期将取决于作为父产品的Windows 7系统等等。 而旧版本的.NET 3.0/3.5将在2011年4月12日结束主流支持,也就是说一年之后微软将不再为它们 提供技术支持和产品设计或功能更改,仅保留付费支持和安全更新,非安全性热修复程序则仅针对购买扩展协议的用户有效。 微软建议所有用户尽快升级迁移到.NET 3.5 SP1或者.NET 4.0。... [More]