2006年07月16日

看了Matrix上的关于Hibernate的介绍,又读了一下cowoo的配置文件,有了些概况认识了.

  1. PO:(Persistent Object)持久化对象。看了什么是持久化对象,对Hibernate第一次有了比较明确的认识。(14:01)
  2. 用自己的话说:Hibernate就是为了把对象的行为与数据库和程序间的数据交互进行分离,先由各种接口定义对象的行为,再由这些接 口对应的实现类来实现行为,在Hibernate配置文件中配置这些实现类,之后这些接口就可以像实体类一样使用,而它的代码实现是由配置文件里注册的实 现类来承担的。
  3. 这种实现的好处:接口类可以用于抽象的定义对象可以拥有的行为,不用考虑具体实现。而实现类与接口类的连接关系是通过xml配置文件及接口implements绑定的,不需要改变代码就可以换用不同的具体实现类,只需要修改配置文件即可。
  4. 再取其本质,就是在代码中定义使用接口类,在配置文件中决定这个接口类由哪个实现了该接口的具体类来替换。(14:28)
  5. 现在感觉对Hibernate又不太清楚了,DAO应该是spring里的东西。
  6. ft,看来概念也要一遍一遍重构。

上面说的都是我个人的认识,一定是有很多的错误的,请google进来的朋友注意,不要盲目相信。另外,如果有前行者能够指点迷津的话,本人将十分感谢。

2006年07月10日

本来是发在朋友张罗建的一个分享论坛上的,写着写着又激动了,越写越多,就干脆拷贝了一份到这里,留作纪念吧。

大学也算考了两年了,从最初的认真预习、复习、自习、备考,到现在的提前一周看书、做往届卷子,不知道是进步还是退步,不过有两点是明确无误的:
1 分数上看是在退步,虽然还能保持80+的平均分,但是年级排名一直呈下降趋势
2 每次考试都是信心十足,基本保证提前交卷。有些科目可以保证全场第一……交卷。

先说些题外话,从高中上来,对分数还是很重视的,但是渐渐的开始认为分数不重要,能力重要;不过这学期又有些感觉,下学期要重新开始追求分数了。有些课确实没劲,考的知识点就更没劲了;但是像sunner的C、王义和老师的离散数学、唐朔飞老师的计算机组成原理,都是很重要的课,考的也绝对不像某些垃圾课一样无聊。不过话又说回来,垃圾卷子都得不了高分也就别混了(这个主要是态度问题,要是鄙视的话不认真考也没什么,比如鄙人的整治系列)。
好,回归正题。说些大学的学习备考方法。
首先,对于重要的课,一定要去听,即使睡觉也是会有吸收率的,比逃课自己看好,因为有些老师课堂上会将一些课本上没有的或是强调一些重点,不是自己看书就能领悟到的。至于吸收率,就看各人的修为了。要做到睡梦中也能保持一定的输入流量,至少要保证分块提取(名词解释:就是说听一部分,遗失一部分,但可以保证对知识整体的全局概念)。
其次,考试前要根据自己的掌握程度和记忆能力,推算好复习开始时间,保证复习完毕正好上考场,使短期记忆发挥最高功效。按照个人的经验,复习的时候我只看课本+极少量的作业习题,本着万法归自然返璞归真求其本源的态度,掌握最根本的概念和性质定理,而不是被各种习题蒙蔽了眼睛。这样可以节省本来就不多的复习时间,掌握知识脉络,对这门课有一个全面的理解,对于高人还可以做到细致的掌握。
最后,当然这部分是最重要的,所谓知己知彼百战不殆,往届的考试真题是绝对要搞到手的,最好是近两年的都要,可以动态的发现出题的趋势,一般来讲都是一年比一年简单,而且从多年题目的交集中也可以看到出题的重点,指导你的复习更加有针对性。试卷上的题目一定要老实做,肯定会有原题,尤其是去年的。当然也会有一些考试老师很负责,不会出现重题,也没有什么太强的规律性可言。这就要凭自身的水平集中重点打歼灭战了。
最后最后,考试之前调整好心态,保证1000%的自信,不能慌,要相信老师不会故意为难你,只要认真做,及格是没问题的。

