烦恼岁月

付出总是有回报的 take action follow your heart , or follow your head
posts - 40, comments - 5, trackbacks - 0, articles - 4

2009年11月8日

自动地可视化表示数据库也可以让您受益匪浅。实体关系图(ERD)是实现数据库可视化的最流行的图示类型。大多数创建 ERD 的工具(例如,ERWinfor)都需要手动生成 ERD。虽然我将要示范的工具 SchemaSpy 无法与现存的一些更复杂的工具媲美,但是它能够提供数据库的高级 ERD 视图 — 以及约束、关系等。而且,通过自动构建来运行它,您就可以轻松地从您的版本控制库中检查数据定义语言(Data Definition Language,DDL)的最新显示。

Ant 脚本使用 SchemaSpy 工具来创建 Javadoc 格式的文件:

结合使用 SchemaSpy、Ant 和 Javadoc

<property name="reports.dir" value="${basedir}"/>
<java jar="schemaSpy_3.1.1.jar"
  output="${reports.dir}/output.log"
  error="${reports.dir}/error.log"
  fork="true">
  <arg line="-t mysql"/>
  <arg line="-host localhost"/>
  <arg line="-port 3306"/>
  <arg line="-db brewery"/>
  <arg line="-u root"/>
  <arg line="-p sa"/>
  <arg line="-cp mysql-connector-java-5.0.5-bin.jar"/>
  <arg line="-o ${reports.dir}"/>
</java>

 

使用 java Ant 任务调用 SchemaSpy,传递了很多属性:

  • -t 为数据库类型(有效值为 mysqloradb2,等等。)
  • -host 为托管数据库的计算机名。
  • -port 为数据库 URL 的端口数。
  • -u 为数据库用户名。
  • -p 为数据库密码。
  • -cp 为类路径(用于指示数据库驱动程序 JAR 文件的位置)。
  • -o 为输出目录的位置。

这些 SchemaSpy 的命令行属性用于生成显示 ERD 的 HTML 文件

通过结合使用多种工具、作为构建的一部分针对数据库执行 ERD 生成脚本,并调度 ERD 生成,您就可以在开发过程中轻松、快速地做出很多数据库决策。

另外,对于喜欢maven的同学,SchemaSpy  也提供了plugin

http://maven.wakaleo.com/mojo/maven-schemaspy-plugin/faq.html

posted @ 2010-05-16 16:16 不需要解释 阅读(511) | 评论 (0)编辑 收藏

     参加工作也已经5年多了,一直想回头回想一下自己,然后动笔写下来,一来是自己目前还可以记忆起一些事情,等自己将来老了,可以看看这些东西回忆回忆。二来也是想做一个总结。本来这个题目也可以叫做我的bmi5年,不过大家知道bmi的实在是少,而且现在这个公司已经名义上不存在了。

     我是在2001年去沈阳读书的,一直也是很喜欢沈阳的气候和东北人的豪爽,东北爷们是真正可以拿心和你交朋友的,不过我实在不喜欢东北的饮食,觉得不细腻,另外南方还有我的女人在等我回去,要女人来东北,难度不是一般的大,所以在找工作的时候,我就下定决心一定要找南方的公司,最好广州,深圳的,或者老家南昌的也是可以的。但是南方公司去东北招生的实在是少,除了华为,中兴之外真的是少的可怜,尽管我们学校在沈阳也是数一数二的学校。

     在04年在10月份,我面试的第一家公司是东软,没有办法,谁让我们学校是东软的最大股东尼(不知道现在是不是),面试的过程也还不错,考试题也做的很顺,东软还提出我们下学期直接找一些外教来教我们日文,不过当时东软给出的薪水实在是低的可怜,只有1800元,而且还要自己负责住宿,自己当时也老大不小了,还有女人在读书,是不是也是需要买些礼物的,而且沈阳和大连都不是我想去的地方,结果就直接没有去报道。

     接下来的日子也就整天在校内的招聘网站(白山黑水)上看帖子,看到了上海bmi的招聘广告,一看是上海的公司,而且做的是辽宁网通的项目,感觉项目很大,可以学到不少东西,关键是上海的公司,项目做完了就可以去上海发展呢,而且当时女朋友也还在读研究生,仔细的想想觉得这个公司还是比较适合自己,于是也开始做准备,接下来的事情都很顺利,笔试,面试,当时有资格参加面试的,整个我们学校也就2个人,一个本科生,一个研究生,不过最后那个研究生也没有过去。

     在辽宁项目的前期这段时间,估计也会我成长最快,也是最艰苦的时间,我后续的会详细介绍到。我第一天上班就是去做release,也就是做发布和部署,在当时的项目中,我们并没有像一些公司还有项目配置员这个角色,就是直接拉一个开发人员来负责做release,这个角色当时是在项目中最辛苦的一个,经常是下午6点开始,然后编译3-4个小时,到10点才可以编译完成(比较顺利的情况下),如果遇到编译不过去的时候,还需要联系开发人员进行修改,编译之后在对照check list进行增量部署。

    在第一天上班,我就从上午10点过去,第2天凌晨3点半才下班,到4点才到学校宿舍睡觉,后续的1个月都是如此,现在回想起来,感觉当时真的是很辛苦,不过那段时间也开始熟习了不少东西,知道了基于模块开发,对ant,weblogic,oracle,plsql,linux,aix等的使用也开始非常熟习了。在这段时间里也开始熟习了公司的项目情况,开发人员,测试人员。

