如何让学来的技术不至于忘记的太快

写这个的初衷也就是因为,有些技术我总是在一次次重复的去经历从入门到半精通的过程,颇感苦恼--白费了许多时间与精力。

工作或项目中学来的需反复使用的技术,掌握的会比较牢固,即使隔上一两年脱手再使用,也能迅速回过神来。因为它们常常是有明确目的性去研究掌握的,并且工作中也不时的会用到,许多还是让你非常有成就感的东西。

然而对于某个项目偶尔用过又抛弃,或者是自己一时兴起学来的一些技术,即便当时真正是理解了它,如果隔好一阵子对它不闻不问了,再次捡起,也会像未曾谋面一般,不得不又从头开始一点一滴的去熟悉,实是浪费时间。 阅读全文 >>

Linux/Unix下读取lib目录下所有包生成classpath的Shell

做了一个 Java 程序放在 Solaris 下运行,用到许多的第三方包,有 *.zip 的和 *.ja r的,放在 lib 目录下,然后写了一个 shell 脚本来运行那个 java 程序,那就要在 classpath 中包含所有在 lib 中的第三方包。

原来的做法是在 classpath中把lib目录中一个个的包文件名用冒号连缀起来,比如
classpath=.:lib/a.jar:lib/b.jar:lib/c.jar:lib/d.zip
java -classpath $classpath com.unmi.Main 阅读全文 >>

调用Windows外壳程序格式化磁盘

看资料介绍说 Windows 2000 以上的 SDK 提供了格式化逻辑驱动器的函数 SHFormatDrive, 这是一个外壳函数(Windows界面操作环境称之为外壳),从 shell32.dll 库导出,调用后会弹出一个格式化对话框,只有用户单击"开始"按钮后格式化才开始,使用时应包含头文件 shlobj.h 

我都照做了,下载安装了 Windows XP SP2 的 SDK, 并配置在了 VC 的 include和lib目录中了,也把新SDK的目录调到了最上面,程序中也包含了 shlobj.h, 而且看到新的 SDK 的 shlobj.h 中确实有 SHFormatDrive 函数原型,可是当我使用 SHFormatDrive 函数编译时总提示我找不到这个符号。不知道发生什么问题了,留待以后有需求时再解决吧,反正就是预编译宏展开时,不是去 include 新的 SDK 的 shlobj.h 文件,include 的是 VC98 中的 shlobj.h 文件。 阅读全文 >>

VC常用代码[转]

VC代码收集
一、改变视图背景色:
在CView的OnDraw函数中添写如下一段程序代码:
void CFileNameView::OnDraw(CDC* pDC)
{
    CFileNameDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    CRect rectClient;
    CBrush brushBkColor;
    GetClientRect(rectClient);
    brushBkColor.createSolidBrush(RGB(255,0,0)); //颜色设置 阅读全文 >>

神奇的CSS样式属性 text-overflow:ellipsis

回顾上一日志较为完美的一种标题缩略显示方法 此时我越发觉得离完美还有些距离,重新试验了一下该日志中提到的 text-overflow:ellipsis 样式写法,我以自己的名义再次作个判定:用 text-overflow:ellipsis 才是一个更完美的标题缩略显示的方法,下面看例子

阅读全文 >>

较为完美的一种标题缩略显示方法

通常在网页里都有一种这样的需求,为了界面整洁,在显示标题时需要把长标题以部分加省略号连缀显示,就比如中国博客网显示日志标题--下面那样

·在VC6中使用正则表达式解析...(2007-06-24)
·VC中使用CInternet...(2007-06-23)
·开源嵌入式数据库 SQLit...(2007-06-23) 

问题一是前面那部分字符串怎么来确定,上面很明显示的看得出来,因为标题中混杂着中英文,仍然没有达到初衷。 阅读全文 >>

嵌入式数据库典型技术―SQLite和Berkeley DB的研究

摘 要: 与常见的数据库相比,嵌入式数据库具有体积小、功能齐备、可移植性、健壮性等特点,本文分析和比较了典型的嵌入式数据库SQLite和Berkeley DB。首先从体系结构、子系统间调用关系、任务执行过程等角度对SQLite和Berkeley DB进行了详细分析,然后重点从数据类型、存储方式、模式、数据库引擎和错误处理及加密功能等方面讨论了SQLite和Berkeley DB的异同点,最后列举了一个基于ARM—Linux的SQLite应用实例。

关键词: SQLite、Berkeley DB、SQL、虚拟数据库引擎(VDBE) 阅读全文 >>

也写了一个手机号码归属地查询软件,晒一下

网上有许多版本的手机号码归属地查询软件,很多还收费的,好奇怪,有些还具有流氓习气。看不过,所以自己亲自动手写了一个来玩玩,最初选用过数据存储引擎是 HSql 和 Derby,因为他们有些弊端很明显,数据文件大、多文件支持、例如初始化时特慢、查询效率也不高、占有内存多、数据安全性不高,最后按定了 SQLite。

语言也是先用 Java 的 SWING 来实现的,后来觉得 Java 写的程序慢是一个方面,还要虚拟机才能玩得转,有碍于发布,所以选用了 VC 来写,它写出来的东西可方便,把用到的动态库和数据文件考到别的机器上就能运行,最后应用了一个皮肤美化一下。

本软件定名为:手机号码归属地查询(俗),英文名:Mobile Locator(名不符实),可查130-139及159段手机号码,数据我将会持续更新。绿色安装,不含任何恶意代码,解压执行 MobileLocator.exe 即可,运行时查询效率很高,占用内存不大,启动后 5M 疯狂点查询按钮最大占用内存也只是 7M,没有内存溢出。 阅读全文 >>

在VC6中使用正则表达式解析字符串

接前面一篇日志,当用 CInternetSession 抓到网页内容之后,就要从中按某种模式截取自己想要的东西,比如其中的电话区号,对于这种事情最擅长的莫过于正则表达式了,以及它的分组/后向引用功能。

VC.net 倒是提供了一个很好的正则表达式类库 CATLRegExp (据说是全世界效率最高的正则表达式库),可是却不能在VC6上使用,VC6可以使用VBS(Microsoft VBScript Regular Expression 5.5)这个 COM 来处理正则表达式,或者引入 vbscript.dll 的方式,最好的办法还是借助于第三方库来处理正则表达式,如 boost,更何况若是使用 COM 就不太值(COM给人的感觉总有些笨拙)。 阅读全文 >>