都说完了,不是想教大家怎样临时抱佛脚,而是想说明一件事,考试只是考试,什么都不是,是检验你对这门课程的最基本知识的掌握程度,只能检验这个水平的知识,所以说70~89的差别都不大,基本是态度问题,至于90以上的,有两种可能:一是靠应试教育坚实的基础,经过题海战术和刻苦背诵的结果;二是考卷灵活,能考出一些高级的水平,一些高手就有了展现的空间。这两者都应该受到尊重,毕竟人家付出了你所没能付出的精力和毅力,没有资格去说人家什么。但是个人还是不太喜欢第一种做法的。
那也许有人要问了,既然考试可以在考试周内搞定,那之前的将近20个周干什么呢?这个是重点,你问对了,可以去干一些你愿意去做的,对你的将来有意义的事情。不一定全是学习,还可以是旅游、健身、认真的追寻缘分已到的另一半。大学的四年是人生中最自由的四年,摆脱了老师和家长的管束,有着相对充足的经济来源,还不用看上司和同事的嘴脸,更不用为子女的出生、上学担忧,一切的一切都是那么的简单。怎样利用好这转瞬即逝的四年,怎样让自己不会后悔,就要看你自己的想法了。

2006年06月29日

简化了大作业的要求,做出了这个“精简功能版”(就是功能不全版)。不过要是单独按照这个功能的表准来看还是能及格的。
出来共享,欢迎提意见。(内附源代码、可执行文件及实验报告)

2006年06月26日

离放假还有三周时间,还有三科没有考:数据结构、近世代数、组成原理。都是重头课,可是现在还没开始复习,课是一节没落的听过了,但是学到多少自己心里清楚,下周一就要考DS了,现在脑子里一点概念都没有,所以决定今晚开始去自习,坚持到周五晚,自习五个晚上!记录在自,特此立誓!

2006年06月16日

晚上本应该搞定Hibernate的,结果到现在MyEclipse都打开半天了,还是不想学。没有理由开始,没有理由不学,在矛盾和烦躁中度过一分一秒。明天一定要做,今天烦躁不堪。刚刚体验过集中学习的快感,怎么今天就提不起了兴趣?

2006年06月13日

昨天答应给人做一个作业,今早8点钟爬起来写。是一个数据库的应用,没有语言限制,要求也是基本的那些。上学期用vb+access给同学做过一个,所以这次挺有信心。开始想还用vb改一下原来的那个源代码,不过看了一眼,发现改起来挺麻烦,还不如重写。后来灵机一动,想起了java,干什么放着熟悉的不用呢。
昨晚开始准备,下了VE,google了java连接access的方法,简单试了一下可以读出数据。
今早起来八点整,洗漱一番就开始了工作,分了两块:逻辑和显示。从逻辑层开始做,其实也就是两个类(完全可以合成一个类,只是开始是想把数据库连接单独作出一个类来),这部分做起来很快,只需要对statement进行封装就行了。接下来是VE的可视化界面设计了,这块以前没怎么用过,虽然试过swing的编程,但是VE是第一次用,开始的时候连怎么调出VE界面都不会,不过迫于压力,还是很快就掌握了简单用法,够用就好。
中途遇到了一些问题,比如access插入记录时,id主键不能通过null代替位置;sql语句不正确等等,大多都是处在sql部分。最后在5点的钟声敲响的时候,终于做完了!打包的时候又遇到了些障碍,不太爽,不过还是搞定了,以后用eclipse发布jar应该没什么问题了。不写了,整理一下代码,又可以留作纪念了。

2006年05月21日

