做了两天的jremind,我想把它继续做下去,做一个能拿的出手的软件,学习了版本的定义,也更改了软件的图标,要图标和软件的作用基本一致的啊!

  版本我使用GNU 风格的版本号命名格式,因为这种命名格式可以从0开始,而Windows 风格的版本号命名格式和.Net Framework 风格的版本号命名格式都是从1开始的,我们要低调些,对吧!比如著名的foobar2000到现在还是在0.9的版本,还没1呢!所以我重新整理了一下版本,现在的最新版本是0.1.1.0的版本,0.1就是刚出生的版本,0.1.1.0今天刚添加了一个功能,并没有修改bug等功能。如果在0.1.1版本上局部修改或 bug 修正,那么版本就是0.1.1.1了!最后还可以添加一个编译版本号,就是被编译器编译过的次数了,可以没有这个了!还能用alpha beta等之类的,我的还没有成形,那就先不加了啊!

  软件的图标我使用的是使用鹦鹉,添加了hello的文字,提醒一下了!hello,现在想想还可以学学酷狗啊!呵呵!可以发展,不过想的太远了啊!先发图看看吧!

http://2.bp.blogspot.com/_uwC7KS2yb2k/SgRZKYregTI/AAAAAAAABms/rvixCv2ZiiU/s320/%E6%9C%AA%E5%91%BD%E5%90%8D-2.png  做这个软件的初衷是用来提醒自己的,jremind的口号就是“时刻提醒着你自己!”!

  自己的无知啊!不知道怎么去定义软件的版本号,就乱给jremind定了一个。

好好学习一下版本的定义规则。

  为了维护软件项目, 我们提出了对版本进行管理控制的要求. 而对于用户来说, 版本直接体现在版本号的命名上. 那么, 如何对版本号进行命名呢? 我查了许多的资料, 希望能解释得比较具体, 同时也希望您在阅读本文的时候, 能够对版本号的命名格式提出自己的见解, 这当然包括一些版本号命名的个例. 下面, 让我们看一下比较普遍的 3 种命名格式.

  GNU 风格的版本号命名格式: 主版本号.子版本号[.修正版本号[.编译版本号]]

  英文对照: Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]

  示例: 1.2.1, 2.0, 5.0.0 build-13124

  Windows 风格的版本号命名格式: 主版本号.子版本号[修正版本号[.编译版本号]]

  英文对照: Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]

  示例: 1.21, 2.0

  .Net Framework 风格的版本号命名格式: 主版本号.子版本号[.编译版本号[.修正版本号]]

  英文对照: Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]

  官方说明参考:

  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemVersionClassTopic.asp

  由于, 有官方解释, 所以本文不做说明.

  GNU 风格的版本号管理策略

  当项目初版本时, 版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0, 如果你为人很低调, 我想你会选择那个主版本号为 0 的方式;

  当项目在进行了局部修改或 bug 修正时, 主版本号和子版本号都不变, 修正版本号加 1;

  当项目在原有的基础上增加了部分功能时, 主版本号不变, 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉;

  当项目在进行了重大修改或局部修正累积较多, 而导致项目整体发生全局变化时, 主版本号加 1;

  另外, 编译版本号一般是编译器在编译过程中自动生成的, 我们只定义其格式, 并不进行人为的控制.

  Window 下的版本号管理策略

  当项目初版时, 版本号为 1.0 或 1.00;

  当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变, 修正版本号加 1;

  当项目在原有的基础上增加了部分功能时, 主版本号不变, 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉;

  当项目在进行了重大修改或局部修正累积较多, 而导致项目整体发生全局变化时, 主版本号加 1;

  另外, 编译版本号一般是编译器在编译过程中自动生成的, 我们只定义其格式, 并不进行人为的控制.

  另外, 还可以在版本号后面加入 Alpha, Beta, Gamma, Current, RC (Release Candidate), Release, Stable 等后缀, 在这些后缀后面还可以加入 1 位数字的版本号.

  对于用户来说, 如果某个软件的主版本号进行了升级, 用户还想继续那个软件, 则发行软件的公司一般要对用户收取升级费用; 而如果子版本号或修正版本号发生了升级, 一般来说是免费的.

