- 博客(3)
- 资源 (6)
- 收藏
- 关注
原创 大文本文件阅读器设计
我们项目中需要实现一个日志查看控件,这本是一个很简单的需求:写一个通用的控件,将字符串绑定到RichTextBox, 如果要查看日志,将日志赋值给字符串即可。这个控件很简单,在绝大多数情况下工作的都很好。但是最近经常有客户报告说日志打不开,或者打开后就无法响应了。检查后发现这些无法打开的日志都很巨大,文件长度大多都超过几千万行。显然不带任何优化的文本阅读器都撑不住这个级别的文本。通过观察及与客户的
2013-09-19 12:20:04 2700
原创 聊聊Windows程序中的"\r"和"\n"
从学编程的第一天起,我们就接触到了"\r"和"\n"。 "\n" 表示换行(LF, Line Feed),ASCII是0xA。 "\r"表示回车(CR, Carriage Return), ASCII是0xD。 换行是很容易理解的,无需过多的解释。回车是打字机时代的产物,表示回到当前行的最开始。概念本身很简单,如果各个操作系统,框架都严格遵守这个规则,事情就简单多了。 Unix系列, Ap
2013-09-08 14:46:27 4884 1
原创 再谈关注分离, 基于版本控制的设计
前段时间写了一篇关于关注分离的博客。很巧的是这段时间我们需要在项目里增加一个新特性,又提到了关注分离。背景是这样的:我们有一个ConfigManager类,这个类的职责是读取和写入配置文件。当业务逻辑有配置文件读写要求时,直接调用ConfigManager即可,使得配置文件对业务逻辑完全透明。当时在设计ConfigManager类的时候考虑到了配置文件的格式有可能在将来会改变,实现可能会有bug,
2013-09-01 15:36:43 1340
codeigniter
2010-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人