从前几天开始学Spring,从今天开始写学习笔录。

  • ApplicationContext的国际化支持。对于Message定义,Bean ID必须为messageSource(P23)
  • 这是由于转码过程中产生的编码问题引发的。比较简单的解决办法是通过JDK提供的转码工具native2ascii.exe进行转换。
    执行:
    native2ascii messages_zh_CN.properties msg.txt  (P24)
2006年05月12日

又是一个列表:

  1. 数据结构大作业二
  2. 数据结构大作业三
  3. 数字电路设计
  4. 计算机组成原理作业
  5. FOSSFW发布准备
  6. 6月3日参加五子棋比赛(重在参与)
2006年04月20日

        打算写个自动提取baidu十大音乐风云榜帮首歌曲下载链接的程序,再转成XML musiclist的格式,就可以在线播放了。
        先看了一下baidu mp3搜索的结果页面,发现音乐的链接最有效的提取地点不在歌曲名字的href中,而是在鼠标指向文字后的提示文字(title)的href中,没有百度添加的复杂链接,是原始地址!而且前后都有空格隔开,不知道baidu是不是故意的,反正提取起来应该很简单,只需要搜索“请点击左键!来源网址:”关键字就可以了。只要提取到这个原始地址,剩下的就好办了。

2006年04月19日

keyword: jdom  donews xml

学了jdom的皮毛,总想做点什么试验,于是就试着提取donews blog的评论。
建了两个内含类,SearchArticles用于提取blog首页的文章入口URL,并提取其中的每篇文章的rss链接地址,保存在ArrayList中。SearchComments用于提取一篇文章的所有评论,并输出打印。
要分析提取首先要知道XML文件的树型结构,donews blog的结构如下(你也可以在任何一个blog首页后链接加上"/rss.aspx" ,例如:“blog.donews.com/grammerliu/rss.aspx” ):

<rss version="2.0">
−<channel>
 <title>记录我的人生岁月</title>
 <link>http://blog.donews.com/grammerliu/</link>
 <description>人生百味,程序万态</description>
 <dc:language>zh-CHS</dc:language>
 <generator>.Text Version 0.958.2004.2001</generator>
−<item>
 	<dc:creator>死牛</dc:creator>
 	<title>你在游戏中会是什么角色?</title>
	−<link>
http://blog.donews.com/grammerliu/archive/2006/04/19/836957.aspx
</link>
 	<pubDate>Wed, 19 Apr 2006 19:19:00 GMT</pubDate>
	−<guid>
http://blog.donews.com/grammerliu/archive/2006/04/19/836957.aspx
</guid>
	−<wfw:comment>
		http://blog.donews.com/grammerliu/comments/836957.aspx
	</wfw:comment>
	−<comments>
		http://blog.donews.com/grammerliu/archive/2006/04/19/836957.aspx#Feedback
	</comments>
	<slash:comments>0</slash:comments>
	−<wfw:commentRss>
		http://blog.donews.com/grammerliu/comments/commentRss/836957.aspx
	</wfw:commentRss>
	<trackback:ping>http://tb.donews.net/TrackBack.aspx?PostId=836957</trackback:ping>
	−<description>
		<p>http://vega.cs.tku.edu.tw/~u7197120/RPG_Test.htm <br/></p><p>刘奭的個人資料</p><table width="49%" height="184" border="1"><tbody><tr><td rowspan="6" colspan="2"><div align="center"><img width="109" height="133" src="http://vega.cs.tku.edu.tw/%7Eu7197120/face/tsb.jpg" alt=""/></div></td><td width="36%"><div align="center">攻擊</div></td><td width="31%"><div align="center">63</div></td></tr><tr><td><div align="center">防禦</div></td><td><div align="center">62</div></td></tr><tr><td><div align="center">敏捷</div></td><td><div align="center">81</div></td></tr><tr><td><div align="center">耐力</div></td><td><div align="center">41</div></td></tr><tr><td><div align="center">意志</div></td><td><div align="center">93</div></td></tr><tr><td><div align="center">智商</div></td><td><div align="center">81</div></td></tr><tr><td width="17%"><div align="center">種族</div></td><td width="16%"><div align="center">天使</div></td><td><br type="_moz"/></td><td><br type="_moz"/></td></tr><tr><td><div align="center">職業</div></td><td><div align="center">弓箭手</div></td><td><div align="center">屬性</div></td><td><div align="center">風</div></td></tr></tbody></table><br/>呵呵,挺有趣。<br/>风,不错,风中飞翔的天使。<br/><img src ="http://blog.donews.com/grammerliu/aggbug/836957.aspx" width = "1" height = "1" />
	</description>
