#
从上周六开始一直发烧,现在也没有完全好,请了几天的假。难得清闲,可惜脑子晕晕沉沉。
快放寒假吧。

文章来源:
http://blog.sina.com.cn/u/4a5ca0240100071c
这两天看了亚冬会的双人滑,申雪、赵宏博再次让人感受啊。
第一次记住这两个人大概是7年前,当时用vb做了一个程序,就用他们两个人的照片做的闪屏(Splash)
他们的作品中我最喜欢应该算是《梁祝》,虽然中国选手之前共同的缺点就是表演不国际化,但是我相信《梁祝》中表现出来的中国式艺术可以打动每一个外国人。
后来他们的表演就越来越成熟(国际化)了,大概跟于滨教练的水平提升有关系,到了这次的《沉思》,编排十分的出色,表演也深邃而不沉闷,又有很多小细节值得回味(经典的勾脚创意)
随便提一下,庞清佟健的《歌剧魅影》也十分不错,就是音乐前半部分不太好,太嘈杂。
希望他们能坚持到08年,呵呵

文章来源:
http://blog.sina.com.cn/u/4a5ca0240100072p
想趁寒假学学英语,下午去了一家英语培训机构,先是给了我两套题做,一看,都是初中、高中的题,忘得差不多了,不过应该算是及格了。然后和两个老外来口试,平生第一直面国际友人,还得用英语说,稍微紧张了点。
(突然想到以前在日企干过,也不是第一次了,不过那个时候不需要说日语,有翻译啊)
两个人说的内容我倒是都能听懂,(除了春节和rainning这两个词当时没有反应过来),但轮到我用英语回答的时候就比较糟糕了,只能把一堆单词胡乱拼凑起来,莫说语法了,发音对不对也不可知,奇怪的是两个老外倒是一副听懂了的表情。
后来我的被他们定位为Level
5(一共20级),主要问题是词汇量有限,对英语时态运用基本上都是错误的(现在回想起来口试时候问的问题很有意思:你今天早上干什么了,昨天晚上干什么了,上个周末干什么了,明年春节准备干什么,当时觉得怎么问这么无聊的问题啊,原来是在考时态)
最后补充一点,对他们的咨询人员不太满意,一点不热情,基本上是问什么答什么,跟公交车上售票员差不多,郁闷,看看咱们的咨询师,那叫一个专业……
文章来源:
http://blog.sina.com.cn/u/4a5ca0240100074e
去年下半年买的书不是很多,不过还是有一些值得推荐:
《Head First
EJB(影印版)》:又是O'Reilly出版的,虽然讲的是EJB2.0,但是不会让你有过时的感觉,Head
First系列的书一向是幽默、轻松。当然,本书所讲的内容决定了读这本书还是有一定难度的,另一缺点就是本书有点过于关注Sun公司的认证考试了。而这个认证起码在国内还不算很有用。
《核心Java(影印版)》:写的不错,介绍了很多java中基础(虽然基础,但是并不简单)而又重要的东西。建议学习Java
1年以上的朋友阅读
《UML精粹(影印版)》:抱着对Martin
Fowler的崇敬买了这本书,里面的英文不是很难,而且Martin的写作风格也让阅读充满乐趣,时间关系,只读了3章
《网站重构》:所有进行B/S开发的程序员都应该看一看,哪怕是走马观花
《深入体验Java Web开发内幕》:此书适合有一定Java
Web开发经验的人看,不过看完以后,印象最深的还是封二上的那句话:“80%的内容为原创,60%的内容绝无仅有,绝不在书中加一些【辅料】来充篇幅,奉献给读者的全部都是【干货】”。嗯,干货,F*cking
Good! 哈哈
文章来源:
http://blog.sina.com.cn/u/4a5ca0240100075g
原文
早上八点准时到了沈阳的一家软件公司,看了看我的简历后,就问了我些关于JAVA上的问题,我答的还可以,后来让我上机做两个小程序,第一打印等腰三角形,第二写一个JAVA操作数据库,并可以设置进行五分钟一备份数据,并且可以还原,生成日志文件,对我来说,挺难的,刚做第一题,三角形我是打出来了,但不是等腰的,是直角的,我郁闷,第二题我也不会做,就根面试的人说了我不会,后来面试的人,说我这么简单的你都不会做,我真怀疑你有没有工作经验,他说他们那打扫卫生的都能把三角形打印出来,说着他就叫了一个扫地的过来,打印个三角形,不到五分钟的时候,等腰三角型就打印出来了,我当时看着儍了眼,我心想难道我真的不适合做开发吗?我郁闷!
回复也很搞笑,不妨看看:
文章来源:
http://blog.sina.com.cn/u/4a5ca0240100075h
某生 20:29:25
老实。我刚看了你那个视频(
注:指Struts +
Spring +
Hibernate做的登录demo)。我不明白,业务类写接口是为了代理吧?DAO也作接口为什么啊???
付老实 20:29:39
灵活
某生 20:29:54
怎么个灵活法?
付老实 20:30:13
可以有多种实现
某生 20:30:32
还是不明白,还要什么实现阿?
某生 20:31:30
我可不可以所有dao只写一个接口,规范几个常用方法的实现阿?
付老实 20:31:46
没必要
付老实 20:32:06
比如PersonDAO,今天我想用hibernate实现,明天想用JDBC实现
某生 20:32:13
付老实 20:32:19
后天想用File IO实现
某生 20:33:02
这么个灵活法,,,,
那就是每个dao都要有接口?
付老实 20:33:07
让这三种实现类都去implements
PersonDAO接口,在Spring的配置文件中你就可以想把哪个注入给service就注入哪个
付老实 20:33:12
是的
某生 20:33:18
业务层也是?
付老实 20:33:39
嗯(
注:业务层也可能会有不同的实现方式)
某生 20:34:24
也好啊,我本来就想做完hibernate实现有时间的话再做一遍spring模板实现
付老实 20:35:07
呵呵,好啊,可以更新博客了
文章来源:
http://blog.sina.com.cn/u/4a5ca0240100075n
昨天一时兴起就和许老师去新华文轩买了两本RoR的书,准备这个寒假专供此道,如果顺利的话,再用它做一个缺陷管理系统的demo出来。
不过研究了两天发现,直接从RoR入手似乎不是很妥当,应该先学好Ruby,接下来再Rails。不过书已经买了,就硬着头皮搞吧,还好下载了一本Programming
Ruby第二版,遇到不懂的可以查阅。
说说这两天来(准确的说是今天下午到晚上)对Rails这个基于Ruby框架的认识。
首先它是基于MVC的,这个一点也不奇怪,那么就分开介绍吧
控制器:
前端控制器:因为和J2EE的实现机制不太一样,所以前端控制器不向Struts中的ActionServlet那么明显,初步估计是由public目录下的dispatch.*组成的。虽然实现机制可能不同,但是做的事情大同小异。
应用控制器:类似于JSF中的action,一个应用控制器中可以有多个行为(action)。按照Rails的命名规约,一个应用控制器类必须以Controller结尾,其中的每一个public方法都是一个action。action中可以调用模型进行处理,处理完毕后默认跳转到action同名的rhtml页面(视图),也可以用redirect_to方法跳转到其他视图。
(注:我看的书中并没有区分前端控制器,和应用控制器,这里沿用了Struts中的叫法)
模型:
模型应该负责提供数据、封装业务逻辑、必要时还需要数据的持久化。先看看在J2EE中模型的实现:
方式1:EJB中的实体Bean
优点:数据、业务逻辑、持久化功能全部提供,代码少
缺点:持久化功能不灵活,导致一些业务逻辑难以优雅的实现。需要大量配置文件
方式2:JavaBean
优点:简单
缺点:大量重复的编码
方式3:Hibernate中的PO对象+DAO对象
优点:代码少
缺点:po和dao是分离的,导致“贫血类”,Hibernate自身对事物的管理比较弱。需要大量配置文件,映射对象关系时比较复杂。如加入Spring则会进一步增加代码的复杂度
可以看到,J2EE中各种模型实现都或多或少有自己的缺陷(其中我最看好的还是实体Bean,希望EJB
3.0能一转2.0的颓势)
而在Rails中已经使用了ORM,与Hibernate比这个ORM不需要大量的配置文件,只需要遵守命名规约,并在代码中映射对象间的关系。更像EJB
3.0吧。
Rails中模型的优点在于将数据、业务逻辑、持久化功能放在一起了,并且借助于Ruby强大的继承功能,你并不会觉得模型变得臃肿,甚至更加简单。
缺点嘛,自然就是刚学的时候有些摸不着头脑,呵呵。
据说Rails中模型还有一种实现方式,看到后几章再说吧。
视图:
视图没有什么好说的,虽然里面确实有一些新东西,比如类似于tiles的layout(布局),神奇般的获取模型中的数据,可以用于取代标签库的helper等,不过这些特性并不至于令人瞠目结舌。
总结一下,我觉得Rails也没有什么特别神奇之处,当然可能是因为我还刚入门。目前为止最震撼我的是借助于ruby脚本,可以快速根据数据表生成应用控制器、模型、视图(Rails的术语叫scaffold【骨架】),在很短的时间内完成一个CRUD的界面。但是J2EE下的AppFuse也能实现这个功能。
直到现在我还是固执的认为Ruby的快速开发就在于它提供了更多的api和更多的复杂语法。当然,这是一种成见,希望把这本书看完后会对Ruby和Rails有更深的了解
文章来源:
http://blog.sina.com.cn/u/4a5ca0240100075p
以前在讲类的时候总喜欢举猫抓老鼠的例子,今天写了一个Ruby版,稍后献上Ruby语法速查
class Cat
def initialize(name, speed)
@name =
name
@speed =
speed
end
def catch(rat)
if @speed
> rat.speed
puts @name + " CAN catch " + rat.name
else
puts @name + " CAN NOT catch " + rat.name
end
end
end
class Rat
attr_reader :speed
attr_reader :name
def initialize(name, speed)
@name =
name
@speed =
speed
end
end
tom = Cat.new('Tom', 60)
jerry = Rat.new('Jerry', 50)
tom.catch(jerry)
文章来源:
http://blog.sina.com.cn/u/4a5ca02401000760
以前在讲多态的时候总喜欢举父亲打孩子的例子,今天写了一个Ruby版,稍后献上Ruby语法速查
class Father
attr_accessor :name
def initialize(name)
@name =
name
end
def beat(child)
child.beaten
end
end
class Son < Father
def beaten
puts @name +
" is running away while father beat him";
end
end
class Daughter < Father
def beaten
puts @name +
" is crying while father beat her";
end
end
father = Father.new('Father')
son = Son.new('Son')
daughter = Daughter.new('Daughter')
father.beat(son)
father.beat(daughter)
文章来源:
http://blog.sina.com.cn/u/4a5ca02401000761
今天接到令人高兴的电话,小w创下了据我所知初次就业学员的工资记录:税后¥6500  。确实令人欣慰且振奋,虽然小w同学以前上课时常是边睡边听  ,但依然为你感到骄傲  。
自然,更高的薪水代表更高的要求,更高的要求带来更大的压力。不过相信你会用最努力的方式去面对,女孩子的抗压能力往往比男孩子更强,呵呵。并且你还有亲友团呢  。
无论如何,这是个好的开始。努力把握机会,年轻不怕失败,只怕未曾尝试  。 |
文章来源:
http://underwind.javaeye.com/blog/63128