尊敬
今天在黑海岸做任务,把声望升到尊敬了。据说40级以后就可以骑豹子咯~~~ 不过我现在才18。
今天去杀 Murkdeep,那家伙看起来长的很酷,其实是个菜。
倒是在杀”Blackwood Pathfinders”的时候被那个标为稀有的Blackwood Pathfinders 砍死4次,最终放弃。我hp只有400。而它打我一下要60-80
今天在黑海岸做任务,把声望升到尊敬了。据说40级以后就可以骑豹子咯~~~ 不过我现在才18。
今天去杀 Murkdeep,那家伙看起来长的很酷,其实是个菜。
倒是在杀”Blackwood Pathfinders”的时候被那个标为稀有的Blackwood Pathfinders 砍死4次,最终放弃。我hp只有400。而它打我一下要60-80
今天早上看了下cglib和bcel。
本来是这样的,我有很多个普通的类,它们有一些public的成员变量。但是没有对应的getter/setter。所以如果用jdk的bean工具去查properties,就找不到这些变量。而我需要在axis2中把这些类型认做pojo作为 web service的Method中的参数。我首先的想法是,可否通过cglib这样的库动态的给原来的类添加几个get/set函数。发现用cglib或者bcel创建一个新的java bean class是很容易的。然而,我的要求,是不可能被满足的。因为据说java不允许动态的给一个类添加方法。So,我彻底的放弃了这个念头。只好根据现有的类生成新的类,然后尝试来回转换。
晚上回来想给新博客添加rss的功能。由于整个web的表现是在struts2上构建的。所以本来首先想用struts2的一个rss plugin(Rome RSS-Atom Plugin)来生成rss.但是发现对方网站实在是简陋的可以,而且找不到任何文档。想想算了,还是自己做吧。
首先有两个考虑
1、用log4j从头开始生xml,然后输出到一个stream。然后把struts的result type设置成stream,这样输出到浏览器。
2、用freemaker写一个模板。然后就像写普通网页一样,挨个填空。
3、把对象从数据库中取出后就交给xstream输出,然后写一个xslt转成rss格式的xml.
后来采用了第2条,因为觉得比较简单。折腾了一会儿,总算把rss2弄完了。明个儿有空了再给atom写一个ftl模板就行了。
struts2的url标签比较让我郁闷的是,它生成的仅仅是一个路径。不包含主机名、端口号等信息。而rss中要求写的是一个以协议名开头的完全的url。于是我只好去HttpServletRequest对象中找主机名、端口号然后拼起来。有谁知道什么好的办法吗?
嗯,下面最想做的就是给google提供sitemap。不过目前还没有具体的想法,不知道该怎么做。
还有一个比较急的是添加评论的页面还没有做。
最近为了科普下网游知识,于是遵上级指示开始玩wow。选的是德莱尼种族的萨满。昨天开始玩的,到今天刚升到5级。
感觉。。。好难啊!地图上找怪、找NPC找死了。麻烦
/**
* 地图信息
*
*/
@SuppressWarnings(”serial”)
@Entity
public class MapInfo {
int id;
String name;
NpcInfo[] activities;
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@CollectionOfElements
@IndexColumn(name = “aid”, base = 1)
@Cascade({ org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
public NpcInfo[] getActivities() {
return activities;
}
public void setActivities(NpcInfo[] activities) {
this.activities = activities;
}
}
/**
* NPC信息
*
*/
@Embeddable
public class NpcInfo{
int id;
String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
于是,事实上,数据里有两张表,一张Mapinfo,一张MapInfo_activities.第二张表会引用第一张表。
然后我这么删除
s.createQuery(”delete from MapInfo”).executeUpdate();
结果呢,它直接就在MapInfo这张表执行delete,而没有先去MapInfo_activities中执行delete。
我用的数据库是Mysql InnoDB。它报告说“foreign key constraint fails”。
郁闷~~ 不知道为什么。我明明已经设置了@Cascade({ org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
啊,hibernate好神奇
今天亲眼看见了北京人事局的接收函,红头文件,下面大大的红章。它是如此的刺眼。这张接收函,是别人的。我没有。而且也不会再有。
你问我为什么离开新浪。我想说,我在新浪尽心尽力的工作,为什么到申报工作都快结束的时候才突然给我说,我是双外生,不能给申报?真的是不能吗? 不要说三方,当时你连个劳动合同都不肯跟我签!为什么我在新浪尽心尽力的工作,你却以我的户口不在北京为由拒收我的档案,进而以档案不在北京为由拒绝给我上住房公积金?这个理由,不是太可笑了吗?但是当时我只是一个学生,我信了。我真的以为只有档案在北京才能给上住房公积金。
新闻是新浪最核心的业务,您肯把这么重要的东西交给我,我感谢你。我知道周围很多同事把代码和文档泄露给了公司外的人,您放心。我没有给。就像我曾经努力工作一样,我以后也会依然信守职业道德信守保密合同上的承诺。
但是,你拿什么来解除我的愤恨?
昨天下午在屋里呆得实在无聊,于是决定去五道口玩。wa…wu…好喜欢这个地方。去吃什么呢?找来找去,嗯,还是去了桃屋。桃屋是一家日本料理,我刚来北京的第一天有人带我去过一次。我皱着鼻子吃下一份套餐,心里不停的想,这,这,这味噌汤,究竟有啥好喝的,简直就是味精汤嘛。
嗯,昨天被好奇心害死,又去了一次。这次没有点盖饭、套餐。而是点了很多稀奇古怪的东西,寿司、墨鱼生鱼片、烤秋刀鱼、荞麦凉面、etc,嗯,还有,味噌汤。最后发现,最好吃的还是那盘水果沙拉,耶!水果沙拉真的就是普通的水果沙拉,白白的,一口咬下去,像抽奖一样,也许是梨,也许是香蕉,也许是什么其它的东西。
烤秋刀鱼真好吃!
墨鱼生鱼片好腻啊,肥肥的一块块白乎乎的肉,好腻。
荞麦凉面。。。味道怪怪的,说不上好吃,也说不上难吃。
嗯,鳗鱼手卷上的鳗鱼非常好吃,下面的米团嘛,嗯,就是米,没啥味道。
为了满足自己的好奇心要了两个饭团,但是发现,啊,饭团真的就是饭团。米饭揉成一团,没啥好吃的。
最后,味噌汤,我觉得我可以接受它了。
p.s.五道口那家生活几何去哪里了?我昨天没有找到……