2006年10月24日星期二

JFrame窗口风格跟win一样

在JFrame下,要想JFrame的风格跟用户当前的win主题一样,可以通过以下代码实现,在构造函数里插入

try {
UIManager.setLookAndFeel ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
javax.swing.SwingUtilities.updateComponentTreeUI(this);
} catch(Exception e) {
e.printStackTrace();
}

2006年10月23日星期一

mysql不能远程登陆

因为团队用各自的mysql服务器,更新数据库会很麻烦.想用一个统一的数据库.因为原来那个cvs服务器使用linux的,装了mysql后无法远程登陆??,怪事了.无法,有开了虚拟机,windows的,就装个mysql,发现跟linux的情况一样.无法远程登陆.

郁闷ing.后来陈说,他以前也遇到过这个问题,windwos用administrator这个用户是这样的,用其他用户,权限跟administrator一样就OK啦.一试,果然OK啦,顿时高呼陈大哥.

不过这个问题,为什么这样呢?真是想不通,想mysql用户群这么大的一个产品,难道存在一个这样的bug吗?真是怪事了,win平台倒是用这么bt的方法搞定了,linux平台下呢?真是怪事.

2006年10月18日星期三

转眼第七天了

已经第七天了,过几天,对头人就要过来验货.是有点尽啊,我们team都在马不停蹄的赶工.gogogo.


到目前为止,我做的酒店模块已经差不多了.后台管理也做了.不过遇到了很多麻烦的小事.同一个程序,在我这里可以运行,在其他组员里不可运行.可能是tomcat的问题吧.居然0.0.3的版本.费了九牛二虎之力,装了5.5.20的tomcat,居然还是不行.后来想了想,应该是这个mysql的jdbc的问题.因为队员用的是5.0的beta版本.而我用的是3.1.2的稳定版本.就是这里出问题了.

2006年10月14日星期六

租车系统第四天

昨天那个<c:forEach>的问题,已经解决.因为<c:forEach>一定要var和items这两个东西的,可是要就要呗,干嘛错误提示乱七八糟的,直接说缺少参数不就得了吗?郁闷.

今天基本上已经把酒店的模块搞定了.一路顺风,没什么大的障碍.不过cvs有点问题.根源应该是我们之前没有把工作分配好,搞到现在几个人同时编辑同一个文件,有时候忘记了上传,就会产生很多无谓的冲突.这也是一个经验啊.切记.

今天,把netbeans5.5下来试了一下,我说,埃?这个还是netbeans吗?我用惯了eclipse,居然被nb吸引了,nb有很多新的特性真的令我作为一个java程序员(自称一下)感到激动人心.看来此nb非昔nb.恩,有时间在试试这个nb新版.把nb的好处写出来.

租车系统开发第三天

开发到现在是第三天,开始着手做酒店的动态部分,用jstl做,基本上很顺畅。但是用的时候,发现了一个很奇怪的问题。无端端就会出现问题。后来测试的时候,在一个新页面里,添加一个标签,它会报错?!!原来要实现的功能,已经想好了另外的处理方法。不过这是一个比较严重的问题。留待以后深究。
恩,明天应该要把酒店的模块全部搞完。应该可以十天之内交货,陈林斌说不行,我觉得可以。
恩,明天加油啦。
小猪,明天加油。

2006年10月12日星期四

租车系统的进一步进展

静态的页面完成的差不多了,我负责的酒店部分的动态也搞了一下,感觉上得心应手.技术基本上是用jsp+jstl.能用jstl的尽量用jstl.数据库用tomcat的连接池,不过正在计划用其他的连接池.担心效能.不过apache出来的东西,应该不错的才说.感觉用jstl写页面,比jsp要好得多,不过它的功能有限是真的.

胡老师今天过来,叫我们十天之后准备别人来验货.应该可以搞定的.加油啊.

a Za a Za finghting..............

smile_shadessmile_shadessmile_shadessmile_shadessmile_shades

2006年10月11日星期三

租车系统启动

经过跟对头人的需求的商量,系统终于要启动了.

新项目用上了cvs,我做的cvs,感觉--->爽,什么都cvs一下.哈哈thumbs_up

不过还是没什么经验,我和陈林斌在慢慢搞,感觉没个头的时候,现在初步已经把页面的美工搞定了,基本上就是用人家的东西,东一块,西一块的拼起来.感觉有点怪.恩这个先不管了.

下一步就是做动态的拉,加油!!!smile_regular

2006年10月8日星期日

转:Watsonxu Utility免费网络服务汇总

在这里我列出我个人觉得比较实用和有效的网络服务,以便更好的和大家分享。

(updated:2006.9.19,不断更新中)

1.社会性网络书签:
del.icio.us 很多人也喜欢称之为美味书签,应该是目前使用人数多的服务,以tag为书签分类个人认为它是目前网络上最好的社会性网络书签工具。
Spurl :Spurl.net的特点:书签+资源价值的评判+自动的分析和呈现。用户把有用的资源作为自己的书签,同时给出等级用户社会性的评判,这些数据会被分析,当用户登陆到spurl.net的时候,你所兴趣的来自整个社群过滤的书签资源就自动呈现。
Furl :个人比较喜欢的一个,Furl 采用的“topics(分类)+ keywords(关键字)”标识系统不错。不过有段时间似乎被GFW了。
Diigo:Diigo是“Digest of Internet Information, Groups and Other stuff”的缩写,当你在网上浏览的时候,你可以对你认为重要的信息和文章段落进行高亮标注甚至对其增加一个你的批注。个人觉得做的很不错。
其他更多社会性网络书签

2.Email
Gmail:我使用的主要的Email
网易163邮箱:应该是国内做的最好的邮箱。