posted @ 2010-05-04 00:06 不需要解释 阅读(285) | 评论 (0)编辑 收藏

    最近在看一些项目的代码,总是发现很少项目提供出uml图,或者就是提供uml图的也有可能并没有和代码对应上,如果有正确的uml图,可以非常方便的为大家更好的理解代码层次逻辑。其实我们可以使用使用UMLGraph来生成uml图,直接使用java代码来生成UMLGraph。对于大部分项目来说,我们一般使用maven和ant(还在使用ant,你out了)来作为项目的编译工具。

    在maven中,我们可以在pom.xml增加:

    <reporting>
        <plugins>
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.6.1</version>
        <configuration>
          <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
          <!-- <docletPath>/path/to/UmlGraph.jar</docletPath> -->
          <docletArtifact>
            <groupId>org.umlgraph</groupId>
            <artifactId>doclet</artifactId>
            <version>5.1</version>
          </docletArtifact>
          <additionalparam>-views</additionalparam>
          <useStandardDocletOptions>true</useStandardDocletOptions>
        </configuration>
        </plugin>
        </plugins>
    </reporting>

使用javadoc:aggregate 就可以生成出整个项目按照package的uml图了。

如果是使用ant,在build.xml中增加target

   <target name="genuml">
        <property name="uml.dir" value="${basedir}/uml"/>
        <property name="src.uml.dir" value="${src.dir}/uml"/>
        <mkdir dir="${uml.dir}"/>
        <path id="uml.source.path">
           <pathelement path="${src.uml.dir}/"/>
           <pathelement path="${src.java.dir}"/>
        </path>
        <javadoc sourcepathref="uml.source.path" packagenames="*" package="true">
           <doclet name="org.umlgraph.doclet.UmlGraph" path="${basedir}/lib/UmlGraph.jar">
               <param name="-d" value="${uml.dir}"/>
           </doclet>
        </javadoc>
        <apply executable="dot" dest="${uml.dir}" parallel="false">
            <arg value="-Tpng"/>
            <arg value="-o"/>
            <targetfile/>
            <srcfile/>
            <fileset dir="${uml.dir}" includes="*.dot"/>
            <mapper type="glob" from="*.dot" to="*.png"/>
        </apply>
    </target>

注意:要正常使用 UMLGraph,您必须先安装 Graphviz 工具,请自己google相关信息。

