自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DanceFire的专栏

天地不仁,以万物为刍狗

  • 博客(46)
  • 收藏
  • 关注

原创 也谈表达式分析和计算

昨天看到 王博炜 Blog中《五进制》这篇文章。其中关于5进制到10进制的转换自然没有什么意思,这篇文章给的代码主要是讨论如何进行表达式分析和计算的。作者自制了一个Stack,并且用其形成了两个堆栈分别用于存储数值和运算符。比较典型的表达式处理的方法。从实现上看,代码有些臃肿,而且必要的优化很少,另外就是没有充分利用标准提供的便利。比如那个Stack完全没有必要自制,STL提供的std

2009-02-04 12:24:00 7239

原创 让VS 2008支持Subversion

Visual Studio 2005 有一个开源的Subversion插件,Ankhsvn  (http://ankhsvn.tigris.org/),安装后,VS 2005中将内置Subversion的支持,可以直接在VS里面提交修改。我经常用它和TortoiseSVN 配合来使用Subversion,十分方便。可是升级到Visual Studio 2008后,发现Ankhsvn没有集成进来,因

2007-12-08 02:48:00 15442 4

原创 使用XmlWriter时请注意Encoding

这两天用一个常用编辑的软件打开一个最近更新的xml配置文件时突然报编码错误,说不支持utf-16。看到这个错误,我愣了一下,这个软件不支持utf-16的xml我是知道的,但是这个xml配置文件可是用XmlSerializer序列化的一个class,一直都是使用utf-8编码的,怎么突然出utf-16了?用Notepad++打开这个xml,看了一下右下角的编码,显示的还是utf-8,看来文件输出没有

2007-12-02 21:05:00 16098 3

原创 Visual Studio 2008 LINQ to SQL 的Beta 2测试版和RTM正式版的差异

Follow Scott Guthrie 的例子学习LINQ,结果找了半天也没有找到TableAdd()这个函数,查了MSDN,也没看到,我还以为是static的Class Extension添加的方法呢,正郁闷着到底是少reference了哪个库。呵呵,结果进一步搜索才发现,原来RTM把TableAdd()改名为 TableInsertOnSubmit()。这个改名语义更强了,改得确实对的,不然

2007-11-27 23:04:00 8057

原创 写了一个开源的ASP.Net的系统信息探针(适用于MS.Net 1.x/2.0和Mono 1.0/2.0)

简介这两天由于需要一个ASP.Net的服务器信息探针。到网上找了找,似乎没有发现什么开源的ASP.Net的系统信息探针(探测器)。由于技术含量不是很高,于是干脆自己动手丰衣足食了。到网上找了一下各个ASP.Net系统信息探针,把功能总结了一下,基本上都实现出来了。既然实现了就别藏着掖着了,也没什么技术含量,拿出来开源好了。有谁有更好的想法可以告诉我,如果不费劲,我就加进去。我把这个放到Google

2007-11-25 12:26:00 9299 2

原创 C#匿名方法的应用二则–实现异常Retry机制和WinForm线程安全访问

用C# 2.0的朋友可能会经常使用匿名方法(Anonymous Methods)和匿名委托(Anonymous Delegate)。在这里我说2个比较常用的应用环境。1、Retry机制C#和C++, Java一样拥有异常处理机制,我相信很多朋友和我一样,第一次接触异常的时候,都非常希望异常能够像内核捕获内存page fault异常一样类似的拥有Retry(重试)的机制,很可惜这些语言中都没

2007-11-07 23:16:00 8314

原创 中科院中文分词系统ICTCLAS之CSegment的GenerateWord()详细分析

一、简介这次分析的是ICTCLAS中的//Generate Word according the segmentation routebool CSegment::GenerateWord(int **nSegRoute, int nIndex)本来这个函数没有必要详细分析,但是我注意到中科院论文中并没有描述这个函数、而Sinboy和吕震宇也基本上跳过这个函数不讲了,所以这个函数还

2007-05-13 05:47:00 11227 6

原创 中科院中文分词系统ICTCLAS之NShortPath代码的详细分析

这两天我开始看ICTCLAS的实现代码了,和吕震宇的感觉完全一样,代码真的是糟糕透顶,呵呵,非常同情吕震宇和Sinboy能够那么认真地把那些代码读完。有了你们辛苦、认真的分析工作,让我更容易的读懂ICTCLAS的代码了,谢谢了。阅读过程中注意到了他们分析中有些地方有点小错误。 ICTCLAS的命名好像没有正统的学过数据结构一样,对于数据结构的命名非常富有想象力,完全没有按照数据结构上大家公认的

2007-04-17 15:15:00 14763 5

原创 警告:为了安全请不要随意将ASP.Net的validateRequest="false"

ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个 HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面: Server Error in /YourApplicationPath

2007-04-11 10:52:00 18609 6

原创 Happy Birthday :)