3.图片空间,相册
Flickr.com每月20M的存储空间,支持外引,并且网站网页更多地引进了新兴的 Ajax 技术,使界面操作变得非常 Cool。应该是目前使用人数最多的。
Pasica网络相册250M的空间似乎有点不像google的风格。不过界面及功能还是挺不错的,下载最新版本的Picasa with web sharing客户端软件,即可在Picasa中直接进行图片上传
Zoto :功能强大的相册及图片分享服务,内建多种分享、归档方式,可以制作精美的个人相册,支持外部引用。
其他更多网络图片存储

4.Feed处理,Feed阅读
Feedburner: 是目前提供最好的服务的Feed处理,Feed阅读网站。详细使用可以参考这篇:玩转feedburner
Feedsky:国内的提供feed处理阅读的网站。现在提供的域名绑定好像颇受欢迎。
抓虾: 国内做的比较有特色的一个。清新的设计风格、操作简便的Ajax模式,较快的速度.

5.网络存储,分享
box: (推荐)目前我使用的主要的在线存储网站,基于AJAX的网络存储服务,1G的容量,单个文件10M,通过邀请5名好友可以免费升级到PREMIUM,没有单个文件大小限制,5GB空间,并且有分享功能,月流量20GB. 前一阵又推出Box/lite,使分享更加容易。目前box已不再对大陆用户提供免费服务(要注册可以用代理注册,或者可以看看这篇文章:通过Goowy申请Box.net帐户
Gigasize:提供三种类型的上传方式,第一种是不需要帐号就可以直接上传和共享文件,限制每个上传文件为1GB,存储时间为45天。第二种为免费帐号,每个文件最大为1.5G,存储时间为90天。第三种为专业帐号,需每月支付4.95美元,没有下载和存储时间限制,每个文件最大为2.5G,可快速下载。

其他更多网络存储网站

6.在线文字处理:
Google Writely: 通过先进的脚本和AJAX技术,Writely能够在浏览器中进行文档编写和 协同办公。这项服务的功能还包括,支持多人实时对同一文档进行编辑,每隔10秒钟就对文 档进行保存,还带有模拟桌面客户端文字处理器的易用界面。目前已开放注册。

Rallypointhq: 提供给用户25M的空间,在线编辑任何可视页面使用基于网络的文本, 社会性标签,用户创建的一些收藏和其他社会性功能.
online.Thinkfree.com:文本文件编辑器全部采用Ajax技术,存储空间从30MB扩大到1GB。

Zohowriter:在线文本编辑器,支持所见所得编辑,支持API输出。HTML语言转换速度比较快。(关于zoho系列产品的介绍)

7.在线excel

Google Spreadsheet :excel的文档在线编辑、简单的计算排版等功能,支持通过邮件邀请模式的共享.

Wufoo:在线创建表单。Wufoo的UI设计不错,界面非常细致,AJAX运用很不错。(本站右侧的投递文章申请链接就是用Wufoo做的)

Editgrid :在线制作电子表格,兼容多种表格文档上传、下载、编辑,可以分享、协同编辑。

8.在线powerpoint

Z0Ho Show:无限制存储空间,并且支持导入.ppt,.sxi,并拥有一个 所见即所得构建工具,支持右键弹出菜单、支持中文、支持web发布,并集成Flickr图片插入功能等储多功能。作为在线的Office工,其协同性,在这方面也很不错。Demo

Thumbstacks : 又一个不错的在线powerpoint,一度传闻Google要收购它. Demo

9.在线图像处理:
PXN8在线图片编辑器,可以对图片进行在线修改,并且支持直接将图片上传到Flickr。
Snipshot在线图片编辑支持上传图片或在线图片,最大10MB(1000X1000尺寸)大小支持gif、png、jpg、pdf或tif格式基于Ajax技术的图片操作界面.速度比较快。
Picture2life同样运用了Ajax技术,并且提供一定的图片存储空间,提供基本的改变图片效果功能,不过速度相对有点慢
其它更多在线图像处理

10.在线聊天:
Meebo.com : 基于AJAX技术的在线即时通讯工具网站,支持AIM、ICQ、Yahoo!、Jabber、Gtalk、MSN等。

Mabber : 本身是一个基于Jabber的IM服务 ,通过Transport Server的方式可以与其他协议的IM通信。

11.网站工具:
Talk Digger:使用多Blog搜索引擎以及Google、MSN搜索引擎进行反向链接搜索的站点。用来搜索某个Blog上的反向链接的上佳工具。
Google analytics :网站检测最好的工具。
51la:国内的站点统计工具
Grazr :一个Feed聚合联播服务,可以输出JS脚本到个人的Blog上。示例

在线logo制作 :可制作类似google,yahoo等网站的logo.

Mybloglog:提供免费的统计网站外部链接点击数的服务。

CSS Tweak: 在线CSS优化工具。

12.Start Pages:
pageflakes.com: 个人觉得做的最好的start page
Google.com/ig: Google的start page,大家应该比较熟悉把
Netvibes: 第三方个人信息门户,基于AJAX技术,作为轻量级个人信息集中平台非常不错。

Protopage :运用AJAX技术使得建设一个个人门户变得异常简便和有趣。Protopage的操作简单得很,页面上的Sticky note和Links Panel可随意增加删除,区别只是后者更方便批量输入链接,而前者在开启Treat as HTML后也可以直接输入HTML代码,换而言之,完全可以把你原来的blog嵌进来。(感谢spenser 提醒)

Webwag:也是一个个性化主页系统,利用Ajax技术构建,不过目前不支持中文,不过界面做的相当漂亮。

13.在线视频分享:

YouTube :标签,评级,收藏,评论。可以建立播放列表,订阅朋友的视频,订阅标签。可以全屏播放视频。可以嵌入到MySpace,Friendster,Blogger,eBay等。

Dailymotion :与youtube相类似,可以把视频直接发布到自已的Blog上。速度比较快。

Google Video :简洁的Google界面。但上传时需要Google Video Uploader。可以给视频添加大量注释,如果没人能看懂视频的话,这还真是个有用的功能。可以给自己的视频定价,进行付费观看。

Eyespot :易用的上传功能和混编功能。色彩明亮。支持标签,论坛,和分组。社区功能不多。可以从头尾剪裁,使用时间线录制短篇,添加照片与音乐。发布到分组上,邀请朋友加入(但并不能直接邀请观看)。

其他更多在线视频分享网站

14.在线新闻聚合

popurls:包括digg,del.icio.us.,reddit,newswine,youtube,slashdot等等.

popruls:(名字和上面比较象)除了上面聚合了digg,del.icio.us.,reddit,newswine,youtube,slashdot等网站,还有一个功能就是你可以在这个页面添加你自己感兴趣的feed.
Originalsignal:聚合了Techcrunch,web2.0 List,37signals等等,可以自己随意改变页面的布局。另外一个特点是他会把最新的新闻用粉色色的字体标出。
其他更多新闻聚合类网站

15.在线视频编辑

eyespot :是用来编辑和混合视频。它可以简单的把每个剪辑或图片放在时间线上。他提供了音频混合功能。它提供以下几种格式上传文件。 视频:avi, mov, divx, wmv, mp4, 3gp, 3g2, dv 图片:jpeg, gif 音频:mp3.

Jumpcut :可以把上传上去的视频文件和图片等内容混合在一起,重新剪辑成一段有意思的视频。Jumpcut提供了很多吸引人的功能,比如可以添加字幕、设置场景过渡,增加视频效果,并可以把剪辑完成的视频像Youtube一样相互共享,也能通过调用一段代码放置到你的网站或Blog上。

16.在线颜色工具

colorschemer:颜色管理软件Color Schemer Studio的在线版本,支持PC和MAC系统。相比软件而言,在线的版本功能简陋许多。

color-blend :颜色混合器,随便选2种颜色调可以调出颜色过度序列。

colorscheme :提供了不同色系,不同明度的对比。

17.在线网页编辑

Googlepage:100M的免费空间很实用,提供各种实用漂亮的插件

noovo.us :是一个非常强大的在线网页制作工具,与Googlepages相比,似乎更胜一筹。在创建网页的过程中无需任何HTML代码,网页中每个区域可以随意操作,感觉和作画一样,非常方便简单。不过好像目前处于alpha阶段,只能使用demo版。DEMO版

18.网络操作系统

YouOS:是基于AJAX技术的一个的WebOS,它界面清爽简单,响应速度快。目前处于Alpha版。用户可以选择注册账号或者使用一个demo测试账号登陆。YouOS里可实现的功能包括:聊天,娱乐,游戏,文本编辑,桌面便签工具等。

eyeOS: 支持多种语言尤其是简体中文,可以下载到本地安装,相当于自己建立一个web服务器,然后运行。另外界面十分漂亮,有点Apple的风格。个人比较推荐。最近看到一个:Ezing 好像也是用eyeOS做的。

其他更多网络操作系统

19.在线音乐分享
Last.fm:通过在本地播放器上安装一个插件,便可以方便的将近期的播放列表分享给你的朋友们,方便了音乐方面的交流,Last.fm通过用户的播放列表,积累用户的使用数据,开展数据挖掘,从而进行音乐推荐。
MusicStrands:可以搜索到不少乐队的音乐, 提供从Amazon和iTunes购买音乐的页面链接. 此网站提供了不少2.0的功能, 包括SNS,用户推荐及标签tagging等. 是一个不错的发现新的音乐的工具.
Upto11:是一个新的公司它立志帮助那些音乐迷去发现新的音乐和一些相关的背景资料。它是一個推广型服务网站,你可以搜索你喜欢的歌手、歌曲和专辑,它会给你提供一個比较完整的该主题细节.
其他更多音乐分享网站

20.在线问答
Yahoo Anwser:相当于Yahoo提供了一个平台,要发问的朋友提出问题,然后Yahoo将这些问题加入数据库里,大家都可以搜索得到;如果你知道问题的答案,你可以在上面作出回答。
Google answer:它的简单口号是:Ask a question. Set your price. Get your answer,分门别类地罗列了最新的提问,承诺24小时答复,可惜的是要收费,但不失为商业化信息资源利用的好方法。另外还要附加 $0.50的张贴费。
Yedda:在我的以前的文章中介绍过,属于一种用户参与类搜索引擎。具有一些显著的区别, 网站更倾向于网友的更多的参与以让用户得到更好的搜索体验。 网站最大的一个特点是将用户感兴趣的topics作为tag对问题进行分类。
其他更多在线问答网站

21.在线地图服务
wayfaring.com :自从google map推出API用户接口之后, 应用google map的网站就层出不穷。越多的网站利用google map, 而其它的网站也方便自己提供了特色地图服务, 典型的双赢局面。wayfaring.com, 很好的利用了google map api service, 提供你很方便就可以将google map应用到你的网站或blog中的服务, 可以轻松地在线创建地图, 加waypoint, note, 然后存下来, 将它提供的html code拷到你的blog上就可以显示了, 还有其它和读者交互的一些方式, 比如让读者在地图上标注等等。
frappr.com:也是利用核心的google map技术,你可以在这里创建自己的社区或群组。成员可以在自己的Group的地图内标注自己的地理位置,简单留言或上传图片。
housingmaps.com:google map与搜索相结合的典范,其网站将Google的地图同公寓出租,以及住宅购买数据相结合,来创建一种交互式的房屋搜索工具。你可以选择房屋的地点和价位。
其他更多地图服务网站

22.在线小游戏
你玩猴子还是猴子玩你Flash 游戏,左边的猴子打击什么节奏,你就操纵右边的猴子模仿,对或错猴子会告诉你。感觉还是挺有意思的。(推荐)
BQY盛行的两个falsh小游戏:game1,game2这是BQY盛行玩的小GAME,动动脑筋,由一个事件引发另一个事件,很有挑战性的。游戏为欧洲动画。
Digg首页上出现过的flash游戏:能出现在digg的首页,可见其受欢迎程度,里面好几个我都爱不释手。(推荐)
prisonbreak game :越狱官方网站推出的越狱flash小游戏,如果你喜欢越狱的话可以玩一下这个小游戏,体验一下越狱的感觉。(推荐)
其他更多在线小游戏

23.其他在线工具

PDFonline:在线PDF文件转换器,支持DOC、PPT、RTF、PPS、XLS、HTML、TXT、PUB、JPG、GIF、TIFF、PNG、WMF、 BMP、EMF等格式。文件最大不能超过2MB,通过Email来接收转换好的PDF文件。

此外,hung在网谈中总结了国内实用在线工具,列出了国内比较实用的在线服务工具,觉得很不错,大家可以去看一下。

今天又在网上发现一个免费的软件和网络服务列表,总结的也很不错,也放在这边和大家分享了:ConciseFreeware

如果大家还想到别的,可以告诉我,及时加上,以方便更好的和大家的分享。

险过剃头

刚才电脑怪怪的,以前就老师抱怨这个杀毒软件不行,于是下了个新版的mac,居然还不用付钱,只用邮箱注册个账号就ok.于是一装,杀了不少毒,激动之余,心理有一点凉凉的感觉.等我再打开qq,不妥,怎么弹出个打开方式?再试试其他程序,还是这个打开方式,不觉心理打了个寒颤(以前我们班的女生遇到这个问题,"请"我帮她解决,我什么都没说,就塞个启动盘,重装....._)我不是这么想不开,要重装吧,汗一个......

在网上搜了一下,居然搜到了结果,试了一下.天啊,我的exe啊,终于回来了.哇哈哈,人品好啊!

现把解决方法记下,下次不用这么怕:

这个问题一般是由于病毒引起的文件关联被修改。

可修改注册表解决:

  1. 先将Windows目录下的注册表编辑器“Regedit.exe”改为“Regedit.com”, 然后运行它,依次找到HKEY_CLASSES_ROOT\exefile\shell\open\command, 双击“默认”字符串,将其数值改为“"%1" %*”就可以了。
  2. 另外也可以在DOS(有改名为cmd)下运行“ftype exefile=%1 %*”或“assoc .exe=exefile”命令 也可以恢复EXE文件的关联

Derby的开始之旅

Getting start with Derby

version 10.2
来自http://db.apache.org/derby
翻译by wonderer http://blog.matrix.org.cn/page/wonderer

内容

   版权收有
   Derby的介绍
     部署选项
     系统要求
     Derby的库
   安装并且用Derby来工作
     安装Derby
     设置你的环境变量
     使用Derby工具和启动系列工具
        使用工具 sysinfo
        运行 ij
        设置类路径(classpath)
  有经验的JDBC用户的快速指南
      Derby能运行的环境
        嵌入式的环境
        客户/服务端的环境
      能用的驱动器
      数据库连接URL
  文档协定
      术语
      SQL语法
      技术协定

  Derby的库和脚本:全部参考目录
      Derby提供的库
      不是由Derby提供的库
      Derby已有的脚本

  商标

版权所有
   我翻译技术文档,这个就不翻译了, ^<>^

  Derby的介绍
      欢迎来到Derby的世界,Derby是一个基于Java(TM)和SQL的关系数据库管理系统(RDBMS),这一部分是介绍Derby的.
  部署选项
      你可以用很多不同的方法来部署Derby
      你部署的选项包括:
         -单用户嵌入式的java应用程序.因为不需要管理并同时可以工作跟应用程序工作在同一个虚拟机上,Derby对于最终用户可以说是几乎透明的.
         -多用户的嵌入式程序,例如网络服务器,一个应用程序服务器,或一个共享的开放环境.
         -服务器框架的嵌入式.你可以用网络客户端驱动器或者服务端驱动器,以使用网络服务.

  系统要求
      Derby是一个完全用java开发的数据库引擎.它可以运行在任意一个Java虚拟机里(JVM).

  Derby的库
      Derby的库包括了Derby指南和API参考
      Derby开发者指南
      描述了Derby对所有部署的共同的功能和特征,例如Derby的JDBC和SQL的细节,部署Derby应用程序,安全,

     和其他高级特性.

      Derby参考指南
      指明了Derby是集成了SQL语言的.同时也提供了Derby的JDBC和JTA执行,关键字,系统表,属性,和SQL异常的参考信息.
      调较Derby
      介绍了怎样通过属性来配置和调较Derby,并提供了属性的参考信息.同时也提供了性能提示,一个性能的 深入讨论,一个Derby最优化的信息.

      Derby工具指南
      一个用derby工具(例如ij,和其他一些如import/export更高级的工具,和数据库类装载器)来工作的指Derby服务器和管理指南
      这个指南的第一部分讨论了配置服务器,怎样来编客户端程序,和数据库的管理.
      另外,一些系统可能需要例如备份数据库这样的管理.这些任务依赖于一些服务器框架,但也是单独的多用户的大型系统.

      指南的第二部分讨论了如备份和调试死锁的管理问题.

      Derby API 文档
      有所有Derby公开类文件自动产生.(没有提供JDBC的API). 如果要更详细的信息,请参考Derby参考指南.

安装并且用Derby来工作
      如果你是一个Derby和JDBC的新手,这一部分会帮助你使用这个产品.如果你是一个有经验的JDBC程序员,请看有经验的JDBC用户的快速指南.

安装Derby
      要安装Derby,你必须先从Derby的网站下载Derby的zip或者tar包.
      用你的浏览器输入以下网址http://db.apache.org/derby/derby_downloads.html 这个下载页面提供了若干个Derby的发行版本,包括了版本快照和稳定版本二进制发行版本.你也可以找到教你用subversion来获得最新源码的信息.

发行版本有:
  --二进制发行版包括了代码,示例程序和文档.已经优化了的jar文档在lib目录下
  --lib发行版本包括了优化程序,部署Derby的最小jar的集合.
  --lib-debug发行版本包括了调试Derby和报告问题的有用的最大集合.
  --src发行版本包括了要来产生上面三个发行版的源文件.

 这个指南假定你会下载二进制发行版的.
 解压下载的包,之后有以下几个子目录:
  --demo包括了示例程序
  --bin包括了运行和设置环境的代码
  --javadoc包括了有源代码生产的aip文档
  --doc包括了Derby文档
  --lib包括了Derby的jar文件

设置你的环境变量

       你需要设置环境变量来是Derby二进制发行版的代码能够正常地运行.设置如下: 

 1.把DERBY_HOME设成你解压Derby二进制发行包的路径.如你把Derby安装在 c:\Derby_10 目录下,使用以下命令来设置环境变量

set DERBY_HOME=c:\Derby_10

2. 设置环境变量JAVA_HOME.JAVA_HOME是本地JVM和java应用程序要用到的环境变量.

UNIX

export JAVA_HOME=/usr/j2se

Windows

set JAVA_HOME=C:\Program Files\Java\j2se1.4.2_05

3.为了能在每个目录下都能运行Derby的代码,把DERBY_HOME/bin加到PATH变量下

UNIX

export PATH="$DERBY_HOME/bin:$PATH"

Windows

set PATH=%DERBY_HOME\bin;%PATH%

4.验证DERBY_HOME和JAVA_HOME是否设置成功,$DERBY_HOME/bin是否有正确加到PATH路径下,使用下面的命令:

sysinfo

如果环境变量设置成功,,命令sysinfo会显示你的JVM的信息和你安装的Derby的版本.

使用Derby工具和启动工具

在你开始用Derby工作是,有很多个工具供你使用.这些工具包括了dblook,ij,和sysinfo.你可以用Derby代码来启动Derby的工具.

有很多Derby的工具是系统的程序,你可以从ij那儿来呼出他们.例如,有系统程序要来导入或者导出外部文件的.在Derby参考指南了专门介绍了如何使用这些工具.

DERBY_HOME里的代码是设置来运行嵌入式模式的.如果要运行服务器形式,使用下面命令:

  • 对于dblook,运行代码,用参数-d指定服务器的完整URL.例如,                                                                                     dblook -d 'jdbc:derby://localhost/myDB;user=usr;'
  • 对于ij工具,运行命令 set DERBY_OPTS=-Dij.protocol=jdbc:derby://localhost/ ,然后启动ij.
  • 对于工具sysinfo,运行命令 NetworkServerControl sysinfo

使用工具sysinfo

Derby的sysinfo工具,会显示你java的信息和Derby版本号.

在你把DERBY_HOME/bin加到PATH后,运行工具sysinfo.sysinfo会把环境变量配好的.包括classpath.你可以在命令行下运行命令

sysinfo

运行ij

你可以用ij工具连接你的Derby数据库.

在你运行ij之前,你必须要把DERBY_HOME/bin加到PATH变量里.

  • 你可以通过以下命令运行ij工具

                  ij

                  这个命令会启动ij工具和设置向CLASSPATH这样的环境变量

  • 用ij工具来创建数据库,可以用以下命令

                 ij> connect 'jdbc:derby:testdb;create=true';

                 这个命令会在当前目录下创建一个叫testdb的数据库,自动创建系统表,并连接到数据库.然后你就可以从ij命令行力来执行你要的数据库操作.

  • 当你准备关闭ij工具时,可以用以下命令:

                ij>exit

设置classpath

你可以在你的操作系统临时的,或者设置一个永久的classpath环境变量,或者在你启动java应用程序的时候才设置.

在大多数开发环境中,最好是在命令行里临时设置classpath.在DERBY_HOME里,有很多工具可以帮助你很快地设置环境变量.

  • setEmbeddedCP  当数据库引擎工作在嵌入式时,这个命令会把derby.jar和derbytool.jar加到classpath中
  • setNetworkServerCP  把derby.jar和derbynet.jar加到classpath中
  • setNetworkClientCP   把derby.jar和derbyclient.jar加到classpath中

开始翻译derby的官方文档

最近在写一个网页,只是一个调查问卷,想mysql这样的数据库都嫌它大,于是就想到了java6捆绑的数据库,可是在找资料的时候,去发现资料有点少.于是萌发了翻译derby官方文档的念头.(ps,幸好,derby官方文档不是很多)

不禁又迷茫起来

真的,最近老不知道怎么搞的,会很容易就迷茫起来.大概大三了,想的事也会多起来吧.

昨天跟胡老师聊,聊到迷茫.他说,怕什么,你看师兄们,出路都不错吧,你可以跟他们比的.-_-希望老师说的是真的吧.

最近的一个项目,用jsp做一个租车系统,居然指定一个垃圾网站做模板,郁闷,真想不明白这个客户的审美,而且还要指定国庆前搞定,啊~~,大哥我还要上课啊...

大概是时候回去洗澡了.

一个有趣的项目,可以把TC2.0的代码移到gcc上

note:这个开源的程序叫TurboC,borland公司的叫Turbo C

把 Borland Turbo c 的源代码移植到GNU gcc

内容
      TurboC 的大概内容
      TurboC为何而生??
      其他方法(Alternate Approaches, 不知道是不是这样翻译)
      TurboC的特点与不足
      下载和安装TurboC 
      未来的计划
      为什么要用这么可爱的logo呢?

TurboC的大概内容

TurboC是一个可连接的库同时也是一大堆C语言的头文件,是为了更容易地在GNU gcc,也就是在类Unix系统上,编译那些用原来在Turbo C编译器编译的MS-DOS系统的C语言的源文件,概括如下:
         通过Turbo C的conio.x里的ncurses的实现
         通过Turbo C的graphics.h里的Xlib的实现
         一些其他的函数和为了方便的节省时间的特征
        一种克服了Turbo C和GUN gcc的整型数据类型差异的方法
但不管怎么说,这也不是一个完美的解决方案,但是你会发现它还是有用的.你可以在它相关的早期的发展阶段找到graphics.h的帮助.
TurboC遵于GNU的LGPL协议(Lesser General Public License).

TurboC为何而生??

我写过很多基于MS-DOS的用Borland公司的Turbo C 2.0编译器编译的程序.当由于爱好的原因,我想把其中一些代码以自由软件的形式存在,我便想到了把这些代码发布在GPL下,是MS-DOS的代码,慢慢的把它们转换成类Unix系统的代码.很明显,预先直接的去转换(MS-DOS--> *nix)是一件很耗时的工作.而且渐渐的,我遇到了困难,因为发布一个别人无法理解其源代码的的软件并不是一件好事.而我最喜欢的发布开源的频道fleshmeat不"吃"MS-DOS,因此它很文雅的拒绝了我的MS-DOS项目.
很显然,现在的需要是更底层的,然后我就想到了我可以提供合适兼容的Turbo C的库和头文件,这样,把Turbo C的源码引到类Unix系统就会简单得多.也就是说,提供旧版本的MS-DOS的类Unix版本是一件相对容易很多的事情.但究竟这个容易去到哪儿,跟你要引进的程序的很多东西都有关.

其他方法(Alternate Approaches, 不知道是不是这样翻译)

对于conio.h的功能,你可以考虑使用pablo Vidal的UConio的库来代替.但是我没有使用过,所以无法说出其好长与不足,不过它肯定提供比TurboC提供一个少得多的Conio的功能的子集.而且它也会要求你更大范围的修改你的源代码.
Borland公司已经有了(或许会提供)一个Linux版本的C++编译器,这样的话,它的nature,价格和这个编译器的目标工作平台将是一个谜.一种假设(象Kylix)就是它将基于wine的,所以它只可以工作在x86的系统上面.但是,如果它包括了在TurboC上实现的库,那样,老实说,他提供了一种更简单的的方法来把你Turbo C的源代码引入到Linux上,但如果这样的话,它将会是非常庞大的.对我自己来说,尽管已经是一个很久的borland公司的用户了,但我还是非常希望用GNU gcc来编译我的程序.
对于graphics.h的功能,有一个Csaba Biegl, Michael Goffioul, and Hartmut Schirmer的GRX库.直到graphics.h的功能还有一点还没写完的时候,我才发现了这个库,因此我还没来得及很充分的测试它.它的目标是要成为一个多平台的2D图像库.它的官网没有宣传(甚至没有提到)与Turbo C的兼容性.然而,它只包括了非常少量的与Turbo C同名(当然还有相同功能)的功能.
当然,如果你只是感兴趣在类Unix系统上运行你的程序,同时也反对把其他程序引到类Unix系统上,那你也可以在linux版本的DOS emulators 下运行你已经存在的程序.DOS emulation使用了 dosemu 和 freedos ,在x86系统上工作得非常好,同时 bochs 和 freedos在非x86类Unix系统上工作的也不错(但可能有点慢).

TurboC的特点与不足

特点
   TurboC 提供了Turbo C的conio.h头文件控制台的大部分功能,与相关的ncurses的功能一一对应.(当然,除了scanf之外的conio.h的功能都有提供)
   TurboC提供了Turbo C的graphics.h头文件"BGI"的大部分功能.到目前为止(2002 06 08),除了临时缺乏stroked-font的支持,这些特点的实现已经完成的很彻底了.
   TurboC提供了这些丢失的功能诸如strupr和strlwr的功能的很少的东西,
   请确认可提供的方法的完整列表:

不足
   请参考bugs和issues的完整列表.到目前为止,这个库文件只是我在特定的我写的Turbo C的程序所需要的那么完整,随着我引入的我以前的程序到类Unix               系统的多起来,TurboC的库大概才会愈来愈完整.到目前为止,本质上conio.h的支持已经完整了,除了显示文本外,graphics.h的支持也本质上完整了.
   在已经引进的程序里,除非你使用了xterm,要不然文本控制台的窗口指挥逻辑上自动调好尺寸,并不会physically地去调整.如果你用了诸如KDE控制台之类的其他控制台,用户必须人为地去调整了.
   Borland的Turbo C是16位的编译器,但是我目标的GNU gcc编译器是32位的,结果产生了整型的数据类型的差异.TurboC用宏的方法处理了(但愿)更普遍的情况.没有处理的情况会在编译的时候报错,用户必须手动去修改.在用户的页面会被详细介绍.
   用基于诸如 getcha, cprintf或其他的控制台来混合基于流的功能(如 getchar, printf,其他),很可能会不工作.你也可以浏览usage page.

下载并安装TurboC
    下载源代码
      *Most-current development code (20040218) TurboC-dev.tar.gz
      20020602 snapshot TurboC-20020602.tar.gz
      20020419 snapshot TurboC-20020419.tar.gz
      20020418 snapshot TurboC-20020418.tar.gz
      20020323 snapshot TurboC-20020323.tar.gz
      20020317 snapshot TurboC-20020317.tar.gz
      20020312 snapshot TurboC-20020312.tar.gz

tarball里包括了一个教TurboC-source的文件夹,你可以简单的在这个目录下用make来编译库.但必须是GNU gcc或者用gmake(例如在FreeBSD或Mac下)来编译(提示,在FreeGSD下,你要编辑makefile和注释/反注释开头的若干行,你会很容易看到的),我已经检验了最近释出的snapshot(不是开发者的snapshot)并在以下系统测试了程序:
  Linux Intel 'x86 (SuSE 8.0)
  Linux PowerPC (SuSE 7.3)
  FreeBSD (4.5)
(早期的TurboC的库好像在FreeBSD上工作的效果不怎么好,请升级到20020420的版本,并且在运行引入的程序的时候按照下面的步骤).最近释出的snapshot只在SuSE8.2上测试过.
把这个库(libTurboC.a and libTurboCu.a)放在你系统放库的地方--通常在 /usr/lib.把所有的头文件放到它应该放的地方--通常是 /usr/include.又或者,你也可以添加它们的链接到这些目录.又或者,把它们放到你喜欢的地方,然后在gcc里用参数 -L和-I来连接它们.
在我的系统,我是这么做的.
  cd ~
  tar -xzvf TurboC-dev.tar.gz
  cd TurboC-source
  ... 编辑FreeBSD的makefile ...
  make (or gmake)
  su
  ln -s *.h /usr/include
  ln -s libTurboC.a /usr/lib
  exit
你会发现(例如,在FreeBSD)如果你在你引入的程序力#include了TurboC的头文件,你的编译器会报错:标识符链接太深(symbolic links being "too deep").如果是这样的话,你可以把上边的ln命令的参数"-s"去掉.
另外,编译Makefile当然会假定X-window系统的头文件和库;如果这个假定是错的话,你就要你的编译器加上参数"-L"和/或者"-I"来调整.X-window系统必须编译全部的库,或者你要运行你的程序,如果你要用到graphics.h的功能.如果你不打算使用这些功能,你可以通过编辑Makefile和去掉编译器参数的"-DWITH_X"在没有X的系统上引入和编译你的程序.

未来的计划

嗯,很明显这种项目是没什么前途的,它的计划只不过是从一个古老的编译器里引入它的代码.然而,我还是会在我这个项目里根据需要增加一些特性的.我不会浪费精力去写一些没有在我Turbo C程序力出现过的功能的,但如果你自己已经写了而又告诉了我,我是很乐意加进去的(把荣辱加给你).
当然,很希望你能把TurboC的bug返回给我,(当然在这之前,去看看Buglist有没有这个问题),我会尽力去改正它们的.

为什么要用这么可爱的logo呢?

这是一幅姐妹在谈话的图片,画家Lynn Rothan的杰作.我试图表达的意思是,它表现了很相似的c编译器 Borland Turbo C和GUN gcc的关系.当然拉,lynn有他自己的意思.请参考他的网站.

一个java打包工具JET的介绍

   Exceclsior JET for windows
    v4.5     
* 大致浏览

 -JET 优化
 -JET 运行
 -安装工具包
*系统需求

*快速开始

*界面工具

 -Excelsior JET Launcher
 -JET 控制面板
 -jetPackII
 -JET 安装
 -开发者资源

*大概
  Excelsior JET 是一套完全为了优化运行的工具包,是用java编程语言写的可配置和可运行的程序.
  Excelsior JET 产品包括了 JET优化程序,是一个完全的 java SE 5.0 的运行和安装程序工具包.
  JET 优化程序能够将你的 class格式或者jar格式的文件转化成 开发者的x86(IA-32)的机器码.这样,
您就能够得到windows或者Linux的运行效果极好的原生代码.
  另外,产生的原生代码具有高度的反编译和反修改能力.
  JET运行程序包括了sun公司的java2 API的许可并同时提供了所有java的特性,例如垃圾回收机制(garbage colletion).
  JET 优化程序和运行程序保证在java标准版本5.0(j2sdk 5.0)下正常运行.
  如果你想要把你的应用程序分发给一定数量的用户,你可以使用安装工具包来准备一个包括已经优化过的程序和一个JET Excelsior的运行引擎.您的客户就可以简单地安装这个包就可以开始使用您的程序.一些多余的软件的安装,例如JRE,不是最终客户的系统的必须.

  JET 优化程序
  ------------
  JET优化程序会在程序开始运行之前把java的.class文件和.jar文件转换成开发者系统的高效的本地代码,直接运行在硬件上.
  优化程序使用了很多很普遍使用在传统C/C++和FORTRAN编译器里的优化技巧.为了解决java的执行效率问题,JET优化程序是注入使用了内嵌虚拟方法,安全可移除普遍存在的同步和栈里分配对象的优雅的(state-of-the art)优化来做出来的.

  你可以在JET的控制面板上来用优化程序,一个图形界面的向导的,为了你更快地建立您的项目文件和转换你的程序为高效的可执行程序(请参考下面"图形界面工具"的环节)

  JET运行时间(runtime不知道是不是这样翻译)
  --------------------------------------
  JET运行环境是一个彻底的java虚拟机.但有一点特别,它包括了一个即时编译器(JIT)来装载和运行标准的java字节码文件.和其他虚拟机的关键的分别是JET运行环境可以同时工作在java的字节码文件和JET优化程序产生的原生文件.例如,一个JET编译的程序(.exe)可以装载以.jar形式的文件为java插件程序.

  如果你使用的程序是使用插件的,装载它们回耗费一些时间.为了减少这些时间,你可以在JET运行时间里打开你的JIT缓存.这样一来,用JIT编译器产生的原生代码就会保留在JIT的缓存力并会在后来的程序启动时重新使用.欲知详情,请参考JET用户指南的"混合编译模块"("mixed compilation model").

  包装程序包
  ---------

  为了提供快速的包装程序,Excelsior JET包括了包装程序(JetPackII),也是一个图形向导.通过它,你可以准备一个包括你的优化的java程序和一个JET的运行时间.

  基本的部署程序都是尽量简单的.这个产生的包,例如,一个本身包括了目录,能复制到目标系统.一个在没有解压环境都能点击就运行的系统.你可以简单的整合这些包为任何一个安装程序(NSIS和InstallShield或其他).

  包装程序能直接产生一个自解压的安装程序.也就是说,用它产生的安装程序,既可以是无人值的安装,也可以是GUI界面的安装.

  在GUI模式下,安装程序会通过安装过程处理允许用户来指定诸如目文件夹,快捷键,开始菜单等等的安装设置.你也可以把安装界面设置成一个飞出的窗口,用户协议和把安装程序显示为英语,德语,法语,俄罗斯语或者日本语,看你的喜好和系统的当地设置.欲知详情,请参考JET用户指南的"开发自动设置"("Deployment automation" ).

  请把你的回执提交到java@excelsior-usa.com.

系统要求
    操作系统:
        windows版本的Excelsior JET 4.5已经在以下系统通过了JCK(Java SE compliance)的测试:
                     Windows 2000 Professional,
                     Windows 2000 Server,
                     Windows 2003 Server,
                     Windows XP Professional

    CPU:             Intel Pentium III或800MHZ同等级或更高

    内存:            384或以上

    硬盘空间:        420MB以上

------------------------------------------------------------------------------------------
详细清单在以下网址:

http://www.excelsior-usa.com/jetsysreq.html

www.myjavaserver.com的注册

免费的jsp空间,www.myjavaserver.com的觉得不错,但注册的时候,有个小测试,难度倒不大,不过是E文的,原文如下:

As the principal engineer of an HTTP web server, you are responsible for implementing the request processing subsystem of the server. An incoming request for a specific resource, identified by an URI, must be dispatched to the appropriate handler according to the server configuration which maps URIs to request handlers. 'HandlerFactory.getHandler' must be implemented: public class HandlerFactory { public String getHandler(String[] config, String requestUri) { } } The string array 'config' contains URI patterns and handler names. Two consecutive values form a key-value pair comprised of URI pattern and handler. 'requestUri' represents an incoming request, the URI to match against the configured handlers. 'getHandler' must return the correct handler for a given URI as a string value. An URI pattern never contains wildcards and represents the start of an URI string, a prefix. Matching must be implemented accordingly. The handler with the longest matching URI pattern wins if more than one pattern matches. If no handler can be found, "264wK8R" must be returned. Example input: String[] config: { "/", "MainServlet", "/nav", "NavigationServlet" } String requestUri: "/nav/test" Correct result: "NavigationServlet" In this example, the configuration contains a mapping of "/" to "MainServlet" and "/nav" to "NavigationServlet". In the case of an incoming URI "/nav/test.nav", "NavigationServlet" is the correct choice because its pattern is longer than that of "MainServlet".

具体实现如下:

public String getHandler(String[] config, String requestUri) {
       String ret = "Ey1Der6" ;
       boolean found = false ;
       for (int i = 0 ; i < config.length ; i += 2){
      if (requestUri.indexOf(config[i]) == 0){
        if (!found){
       ret = config[i+1] ;
      found = true ;
     } else {
     if (ret.length() < config[i+1].length())
     ret = config[i+1] ;
}
}
}
return ret ;
}

哀掉的netbeans

一气之下,把netbeans删掉了.

sun网站上,说使用netbeans可以有机会被抽一个ipod,n久前就下了个netbeans,终于上一个项目,是用netbeans做的application, 但感觉不爽.缘由如下:

1.启动速度慢,经过对比,netbeans5.0确实比jb2006/jb2005/eclipse3.1 在win32下慢,而且在 ubuntu下也比 eclipse 慢.

2.生成的GUI代码不可修改?!!!!妈的,@#$%^&*,我用netbeans拖个JTable,行数不可动态修改..... 用jb不会,用eclipse也不会..

3.居然不集成打包工具,最后还是要投向jb或者eclipse打包.天啊,那我用netbeans干嘛啊?.

4.字体不可修改.在我的机器上,字体显示正常,不过在师兄的机器上,字体丑的不得了,他在他同学那儿,效果一样,最可恶的是修改不了??郁闷ing,傻愣着看着难以入目的字体,做了一个项目(哈哈,不是我,我还好)..

5.反应慢,我在想,是不是netbeans采用swing,而eclipse采用swt的缘故呢?譬如,我在netbeans了输入一行代码,开始提示我缺了分号,嗯...似乎很好,可是我明明打了个分号下去了嘛,妈的@#$%^&*,偌大的红色波浪线还有那个偌大的红色叹号,还在那儿!!!!!!看着很不爽呢.谁愿意看着红色的叹号还按编译呢??

6...想到再说吧...反正这些理由已经可以支撑我删掉netbeans了

java读写配置文件

写程序的时候,发现程序编好后,怎么改里面的参数呢?只有靠配置文件了,听说过java里面有专门读写.property的类的,找了找资料,发现资料也少,不如换个形式吧。

随便找个文件,按照自己的格式,写上参数,然后在那个文件后加上.ini的后缀,哈哈,欺世盗名啊,哈哈,如此也做到了配置文件的作用啦~,读的时候,一行一行的读,就OK了..

不过既然sun写个.property的类,也就不要浪费,应该研究一下.

I COME BACK

嗯,终于回来了.

大二也快结束了.

想不到我可以帮大四的师兄做毕业设计....自己也郁闷起来.

刚才老师来说让我下个下个星期去动员师弟近研发中心,居然让我去,真想不懂,老师是不是觉得我吹水比较厉害呢?可能是吧,不管它了.去就去吧,威风啊,哈哈.

应该要写写blog了. backing.