posted @ 2010-04-19 23:59 不需要解释 阅读(1857) | 评论 (0)编辑 收藏

       尽管工作了5年多了,现在能想起来的培训真的是少之又少,但是我想以后,我一定不会这样说了,因为我参加了百支了!

       百支对于我来说是一次清洗,洗掉以前的恶习,洗掉以前的老思维,重新培养我丢掉已久的价值观,重新找回往日的激情。来阿里之后,也一直在想一个问题,阿里和我以前公司有什么不同?或者说有什么特别的之处?其实这个问题有很简单,就是阿里是一家有梦想的公司,一家有价值观的公司,一家有亲情,友情的公司,一家工作生活一体的公司,从中国来看,阿里是唯一一家大的公司,而且价值体系贯彻的这么好的公司,only one in china。

      百支培训了很多业务知识,传统线,虚拟线,兄弟线,安全线,资金线,…学到了很多东西。

      百支的培训,让我开始结识了新的同学,新的家人,新的伙伴,让我们happly every day! 认真工作,快乐生活!

posted @ 2010-04-16 21:48 不需要解释 阅读(398) | 评论 (0)编辑 收藏

   随着网络技术的发展,很多恶意程序往往按照常规方法无法彻底删除。有没有什么方法能够在不安装任何第三方工具的情况下,删除它们呢?笔者经过多年实践,告诉大家一个秘密武器--关闭Explorer进程法。

  在服务器系统出现问题时,例如某个文件无法删除,某个程序假死或者是系统没有响应都可以按CTRL+SHIFT+ESC,调出Windows任务管理器。接下来找到“进程”标签,将“explorer.exe”进程关闭。接下来整个桌面就会消失,只剩下桌布了。然后通过Windows任务管理器的“文件”菜单下的“新建任务(运行)”打开“创建新任务”窗口,通过“浏览”按钮找到要删除文件所在目录,在浏览窗口里直接删除即可。99%都可以将这个顽固的文件删除,删除后继续选择“文件”菜单下的“新建任务(运行)”打开“创建新任务”窗口,在打开处输入命令--explorer后回车,我们将返回到正常的桌面界面下。显然,对付顽固文件,这个方法尤为简单。

posted @ 2009-11-10 16:19 不需要解释 阅读(216) | 评论 (0)编辑 收藏

    1、专注于构建一个强有力的团队,这一团队能够解决困难的问题,并为客户创造真正的价值。
  2、领导者鼓舞;管理者授权。要同时成为优秀的领导者和管理者,你需要就愿景进行沟通并理解其细节。
  3、对可能出现的障碍有所准备,防微杜渐,在这些障碍尚未壮大时就清除它们。
  4、花时间来仔细倾听别人的意见,但不要过于担心其他人的想法。
  5、专注于事实。
  6、充当一个衰减器,而不是放大器,为团队提供稳定性。
  7、永远不要将不能解释的事情归咎为蓄意破坏。
  8、培养幽默意识来作为严肃认真的一种平衡:对工作一丝不苟,对自己轻松自如。
  9、除了工作,还应该懂得享受生活,而且每年要读25本书。
  10、相信你的直觉:如果你感觉不妙,那么很可能预感就会成真。

posted @ 2009-11-08 03:10 不需要解释 阅读(212) | 评论 (0)编辑 收藏

我实话告诉你们,我可是身经百战了.bbs我见的多了,哪个版我没灌过?你们要知道, 一塌糊 涂的triangle,PIC,SEX版,那比你们不知道厉害到哪里去了,我在那谈笑风声.你 们有一好就是无论在哪个版,什么话题都灌,但是灌来灌去的问题,都too simple, sometimes naive!你 们懂不懂呀?啊?所以说灌水啊,关键是要提高自己的知识水平.你 们啊,不要总想着弄个大坑,然后灌上十大,再把我羞辱一番……你们啊,naive!你们这 样灌是不行地!~那你問我支持 不支持灌水,我說支持,我常來這裡灌,你說支持不支持?