时间一天天的过,生日一年年的过。 如流星,似逝水,我们可曾留下些什么记忆吗? 过去在哪里,未来又在哪里,脚下的路通向哪里? 我快乐,我悲伤,我自信,我彷徨,这就是人生的滋味吗?我不求每天都开心,我更不奢求长命百岁,我只求能够体味人生,能够在短暂的生命中发出一点点光芒。今天是我的生日,有不少朋友祝我生日快乐,我也真的很快乐。有一个朋友发给我Tom星座的生日密码,很有意思,呵呵,说4月8日出生的人是乐

2007-04-08 17:59:00 5852

原创 坏了坏了,以后用/proc读取Linux系统信息可能要给联想交专利费了

这大千世界,还真是无奇不有。日前,和LUPA的galen聊天的过程中得知联想在2002年的时候申请过一个关于Linux的专利。我大致的看了一眼,不看不知道,看了还真吓我一跳。这个专利号为02129337.2的专利,是一种关于取得Linux系统信息的方法,仔细一看,感觉有些搞笑,不过这可确确实实是登录在我们国家的专利局中的专利。我截取其中的片段,大家一起来瞻仰瞻仰。“技术领域:本发明涉及一种获取

2006-09-07 03:32:00 18689 16

原创 关于下一代IM服务器的一点想法

1、引言 当前IM的站场上依旧硝烟弥漫,QQ, MSN, Google Talk, ICQ, Yahoo!还都在争夺着市场的份额。今天我所要说的,是跳出商业利益趋势之短利,而从长远的角度考虑IM的发展趋势。 目前各大IM各自为政,在互相学习中提供着越来越丰富的功能。在他们疯狂的瓜分着internet用户市场的时候,我们普通的用户成了他们商业竞争的受害 人。恕不见,因为自己的朋友有着不同的IM,

2006-09-06 03:29:00 13916 28

原创 关于搜索引擎页面分析中的 javascript 处理的2个思路

在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多javascript,这些javascript 比较烦人,因为有相当部分页面内容写入到了这些js脚本的命令中,而导致正常的DOM分析看不到这些文字,而使其中的文字数据提取失败。当然,如果这个页面模板确定,针对这个特定的页面制作信息提取模板也不很难,每个页面人工的分析出需要提取的信息的位置,然后制作模板。可是对于genera

2006-09-03 02:57:00 7463 3

原创 一篇有趣的文章《Linux内核的神话、谎言与真相》

http://www.kroah.com/log/linux/ols_2006_keynote.html讲述了关于人们对Linux内核宣传中所出现的误导和隐藏其后的真相。比较有意思。

2006-07-28 09:58:00 12207

原创 将操作系统列表征集从“国内”改为“华人”

