-
log4j快速入门实践功略(1)
2006-07-03 14:18:30
log4j快速入门实践功略(1)
#log4j.rootLogger = [ level ] , appenderName, appenderName,
#优先级level 为 OFF、FATAL、ERROR、WARN、INFO、DEBUG、log、ALL或自定义的优先级
#Log4j常用的优先级FATAL>ERROR>WARN>INFO>DEBUG
#stdout为控制台 ,Errorlog为错误记录日志 ,
log4j.rootCategory=INFO,stdout,Runlog,Errorlog
#输出的appender的格式为
#log4j.appender.appenderName = fully.qualified.name.of.appender.class
#log4j.appender.appenderName.option1 = value1
#log4j.appender.appenderName.option = valueN
#Log4j中appender支持的输出
#org.apache.log4j.ConsoleAppender 控制台
#org.apache.log4j.FileAppender 文件
#org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件
#org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新的文件),
#org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
#org.apache.log4j.net.SMTPAppender 邮件
#org.apache.log4j.jdbc.JDBCAppender 数据库
#定义输出的形式
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.Runlog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.Errorlog=org.apache.log4j.DailyRollingFileAppender
#可以指定输出文件的优先级
log4j.appender.Errorlog.Threshold=ERROR
#指定输出的文件
log4j.appender.Runlog.File=D:\UserInfoSyn\WebRoot\WEB-INF\runlog\runlog.log
log4j.appender.Errorlog.File=D:\UserInfoSyn\WebRoot\WEB-INF\errorlog\errorlog.log
#Log4j的layout布局
#org.apache.log4j.HTMLLayout 以HTML表格形式布局
#org.apache.log4j.PatternLayout 可以灵活地指定布局模式
#org.apache.log4j.SimpleLayout 包含日志信息的级别和信息字符串
#org.apache.log4j.TTCCLayout 包含日志产生的时间、线程、类别等等信息
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.Runlog.layout=org.apache.log4j.PatternLayout
log4j.appender.Errorlog.layout=org.apache.log4j.PatternLayout
#输出格式,log4j javadoc org.apache.log4j.PatternLayout
#-X号:X信息输出时左对齐;
#%p:日志信息级别
# %d{}:日志信息产生时间
# %c:日志信息所在地(类名)
# %m:产生的日志具体信息
# %n:%n:输出日志信息换行
log4j.appender.stdout.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
log4j.appender.Runlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
log4j.appender.Errorlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
#指定某个包的优先级
#
log4j.category.com.neusoft.mbip.dm.util=ERROR
#示例
###################
# Console Appender
###################
#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
#log4j.appender.Threshold=DEBUG
#log4j.appender.CONSOLE.Target=System.out
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n
#####################
# File Appender
#####################
#log4j.appender.FILE=org.apache.log4j.FileAppender
#log4j.appender.FILE.File=file.log
#log4j.appender.FILE.Append=false
#log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
# Use this layout for LogFactor 5 analysis
########################
# Rolling File????? RollingFileAppender??????????????????
########################
#log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
#log4j.appender.ROLLING_FILE.Threshold=ERROR
# 文件位置
#log4j.appender.ROLLING_FILE.File=rolling.log
#log4j.appender.ROLLING_FILE.Append=true
#文件大小
#log4j.appender.ROLLING_FILE.MaxFileSize=10KB
#指定采用输出布局和输出格式
#log4j.appender.ROLLING_FILE.MaxBackupIndex=1
#log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
####################
# Socket Appender
####################
#log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
#log4j.appender.SOCKET.RemoteHost=localhost
#log4j.appender.SOCKET.Port=5001
#log4j.appender.SOCKET.LocationInfo=true
# Set up for Log Facter 5
#log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
#log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n
########################
# SMTP Appender
#######################
#log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#log4j.appender.MAIL.Threshold=FATAL
#log4j.appender.MAIL.BufferSize=10
#log4j.appender.MAIL.From=chenyl@hollycrm.com
#log4j.appender.MAIL.SMTPHost=mail.hollycrm.com
#log4j.appender.MAIL.Subject=Log4J Message
#log4j.appender.MAIL.To=chenyl@hollycrm.com
#log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
#log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
########################
# JDBC Appender
#######################
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
#log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
#log4j.appender.DATABASE.user=root
#log4j.appender.DATABASE.password=
#log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
#log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
########################
# Log Factor 5 Appender
########################
#log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
#log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
###################
#???Appender
###################
#log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
#log4j.appender.im.host = mail.cybercorlin.net
#log4j.appender.im.username = username
#log4j.appender.im.password = password
#log4j.appender.im.recipient = corlin@cybercorlin.net
#log4j.appender.im.layout=org.apache.log4j.PatternLayout
#log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
-
使用MiddleGen 产生hibernate的数据库表映射文件
2006-06-29 19:07:59
1:下载Middlegen-Hibernate-r5
地址:URL
2:解压缩
将下载的解压缩,如 D:Middlegen-Hibernate-r5
3:配置数据库文件
进入D:Middlegen-Hibernate-r5 目录下的configdatabase 子目录,选择你要得数据库文件,我使用的是mysql.
将原来的
<property name="database.driver.file" value="${lib.dir}/mysql-connector-java-3.0.0-beta-bin.jar"/>
改成
<property name="database.driver.file" value="${lib.dir}/mysql-connector-java-3.0.15-ga-bin.jar"/>
同时指定数据库与用户名。我的配置如下(红色部分是要修改的部分)
<property name="database.script.file" value="${src.dir}/sql/${name}-mysql.sql"/>
<!--property name="database.driver.file" value="${lib.dir}/mysql-connector-java-3.0.0-beta-bin.jar"/-->
<property name="database.driver.file" value="${lib.dir}/mysql-connector-java-3.0.15-ga-bin.jar"/>
<property name="database.driver.classpath" value="${database.driver.file}"/>
<property name="database.driver" value="org.gjt.mm.mysql.Driver"/>
<property name="database.url" value="jdbc:mysql://localhost/hibernate"/>
<property name="database.userid" value="root"/>
<property name="database.password" value=""/>
<property name="database.schema" value=""/>
<property name="database.catalog" value=""/>
<property name="jboss.datasource.mapping" value="mySQL"/>
将mysql的驱动程序mysql-connector-java-3.0.15-ga-bin.jar copy 到D:Middlegen-Hibernate-r5lib下
4:修改Build.xml
修改D:Middlegen-Hibernate-r5目录下的build.xml 文件,此文件是Middlegen-Hibernate 的Ant
构建配置。Middlegen-Hibernate将根据build.xml 文件中的具体参数生成数据库表映射
文件
1)第24行 修改数据库连接
将hsqldb.xml 改成mysql.xml
<!ENTITY database SYSTEM "file:./config/database/mysql.xml">
2)第52行 修改输出目录
将${build.dir}/gen-src 改成你要的目录
<property name="build.gen-src.dir" value="D:/Middlegen-Hibernate-r5/sample"/>
3)第184行 对应代码的Package name
hibernate 节点package 属性的默认设置实际上是由前面的
Application Name (${name})和“.hibernate”组合而成,根据我们的需要,
将其改为
<hibernate
destination="${build.gen-src.dir}"
package="org.hibernate.sample"
genXDocletTags="true"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
这里还有一个属性genXDocletTags,如果设置为true,则生成的代码将包含
xdoclet tag。
4)第33行 修改应用名
将原来的
<property name="name" value="airline"/>
改成
<property name="name" value="HibernateSample"/>
5:切换到D:Middlegen-Hibernate-r5目录,运行ant
-
程序员每天该做的事
2006-06-21 22:46:51
程序员每天该做的事
1、总结自己一天任务的完成情况
最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多
2、考虑自己明天应该做的主要工作
把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作
3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法
出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢
4、考虑自己一天工作完成的质量和效率能否还能提高
一天只提高1%,365天你的效率就能提高多少倍你知道吗? (1+0.01)^365 = 37 倍
5、看一个有用的新闻网站或读一张有用的报纸,了解业界动态
闭门造车是不行的,了解一下别人都在做什么,对自己能带来很多启示
6、记住一位同事的名字及其特点
你认识公司的所有同事吗?你了解他们吗?
7、清理自己的代码
今天完成的代码,把中间的调试信息,测试代码清理掉,按照编码风格整理好,注释都写好了吗?
8、清理自己的桌面
当日事当日毕,保持清洁干劲的桌面才能让你工作时不分心,程序员特别要把电脑的桌面清理干净
程序员每周该做的事
1、向你的老板汇报一次工作
让你的老板知道你在做什么,这很重要。可以口头、书面、邮件,看你老板的工作方式而定
2、进行一次自我总结(非正式)
这周之内自己表现得怎么样?该加分还是扣分?
3、制定下周计划
把下周要做的事情列出来,一样要分清楚优先级
4、整理自己的文件夹、书柜和电脑文件
把桌面以外的地方也要清理干净,电脑的文件夹,收到的邮件,把过时的垃圾全部清理掉
5、与一个非公司的朋友沟通
它山之石,可以攻玉
6、看一本杂志
找一本适合自己的专业杂志
7、纠正自己或同事一个细节上的不正确做法
《细节决定成败》看过了吗?没看过强烈建议先看看
程序员每月该做的事
1、至少和一个同事一起吃饭或喝茶
不光了解自己工作伙伴的工作,还要了解他们的生活
2、自我考核一次
相对正式地考核自己一下,你对得起这个月的工资吗?
3、对你的同事考核一次
你的同事表现怎么样?哪些人值得学习,哪些人需要帮助?
4、制定下月的计划,确定下月的工作重点
5、总结自己工作质量改进状况
自己的质量提高了多少?
6、有针对性地对一项工作指标做深入地分析并得出改进的方案
可以是对自己的,也可以是对公司的,一定要深入地分析后拿出自己的观点来。要想在老板面前说得上话,做的成事,工作上功夫要做足。
7、与老板沟通一次
最好是面对面地沟通,好好表现一下自己,虚心听取老板的意见,更重要的是要了解老板当前关心的重点
程序员每年该做的事
1、年终总结
每个公司都会做的事情,但你真正认真地总结过自己吗?
2、兑现给自己、给家人的承诺
给老婆、儿子的新年礼物买了没有?给自己的呢?
3、下年度工作规划
好好想想自己明年的发展目标,争取升职/加薪、跳槽还是自己出来干?
4、掌握一项新技术
至少是一项,作为程序员一年要是一项新技术都学不到手,那就一定会被淘汰。
掌握可不是看本书就行的,要真正懂得应用,最好你能够写一篇教程发表到你的blog
5、推出一种新产品
可以是一个真正的产品,也可以只是一个类库,只要是你创造的东西就行,让别人使用它,也为世界作点贡献。当然如果真的很有价值,收点注册费也是应该的
6、与父母团聚一次
常回家看看,常回家看看
希望我能做到哦
-
关系数据库设计之基本规则--范式
2006-06-20 08:58:18
构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。下面我们举例介绍第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
3.4.1 第一范式(1NF)
在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。
3.4.2 第二范式(2NF)
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如
图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。
3.4.3 第三范式(3NF)
满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在图3-2
的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。
关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。
第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系。例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话 和一个家里电话号码) 规范成为1NF有三种方法:
一是重复存储职工号和姓名。这样,关键字只能是电话号码。
二是职工号为关键字,电话号码分为单位电话和住宅电话两个属性
三是职工号为关键字,但强制每条记录只能有一个电话号码。
以上三个方法,第一种方法最不可取,按实际情况选取后两种情况。
第二范式(2NF):如果关系模式R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R 是属于第二范式的。
例:选课关系 SCI(SNO,CNO,GRADE,CREDIT)其中SNO为学号, CNO为课程号,GRADEGE 为成绩,CREDIT 为学分。 由以上条件,关键字为组合关键字(SNO,CNO)
在应用中使用以上关系模式有以下问题:
a.数据冗余,假设同一门课由40个学生选修,学分就 重复40次。
b.更新异常,若调整了某课程的学分,相应的元组CREDIT值都要更新,有可能会出现同一门课学分不同。
c.插入异常,如计划开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和学分存入。
d.删除异常,若学生已经结业,从当前数据库删除选修记录。某些门课程新生尚未选修,则此门课程及学分记录无法保存。
原因:非关键字属性CREDIT仅函数依赖于CNO,也就是CREDIT部分依赖组合关键字(SNO,CNO)而不是完全依赖。
解决方法:分成两个关系模式 SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。新关系包括两个关系模式,它们之间通过SC1中的外关键字CNO相联系,需要时再进行自然联接,恢复了原来的关系
第三范式(3NF):如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的。
例:如S1(SNO,SNAME,DNO,DNAME,LOCATION) 各属性分别代表学号,
姓名,所在系,系名称,系地址。
关键字SNO决定各个属性。由于是单个关键字,没有部分依赖的问题,肯定是2NF。但这关系肯定有大量的冗余,有关学生所在的几个属性DNO,DNAME,LOCATION将重复存储,插入,删除和修改时也将产生类似以上例的情况。
原因:关系中存在传递依赖造成的。即SNO -> DNO。 而DNO -> SNO却不存在,DNO -> LOCATION, 因此关键辽 SNO 对 LOCATION 函数决定是通过传递依赖 SNO -> LOCATION 实现的。也就是说,SNO不直接决定非主属性LOCATION。
解决目地:每个关系模式中不能留有传递依赖。
解决方法:分为两个关系 S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION)
注意:关系S中不能没有外关键字DNO。否则两个关系之间失去联系。
BCNF:如果关系模式R(U,F)的所有属性(包括主属性和非主属性)都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。或是关系模式R,如果每个决定因素都包含关键字(而不是被关键字所包含),则RCNF的关系模式。
例:配件管理关系模式 WPE(WNO,PNO,ENO,QNT)分别表仓库号,配件号,职工号,数量。有以下条件
a.一个仓库有多个职工。
b.一个职工仅在一个仓库工作。
c.每个仓库里一种型号的配件由专人负责,但一个人可以管理几种配件。
d.同一种型号的配件可以分放在几个仓库中。
分析:由以上得 PNO 不能确定QNT,由组合属性(WNO,PNO)来决定,存在函数依赖(WNO,PNO) -> ENO。由于每个仓库里的一种配件由专人负责,而一个人可以管理几种配件,所以有组合属性(WNO,PNO)才能确定负责人,有(WNO,PNO)- > ENO。因为 一个职工仅在一个仓库工作,有ENO -> WNO。由于每个仓库里的一种配件由专人负责,而一个职工仅在一个仓库工作,有 (ENO,PNO)-> QNT。
找一下候选关键字,因为(WNO,PNO) -> QNT,(WNO,PNO)-> ENO ,因此(WNO,PNO)可以决定整个元组,是一个候选关键字。根据ENO->WNO,(ENO,PNO)->QNT,故(ENO,PNO)也能决定整个元组,为另一个候选关键字。属性ENO,WNO,PNO 均为主属性,只有一个非主属性QNT。它对任何一个候选关键字都是完全函数依赖的,并且是直接依赖,所以该关系模式是3NF。
分析一下主属性。因为ENO->WNO,主属性ENO是WNO的决定因素,但是它本身不是关键字,只是组合关键字的一部分。这就造成主属性WNO对另外一个候选关键字(ENO,PNO)的部 分依赖,因为(ENO,PNO)-> ENO但反过来不成立,而P->WNO,故(ENO,PNO)-> WNO 也是传递依赖。
虽然没有非主属性对候选关键辽的传递依赖,但存在主属性对候选关键字的传递依赖,同样也会带来麻烦。如一个新职工分配到仓库工作,但暂时处于实习阶段,没有独立负责对某些配件的管理任务。由于缺少关键字的一部分PNO而无法插入到该关系中去。又如某个人改成不管配件了去负责安全,则在删除配件的同时该职工也会被删除。
解决办法:分成管理EP(ENO,PNO,QNT),关键字是(ENO,PNO)工作EW(ENO,WNO)其关键字是ENO
缺点:分解后函数依赖的保持性较差。如此例中,由于分解,函数依赖(WNO,PNO)-> ENO 丢失了, 因而对原来的语义有所破坏。没有体现出每个仓库里一种部件由专人负责。有可能出现一部件由两个人或两个以上的人来同时管理。因此,分解之后的关系模式降低了部分完整性约束。
一个关系分解成多个关系,要使得分解有意义,起码的要求是分解后不丢失原来的信息。这些信息不仅包括数据本身,而且包括由函数依赖所表示的数据之间的相互制约。进行分解的目标是达到更高一级的规范化程度,但是分解的同时必须考虑两个问题:无损联接性和保持函数依赖。有时往往不可能做到既有无损联接性,又完全保持函数依赖。需要根据需要进行权衡。
1NF直到BCNF的四种范式之间有如下关系:
BCNF包含了3NF包含2NF包含1NF
小结:
目地:规范化目的是使结构更合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新
原则:遵从概念单一化 "一事一地"原则,即一个关系模式描述一个实体或实体间的一种联系。规范的实质就是概念的单一化。
方法:将关系模式投影分解成两个或两个以上的关系模式。
要求:分解后的关系模式集合应当与原关系模式"等价",即经过自然联接可以恢复原关系而不丢失信息,并保持属性间合理的联系。
注意:一个关系模式结这分解可以得到不同关系模式集合,也就是说分解方法不是唯一的。最小冗余的要求必须以分解后的数据库能够表达原来数据库所有信息为前提来实现。其根本目标是节省存储空间,避免数据不一致性,提高对关系的操作效率,同时满足应用需求。实际上,并不一定要求全部模式都达到BCNF不可。有时故意保留部分冗余可能更方便数据查询。尤其对于那些更新频度不高,查询频度极高的数据库系统更是如此。
在关系数据库中,除了函数依赖之外还有多值依赖,联接依赖的问题,从而提出了第四范式,第五范式等更高一级的规范化要求。在此,以后再谈。
各位朋友,你看过后有何感想,其实,任何一本数据库基础理论的书都会讲这些东西,考虑到很多网友是半途出家,来做数据库。特找一本书大抄特抄一把,各位有什么问题,也别问我了,自已去找一本关系数据库理论的书去看吧,说不定,对各位大有帮助。说是说以上是基础理论的东西,请大家想想,你在做数据库设计的时候有没有考虑过遵过以上几个范式呢,有没有在数据库设计做得不好之时,想一想,对比以上所讲,到底是违反了第几个范式呢?
我见过的数据库设计,很少有人做到很符合以上几个范式的,一般说来,第一范式大家都可以遵守,完全遵守第二第三范式的人很少了,遵守的人一定就是设计数据库的高手了,BCNF的范式出现机会较少,而且会破坏完整性,你可以在做设计之时不考虑它,当然在ORACLE中可通过触发器解决其缺点。以后我们共同做设计之时,也希望大家遵守以上几个范式。 -
终于入手dopod575
2006-06-19 20:52:02
终于入手dopod575,兴奋中 -
E都市应用
2006-06-18 07:29:52
http://my.edushi.com/note/url.aspx?id=10095
http://www.edushi.com/api/api_s.htm
三维地图,大家可以试试看,页可以在自己主页上加入地址的
<iframe scrolling="no" marginheight="0" marginwidth="0" width="500" height="400" src="http://my.edushi.com/blog/previe ... 9%u91CC%u4E0A%u73ED"></iframe> -
confluence配置指南
2006-06-15 18:44:05
下载最新版本,解压。
修改文件 WEB-INFclasses÷confluence-init.properties
加上 confluence.home=c:/confluence/data
数据存放目录
执行build.bat或是 build.sh文件
生成war包。拷贝到webapps下即可
重启tomcat。访问 -
jira安装指南
2006-06-15 18:32:35
jira配置文件
下载war包
http://www.atlassian.com/software/jira/JIRADownloadCenter.jspa(需要注册用户才可以下载)
3.6.2 Enterprise EAR/WAR 23 MB 24-May-06 ZIP TAR.GZ(y有23M大小)
下载完毕后,解压。
进入webappWEB-INFclasses
修改文件entityengine.xml
<transaction-factory class="org.ofbiz.core.entity.transaction.JNDIFactory">
<user-transaction-jndi jndi-server-name="default" jndi-name="java:comp/env/UserTransaction"/>
<transaction-manager-jndi jndi-server-name="default" jndi-name="java:comp/env/UserTransaction"/>
</transaction-factory>
加上env路径
<datasource name="defaultDS" field-type-name="mysql"
helper-class="org.ofbiz.core.entity.GenericHelperDAO"
修改为你自己想要的数据库
执行build.bat或是build.sh
生成war包
拷贝文件
下载mysql-connector-java-3.1.12-bin.jar拷贝到Tomcat安装目录的commonlib下,请特别注意版本号必须为3.1.12
下载jira-tomcat
根据自己的tomcat版本下载相应的文件包
jira-jars-tomcat.zip
解压到Tomcat's common/lib/ 目录覆盖
拷贝 dist-tomcat/tomcat-4/jira.xml到 Tomcat's webapps/ 目录
#
修改jira.xml as follows:
<Context path="/jira" docBase="path/to/atlassian-jira-3.6.2.war" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="atlassian-jira." suffix=".log" timestamp="true"/>
<Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/JiraDS">
<parameter>
<name>driverClassName</name>
<value>org.hsqldb.jdbcDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:hsqldb:path/to/jira_database</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
修改两个地方,war的位置,
重启tomcat,http://localhost:8080/jira就可以看到jira的配置了 -
hsql数据库使用心得
2006-06-15 12:10:20
hsql:
database.properties
hibernate.connection.password=
hibernate.connection.url=jdbc:hsqldb:file:E:/data/bb
hibernate.connection.driver_class=org.hsqldb.jdbcDriver
hibernate.connection.username=sa
文件模式
内存模式
hibernate.connection.url=jdbc:hsqldb:.
服务器
hibernate.connection.url=jdbc:hsqldb:hsql://localhost/meeting
java -classpath hsqldb.jar org.hsqldb.Server -database.0 bookstore -dbname.0
bookstore
启动服务
默认端口 :9001 -
大型社区设计:提高用户体验的10个细节
2006-06-07 23:45:11
最近在开发社区程序,收集和自己想了一些能提高用户体验的社区设计理念,拿出来和大家讨论讨论.
1,大型社区导航的设计三点考虑:
1 “随时”出现在用户手边;
2 尽量减少对页面的占用 ;
3 给用户良好的“位置感”;
现在的一般的大型社区都是采用左侧可隐藏式的框架设计来实现的。
关于位置感觉,在导航拦的体现就是 当前浏览的拦目要突出显示
参考:http://blog.donews.com/iqst/archive/2006/05/13/867531.aspx
2,"恢复上一次提交"功能
http协议是无连接的,由于网络不稳定导致用户发表失败,应该提供可恢复的手段。
3,完全可定制的可见即可得编辑器 ,分三种情况
1,用户可自己选择自己喜欢的编辑器。比如freetextbox,....
2,用户可定制编辑器的某些功能,比如有些用户喜欢发表图片,发表视频,但有些确喜欢
插入代码等,应该提供可选的定制功能,以避免过多的功能影响使用的方便性能和提高
加载速度。
3,具备一定的智能,比如进入贴图区,贴图功能自动出现,用户进入程序设计区,自动出现插入
代码功能,等等。
4,可匿名回复帖子。
有很多网站提供这个功能,也有很多网站不提供这个功能。我认为是否提供这个功能是判断
一个社区是否体贴用户的一个标志。时刻记着,引导用户注册而非强迫用户注册。前者带来
的注册用户对社区的认同感和粘性将更强。
5,分页的考虑
1,用户应该可以随时选择 每页显示20条,还是40条,或其他指定的任何分页值。这个可用于
列表页,也可用于内容页的情况。
2,尽量用数字表示页码,而不是上页/下页的样式。baidu,google的设计的就不错。
6,站内短消息功能
1,容量应该是有限度的。比如最多保存20条等。站内短消息是用来即时交流和通知信息
不是用来存储的。以提醒用户及时处理自己的信息。同时也可清理那些N年不来一次的
用户的短消息,以避免浪费系统资源。
2,可导出短消息。
3,草稿箱功能。满足两种用户需要:先写好,想想是否要发;写完了,突然不想发,但不肯定
将来要不要发,提供保存功能。
4,可设置不接收某些用户的信息,或者不接受所有用户的信息。
7,贴心的搜索功能
一般的老用户在你的社区呆久了,自然就会添加了很多好友,收藏了很多帖子。也可能发表
了很多帖子,应该提供精确定向的搜索功能,可搜索自己的发表的或收藏的帖子,好友的发
表的帖子的等等。这个功能大多的社区都没提供。
8,在用户写作区(编辑器)的某个合适的地方提供搜索框
可用google或baidu的搜索框。有些用户喜欢在线写作,偶尔需要搜索引用些资料。这样会
给用户提供一定的方便。还有可能为网站增加收入。但要注意,以不影响用户写作为前提。
这个功能特别适合技术类的blog。
9,智能化的推荐帖
有些社区在精华帖之外,还有个推荐帖的概念,不过我认为推荐帖不是由网站决定的,而应该
根据用户以往的浏览记录,收藏记录。用户信息的爱好等信息智能判断提取用户最有可能喜欢的
帖子做为推荐帖子,当然也可能考虑帖子的多种考虑因素,增加推荐成功率。
10,楼主/博主的回复“突出显示”
这个在某些时候会很有用。不过我觉得对blog特别有用。因为你阅读博主blog的文章,对博主
的回复自然感兴趣,对论坛的意思不是特别大。
-
在lupa开了个宣传java和开源的企业应用的的板块
2006-06-05 15:22:40
http://bbs.lupaworld.com/thread.php?fid=227
不知廉耻的向sanool,,要了个斑竹的头衔,,过把瘾!!
JAVA开发与应用
定位:使用开源软件构建企业应用,研究前沿的java社区的软件动向,,促进开源的实践..
涉及java软件开发的各种工具,,(主要针对linux平台),,
java开发的项目过程,
各种开源软件的应用,,(用开源软件构建强大的企业应用)
-
in action 书籍
2006-06-04 14:13:03
WebWork -
关注web 2.0网站
2006-06-01 17:13:37
http://www.uuzoom.com/ (中国视频网站)
http://www.youtube.com/ 国外的视频网站
Diggclone-开源digg类程序
官方:http://www.talkingpixels.org/diggclone/index.php
演示:同digg.com类似
Aroundme-开源社会化网络程序
官方:https://savannah.nongnu.org/projects/aroundme/
演示:http://www.barnraiser.org/demos/
(社会化网络程序通常都是收费的,相信这个是目前唯一免费的social netwokr项目啦)
Lilina–开源RSS聚合器
官方:http://lilina.sourceforge.net/
演示:http://www.chedong.com/
Gregarius–开源RSS聚合程序
演示:http://rss.gregarius.net/
官方:http://gregarius.net/
插件:http://plugins.gregarius.net/
风格:http://themes.gregarius.net/
论坛:http://forums.gregarius.net/
帮助:http://wiki.gregarius.net/
Sa.bros.us-开源网络书签(PHP)
官方:https://sourceforge.net/projects/sabrosus/
汉化演示:http://www.sluke.cn/demo/monousuario/
Freedmarks -开源网络书签(ASP)(国内)
官方:http://www.purewhite.cn/
演示:http://www.freedmarks.com/
Scuttle -开源网络书签(PHP)
官方:http://sourceforge.net/projects/scuttle
演示:http://scuttle.org/
Yogurt-开源社会化网络门户
官方:http://yogurt.sourceforge.net/
eyeos---开元的WEBOS,
官方:http://www.eyeos.org
演示:http://www.earn8.net
有中文版本的。
-
java开发工具推荐 easyeclipse
2006-06-01 13:43:45
http://www.easyeclipse.org/site/home/index.html
一个java开发工具,集成了很多的开源工具。
也提供了
Home » Distributions
* Distributions
o Expert Java
o Desktop Java
o Server Java
o Mobile Java
o Plugin Warrior
o for LAMP
o for PHP
o for Ruby On Rails
o for Python
各种版本,嘎嘎,笑一个
-
网站项目工作流程:雅虎是这样运作的
2006-06-01 13:34:27
网站项目工作流程:雅虎是这样运作的
网络产品设计:产品制作人写产品计划书,确定新产品或新功能的市场意义和经济效益,提交部门审批,同意后,确认需要设计的部分,和用户体验研究员 (user researcher),信息建构师(information architect),视觉设计师(visual designer)、user interface designer,互动设计师(interaction designer),web developer,工程师(engineer)一起讨论需要的支持,然后订出时间计划分工合作。一般是先由用户体验研究员作调查、分析后由信息建构师设计产品架构,然后由互动设计师作出互动流程,之后交给视觉设计师(visual designer)和user interface designer作出视觉设计。然后web developer把设计通过编写程序(html, dhtml, JavaScript)等等再现出来,最后交给工程师。做完后用户体验研究员需要做用户测试,QA(Quality assurance) 需要测验这一产品的每一步骤,确认产品的使用质量,如果有问题需要让工程师或相关人员解决。
小型项目的工作流程局往往限于有限的人力和时间,经常是短、平、快:拿到brief,进行设计,综合意见,投放到网站,总结效果。比如广告设计,一般是我组织市场部开会,集体出创意,然后大家达成一致意见。决定设计主题后发到德国和法国取得相关的翻译。按照雅虎的广告标准,我设计制作出最终的广告,交到广告发行部定期发行。广告运行两周后,拿到数据信息,根据浏览量(page impressions),点击率(CTR: Click Through Rate),和conversion rate来分析广告效果,总结经验。
总结起来就是:
1. 产品制作人,写产品计划书。
2. 用户体验研究员,作调查分析。
3. 信息建构师,设计产品架构。
4. 互动设计师,作出互动流程。
5. 视觉设计师和用户界面设计师,作出页面视觉设计。
6. 前台工程师,前台开发。
7. 后台工程师,后台开发。
8. 用户体验研究员,做用户测试确保质量。
应该算是一个比较完善成熟的流程了,“信息建构(IA)”和“互动设计(ID)”明显处于很重要的位置。
谈谈个人感受,国内项目普遍流程就如bluedodo所说:策划+设计+制作+开发,普遍忽略的是第2, 3, 4,或者说是其他某个流程附带完成,第6前台开发也是只存在于大型正规公司,或者说有普遍进一步完善的趋势。
至于UE, IA, ID 如何进行,我觉得没有绝对固定的模式,根据项目实际情况,关键在于团队的默契。不是说国内从业者不知道如何进行,而是根本没有这个习惯,把项目环节细分一下,就很清楚各自职能了。这些流程的核心目的就是逐步保证产品质量,减少“前台开发”和“后台开发”的重复劳动。这方面国内人才确实极少,整体水平基本处于幼稚阶段。
就Yahoo这个流程来看,应该是针对大型的应用型产品项目。看看人家在“确认设计需求”时,就需要几乎所有项目环节参与者进行综合讨论,让人狂汗不已;定开发计划都是大家讨论进行,而不是单方面强制决定,多么人性化啊。
相关评论:
1、比较认同王小丹的“网页设计的重要目的是创造经济效益”,我们最终的目地还是创造更多的经济效益,当然我们在设计的同时也会同时建立一个行之有效的、可操作性的统计系统以分析检测我们的产品或设计能够给用户以吸引力。对比测试会用到,同类产品、竟争对手也会留意到,产品在于不段的调整和优化。千鸟对于这种理想化的东西,我们正在变为现实。
小丹提到大公司往往是一个人全包,这种现象在我们这里也有,不过必竟是少数,整个团队的分工及快速有效的执行力往往是一个人所达不到的。不过我感觉Yahoo这方面的强人不少,而且近期来Yahoo的运作和广告的投放(在广州看到不少),都是有目共睹,相当不错,向你们学习!
2、其实大家没必要考虑的这么理想化,而且不同项目对各环节要求也是有强有弱,说到最后还是归结为专业人才对流程的把握上。我们目的不是去设计流程,而是用最优的流程来设计产品。
“对比测试”方法相当有趣,分析是一门科学,设计是一门艺术,把他们完美结合起来是我们工作的目标。
3、我想还有很重要的一点我在文章中没有提到。那就是设计对网站或公司的经济效益的影响。设计师提供的是实用美术,服务于一个目标,这个目标或者是提高品牌影响,或者是增加产品效益。所以设计投放到市场之后很重要的是分析设计的表现,研究设计的之间或间接经济效益,总结优点同时发现问题,然后提高下一次的设计。我在设计中觉得很有效的一个方法就是A,B测试。举例:比如同一个广告,照片色彩设计等完全一样,但是广告语不同,在同方式给两个相似的设计相同的浏览量,测试1-2周,根据不同的设计目的来分析那个设计表现得更好:点击率(适用于提高品牌或产品的注意率),conversion rate(适用于需要直接付费的产品或服务)。然后把得到的经验用于下一次的设计。
归根结底,网页设计的重要目的是创造经济效益。优秀的互动设计,信息建构和视觉实际带给用户良好的体验,保持用户的忠诚度,从而带动经济效益。
4、大家好,很高兴我提供的一些信息引发了大家的讨论。其实在大公司也经常是一个人全包,不过可能区别在于,这一个人有综合的技能,把信息建构,产品架构,互动设计,甚至前台开发等流程都包括在设计范围之内。所以虽然人手也不够,但是并不代表忽略细节或关键步骤。而这些往往都是视觉设计师做的工作,在英国现在信息设计师的工资很高也是因为现在大家认识到这一职位的重要性而真正专业的人太少了。很高兴和大家一起探讨。
5、iceshow的文章很好,在自己理解的基础上去分享别人的经验,才能感受到其中的博大精深。
没有想到我无意有感而发,引发了这么多同行的关注,可喜可贺。
6、所谓流程只是一个过程,不是说每个流程都必须要一个人来做,和项目大小也没有直接联系。当然某些环节不考虑不至于影响大局,也不是说没有这些环节的产品就一定差。
7、国内还要慢慢来~
现在大家还是对全才看重多于专才。
工作要求短平快,不细分,最后吃亏的还是自己。
8、小公司的制作分工:
1. 产品制作人,写产品计划书。(某A)
2. 用户体验研究员,作调查分析。(某A某B混合)
3. 信息建构师,设计产品架构。(某B,通常无)
4. 互动设计师,作出互动流程。(某B,通常无)
5. 视觉设计师和用户界面设计师,作出页面视觉设计。(某C)
6. 前台工程师,前台开发。(某B)
7. 后台工程师,后台开发。(某B)
8. 用户体验研究员,做用户测试确保质量。(某B,通常无)
9、中国的现状就是最好能1个人做的就不会让2个人做,只要能做出来才不管质量、用户体验等感受。
10、我见过的网站项目一般都是 策划(编辑)+设计+制作+领导。。。。据我所知许多小公司 设计制作都没有明确分工。。。 呵呵 打造全才的体制! -
ubuntu桌面图标
2006-05-29 23:14:11
http://www.silvestre.com.ar/?p=53 -
archlinux
2006-05-29 01:40:28
修改:/etc/pacman.d/current
[current]
Server = http://download.ourlinux.net/archlinux/current/os/i686
修改:/etc/pacman.d/extra
[extra]
Server = http://download.ourlinux.net/archlinux/extra/os/i686
修改:/etc/pacman.d/unstable
[unstable]
Server = http://download.ourlinux.net/archlin...stable/os/i686
修改:/etc/pacman.d/testing
[testing]
Server = http://download.ourlinux.net/archlin...esting/os/i686
在/etc/pacman.conf添加
[alcle]
Server=http://download.ourlinux.net/archlinux/alcle
http://mirror.lupaworld.com/archlinux/current/os/i686/
http://mirror.lupaworld.com/archlinux/extra/os/i686/
好了,现在开始吧:
1.同步你的包列表:pacman -Sy
2.升级基本系统到最新:pacman -Syu
3.安装xorg: pacman -Sy xorg
4.配置xorg:xorgconfig,生成的配置文件就在/etc/X11/xorg.conf
这里,我的罗技光电的鼠标配置如下:
代码:
"Protocal" "ExplorerPS/2"
"Device" /dev/input/mice
"ZAxisMapping" "4 5"
5.运行startx看看,成功了吗?
6.我的gf400,所以安装nvidia驱动:pacman -S nvidia。记得要退出x哦,而且安装好之后要更改xorg.conf的相应选项:
代码:
#确认打开
Load "glx"
#确认关闭了
#Load "dri"
#注意修改Device中的
Driver "nvidia"
这些和平时安装需要修改的一样!还要记得在/etc/rc.conf里的MODULES里的括号里头的最后加上nvidia哦!
7.再次startx,成功了吗?
8.Ok,现在安装gnome:pacman -S gnome。呵呵,大概要下载100多兆的东西,这样就安装了一个基本gnome桌面了。
9.安装gdm:pacman -S gdm
10.设置开机起动gdm,记得怎么设置吗?对了,在/etc/rc.conf里的DAEMONS里括号里的最后加上gdm就可以了。
11.重启动,进入gdm,选择起动gnome,进入gnome!
中文美化:
准备:
建立一个目录/usr/share/fonts,拷贝simsun.ttf(simsun.ttc改名),tahoma.ttf,tahomabd.ttf到这个目录。到http://download.linuxsir.org/struggle/下载里面的四个包。
最好退出x,然后我们开始:
1.运行fc-cache -vf
2.安装下载的四个包,注意顺序:
代码:
pacman -Rd freetype2
pacman -A freetype2-2.1.7-1.pkg.tar.gz
pacman -Rd fontconfig
pacman -A fontconfig-2.2.95-1.pkg.tar.gz
pacman -Af libXft-2.1.6-1.pkg.tar.gz
pacman -Rd pango
pacman -A pango-1.4.0-1.pkg.tar.gz
3.修改/etc/gtk/gtkrc.zh_CN,/etc/gtk-2.0/gtkrc这些都是老话题了,自己参照以前的修改搞就是了。
4.好了,进入gnome,将字体改成tahoma,将字体渲染改成单色。现在的字体显示是不是就ok了?呵呵。
起动xorg的阴影和透明功能:
1.安装软件包:pacman -S xapps
2.在xorg.conf中添加如下选项:
代码:
Section "Extensions"
Option "Composite" "True"
EndSection
在你的nvidia显卡的配置模块中加入:
代码:
Option "RenderAccel" "True"
3.进入gnome,运行:xcompmgr -c &,打开阴影
4.开一个终端,运行:transset 0.6,用十字光标指定一个窗口,ok,透明出来了!
到这里就差不多了,但是我们的gnome只是一个基本系统而已,如果你需要其他的,请pacman你需要的软件包。因此,最好熟悉一下pacman的使用,至于有什么包嘛,到www.archlinux.org上搜索就是了嘛!
好了,大概就这些了吧。其实Arch Linux用起来真的不错,我觉得它和Gentoo太像了,只不过不用自己编译而已,省时省力!欢迎大家一起交流!
美化包已经更新了,到ftp://cle.linux.org.tw/pub/ArchLinux/cle/下载吧!
-
google的 picasa
2006-05-28 10:29:52
有三种安装包。
rpm,deb,bin包
功能跟win下的基本差不多,很不错的东西
下个等待的产品就是
gtalk for linux.
gaim的也可以实现,但还是google的来一个
现在不指望qq的for linux 版本了。 -
代码大全 读书笔记
2006-05-23 14:12:44
好好开始看书,好好开始写笔记,好好开始生活!!
测试:test
测试有:单元测试,组件测试,集成测试,回归测试,系统测试..
测试先行(测试驱动开发)
-
Linux 系统下的大型/开源/网络游戏清单
2006-05-15 09:27:17
各位,为了玩游戏而装两个系统的兄弟有福了,可以不用装两个系统了哦
编号 名称 大小
A0001 《黑客精英》(UPLINK) DEMO 6.85 MB
A0002 《王权幻想王国》简体中文版 DEMO 41.1 MB
A0003 3d car trigger 28.9 MB
A0004 Automanic (赛车游戏) 24.0 MB
A0005 Cycles 3D for Linux (赛车游戏) 1.23 MB
A0006 Dark-oberon(即时战略游戏) 23.9 MB
A0007 Doom3 DEMO 462 MB
A0008 FlightGear 模拟飞行 94.8 MB
A0009 Freeciv--文明 3.42 MB
A0010 Linux连连看 3.32 MB
A0011 magnant 修改版(类星际的游戏) 21.3 MB
A0012 nexuiz (类quake游戏) 178 MB
A0013 文明力量的召唤 58.6 MB
A0014 rune DEMO 53.0 MB
A0015 Simutrans (城市运输经营) 2.07 MB
A0016 The Battle for Wesnoth 38.2 MB
A0017 Vdrift 43.7 MB
A0018 北国 DEMO 76.4 MB
A0019 Robin Hood The Legend of Sherwood DEMO 61.9 MB
A0020 泡泡龙 6.98 MB
A0021 实况网球游戏 6.79 MB
A0022 荣誉勋章(Medal of Honor)Beta 6.81 MB
A0023 走进特工Hopkins FBI DEMO 128 KB
A0024 铁路大亨2 DEMO 51.4 MB
A0025 quake4 18.3 MB
A0026 英雄无敌3 1 CD
A0027 虚幻竞技场2004 DEMO 185 MB
A0028 descent3-demo 43.0 MB
A0029 DropTeam (军事游戏) 361 MB
A0030 EnemyTerritory 258 MB
A0031 tremulous(类cs游戏) 101 MB
A0032 WolfGL 狼窟刺杀希特勒 1.46 MB
A0033 铁路大亨2完全版 1 CD
A0034 antargis(类魔兽游戏) 18.4 MB
A0035 模拟城市3000 完整版 1 CD
A0036 Rune 完整版 1 CD
A0037 Soldier of Fortune 完整版 1 CD
A0038 Tux Racer For Linux (赛车游戏) 1 CD
A0039 可汗 完整版 1 CD
A0040 Descent.3 完整版 2 CD
A0041 Heavy Gear 2 for Linux 完整版 1 CD
A0042 Heavy_Metal_F.A.K.K.2 完整版 1 CD
A0043 HERETIC2-LINUX 完整版 1 CD
A0044 hopkins fbi 完整版 1 CD
A0045 Jagged.Alliance.2.-.Linux 完整版 2 CD
A0046 quake4 DEMO 1 CD
A0047 Unreal Tournament 完整版 1 CD
A0048 人马座 Centauri.Alien.Crossfire.完整版 1 CD
A0049 文明力量的召唤 Civilization_Call_to_Power 完整版 1 CD
A0050 重返德军总部 完整版 1 CD
A0051 撞砖块 3.06 MB
A0052 quake4 1.1 beta 54.9 MB
A0053 quake4 地图 16.4 MB
A0054 城市无限(类模拟城市游戏) 107 MB
A0055 超级企鹅 6.4 MB
A0056 美国陆军 2 CD
A0057 Glest (3D实时战略游戏) 46 MB
A0058 王权幻想王国(Majesty) 完全版 1 CD
A0059 美眉野球拳1 10.8 MB
A0060 Waesow (第一人称射击游戏) 30.5 MB
A0061 Tux FootBall (2D 足球游戏) 8.93 MB
A0062 turbosliders 赛车游戏 DEMO 17.8 MB
A0063 古罗马传奇 3.6M
A0064 Doom 3 3 CD
A0065 模拟赛车游戏──Torcs 97.3 MB
A0066 大航海 7.14 MB
A0067 模拟城市 Mobility 40 MB
A0068 魔兽II 1.79 MB
A0069 桌球 1.01 MB
A0070 Adonthell 角色扮演 10 MB
A0071 UPLINK 黑客精英 完整版 22.5 MB
A0072 恶魔威士忌 DEMO 86 MB
A0073 Eric's Ultimate Solitaire DEMO 9.5 MB
A0074 异教徒2 DEMO 53 MB
A0075 重装机甲2 (Heavy Gear 2) DEMO 64 MB
A0076 可汗(Khan) DEMO 38 MB
A0077 思考机器(Mind rover) DEMO 24 MB
A0078 神话2 MYTH2 DEMO 64 MB
A0079 模拟城市 3000 DEMO 177 MB
A0080 阿尔法半人马座 (Sid Meier's Alpha Centauri) DEMO 8.3 MB
A0081 命运战士 Soldier of Fortune DEMO 88 MB
A0082 部落2(Tribes2) 9.8 MB
A0083 雷电 Chromium B.S.U. 1.1 MB
A0084 Xmoto 摩托英豪 2.7 MB
A0085 Dangerdeep 危险深海 23 MB
A0086 星际大反攻2:危机 180 MB
A0087 Hexen II: Hammer of Thyrion 9.7 MB
A0088 百战天虫 --- Wormux 20 MB
网络游戏
W0001 玛娜世界(The Mana World ) /
W0002 太空网游《宿怨Online》 /
W0003 Daimonin -- 免费的奇幻类欧美新网游 /
W0004 新形态网游 -- 沙漠传说 /
W0005 第二生活 Second Life /
W0006 无冬之夜(linux 客户端) /
W0007 Stendhal for Linux (RPG游戏) /
W0008 网络游戏 Dofus /
W0009 网络游戏 Parsec /
W0010 网络游戏 永恒大陆 /
W0011 网络游戏 Planeshift /
下载地址: http://www.linuxgame.org
官方网站:http://www.bzflag.org/ 上面有提供下载和截图。我现在没有办法试验,大家感兴趣的去下载了回应以下吧。
BZFlag的介绍。
BZFlag is a free multiplayer multiplatform 3D tank battle game. The name stands for Battle Zone capture Flag. It runs on Irix, Linux, *BSD, Windows, Mac OS X and other platforms. It's one of the most popular games ever on Silicon Graphics machines.
_________________
-
log4j快速入门实践功略(1)
2006-07-03 14:18:30
-
使用MiddleGen 产生hibernate的数据库表映射文件
2006-06-29 19:07:59
-
程序员每天该做的事
2006-06-21 22:46:51
-
关系数据库设计之基本规则--范式
2006-06-20 08:58:18
-
终于入手dopod575
2006-06-19 20:52:02
-
E都市应用
2006-06-18 07:29:52
-
confluence配置指南
2006-06-15 18:44:05
-
jira安装指南
2006-06-15 18:32:35
-
hsql数据库使用心得
2006-06-15 12:10:20
-
大型社区设计:提高用户体验的10个细节
2006-06-07 23:45:11
-
在lupa开了个宣传java和开源的企业应用的的板块
2006-06-05 15:22:40
-
in action 书籍
2006-06-04 14:13:03
-
关注web 2.0网站
2006-06-01 17:13:37
-
java开发工具推荐 easyeclipse
2006-06-01 13:43:45
-
网站项目工作流程:雅虎是这样运作的
2006-06-01 13:34:27
-
ubuntu桌面图标
2006-05-29 23:14:11
-
archlinux
2006-05-29 01:40:28
-
google的 picasa
2006-05-28 10:29:52
-
代码大全 读书笔记
2006-05-23 14:12:44
-
Linux 系统下的大型/开源/网络游戏清单
2006-05-15 09:27:17