博客园 - Dancefire
uuid:6cbd1ba2-f883-4c34-aed1-30dde64a3a3e;id=639996
2013-01-02T10:18:09Z
Dancefire
https://www.cnblogs.com/dancefire/
feed.cnblogs.com
https://www.cnblogs.com/dancefire/archive/2013/01/02/why-notifyDataSetChanged-does-not-work.html
为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment? - Dancefire
在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChanged() 后,发现什么都没发生。
搜索之后发现不止我一个人碰到这个问题,大家给出的解决办法五花八门,有些确实解决了问题,但是我总感觉问题没搞清楚。于是我决定搞明白这个问题到底是怎么回事,以及正确的用法到底如何。要搞明白这个问题,仅仅阅读文档并不足够,还需要阅读相关几个类的相关方法的实现,搞懂其设计意图。下面就是通过阅读源代码搞明白的内容。
2013-01-02T10:18:00Z
2013-01-02T10:18:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChanged() 后,发现什么都没发生。
搜索之后发现不止我一个人碰到这个问题,大家给出的解决办法五花八门,有些确实解决了问题,但是我总感觉问题没搞清楚。于是我决定搞明白这个问题到底是怎么回事,以及正确的用法到底如何。要搞明白这个问题,仅仅阅读文档并不足够,还需要阅读相关几个类的相关方法的实现,搞懂其设计意图。下面就是通过阅读源代码搞明白的内容。 <a href="https://www.cnblogs.com/dancefire/archive/2013/01/02/why-notifyDataSetChanged-does-not-work.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2012/12/31/future_mobile_my_mobile-2002-12-30.html
将来的手机,我心中的手机 【十年前的一篇随笔】 - Dancefire
马上 2012 年就将过去,于此交替之际,我在整理自己陈旧的文档时,发现了一篇整整10年前发出的一篇帖子,看后感触颇深。那是2002年的12月30日,我当时正在闭关学英语,闲暇之际用手机颇多。受 Windows CE .Net 启发,感觉手机不应该是当时的样子。于是写了一篇文章,畅想一下我心中的手机应该是什么样子。当时发出这个帖子后,随手复制了一份在机器上,没想到今天还能再看到它。当我再次到网上试图找到发这篇文章的网站时,卻发现已经找不到了,真幸运我当时能够复制一份在本地。10年之后的今天,在 iPhone、Android、以及 Windows Phone 全面占领市场的今天,当我再次重读这篇文章时,发现,大多数设想都成了现实。没有 Steve Jobs,这一天恐怕需要更久才能到来。谢谢你,Steve。将此文章于整整十年后的今天,再次发送于此,以示纪念。
2012-12-31T12:22:00Z
2012-12-31T12:22:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】马上 2012 年就将过去,于此交替之际,我在整理自己陈旧的文档时,发现了一篇整整10年前发出的一篇帖子,看后感触颇深。那是2002年的12月30日,我当时正在闭关学英语,闲暇之际用手机颇多。受 Windows CE .Net 启发,感觉手机不应该是当时的样子。于是写了一篇文章,畅想一下我心中的手机应该是什么样子。当时发出这个帖子后,随手复制了一份在机器上,没想到今天还能再看到它。当我再次到网上试图找到发这篇文章的网站时,卻发现已经找不到了,真幸运我当时能够复制一份在本地。10年之后的今天,在 iPhone、Android、以及 Windows Phone 全面占领市场的今天,当我再次重读这篇文章时,发现,大多数设想都成了现实。没有 Steve Jobs,这一天恐怕需要更久才能到来。谢谢你,Steve。将此文章于整整十年后的今天,再次发送于此,以示纪念。 <a href="https://www.cnblogs.com/dancefire/archive/2012/12/31/future_mobile_my_mobile-2002-12-30.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2011/10/22/stephen_wolfram_memories_for_steve_jobs.html
【翻译】Stephen Wolfram 对 Steve Jobs 的点滴回忆 - Dancefire
译者:从小时候 Steve Jobs 就通过他的 Macintosh 影响到了我的生活,让我意识到计算机不一定就是我们见到的白不白、黑不黑方盒子上面堆一个显示器,而且软驱竟然可以这么设计。长大后,虽然我一直使用 Windows 系统,后来是 Linux;虽然我是 Android 的 fans;但是,Steve Jobs 带领 Apple 所创造的每一个辉煌,依旧深深的影响到了我身边的每一个人,从iPod、iPhone,到 iPad、MacBook Air。Bill Gates 是我学生时代的偶像,而 Steve Jobs 则是随后几年中成为了我的偶像。虽然他很 aggressive,虽然 apple 有各种各样的问题,但是这一点都不影响他的个人魅力。不想,仅在 iPhone 4S 发布一天后,就惊闻 Steve Jobs 的辞世。当时我正在 Jervis Bay 美丽的海滩上休假,雪白的沙滩,碧蓝的海天以及周围所有美丽的东西,瞬间失去了色彩,我拿着手机看着这个新闻,愣在了那里,迟迟不敢相信。直到我最后看到了 apple.com 上 Steve Jobs 的头像,我才明白,Steve J
2011-10-22T04:34:00Z
2011-10-22T04:34:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】译者:从小时候 Steve Jobs 就通过他的 Macintosh 影响到了我的生活,让我意识到计算机不一定就是我们见到的白不白、黑不黑方盒子上面堆一个显示器,而且软驱竟然可以这么设计。长大后,虽然我一直使用 Windows 系统,后来是 Linux;虽然我是 Android 的 fans;但是,Steve Jobs 带领 Apple 所创造的每一个辉煌,依旧深深的影响到了我身边的每一个人,从iPod、iPhone,到 iPad、MacBook Air。Bill Gates 是我学生时代的偶像,而 Steve Jobs 则是随后几年中成为了我的偶像。虽然他很 aggressive,虽然 apple 有各种各样的问题,但是这一点都不影响他的个人魅力。不想,仅在 iPhone 4S 发布一天后,就惊闻 Steve Jobs 的辞世。当时我正在 Jervis Bay 美丽的海滩上休假,雪白的沙滩,碧蓝的海天以及周围所有美丽的东西,瞬间失去了色彩,我拿着手机看着这个新闻,愣在了那里,迟迟不敢相信。直到我最后看到了 apple.com 上 Steve Jobs 的头像,我才明白,Steve J <a href="https://www.cnblogs.com/dancefire/archive/2011/10/22/stephen_wolfram_memories_for_steve_jobs.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2011/10/21/android_source_server_online_again.html
Android 源代码服务器终于又上线了 - Dancefire
过去的3年里,android的源代码一直托管在 android.git.kernel.org 上,而自从今年8月底Linux kernel.org被黑了,android 的源代码就没有发布了。只有github.com上的一个镜像还可以使用。9月份kernel.org虽然恢复了,但是 android的源代码库一直没有上线。据一个开发人员说,这次kernel.org被黑与android源代码托管到kernel.org也有关系,他们在想办法避免此类事情再次发生,所以一直没有上线。今天终于又上线了。
2011-10-20T18:04:00Z
2011-10-20T18:04:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】过去的3年里,android的源代码一直托管在 android.git.kernel.org 上,而自从今年8月底Linux kernel.org被黑了,android 的源代码就没有发布了。只有github.com上的一个镜像还可以使用。9月份kernel.org虽然恢复了,但是 android的源代码库一直没有上线。据一个开发人员说,这次kernel.org被黑与android源代码托管到kernel.org也有关系,他们在想办法避免此类事情再次发生,所以一直没有上线。今天终于又上线了。 <a href="https://www.cnblogs.com/dancefire/archive/2011/10/21/android_source_server_online_again.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2011/10/21/android_4_tablet_screenshots.html
Android 4.0 Ice Cream Sandwich Tablet 平板全方位屏幕截图 - Dancefire
Google 发布 Android 4.0 后,很快就发布了SDK。虽然在发布会上只字未提平板电脑的事情,但是之前提过这次发布是合并了平板和手机两个分支。因此我非常好奇在平板上 Android 4.0 到底是什么样子的?和3.x Honeycomb 有多大差别?
更新了SDK后,建立一个Tablet的虚拟机,启动后就看到了 Android 4.0 的界面,和 Honeycomb 相比变化不大,但是还是有些细节有变化。废话不多说了,看截图,基本上把看到的东西都截图下来了
2011-10-20T17:21:00Z
2011-10-20T17:21:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】Google 发布 Android 4.0 后,很快就发布了SDK。虽然在发布会上只字未提平板电脑的事情,但是之前提过这次发布是合并了平板和手机两个分支。因此我非常好奇在平板上 Android 4.0 到底是什么样子的?和3.x Honeycomb 有多大差别?
更新了SDK后,建立一个Tablet的虚拟机,启动后就看到了 Android 4.0 的界面,和 Honeycomb 相比变化不大,但是还是有些细节有变化。废话不多说了,看截图,基本上把看到的东西都截图下来了 <a href="https://www.cnblogs.com/dancefire/archive/2011/10/21/android_4_tablet_screenshots.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2011/03/30/how-to-setup-vpn-cn-route.html
如何避免 VPN 连接后会降低本地网络访问速度的问题 - Dancefire
上回说到了通过 VPN 进行加速,有不少朋友已经体会到了 VPN 的好处,许多网站从缓慢到无法访问,变得可以流畅的访问了。但是,我们经常面临一个问题,VPN 拨通后,所有流量都会流经 VPN,导致本地的网络访问可能会很不顺畅,有的速度非常缓慢,有的甚至不能访问。特别是对于那些在使用 VPN 同时还在进行本地下载的用户,这个问题更加明显。对于那些收费的 VPN 而言,因为它们速度较快,所以感觉问题不大。但是,对于那些免费的、速度比较缓慢、甚至限制流量的 VPN 来说,这就是一个比较严重的问题了。很多人不得不同时只干一件事情,要使用 VPN 就停止本地网络的访问,要访问本地网络就需要断开 VPN。那么,可不可以只有访问镇外的流量走 VPN,而本地网络依旧使用本地连接呢?答案自然是可以的。
2011-03-30T05:35:00Z
2011-03-30T05:35:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】上回说到了通过 VPN 进行加速,有不少朋友已经体会到了 VPN 的好处,许多网站从缓慢到无法访问,变得可以流畅的访问了。但是,我们经常面临一个问题,VPN 拨通后,所有流量都会流经 VPN,导致本地的网络访问可能会很不顺畅,有的速度非常缓慢,有的甚至不能访问。特别是对于那些在使用 VPN 同时还在进行本地下载的用户,这个问题更加明显。对于那些收费的 VPN 而言,因为它们速度较快,所以感觉问题不大。但是,对于那些免费的、速度比较缓慢、甚至限制流量的 VPN 来说,这就是一个比较严重的问题了。很多人不得不同时只干一件事情,要使用 VPN 就停止本地网络的访问,要访问本地网络就需要断开 VPN。那么,可不可以只有访问镇外的流量走 VPN,而本地网络依旧使用本地连接呢?答案自然是可以的。 <a href="https://www.cnblogs.com/dancefire/archive/2011/03/30/how-to-setup-vpn-cn-route.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2011/03/15/ubuntu-using-php-with-apache-mpm-worker.html
在Ubuntu上启用apache worker模式和php - Dancefire
Ubuntu默认安装的apache的mpm是prefork,也就是说是多进程模式。这是比较稳定的模式。但是由于每个并发连接需要使用一个完整的进程,内存消耗较大,性能上也较差。Apache有很多mpm,我们可以使用worker模式,这是多进程/多线程模式。允许一个进程启用多个线程来接受并发连接,这大大提高了响应速度和降低了内存使用。
对于php而言,默认的prefork模式使用的是mod_php,这在多进程环境下是性能较好的方式。但是对于多线程模式而言,mod_php就有问题了,它不支持多线程环境。因此对于我们要使用的mpm-worker而言,需要使用mod_fcgid来访问php-cgi,这样就可以使用php了。
具体操作如下:
2011-03-15T05:55:00Z
2011-03-15T05:55:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】Ubuntu默认安装的apache的mpm是prefork,也就是说是多进程模式。这是比较稳定的模式。但是由于每个并发连接需要使用一个完整的进程,内存消耗较大,性能上也较差。Apache有很多mpm,我们可以使用worker模式,这是多进程/多线程模式。允许一个进程启用多个线程来接受并发连接,这大大提高了响应速度和降低了内存使用。
对于php而言,默认的prefork模式使用的是mod_php,这在多进程环境下是性能较好的方式。但是对于多线程模式而言,mod_php就有问题了,它不支持多线程环境。因此对于我们要使用的mpm-worker而言,需要使用mod_fcgid来访问php-cgi,这样就可以使用php了。
具体操作如下: <a href="https://www.cnblogs.com/dancefire/archive/2011/03/15/ubuntu-using-php-with-apache-mpm-worker.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2011/03/09/fix-bad-superblock-in-linux.html
记一次 superblock 损坏导致服务器无法启动的故障修复 - Dancefire
前几天接到朋友联系,说他的服务器坏了,启动不起来了。这是一个RHEL 4的服务器,而且是那种盗版RHEL 4,也就是说没有售后服务的,联系我问问能不能帮帮忙。我也很久没有弄过Linux系统上的东西了。只好尝试一下,庆幸的是,修好了,并帮朋友维护了一段时间,在此记录一些修复和维护中碰到的问题。修复 superblock 本身并不复杂,我觉得值得记录的是修复过程中的思考过程,和修复所需要注意的问题。
2011-03-08T23:11:00Z
2011-03-08T23:11:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】前几天接到朋友联系,说他的服务器坏了,启动不起来了。这是一个RHEL 4的服务器,而且是那种盗版RHEL 4,也就是说没有售后服务的,联系我问问能不能帮帮忙。我也很久没有弄过Linux系统上的东西了。只好尝试一下,庆幸的是,修好了,并帮朋友维护了一段时间,在此记录一些修复和维护中碰到的问题。修复 superblock 本身并不复杂,我觉得值得记录的是修复过程中的思考过程,和修复所需要注意的问题。 <a href="https://www.cnblogs.com/dancefire/archive/2011/03/09/fix-bad-superblock-in-linux.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2009/02/04/1985872.html
也谈表达式分析和计算 - Dancefire
昨天看到 王博炜 Blog中《五进制》这篇文章。其中关于5进制到10进制的转换自然没有什么意思,这篇文章给的代码主要是讨论如何进行表达式分析和计算的。作者自制了一个Stack,并且用其形成了两个堆栈分别用于存储数值和运算符。比较典型的表达式处理的方法。从实现上看,代码有些臃肿,而且必要的优化很少,另外就是没有充分利用标准提供的便利。比如那个Stack完全没有必要自制,STL提供的std::stack<T>可以很好的完成任务。而今天我要做的是,使用boost::spirit来实现同样的表达式分析和计算。众所周知,boost是C++中质量很高的库,被称为准标准库,因为其存在的一个很重要
2009-02-04T04:24:00Z
2009-02-04T04:24:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】昨天看到 王博炜 Blog中《五进制》这篇文章。其中关于5进制到10进制的转换自然没有什么意思,这篇文章给的代码主要是讨论如何进行表达式分析和计算的。作者自制了一个Stack,并且用其形成了两个堆栈分别用于存储数值和运算符。比较典型的表达式处理的方法。从实现上看,代码有些臃肿,而且必要的优化很少,另外就是没有充分利用标准提供的便利。比如那个Stack完全没有必要自制,STL提供的std::stack<T>可以很好的完成任务。而今天我要做的是,使用boost::spirit来实现同样的表达式分析和计算。众所周知,boost是C++中质量很高的库,被称为准标准库,因为其存在的一个很重要 <a href="https://www.cnblogs.com/dancefire/archive/2009/02/04/1985872.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2007/12/08/1985873.html
让VS 2008支持Subversion - Dancefire
Visual Studio 2005 有一个开源的Subversion插件,Ankhsvn (http://ankhsvn.tigris.org/),安装后,VS 2005中将内置Subversion的支持,可以直接在VS里面提交修改。我经常用它和TortoiseSVN 配合来使用Subversion,十分方便。可是升级到Visual Studio 2008后,发现Ankhsvn没有集成进来,因为目前的Ankhsvn还不支持VS2008,据说下个版本才会支持VS 2008。不过这不影响我们在Visual Studio 2008中使用Ankhsvn,我们可以自己动手修改注册表,将Ankhsvn集
2007-12-07T18:48:00Z
2007-12-07T18:48:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】Visual Studio 2005 有一个开源的Subversion插件,Ankhsvn (http://ankhsvn.tigris.org/),安装后,VS 2005中将内置Subversion的支持,可以直接在VS里面提交修改。我经常用它和TortoiseSVN 配合来使用Subversion,十分方便。可是升级到Visual Studio 2008后,发现Ankhsvn没有集成进来,因为目前的Ankhsvn还不支持VS2008,据说下个版本才会支持VS 2008。不过这不影响我们在Visual Studio 2008中使用Ankhsvn,我们可以自己动手修改注册表,将Ankhsvn集 <a href="https://www.cnblogs.com/dancefire/archive/2007/12/08/1985873.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2007/12/02/1985874.html
使用XmlWriter时请注意Encoding - Dancefire
这两天用一个常用编辑的软件打开一个最近更新的xml配置文件时突然报编码错误,说不支持utf-16。看到这个错误,我愣了一下,这个软件不支持utf-16的xml我是知道的,但是这个xml配置文件可是用XmlSerializer序列化的一个class,一直都是使用utf-8编码的,怎么突然出utf-16了?用Notepad++打开这个xml,看了一下右下角的编码,显示的还是utf-8,看来文件输出没有错啊,等等,突然注意到第一行:<?xmlversion="1.0"encoding="utf-16"?>咦?文件明明是utf-8,可是xml dec
2007-12-02T13:05:00Z
2007-12-02T13:05:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】这两天用一个常用编辑的软件打开一个最近更新的xml配置文件时突然报编码错误,说不支持utf-16。看到这个错误,我愣了一下,这个软件不支持utf-16的xml我是知道的,但是这个xml配置文件可是用XmlSerializer序列化的一个class,一直都是使用utf-8编码的,怎么突然出utf-16了?用Notepad++打开这个xml,看了一下右下角的编码,显示的还是utf-8,看来文件输出没有错啊,等等,突然注意到第一行:<?xmlversion="1.0"encoding="utf-16"?>咦?文件明明是utf-8,可是xml dec <a href="https://www.cnblogs.com/dancefire/archive/2007/12/02/1985874.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2007/11/27/1985875.html
Visual Studio 2008 LINQ to SQL 的Beta 2测试版和RTM正式版的差异 - Dancefire
Follow Scott Guthrie 的例子学习LINQ,结果找了半天也没有找到Table<TEntity>Add()这个函数,查了MSDN,也没看到,我还以为是static的Class Extension添加的方法呢,正郁闷着到底是少reference了哪个库。呵呵,结果进一步搜索才发现,原来RTM把Table<TEntity>Add()改名为 Table<TEntity>InsertOnSubmit()。这个改名语义更强了,改得确实对的,不然现在有很多人在论坛上问为什么Add()后数据库没变化。Scott Guthrie的Blog上似乎也没说啥,哎,
2007-11-27T15:04:00Z
2007-11-27T15:04:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】Follow Scott Guthrie 的例子学习LINQ,结果找了半天也没有找到Table<TEntity>Add()这个函数,查了MSDN,也没看到,我还以为是static的Class Extension添加的方法呢,正郁闷着到底是少reference了哪个库。呵呵,结果进一步搜索才发现,原来RTM把Table<TEntity>Add()改名为 Table<TEntity>InsertOnSubmit()。这个改名语义更强了,改得确实对的,不然现在有很多人在论坛上问为什么Add()后数据库没变化。Scott Guthrie的Blog上似乎也没说啥,哎, <a href="https://www.cnblogs.com/dancefire/archive/2007/11/27/1985875.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2007/11/25/1985876.html
写了一个开源的ASP.Net的系统信息探针(适用于MS.Net 1.x/2.0和Mono 1.0/2.0) - Dancefire
简介这两天由于需要一个ASP.Net的服务器信息探针。到网上找了找,似乎没有发现什么开源的ASP.Net的系统信息探针(探测器)。由于技术含量不是很高,于是干脆自己动手丰衣足食了。到网上找了一下各个ASP.Net系统信息探针,把功能总结了一下,基本上都实现出来了。既然实现了就别藏着掖着了,也没什么技术含量,拿出来开源好了。有谁有更好的想法可以告诉我,如果不费劲,我就加进去。我把这个放到Google code hosting上面了,需要的可以从上面下载:http://aspnetsysinfo.googlecode.com/我这个ASP.Net的系统信息探针与其它探针最大的不同处,是我这个探针除
2007-11-25T04:26:00Z
2007-11-25T04:26:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】简介这两天由于需要一个ASP.Net的服务器信息探针。到网上找了找,似乎没有发现什么开源的ASP.Net的系统信息探针(探测器)。由于技术含量不是很高,于是干脆自己动手丰衣足食了。到网上找了一下各个ASP.Net系统信息探针,把功能总结了一下,基本上都实现出来了。既然实现了就别藏着掖着了,也没什么技术含量,拿出来开源好了。有谁有更好的想法可以告诉我,如果不费劲,我就加进去。我把这个放到Google code hosting上面了,需要的可以从上面下载:http://aspnetsysinfo.googlecode.com/我这个ASP.Net的系统信息探针与其它探针最大的不同处,是我这个探针除 <a href="https://www.cnblogs.com/dancefire/archive/2007/11/25/1985876.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2007/11/07/1985877.html
C#匿名方法的应用二则–实现异常Retry机制和WinForm线程安全访问 - Dancefire
用C# 2.0的朋友可能会经常使用匿名方法(Anonymous Methods)和匿名委托(Anonymous Delegate)。在这里我说2个比较常用的应用环境。1、Retry机制C#和C++, Java一样拥有异常处理机制,我相信很多朋友和我一样,第一次接触异常的时候,都非常希望异常能够像内核捕获内存page fault异常一样类似的拥有Retry(重试)的机制,很可惜这些语言中都没有给我们提供Retry机制。当然原因有很多,比如如果重试,那么到底是重试哪部分代码呢?是try{}catch{}中的代码?还是发生异常那一行的代码?重试多少次?重试之间是不是要再等一会儿?如果再失败怎么处理?
2007-11-07T15:16:00Z
2007-11-07T15:16:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】用C# 2.0的朋友可能会经常使用匿名方法(Anonymous Methods)和匿名委托(Anonymous Delegate)。在这里我说2个比较常用的应用环境。1、Retry机制C#和C++, Java一样拥有异常处理机制,我相信很多朋友和我一样,第一次接触异常的时候,都非常希望异常能够像内核捕获内存page fault异常一样类似的拥有Retry(重试)的机制,很可惜这些语言中都没有给我们提供Retry机制。当然原因有很多,比如如果重试,那么到底是重试哪部分代码呢?是try{}catch{}中的代码?还是发生异常那一行的代码?重试多少次?重试之间是不是要再等一会儿?如果再失败怎么处理? <a href="https://www.cnblogs.com/dancefire/archive/2007/11/07/1985877.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2007/05/13/1985879.html
中科院中文分词系统ICTCLAS之CSegment的GenerateWord()详细分析 - Dancefire
一、简介这次分析的是ICTCLAS中的//GenerateWordaccordingthesegmentationrouteboolCSegment::GenerateWord(int**nSegRoute,intnIndex)本来这个函数没有必要详细分析,但是我注意到中科院论文中并没有描述这个函数、而Sinboy和吕震宇也基本上跳过这个函数不讲了,所以这个函数还没有有人详细的分析过呢。在这里,我具体的分析一下这个函数,另外,也提出一些问题供打算重写ICTCLAS的朋友来考虑。二、功能介绍这个函数虽然叫做GenerateWord,但是事实上并不仅仅是生成词,准确说,它大部分的工作不是为了将已经
2007-05-12T21:47:00Z
2007-05-12T21:47:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】一、简介这次分析的是ICTCLAS中的//GenerateWordaccordingthesegmentationrouteboolCSegment::GenerateWord(int**nSegRoute,intnIndex)本来这个函数没有必要详细分析,但是我注意到中科院论文中并没有描述这个函数、而Sinboy和吕震宇也基本上跳过这个函数不讲了,所以这个函数还没有有人详细的分析过呢。在这里,我具体的分析一下这个函数,另外,也提出一些问题供打算重写ICTCLAS的朋友来考虑。二、功能介绍这个函数虽然叫做GenerateWord,但是事实上并不仅仅是生成词,准确说,它大部分的工作不是为了将已经 <a href="https://www.cnblogs.com/dancefire/archive/2007/05/13/1985879.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2007/04/17/1985880.html
中科院中文分词系统ICTCLAS之NShortPath代码的详细分析 - Dancefire
这两天我开始看ICTCLAS的实现代码了,和吕震宇的感觉完全一样,代码真的是糟糕透顶,呵呵,非常同情吕震宇和Sinboy能够那么认真地把那些代码读完。有了你们辛苦、认真的分析工作,让我更容易的读懂ICTCLAS的代码了,谢谢了。阅读过程中注意到了他们分析中有些地方有点小错误。 ICTCLAS的命名好像没有正统的学过数据结构一样,对于数据结构的命名非常富有想象力,完全没有按照数据结构上大家公认的术语命名,所以给代码的读者带来很大的迷惑性。所以我们在看名字的时候一定要抛开名字看实现,看本质,看他们到底是个啥。呵呵。 首先就是CQueue的问题,CQueue虽然叫Queue,但是它不是FIFO的Qu
2007-04-17T07:15:00Z
2007-04-17T07:15:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】这两天我开始看ICTCLAS的实现代码了,和吕震宇的感觉完全一样,代码真的是糟糕透顶,呵呵,非常同情吕震宇和Sinboy能够那么认真地把那些代码读完。有了你们辛苦、认真的分析工作,让我更容易的读懂ICTCLAS的代码了,谢谢了。阅读过程中注意到了他们分析中有些地方有点小错误。 ICTCLAS的命名好像没有正统的学过数据结构一样,对于数据结构的命名非常富有想象力,完全没有按照数据结构上大家公认的术语命名,所以给代码的读者带来很大的迷惑性。所以我们在看名字的时候一定要抛开名字看实现,看本质,看他们到底是个啥。呵呵。 首先就是CQueue的问题,CQueue虽然叫Queue,但是它不是FIFO的Qu <a href="https://www.cnblogs.com/dancefire/archive/2007/04/17/1985880.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2007/04/11/1985881.html
警告:为了安全请不要随意将ASP.Net的validateRequest="false" - Dancefire
ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用<xxxx>之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个 HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面: Server Error in '/YourApplicationPath' ApplicationA potentially dangerous Request.Form value was detected from the client(txtName="<b>&quo
2007-04-11T02:52:00Z
2007-04-11T02:52:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用<xxxx>之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个 HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面: Server Error in '/YourApplicationPath' ApplicationA potentially dangerous Request.Form value was detected from the client(txtName="<b>&quo <a href="https://www.cnblogs.com/dancefire/archive/2007/04/11/1985881.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2006/09/07/1985883.html
坏了坏了,以后用/proc读取Linux系统信息可能要给联想交专利费了 - Dancefire
这大千世界,还真是无奇不有。日前,和LUPA的galen聊天的过程中得知联想在2002年的时候申请过一个关于Linux的专利。我大致的看了一眼,不看不知道,看了还真吓我一跳。这个专利号为02129337.2的专利,是一种关于取得Linux系统信息的方法,仔细一看,感觉有些搞笑,不过这可确确实实是登录在我们国家的专利局中的专利。我截取其中的片段,大家一起来瞻仰瞻仰。“技术领域:本发明涉及一种获取Linux操作系统信息的方法,尤其涉及一种获取Linux操作系统基本硬件信息和运行期间系统信息的方法,属于计算机信息采集及处理技术领域。”恩,取得系统信息的方法……,什么方法呢?看下面的:“本发明所涉及的
2006-09-06T19:32:00Z
2006-09-06T19:32:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】这大千世界,还真是无奇不有。日前,和LUPA的galen聊天的过程中得知联想在2002年的时候申请过一个关于Linux的专利。我大致的看了一眼,不看不知道,看了还真吓我一跳。这个专利号为02129337.2的专利,是一种关于取得Linux系统信息的方法,仔细一看,感觉有些搞笑,不过这可确确实实是登录在我们国家的专利局中的专利。我截取其中的片段,大家一起来瞻仰瞻仰。“技术领域:本发明涉及一种获取Linux操作系统信息的方法,尤其涉及一种获取Linux操作系统基本硬件信息和运行期间系统信息的方法,属于计算机信息采集及处理技术领域。”恩,取得系统信息的方法……,什么方法呢?看下面的:“本发明所涉及的 <a href="https://www.cnblogs.com/dancefire/archive/2006/09/07/1985883.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2006/09/06/1985884.html
关于下一代IM服务器的一点想法 - Dancefire
1、引言 当前IM的站场上依旧硝烟弥漫,QQ, MSN, Google Talk, ICQ, Yahoo!还都在争夺着市场的份额。今天我所要说的,是跳出商业利益趋势之短利,而从长远的角度考虑IM的发展趋势。 目前各大IM各自为政,在互相学习中提供着越来越丰富的功能。在他们疯狂的瓜分着internet用户市场的时候,我们普通的用户成了他们商业竞争的受害 人。恕不见,因为自己的朋友有着不同的IM,为了与他们通讯,我们只好自己申请成为那个IM的用户。结果,每个人一开机,就有着少则3-4个IM同时叮叮 咚咚的启动,多则6-7个。 虽然也有着多合一的IM客户端,但是一来有些功能由于这种整合客户端所限,我
2006-09-05T19:29:00Z
2006-09-05T19:29:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】1、引言 当前IM的站场上依旧硝烟弥漫,QQ, MSN, Google Talk, ICQ, Yahoo!还都在争夺着市场的份额。今天我所要说的,是跳出商业利益趋势之短利,而从长远的角度考虑IM的发展趋势。 目前各大IM各自为政,在互相学习中提供着越来越丰富的功能。在他们疯狂的瓜分着internet用户市场的时候,我们普通的用户成了他们商业竞争的受害 人。恕不见,因为自己的朋友有着不同的IM,为了与他们通讯,我们只好自己申请成为那个IM的用户。结果,每个人一开机,就有着少则3-4个IM同时叮叮 咚咚的启动,多则6-7个。 虽然也有着多合一的IM客户端,但是一来有些功能由于这种整合客户端所限,我 <a href="https://www.cnblogs.com/dancefire/archive/2006/09/06/1985884.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/dancefire/archive/2006/09/03/1985885.html
关于搜索引擎页面分析中的 javascript 处理的2个思路 - Dancefire
在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多javascript,这些javascript 比较烦人,因为有相当部分页面内容写入到了这些js脚本的命令中,而导致正常的DOM分析看不到这些文字,而使其中的文字数据提取失败。当然,如果这个页面模板确定,针对这个特定的页面制作信息提取模板也不很难,每个页面人工的分析出需要提取的信息的位置,然后制作模板。可是对于general的网页搜索的话,这就不大现实了。正巧前两天和朋友讨论到这个问题,有些想法。在这里,提供两个思路,供大家参考。1、做一个简化的 javascript 解释器,执行脚本片段做一个完整的 javascri
2006-09-02T18:57:00Z
2006-09-02T18:57:00Z
Dancefire
https://www.cnblogs.com/dancefire/
【摘要】在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多javascript,这些javascript 比较烦人,因为有相当部分页面内容写入到了这些js脚本的命令中,而导致正常的DOM分析看不到这些文字,而使其中的文字数据提取失败。当然,如果这个页面模板确定,针对这个特定的页面制作信息提取模板也不很难,每个页面人工的分析出需要提取的信息的位置,然后制作模板。可是对于general的网页搜索的话,这就不大现实了。正巧前两天和朋友讨论到这个问题,有些想法。在这里,提供两个思路,供大家参考。1、做一个简化的 javascript 解释器,执行脚本片段做一个完整的 javascri <a href="https://www.cnblogs.com/dancefire/archive/2006/09/03/1985885.html" target="_blank">阅读全文</a>