这是我在看了Jserv的Blog(http://blog.linux.org.tw/~jserv/archives/001745.html)后,有所感想。为什么我的列表主要是大陆的一些项目而不能吸收台湾、香港等地的操作系统项目呢?为了能够吸收海峡两岸的同胞在操作系统上所作的研究项目,我不想因为某些敏感的政治原因而让对岸的朋友对这个列表望而却步。同是华语社区,在操作系统技术研究上必然有交流的优势

2006-07-28 09:33:00 9090 3

原创 Google也开始弄开源平台,好事啊

Google昨天说(http://www.newsforge.com/article.pl?sid=06/07/27/1833251)要打算利用其搜索引擎为开源社区服务,于是作了一个开源项目的hosting。但是Stein也说很喜欢SourceForge (http://sourceforge.net/index.php),不想与其争夺项目。他们只是想提供一个简单的平台。任何在Google cod

2006-07-28 08:58:00 6131 2

原创 我们到底是万物之灵? 还是另一种昆虫?

记得很久以前看过卫斯理的一篇科幻小说《规律》,里面讲述了一个离奇的案件,一个著名的学者,康纳士博士,在前途似锦的时候突然死亡,种种迹象表明他是自杀来结束自己的生命的,而所有人都不敢相信这一点。当真相一步一步被揭发出来后,人们却发现他真的就是自杀,而原因就是因为这个“规律”。现代人每天的三点一线的高节奏生活让人们没有时间考虑自己,完全的被各种包袱压得喘不过气来。很多人都不知道到底为了什么而活着。

2006-06-11 04:15:00 14866 21

原创 Fedora Core Linux安装VMWare时调整用的脚本

在Fedora Core上安装VMWare for Linux的时候,有时候会出一些问题,比如在执行 vmware-config.pl 的时候报错:What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] /lib/modules/

2006-06-04 01:38:00 6964 3

原创 将Fedora Core的gcj替换为sun的java的脚本

将Fedora Core的gcj替换为sun的java的脚本现在gcj还不支持Java 1.5,所以有很多程序执行不了。可惜Fedora Core使用的恰好是这个开源实现,而相比而言,我更喜欢Sun的Java实现,因此,无奈,每次装Fedora Core都需要去替换默认的gcj为Sun的JDK。虽然就这么几步,但是每次还老是需要google。干脆写个脚本记在blog好了。1、换到root权限s

2006-06-03 00:18:00 6816

原创 巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1-01

[将非技术内容独立出去,文字无改动]  巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1-01上回书说到,麒麟开发组在我的分析发布之后不久,就删除了网站上的2.0-14/21的光盘镜像,取而代之的是发布了一个新版本2.1-01。如上回我所提到的那样,麒麟2.1-01相对于以前版本(2.0-14/21)进行了特殊化处理。主要是做了两件事情,一个是用objcopy/st

2006-05-21 20:14:00 22401 196

原创 征集华人操作系统项目列表

也许大部分人都知道Windows,可能相当一部分人知道Linux,甚至知道Linux和Windows的纷争。但是提到华人制作的操作系统时恐怕就知之甚少了。能提起名字的,恐怕只有中科院的红旗、国防科技大学的银河麒麟。但是,华人制作的操作系统就只有这么几个商业化的或者科研计划的操作系统么?其实远不是这样。在民间,已经有大量的操作系统人才在积蓄着自己的力量,已经有优秀的作品发布了出来,这里面既包括了

2006-05-15 13:07:00 30163 96

原创 Kylin的Kyth和FreeBSD的libpthread多线程库所用的源文件列表对比

今天正好想起来,其实可以返汇编看看用户模式下的Kyth和FreeBSD下的libpthread有什么不同。后来发现这个libpthread-kyth.so是没有strip过的(不像麒麟新发布的2.1-01的内核竟然经过了strip,并且还修改了引导部分,不知道这么做是在躲避什么,呵呵),这样我可以看看够成这个可执行文件都有哪些源文件。愿意重现的可以按照以下方式重现,非常简单。麒麟操作系统下

2006-05-15 06:37:00 5263

原创 今天收到了ubuntu 5.10免费光盘

竟然真的受到ubuntu 5.10的免费光盘,还以为他们是开玩笑呢,竟然真的收到了。看来他们可是够有钱的。从法国寄到澳洲,竟然连邮费都不用俺出。呵呵。有想拿免费盘的,可以从http://shipit.ubuntu.com/ 去订。附上光盘图片以示庆贺: 

2006-04-10 20:02:00 5006 6

原创 关于Apache的性能优化

关于Apache服务器,我看了一些文档,有一些提高性能的想法。1.重新编译Apache。Apache的默认配置不是为了最大化性能而设置的,而是考虑到向后兼容性和平台兼容性的问题。因此很多2.x的新特性没有能够体现出来。在编译的时候,需要加入一些参数,增加的这些模块应该会大幅的提高性能。既然重新编译,建议使用最新的2.2版,里面有些部分对性能有不少加强。2.编译的时候建议加入下面的参

2006-04-09 05:06:00 11849 7

翻译 非Unix衍生的操作系统图谱

刚才有一份相对比较全的Unix的家族族谱,很珍贵了。但是可能大家在其中没有发现其它我们比较熟悉的操作系统,最典型的就是Windows NT家族,这是因为Windows NT家族不属于Unix衍生的操作系统。Windows NT的前身是DEC的VMS, OS/2和Windows 3.1。因此,我又找到了一份非Unix类的操作系统家族族谱,这里面大约收集了700个OS及其版本,这应该说也是相当的全了。

2006-03-31 20:23:00 4213

翻译 编程语言的家族族谱(看看你知道的有多少)

在这个列表中只有50左右的语言,如果你找不到你所想要的语言,那么请看Bill Kinnersley 的列表,他的列表里可有2500种编程语言呢。呵呵:http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm 访问 计算机语言历史 网站

2006-03-31 19:46:00 10134 6

翻译 比较全的Unix家族族谱(看看你知道多少)

这是一个简化后的Unix家族族谱图。用图作者的话说,还有相当多的Unix衍生出来的操作系统没有包含进来,在真实世界中存在的Unix系统的数量可能是这个图上列出10倍以上。这真的只是冰山一角,甚至只是上面站立的那一只企鹅。从这个图上,我们也可以看出为什么国外在OS领域内会有所造诣,是因为他们在几十年的时间里面,有这么大量的技术积淀,也同时是系统人才的积淀。只有百家争鸣才会有百花齐放。从历史中学习

2006-03-31 18:47:00 13373 8

原创 函数内Static初始化的用法

如果想第一次使用的时候再初始化,而程序正常退出的时候,再释放资源。那么应该将其放到某个函数中,作为static声明。#include "Object.h"#include "Container.h"#include using namespace std;static Object sglobal(" static global");Object global(" global")

2006-03-04 14:09:00 3154

原创 OS161 源代码阅读-2

这回由启动时初始化的顺序分析涉及几个bootstrap函数的文件。/kern/arch/mips/mips/ram.cram_bootstrap()21       获取当前内存大小23-32    内存最大为508MB,因为由于mips体系的原因,超出这个大小,内存将不连续了。34       lastpaddr为内存最后一个字节的地址36-40    firstpaddr为firs

2006-03-02 17:21:00 3511

原创 OS161 源代码阅读-1

/kern/arch/mips/mips/start.s系统开始引导于此。22-25    为了gdb的方便,留了20字节作为stack frame27-57    由注释得知,系统初始时,将一个引导字串放到a0中,并且将内核加载到0x80001000(物理地址0x00001000)中。         80000000将会是exception handler。_end是链接完成后,kerne

2006-03-02 13:11:00 5126 1

翻译 [翻译]在Visual C++ Express 2005中使用WTL

VC 2005 Express 已经在11月7日发布了,我们现在可以用它来Free的进行WTL程序设计。步骤如下:1、从MSDN的网站上下载并安装VC Express 2005http://msdn.microsoft.com/vstudio/express/visualc/2、下载并安装Platform SDK,并且更新VC Express的设置:http://msdn.microsoft.co

2005-12-08 09:46:00 3841

原创 让我们用中文编程(二)之C++篇 - 自己做中文编程语言,你也行

让我们用中文编程(二)之C++篇 - 自己做中文编程语言,你也行作者 : Dancefire (Dancefire [at] gmail)日期 : 2005年11月11日由于CSDN的Blog好像对表格支持不好,我贴了几次,都导致了重复的内容。所以,为了能够贴到这里,我把表格都改变了,所以,推荐大家访问没有改过格式的连接:http://www.dancefire.org/Proje

2005-11-11 19:35:00 19948 27

原创 C#的数据库应用如何解决内存消耗太大的问题呢?

本来是个帖子,但是问的问题没有得到实际的答案。所以干脆放到Blog上来好了,当作长期的一个题目。这样如果有人看的话,也许能够给我一些线索。我用C#做数据库应用的时候,经常遇到的一个问题就是内存消耗特别大。这种情况在作大数据量的数据库导入导出的时候更为明显。说一个常见的数据库导入导出的Case, 大家看看比较合理的办法是什么:环境:有一个数据库SRC, 里面有500万条记录。有A, B, C三个字段

2005-11-07 21:41:00 9201 4

原创 理解继承

#include using namespace std;int inc = 0;string tab(){ string t; t.reserve(inc+1); for(int i = 0 ; i inc ; ++i) { t.push_back(/t); } return t;

2004-10-16 20:31:00 2357

原创 尝试用C++封装Socket库

这两天又看了几眼Socket编程,我老是没长性,总是东看看西看看。还老爱挑毛病,钻牛角尖,真是不可救药了。这不,又开始看Socket不顺眼了。当时是看了一个朋友给我的一段socket raw编程的代码,有一段看的我很恶心。如下:if((ErrorCode=WSAStartup(MAKEWORD(2,1),&wsaData))!=0){         printf("WSAStartup fail

2004-10-13 01:16:00 9717 16

原创 多文件编程include规则

在C++中,习惯声明和定义分开,也就是经常出现一个Class对应两个文件,一个.h,一个.cpp。当我们面对多个类设计的时候,文件include可能需要注意。我对此没太多经验,因此吃了点亏。自己总结一点点经验:1、MyClass.h此文件只放置与MyClass有关的声明,而不放置任何MyClass中可能用到的类的声明,或者其它.h的引入。在MyClass.h的首部添加#pragma onc

2004-10-12 19:56:00 3669

原创 让我们用中文编程

让我们用中文编程刚才突然想到C#里面应该支持中文编程,因为他支持源代码的Unicode,于是用中文写了一个小程序,看看能不能编译执行,结果果然如我所料,可以执行,虽然代码实用价值没有,但是很有趣味。我想用这样的小程序教一个中国学生学面向对象,可能门槛会更低一些,而且也有趣的多,毕竟是母语。(稍作修正,直接用运行时类别鉴定来决定"我是谁")程序的源代码是: using System;

2004-10-04 21:11:00 11121 9

原创 利用正则表达式将html网页数据变成Web Service

这次的题目很简单,中国银行有一个查当天汇率的网页(http://www.bank-of-china.com/info/qpindex.shtml),不过是传统的Html格式,而其又没有提供Xml格式或者WebService查询。现在如果希望其他的信息系统能够随时读取其中的数据,那么方便的莫过于中行提供一个WebService接口供大家调用,这也是典型的安全的WebService应用。可惜中行没有做

2004-10-04 21:06:00 3230 2

原创 Regular Expression 正则表达式-4 (C++)

因为总觉得上回写的C++代码太过蹩脚了,心有不甘。毕竟C++是一个很优秀的语言,并且有着众多出色的模板库,这么简单的一个小程序被我给用成那样,真的是太惭愧了。代码绝对不应该这么臃肿。实际上我有几个概念模糊不清了,所以导致了代码的臃肿,一个是输入输出流的概念模糊了,还有一个是正则表达式应用不熟悉。于是重温了输入输出流,并且详细的阅读了正则表达式的Boost库的说明文档。新写的代码如下,明显比原来的代

2004-10-04 20:58:00 2945 2

原创 Regular Expression 正则表达式-3 (C++)

最后用C++实现了一把,因为STL中尚未包含Regular Expression,因此我使用了Boost中的Regex++。不过因为不是很熟悉,所以代码很蹩脚,将就看了。呵呵。#include #include #include #include using namespace std; void readFile( const char* filename, string

2004-10-04 20:55:00 2983

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除