</item>

</channel>

</rss>

需要注意的只有两点:前面是对于整个blog的信息介绍,每篇文章都保存在一个item结构中。其中,先是说明命名空间的标签在用jdom提取的时候要注意用getChild(string arg0 , Namespace arg1)相应的指明Namespace,否则将不能成功提取节点元素。


代码如下:

package edu.hit.ibmclub.liushi;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;

public class DonewsComment {

    /**
     * @param args
     * @throws IOException 
     * @throws JDOMException 
     */
    public static void main(String[] args) throws JDOMException, IOException {
        
        //SearchComments( "http://blog.donews.com/grammerliu/comments/commentRss/816014.aspx");
        
        String startPoint = "http://blog.donews.com/grammerliu/rss.aspx";	//修改这个URL,可使其指向别的blog
        ArrayList comments = SearchArticles(startPoint);
        Iterator itera = comments.iterator() ;
        while(itera.hasNext()){
            String url = (String)itera.next() ;
            SearchComments(url);
            
        }
    }

    public static ArrayList SearchArticles(String url) {
        SAXBuilder factory = new SAXBuilder();
        
        Document doc = null;
        Element rssRoot = null;
        Element channel = null;
        List items = null;
        ArrayList commentsURL = null;
        
        try{
            doc = factory.build( url);
            rssRoot = doc.getRootElement() ;
            
            channel = rssRoot.getChild( "channel");
            //System .out .println(channel.getName()) ;
            String bloggerTitle = channel.getChildText ( "title");
            String linkURL = channel.getChildText ( "link");
            items = channel.getChildren( "item");
            commentsURL = new ArrayList();
            System.out.println(bloggerTitle + "\n" + linkURL + "\n") ;
            
        }catch(Exception e){
            
        }
        
        Iterator node = items.iterator();
        while(node.hasNext()){
            Element item = (Element) node.next() ;
            
            Element commentRss = item.getChild( "commentRss" ,Namespace.getNamespace( "http://wellformedweb.org/CommentAPI/"));
            
            commentsURL.add( commentRss.getText());
            //System.out.println(commentRss.getText());
            
        }
        
        return commentsURL;
        
    }
    public static void SearchComments(String url) {
        SAXBuilder factory = new SAXBuilder ();
        if(url == null){
            return;
        }
        try{
            Document doc = factory.build( url);
            Element root = doc.getRootElement() ;
            Element channel = root.getChild( "channel");
            String title = channel.getChildText( "title");
            String link = channel.getChildText( "link");
            System.out.println("Title:"+ title + "\nLink:" + link) ;
            List item = channel.getChildren( "item");//.getChildren() ;
            
            Iterator node = item.iterator();
            int i=1;
            while(node.hasNext() ){
                Element comment = (Element) node.next();
                System.out.println(i+"."+ comment.getChildText( "description")+"\n" + "————"+comment.getChildText( "creator" , Namespace.getNamespace( "http://purl.org/dc/elements/1.1/"))) ;
                i++;
            }
            
            System.out.println() ;
        }catch(Exception e){
            
        }
    }
}


提取的结果如下:


记录我的人生岁月
http://blog.donews.com/grammerliu/

