2007年5月13日 星期日

电影是什么

周六在法国文化中心观看了特里弗的电影《四百下》,又译作《胡作非为》,这个电影名的原意是一个坏孩子打四百下就会变成好孩子。相信每一个看过这部电影的人都会心有戚戚,因为通过一个叫做安托万的孩子折射出了我们每个人的童年生活,哪怕相隔重洋万里,我们生活却如此相似。

其实王朔的许多小说也表达过类似的东西,我们每个人在长大之前可能都有一些匪夷所思的经历和作为,现在回头望去可能会觉得可爱、可笑、甚至是可怕,有些人在成长过程中越走越远、为这种可怕付出了惨重的代价,而有些人侥幸逃脱,等到长大成人的一天,仿佛是转瞬间与过去割裂,对过往的种种错事付之莞尔。

安托尼是一个不良少年,或者说是问题少年,而就是这样一个问题少年也有自己的爱好,喜欢巴尔扎克,喜欢电影,许多导演的第一部作品都多多少少的带有一定的自传性质,时间走到了今天,谁也没办法说清到底是什么样的环境成就了一个天才的导演,安逸的生活肯定是不行。

作为新浪潮的代表,《四百下》和我们现在所看的电影有些不同,没有明确的故事结构,就是选取了两个时间点,一个为开始,一个为结束,一路拍下来,说不上有什么技巧。影片中一个个长镜头不断的牵引着人们的视线。电影不同于戏剧、小说等艺术体裁的特点是什么,电影可以完完全全的将人们最平凡也是最真实的生活搬上银幕,不做任何的加工,而这是其他艺术形式不能想象的。《四百下》是一部向安德烈·贝松致敬的影片,贝松有一本书叫做《电影是什么》,所以说,《四百下》是对这句话最好的一个注脚。

英国TNT剧院之仲夏夜之梦

晚上在北大百年纪念讲堂观摩了英国TNT剧院的大作《仲夏夜之梦》,一直没看过戏剧,所以也没能看出什么好处,不过这幕剧的导演兼艺术总监还是蛮有水平的。开场时他对观众说,莎士比亚一生之中也没有听过手机的声音,希望今晚也不要让他听到。

刚开演的前30分钟,我想着莎翁怎么说也是一代文豪,就正经八百坐在那里,后来发现完全不是那回事。《仲夏夜之梦》本来就是一部喜剧,说不上严肃。当年莎士比亚也就是靠这戏园子养家糊口的,他的许多作品都是要取悦观众的,像英国的王室就是他的大客户,所以他不可能净搞阳春白雪的东西。TNT剧院的表演也是基于这一点,类似于国内许多常见的表演形式,和观众有一定的交互,同时也有很多故意逗乐的成分。

从戏剧的形式来说与电影有很大不同,这让我有些不习惯。对戏剧来说,对话是比较重要的表情达意,推动故事发展的手段,而电影恰恰不是如此。此外,戏剧有序幕、开端、发展、高潮、尾声等部分,而电影一般就是要把高潮放到最后,这也是许多电影让人觉得意犹未尽的原因。所以在看到《仲夏夜之梦》高潮阶段时,我的感觉是这幕剧要完了,该准备退场了,然而后面又留了许多内容,让我觉得十分不惯,觉得太拖沓了,反而冲淡了高潮部分带来的影响,而实际上,这是由戏剧这种艺术体裁所决定的。

唯一遗憾的是英文太差,戏剧里总是用一些表现力很强的词,完全听不明白,眼睛不自觉的就盯到了字幕上。不过开头的时候,该剧导演的一番话我是听明白了,旁边的MM还翻译错一句,搞得我很有成就感。

2007年5月11日 星期五

为了爱情


Decalage Horaire
Originally uploaded by Feng Bin.
Juliette Binoche是真的老了,像我喜欢的许多电影明星一样,浓妆难掩老态,不过她的电影还可以看,简简单单的一种美。不知为什么,我还是能够被她2002年的一部电影打动,虽然这部电影除了Juliette Binoche和Jean Reno就只剩下群众演员了,对了,还有飞机,还有希尔顿酒店的房间。后面提到的不是演员,但也是电影中颇重要的元素。