jremind内存占用一直很大,有时用冲到40几M,抽空做了个优化,现在可以控制在2M以内了!

http://1.bp.blogspot.com/_uwC7KS2yb2k/SgPYuZtuQoI/AAAAAAAABmk/ggghOSC4F84/s320/jremind%E5%86%85%E5%AD%98.jpg

  一直想做一个每隔一段时间给自己一个提醒的工具,在选取语言的时候,一直考虑着跨平台,想使用java或者python或者其他语言来做,但java需要虚拟机,很麻烦的,而python想很好的做出来,对我来说很有困难!而且我一直是在windows平台下工作的,最后选取了C#,不仅因为他容易上手,运行速度高,而且我相信,在以后的将来c#,也一定能实现款平台的!

  使用C#来做jremind的时候,我还不会C#,但我把他当作VB来使用了,边学边做,还一边和朋友海聊,一共用了5个小时左右吧!现在实现的功能是,每隔30秒提醒一次,停留5秒,这些都是固定死的,以后在改吧!唯一可以修改的就是文字了!

  暂时先这样了,以后看自己有兴趣了没,再添加其他功能。反正这个东西仅仅是为了给自己做个提醒而已。

  开发用的是vs2008,运行这个还需要.net3以上的平台,如果为了用这个,还需要装个.net3,好像有点得不偿失了啊!呵呵!







  今天又修改了一下,更新一下版本。



公司项目要解析xml文件,很简单的,也就需要一点点信息,用的是java本身的解析方式,很麻烦。我做了一个DEMO,使用了dom4j中的xpath,简单,想去哪里的信息就去哪里的信息,简单灵活。




package com.inspur.eoms.pbb.open;




import java.io.UnsupportedEncodingException;

import java.util.List;



import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.Node;



public class TestMain {



public static void main(String[] args) throws UnsupportedEncodingException,

DocumentException {

StringBuffer sb1 = new StringBuffer();

sb1.append("

");

sb1.append("0

");

sb1.append("失败原因

");

sb1.append("

");

sb1.append("

");

sb1.append("接入设备ID

");

sb1.append("接入设备类型

");

sb1.append("预占端口ID

");

sb1.append("预占端口名称

");

sb1.append("

");

sb1.append("

");

sb1.append("

");



Document doc = DocumentHelper.parseText(sb1.toString());



List list = doc.selectNodes("/RESPONSE/RESULTS/RESULT/NAME");

Element elm = (Element) list.get(0);

System.out.println(elm.getText());



list = doc.selectNodes("/RESPONSE/DESCRIPTION");

elm = (Element) list.get(0);

System.out.println(elm.getText());



list = doc.selectNodes("/RESPONSE/RESULTS/RESULT");

Node node = (Node) list.get(0);

System.out.print(node.valueOf("@TYPE"));



}

}



dom4j需要的jar包的地址

http://www.box.net/shared/axb0oesgsu

  来南京也好几天了,虽然一直在公司有网络,但一直都没有时间来写写!刚到公司,好多的东西需要学习,时间真紧的啊!说这个SSH2、WPS(IBM的WPS,一种工作流)、SOA,等等,好多的东西啊!

  而且刚来就烦了几个错误,要改改啊!自己好好努力,现在的这个项目很大,学的东西也很多。多多学,不为别人,为自己努力!

看到的释迦牟尼讲的话,经典:

  不要相信只凭听说的任何事物。不要相信世世代代流传下来的传统。不要因为众人都这么说而相信它。不要因为经典上的记载而相信它。不要相信权威、导师或长辈的教导。当你经过观察和分析后,认为事物与原则一致,并有助于个人和大家的善行与利益,才接受实行。

http://4.bp.blogspot.com/_uwC7KS2yb2k/Sfbc6TvCLII/AAAAAAAABmc/qkZget3CR6o/s320/pigH1N1.jpg

这个事在google地图上看到的H1N1的流行范围图,真够恐怖。