Title:从今开始
Link:http://blog.donews.com/grammerliu/archive/2006/04/19/836805.aspx
1.看见了,那个小计数器,呵呵
————磁盘碎片

Title:我的话语权
Link:http://blog.donews.com/grammerliu/archive/2006/04/19/836728.aspx
1.如果是在紫丁香上,很多字眼都会被莫名其妙的审查,google还算开放的了呢
————磁盘碎片

Title:2006-04-16  调查问卷
Link:http://blog.donews.com/grammerliu/archive/2006/04/16/831343.aspx
1.被我发现了,“死牛”就是你呀,哈哈~~
————钊
2.嗯,就是我。
————死牛

Title:Renju归来
Link:http://blog.donews.com/grammerliu/archive/2006/04/15/829423.aspx
1.搞了半天,就是五子棋阿。祝贺……第几名阿?
————talengyan
2.你语文怎么学的呀?不说了是第六么,真是的,小心贺老找你!
<br>小声地告诉你:入党申请什么的我还没写过了。入党我没想过。
————死牛
3.居然不小心错过了
<br>不然肯定拿第一啦,哈哈
————Kimi
4.这么狂?哈哈,哪天先比划比划?!16928982工大五子棋爱好者之家
————死牛

Title:高级程序员的多女友处理原则
Link:http://blog.donews.com/grammerliu/archive/2006/04/13/826377.aspx
1.well, I misunderstand u at the first sight of this topic. However, it’s clear!
————frank
2.java程序员有一点问题,就是你根本不知道你的女朋友什么时候被处理掉……
<br>也就是说,一旦决定抛弃你的女朋友的时候,你不知道你的“前”女友是否还在你身边的某个地方……
<br>挺渗人的
————磁盘碎片
3.看来把编程序和找女朋友联系在一起,使程序员的通病
————lianggo
4.没办法,大多找不到女朋友,只好纸上谈兵,汗。
————死牛

Title:第三堂党课
Link:http://blog.donews.com/grammerliu/archive/2006/04/11/823549.aspx
1.我妈今天连打了两个电话催我回来,居然就是要逼我入党!
<br>死牛啊,你那些思想汇报之类的有没有电子版发给我哈
————talentyan
2.跟你说过无数次了
<br>
<br>我要加入的是共产党,在这里就是中国共产党
<br>
<br>现今存在的是党员的问题和制度的问题,党本身的属性和特性是没有错的
<br>
<br>抛开功利化的理由去说话,我要做的事情,不需要看别人的表现,而我相信我的所作所为符合一名共产党员的要求,也相信我的所作所为应当由共产党的理念和制度来约束(注意,不是特指哪一个党),所以我要加入共产党
<br>
<br>信不信仰为人民服务是一回事,信不信仰共产主义又是另一回事
<br>相不相信共产党是一回事,相不相信中国共产党又是另一回事咯
<br>
<br>给你两个选择:
<br>1.共产党本身就没什么意义
<br>建议你多用政治的思路去分析一些问题,了解一下“讲政治”的内涵
<br>2.中国共产党没什么意义
<br>你可以选择问心无愧的心态或加入并改造之的心态
<br>
————某人
3.说得不错,可以接受。
<br>但是这一点还是不太同意:
<br>现今存在的是党员的问题和制度的问题,党本身的属性和特性是没有错的
<br>党本身的正确性是需要实践来证明的,单独信仰上的正确性不足以说服信仰之外的人,用中国共产党的话说就是“事实是检验真理的唯一标准”。这一点不是争论可以解决的,需要时间来证明。
<br>对于政治,确实以前不太关心,不过以后离不开它,还是应该关心,和信仰无关。
<br>你说的话,算是80%可以接受。
————刘奭

Title:数据结构的大作业——航空售票系统
Link:http://blog.donews.com/grammerliu/archive/2006/04/10/821740.aspx
1.呵呵,我也要好好学C++
————frank
2.没什么,其实用java作也挺好的,反正学的是数据结构,语言的选择都是次要的
————Kimi
3.咱们的数据结构可以用java做么?
————磁盘碎片
4.据称可以
————wywcgs