女化妆师Rose在机场邂逅了著名厨师Felix,因为航班取消,Felix住进了航空公司安排的希尔顿酒店,同时还邀请原本打算夜宿候机厅长椅上的Rose。故事发生在Rose、Felix和酒店房间三者间,仿佛形成了一个三角。Rose和Felix虽同处一室,却还是要借房间产生关系。两个人都是谨慎的,因为其中一个要到远方寻求新的生活,另一个对前妻念念不忘。当Felix与Rose发生矛盾,Rose怒而离去,观者心中就要想不要走啊,走了就下面怎么继续啊,直到Rose坐上了出租车,Felix才赶出来将其强行拖下,然后借用酒店的厨房为其做菜,也就是这个时候,观者才松了一口气。正当空间变的温馨时,突然接到Felix的航班恢复的通知,然后就是分别,这多少让人沮丧,接下来就是看着Rose一个人形单影只。等到再次看到Felix出现在酒店,就给了观者更大的欣喜,航班再次取消。因此,剧情的发展是通过天气、航班的变换层迭推进的。不断的设下悬念,然后打破,抓紧了观众的神经,从这一点说,这部电影拍的非常规矩。至此,两位主角也终于将内心的情感倾泻出来。

拍这样的电影,在剧情上的发挥空间是很少的,因为导演必须要让这两个人在一起,不管经历多少波折。后面处理也还算是不落俗套。总的来说,这是一个标准化的电影,许多情节的处理可圈可点,也可作为评判一个电影是否合格的标准了。当然,最大的亮点还是两位名演员的出场,因为本身演员就很少,电影只能走细腻的情感路线,很显然,两人卓绝的演技成就了这部极为朴素的作品。

2007年5月10日 星期四

一部玉观音


一部玉观音
Originally uploaded by Feng Bin.
赵薇的《玉观音》,前面有点像舞台剧,生硬了些,后边的表演反而自如了许多,算是说得过去。反正是悲剧,没心情说,不过剧情上有几个地方没想通。

一个是参与贩毒的毛杰上诉后当庭无罪释放,不论其理由如何,他都是案件的当事人,参与了毒品交易,如果不是警方的介入,他就成功的进行了一次毒品交易,他所交易的毒品就流入市场,害人去了。即便他母亲把所有罪责一肩扛下,可是事实总是比托词重要,法律一般也都按照具体行为所产生影响来考虑,主观动机只是一个方面。此外,能够证明毛杰无辜的证据也少得可怜,只可能是量刑从轻,无罪释放有点夸张了。

还有就是毛杰兄弟第一次找安心报复,安心将两人打翻在地后没有夺械,之后又逃回小屋。要知道她不是个柔弱女子,她是个警察,而且是缉毒警察。可以说铁军的死,她是直接责任人。另外,当地警方在明知歹徒可能报复的情况下也没有采取必要的防护措施,也说不过去。

总的来说,电影拍的还可以,只可惜最后有点过了度,安心和孩子都死掉了。从整部电影来看,许多地方的处理是不合适的。警察从始至终都对犯罪分子的了解不够,不知道谁是罪犯,不知道罪犯的背景,不知道罪犯何时出现,不知道罪犯会如何报复,特别是毛杰释放后的行踪都不掌握,像这样的重犯,很显然要密切监控,没道理在眼皮底下都发现不了,无知无觉。拍悲剧有时是吃力不讨好的,因为人们往往只善于记住那些美好的事情。

在Oracle中使用触发器

一. 触发器
触发器是一个命名的程序单元,用来回应数据库中所发生的事件。根据发生事件的不同,触发器分为DML Triggers, DDL Triggers, Database Event Triggers, INSTEAD OF Triggers, AFTER SUSPEND Triggers, Maintaining Triggers .

二. 功能
1. 对表作修改时进行验证
2. 数据库维护自动化
3. 对数据库的管理操作进行细粒度的控制

三. 功能举例
1. 允许/限制对表的修改
2. 自动生成派生列,比如自增字段
3. 强制数据一致性
4. 提供审计和日志记录
5. 防止无效的事务处理
6. 启用复杂的业务逻辑

四. 使用触发器
DML触发器是由数据操纵语言触发的,如INSERT, UPDATE, DELETE等,是开发人员较常用的,其它触发器一般都只有DBA使用。

DML 触发器的格式:

CREATE [OR REPLACE] TRIGGER trigger name
{BEFORE AFTER}
{INSERT DELETE UPDATE UPDATE OF column list} ON table name
[FOR EACH ROW]
[WHEN (...)]
[DECLARE ... ]
BEGIN
... executable statements ...
[EXCEPTION ... ]
END [trigger name];


DML触发可以发生在对应语句执行前或执行后,有两个级别,行级别和语句级别,行级别是指每改变一行数据就触发一次。在使用行级别时,可以调用系统中的两个变量:NEW和:OLD两个绑定变量(非正规的PL/SQL的变量),:NEW可以表示刚插入表中的行,用:NEW.加上相应的字段名可以取到相应的值,因此DELETE语句触发后,:NEW中是没有值的。

CREATE OR REPLACE TRIGGER validate_employee_changes
AFTER INSERT OR UPDATE
ON employee
FOR EACH ROW
BEGIN
check_age (:NEW.date_of_birth);
check_resume (:NEW.resume);
END;