Title:哈尔滨06年的第一场春雨
Link:http://blog.donews.com/grammerliu/archive/2006/04/09/819832.aspx
1.做卫生的还有我
————磁盘碎片
2.所以才更不好意思丢下不管了。
————死牛
3.你好像没来吧?
————frank
4.不好意思 原本想去的 后来一看表都58了 就没过去 懒吧
————死牛

Title:交流
Link:http://blog.donews.com/grammerliu/archive/2006/04/08/819171.aspx
1.说起交流,刚上完选修课“成功心理学”的我也很深有感触啊。确实是一门好课,虽然有的活动是老套了一点,但是能认识那么多真心(至少目前是真心的)的朋友,确实是一件益事。不知道你上过没有,虽然我知道你在“成功心理”这方面不需要更多的指导,但是我还是推荐你去上一次。
————frank
2.可以考虑,先把想上的选修都上了再说。
————死牛

Title:读《未来的社区》的几点惊奇发现
Link:http://blog.donews.com/grammerliu/archive/2006/04/06/816014.aspx
1.让我想起了我的读书笔记“Feel Quality Education in America”,呵呵
————frank
2.记得刚入学的时候,学生会要求每个人添一份个人情况调查表,其中有一个问题,大概意思是说,当你离开这个世界的时候,你希望世人如何评价你呢?这个问题与“我想要人们因为什么而记住我”有类似的含义;我当时思索了好久,也不记得是怎么回答的啦。如果是刘奭会怎么回答呢?
————kimi
3.我只希望人们能够记住我,越久越好。能够被更多的人记住,能够被更多的普通人记住,而不仅是被列入史册,能在口碑中流传将是我生命的延续,让我可以觉得自己还活在世上
————刘奭
4.faint
<br>这样太在意别人的看法了吧?
<br>别人怎么看我是他们自己的问题,只要自己感觉爽了,那就好了。以别人来证明自己的存在,不是什么好方法啊
————wywcgs
5.一个人只活在自己心里,他就只属于自己,死去后就灰飞烟灭;当他活在别人心中,便摆脱的生命的肉体形式,精神长存。我不愿当我的肉体消失时,留不下任何可以证明我存在过的东西,所以才可望精神的留存,算作是我对人世的留恋吧。
————死牛

Title:奭说新语(一)
Link:http://blog.donews.com/grammerliu/archive/2006/04/05/813165.aspx
1.这名字起得好啊
<br>要不人还不认识
————零度
2.刘大师的讲座,不听不行啊!
————ocean
3.别,大师听这怎么就那么像**功呢?
————死牛
4.全面发展固然重要,但是对于那些全面发展有阻力的人,是不是应该考虑发展特长呢?试想,一只营养不良的豪猪,与其长出浑身短短、钝钝或软软的刺,还不如象侏罗纪的恐龙学习,在某个部位集中生长质地坚硬的刺,倒也是一门绝技!现在也有很多一着先吃遍天的例子。而且这个社会还是很重视特长的,这就是为什么用人单位的履历表中总要有“特长”这一项;陌生人相识目无全牛,第一印象总是你的某一个或是某些特点或特长;这可能也是目前社会分工细化的一个必然趋势。不过,我的部长还是很全面的,这就是相处时间长了,却总是给人带来新鲜的感觉,也是我比较欣赏“死牛”的地方。
<br>呵呵,说多了,期待“奭说新语”的升级版本!
————kimi
5.谢谢大哥的夸奖,不过我指的&quot;豪猪&quot;不是一个人,而是一个集体,每个人只是一棵刺,强调的就是个性化的发展,独专一长。咱俩的观点并无矛盾。
————死牛
6.能不能不说豪猪?我不喜欢!原因我就不在这里说了
————frank