这段代码就是行级别的,语句级别的写法也是一样,只要去掉FOR EACH ROW。

五. 问题
在写一个修改新插入行的触发器时发现一些问题,在这里简单列一下:

create or replace trigger bulletin_num
after insert on ems_bulletin
for each row
declare
v_serId VARCHAR2(14);
begin
P_GetSerialNo (2,v_serId); ----生成流水号,放到变量v_serId中,第一个参数就是给其设置的类型了
update ems_bulletin set ems_bulletin.bulletin_num = v_serId where ems_bulletin.id = :NEW.id;
end bulletin_num;


这是最初的代码,P_GetSerialNo (2,v_serId)是一个存储过程,可以产生一个流水号赋给v_serId,之后会更新刚插入的行的一个字段为该值。编译可以通过,插入数据时出错,“表 ANNOUNCE.EMS_BULLETIN 发生了变化,触发器/函数不能读。”修改代码如下,可解决该问题。

create or replace trigger bulletin_num
after insert on ems_bulletin
for each row
declare
v_serId VARCHAR2(14);
pragma autonomous_transaction;
begin
P_GetSerialNo (2,v_serId); ----生成流水号,放到变量v_serId中,第一个参数就是给其设置的类型了
update ems_bulletin set ems_bulletin.bulletin_num = v_serId where ems_bulletin.id =:NEW.id;
commit;
end bulletin_num;


这里在触发器中使用了一个自治事务,此时插入数据不会报错,但由于把插入操作和更新放到了一个事务中,使得执行update时前面的操作没有提交,在数据库中还找不到刚插入的行,导致触发器无效。这样就不能用自治事务,只好将触发器改为语句级别,同时:NEW也不可以用了。代码就变成:

create or replace trigger bulletin_num
after insert on ems_bulletin
declare
v_serId VARCHAR2(14);
begin
P_GetSerialNo (2,v_serId); ----生成流水号,放到变量v_serId中,第一个参数就是给其设置的类型了
update ems_bulletin set ems_bulletin.bulletin_num = v_serId where ems_bulletin.id = (select max(id) from ems_bulletin);
end bulletin_num;


最终的代码就是如此,不过P_GetSerialNo (2,v_serId)中还有一个commit语句,由于触发器中不能包含commit语句,触发器调用的存储过程也不能包含commit,所以还要把这个地方改掉。这样,这个触发器的使用就正常了。



六. 补充
代码修改为
create or replace trigger bulletin_num
before insert on ems_bulletin
for each row
declare
v_serId VARCHAR2(14);
pragma autonomous_transaction;
begin
P_GetSerialNo (2,v_serId); ----生成流水号,放到变量v_serId中,第一个参数就是给其设置的类型了
:NEW.bulletin_num := v_serId;
commit;
end bulletin_num;

由于这里开启了一个事务,所以P_GetSerialNo (2,v_serId)中包含commit语句也不会报错。

2007年5月8日 星期二

五一长累

别人眼中的五一黄金周在我身上成了彻彻底底、完完全全的五一长累、五一长睡,29号到家开始,每天上午打点滴,下午睡觉,整个人半点精神都没有,直到临走那天,身体才稍好点,不必打针。总之精神是恹恹的,本来打算回去和朋友出去玩,再饱饱口福,也没能如愿。唯一让我能开心些的是一位朋友考上了第二军医大的研究生,虽然他自己还不满意,不过知足了,总算有个学医的朋友了,以后看病都方便点。说到这里,就不能不提姥爷的病,在市人民医院住了20多天,愣是没有给动手术,医生的理由是,反正是全额报销,多住几天。说的有些夸张,但基本是这个意思了。

上火车的时候,老爸让我回来后加强锻炼,同时也要早作打算,大概对我现在的工作也不是很满意。对此,我也困惑,其实在这次回家前我还在想要不要在北京呆下去,毕竟这个城市对我好陌生,房子贵、压力也大,总之,和我以前的生活太格格不入了。不能说我没有别的想法,然而这次回去我觉得退路已无,况且我不能够确定目前心理上的退缩究竟是因我本身的无能还是出于对更高层次生活的一种畏惧,而这种畏惧对于我来说应该是熟悉的,比如一年前我无论如何也不会想到现在的生活是这样的。可我也面临难题,就是不知道这条路通向哪里,不知道如何去走,不知道最优解是什么。身边也有许多例子让我不敢轻率的作决定,说到底还是没把一个问题想明白,人生是不是要图实惠,同时我所需要的实惠是什么。

刚刚坐到办公室就觉得背疼,这反应来的太快了,不知道是不是形成了条件反射,老爸说的对,我不适合干这一行,或者说没人适合干这一行,可是作父亲的,在现在也就只能给我些建议,不可能像以前那样扶着我走路了,至于我到底该干点什么,能干点什么,我还是没底。