2009年4月30日星期四

四月的故事

四月的蛋糕
[滴铃铃~~]
『喂,小米吗?我是小衣。』
「我是啊。哈欠~怎么,小衣,一大早来电话有事吗?」
『都现在还说早?不会一有假期就现在还没起来吧。』
「不是,我很早就起来了。难得的安稳假期还是不习惯多睡,我没什么事做就打开电视,几个台都在放综艺节目。」
『啊,那说来听听看放了什么吧,我刚才也想看但是正好没有空。快说!』
「这个……都是些很无聊的啦,我本来都已经没睡意的了。」
『哈哈,那算了。今天中午有空吗?来我家,我刚才简单准备了一下,一起做蛋糕吃吧。』
「蛋糕?没做过,现在是不会做,不过听起来蛮有趣的。我要来!还有别人?」
『还有小岩。我昨天放学的时候和她说过,她答应了。』
「没请男生?」
『讨厌,就我们三个人。我可是刚学着做蛋糕的,还不想露丑。』
[恩,我马上就来,差不多要到中午时间了。挂电话喽。]
『好的,我等好了,再见。』

[小衣家,叮咚~]
『来啦……,欢迎!』
「我先到的?」
『是的,小岩还没来,我刚才才通知了她具体的时间,不过她家有点距离要多坐会车。要不先看会电视?』
「电视?算了。我还是坐下歇会吧。对了,你很早就开始忙活了?」
『是啊,我一早就试了试,终于第一次做出了一个小蛋糕。还算是做出来了,要尝尝吗?』
「很期待哦。对了,你不是很喜欢到了休假就很迟才起来的嘛,今天很特别啊。」
『好像是有点特别,因为……今天有很特别的想法——要做蛋糕哦。』
「哈哈,我原本还担心今天会很无聊呢,先前不知觉瞌睡连无聊都体会不到了,来一个做蛋糕让我忽然挺兴奋的。」
『来院子里,小米。我在那儿试做的,不方便移到客厅来。』
「Ok!小衣的父母呢?我去打声招呼。」
『今天就我们做,挺自由的吧。』

[小衣家院子]
「恩,我还以为会像工地呢,看来有野营的感觉,哈哈。」
『至于被说得?看这里,这就我的实验品。』
「好可爱的粉红色小蛋糕,我要尝,我要尝。」
『做好呕吐的准备吧。我之前做出来后,沾了一点味道,到现在都没感吃下去,觉得挺可怕的。』
「咕嘟咕嘟……味道还可以。看我一下两个盒子都吃一个,确实不错啊。」
『两个盒子都吃了?不会没感觉出不同?』
「有区别吗,好像一个盒子里的时间旧一些,有点干了,其他都一样吧。」
『不会吧,那我也要吃吃看。咕嘟,确实我没想到,没到是不错,我都要不相信是自己做出来的了。』
「哈哈,来教我,我也要做蛋糕,做一个更可爱的,即使味道真的很难吃。喔~」
『对了,你刚才真没吃出区别?其实,那边那盒里的是我买来,我就是照着那个样子和味道来做的。』

[叮咚~]
『估计小岩来了,我去屋里开门。』
「我也去。」
『小岩好!』「小岩好!」
“小衣小米好,我来得不算晚吧?”
『不啊』
「恩!今天就我们三人,一起做蛋糕玩吧。」
『小岩,先做下歇会儿?』
“好的。”
『给,饮料。』
“谢谢。”
「小岩,你听我说,我刚才尝了小衣做的蛋糕,居然和买来的蛋糕我都没吃出区别。真的很不错」
『我也没想到,原本还担心会做砸了呢。现在还是挺高兴的。』
「小衣真棒哦,很有满足感吧!小岩,也去尝尝?」
“好的,过会去了一定尝。不过小米,看起来你比小衣兴奋啊。”
「恩?她能做成这样,我可办不到。」
『不是吧?』
“看还是你在兴奋吧,你别把小衣说不高兴了。我可是她同桌,有时挺沉默的,不像你整天在班里天真说笑啦。”
『人家小米和我高兴还不好?』
“当然好啊,我是觉得她的话有点在打击你:做的也就和买的一样,忙活了像没有成就一样,还多花了那么些时间。”
「不可能,哪有人会像你想得那么恶心。是吧,小衣?」
『就是。』

[小衣家院子]
「一起动手吧,小衣教我!我们来做什么呢?」
『还刚才那种吧,至少比较有信心。』
“恩,小岩我也要学。”
『其实我是照着那本书做的,也不会什么特别的,那一起来看书吧。』
「不错,小衣照着书就能做这么好。」
『不要这么说嘛。那本书连什么调料的比例都标得清清楚楚,我也没做出什么啊。』
“你总算比我们有经验吧,先教我们吧。”
「对,书的插图总没小衣做的形象,有香味。」
『好吧,下面动手喽!做起蛋糕来感觉还是很有趣的。先来对付这些面粉!』
「好!」“好!”

[热火朝天中]
“没课休假有这么个机会,大家一起玩确实挺有趣的,难得有一个没什么事要做的短假。”
「哈哈,我原本还以为今天就一天无聊过去了。平时上课已经没感觉了,有假反而是无聊了。」
“我感觉不同,我还一直盼着有这种假期呢。平时有假,可还是过得紧紧张的。我还盼着能早点长大做出点特别的成就。”
「算了吧,踏踏实实做点事就行了,至于算不算成就还是去让别人认吧。我貌似不喜欢想那么远的事,平时好好学学习就行了。今天本来会很无聊,就来玩了啊。」
“怪不得看你平时整天开开心心的啊,成绩还不错。”
「是啊,我很满意自己了。」
“不过要我过这种单纯的生活还真吃不消呢,还是有期盼长大才觉得现在过得有意义啊。”
『说什么呐。面粉处理好了没?』
「好了,接着做……」
“小衣,你刚才在找什么,找到没?”
『没找到,有种调料不够数量了,我希望家了还有储备。』
「那怎么办,影响不大吧?」
『要不你们先等会儿,我马上就去买一点。』

[屋内]
『你们再先坐坐,我很快就回来』
“我也去。”
「走,一起。」
『不用了,我就一辆单车,一个人去方便。』
“那我们先等会?”
『恩,就这样。』
「她真出去了?」
“是的。”
「哈哈,今天是我第一次做蛋糕,目前感觉不错。」
“恩,我也第一次。小衣昨天说她先前也没做过。”
「第一次能这样相当不简单啊,先前一定仔细准备过,说不定昨天下午课上提问时开小差就在想蛋糕的事。」
“Right,课中途还翻了几次那本做蛋糕的书呢。”
「看来她还是认真准备了一下了,要是我是想不到办这种活动。」
“我开始也觉得意外,小衣看起来每天都过得很普通的。”
「不过要我一个人去做蛋糕,不会像今天这么顺利就开始。」
“不是不顺利啦,连开始都没有啦。不过我觉得做蛋糕挺无聊的,不如就买来就能吃,不像现在还遇到点多余的麻烦。”
「你不也今天很高兴地就来了吗,这样总比无聊在家好吧。」
“我是被好奇心引过来的,常吃蛋糕觉得还是要见识一下制作为好。反正有小衣教啦,不会多麻烦的”
「怎么做蛋糕也被你说的也很无聊的样子,没什么兴奋的感觉。」
“不是啦,我想我今天学着做了,以后很快就忘了。反正想吃的时候买就是了,自己不大可能再有场景来做。满足一次好奇心就是了。”
「哈哈,好直接的想法,小衣听了要伤心喽。我只是觉得今天比无事要好。」
“不过小衣请我们一起做蛋糕,这个想法确实挺特别的。”
「我记得她有假仅喜欢休息休息而已,我待会儿问问她是怎么想到做蛋糕活动的。」
“恩,你忘了问时我提醒你。”
「我成老爷爷了?」
“哪里可能,性别不对。”

[咔嚓~钥匙声]
「怎么样?」“怎么样?”
『没买到,居然卖光了。』
「那个材料很重要吗。」
『算是吧,对口味的影响会很大。』
“那怎么办呢,要不换一个品种来做?”
『可是那书上的每种里,这都是必不可少的材料。而且一旦缺少了,味道会相差很大的。』
“不会就宣告失败?”
「小岩,别这么说啊,总能想出个什么办法吧。是吗,小衣。」
『也怪我准备不足,现在想做出刚才那种超市级一样普通的蛋糕也做不出来了。』
“那先不管,接着教我们做如何,口味方面就放弃不管。”
「不要这样吧,感觉很浪费的,有点对要用的材料没诚意的感觉。」
“反正都如此了,有必要那么认真。看看现在的半成品,随便加点味道就可以完工了。”
「都要完工了,那不更糟蹋材料吗。要不,小衣,凭你的经验,自己调出一个味道来吧。」
『自己调?没做过呀。至少好不容易做一种被认可成功的,别的是很容易有万一闪失的,况且现在书上已经没有满足条件的例子可供参考了。』
「好像是啊,不论如何小衣之前做的那个算成功了,下面是有点困难。」
“那就随便做呗,反正不会做书上的某种因有缺材料而口味有闪失。”
「哈哈,也是。自创口味独一无二。不过还是要努力做好吃点哦。」
『那,好吧。』

[院子]
“小衣,然后呢,可以加什么?”
『那个,你右手边第二个盒子里。』
“好的。或者再加那个。然后变得像以前那个……”
『我要笑出来了,做食品呢,别说了。』
「哈哈,说什么有趣的?喂,小衣,我这里加这个可不可以?」
『这个无所谓,看个人习惯。』
“恩,这此会有各种品种了。”
『可能会很难吃哦。』
「也可能特别的好吃」
“确实如此,再或者是与众不同的味道吧。”
『看,已经做出一盒了。』
「我来尝尝。」
“小米,感觉如何?”
「很特别,但真的很好吃。」
“那我也来,恩,确实很不错。来吃啊小衣。”
『就来。』

[小衣家屋内]
「哈哈,感觉不错。」
『的确后来的口味比我料想的要好得多。』
「要是我下次准备准备很可能味道会更好的。」
“未必,要是真花心思来准备,估计就没这么好感受了。”
「至于嘛。」
『有空下次可以再玩啊,也可以别的。』
「我麻烦你吧?」
『我本来今天就没事可作的,还不是睡睡觉而已。』
“我也差不多。”
「我今天起得很早的。哈哈。」
“恩,时间不早了。我要回家了。”
「那我也走了。」
『好的,再见~』
「再见喽。」“小衣再见。”

[屋外]
“对了,提醒你件事。”
「什么?」
“算了,今天也不是过得毫无意义啊。”
「也是,谁说今天会很无聊的?」
“恩,这个嘛。”
「再见」
“小米再见”

[结束]


感觉写情节跑题不会很明显啊,至少和论述性文字比,不过我想单纯留很多文字并不是要写的重点啊(一次来写也困了)。看来想在对话中体现出人物和冲突还是有难度的,还是之前的文字形式习惯了(比如画面或参与感什么的)。

2009年4月29日星期三

标记:书~Maths&Prolang

年头时借的书了,终于被我还掉了,翻了好多页的纸啊。恩,是关于计算机的偏理论方面的书,看了只或是多或少点印象吧。

离散数学
Discrete Mathematics,Sixth Edition

一本明显教材风格的啦,是为讲有关计算机的数学基础。每章是按从理论到实际问题的顺序展开的,体现了基础数学知识的运用价值。算是我对其涉及的知识了解了一下,没太多特别的内容。

离散数学(第六版)
作者: [美]Richard Johnsonbaugh著,石纯一等译
电子工业出版社,2005.10(国外计算机科学教材系列)

内容简介
本书从算法分析和问题求解的角度,全面系统地介绍了离散数学的基础概念及相关知识。书中通过大量实例,深入浅出地讲解了数理逻辑、组合算法、图论、Boole代数、网络模型、形式语言与自动机理论、计算几何等与计算机科学密切相关的前沿课题,既着重于各部分内容之间的紧密联系,又深入探讨了相关的概念、理论、算法和实际应用。本书内容叙述严谨、推演详尽,各章配有相当数量的习题与书后的提示和答案,为读者迅速掌握相关知识提供了有效的帮助。
本书既可作为计算机科学及计算数学等专业的本科生和研究生教材,也可作为工程技术人员和相关人员的参考书。

目录
第1章 逻辑与证明
1.1 命题
1.2 条件命题与逻辑等价
1.3 量词
1.4 嵌套的量词
1.5 证明
1.6 归结证明
1.7 数学归纳法
1.8 强数学归纳法和良序性
注释
本章复习
本章自测题
上机练习
第2章 数学语言
2.1 集合
2.2 函数
2.3 序列和串
注释
本章复习
本章自测题
上机练习
第3章 关系
3.1 关系
3.2 等价关系
3.3 关系矩阵
3.4 关系数据库
注释
本章复习
本章自测题
上机练习
第4章 算法
4.1 简介
4.2 算法举例
4.3 算法的分析
4.4 递归算法
注释
本章复习
本章自测题
上机练习
第5章 数论简介
5.1 因子
5.2 整数的表示和整数算法
5.3 欧几里得算法
5.4 RSA公钥密码系统
注释
本章复习
本章自测题
上机练习
第6章 计数方法与鸽巢原理
6.1 基本原理
6.2 排列与组合
6.3 排列组合生成算法
6.4 离散概率简介
6.5 离散概率论
6.6 广义的排列和组合
6.7 二项式系数和组合恒等式
6.8 鸽巢原理
注释
本章复习
本章自测题
上机练习
第7章 递归关系
7.1 简介
7.2 求解递归关系
7.3 在算法分析中的应用
注释
本章复习
本章自测题
上机练习
第8章 图论
8.1 简介
8.2 路径和回路
8.3 Hamilton回路和旅行商问题
8.4 最短路径算法
8.5 图的表示
8.6 图的同构
8.7 平面图
8.8 顿时错乱问题
注释
本章复习
本章自测题
上机练习
第9章 树
9.1 简介
9.2 树的术语和性质
9.3 生成树
9.4 最小生成树
9.5 二叉树
9.6 树的遍历
9.7 决策树和最短时间排序
9.8 树的同构
9.9 博弈树
注释
本章复习
本章自测题
上机练习
第10章 网络模型
10.1 简介
10.2 最大流算法
10.3 最大流最小割定理
10.4 匹配
注释
本章复习
本章自测题
上机练习
第11章 Boole代数与组合电路
11.1 组合电路
11.2 组合电路的性质
11.3 Boole代数
11.4 Boole函数与电路合成
11.5 应用
注释
本章复习
本章自测题
上机练习
第12章 自动机、文法和语言
12.1 时序电路和有限状态机
12.2 有限状态自动机
12.3 语言和文法
12.4 不确定有限状态自动机
12.5 语言和自动机之间的关系
注释
本章复习
本章自测题
上机练习
第13章 计算几何
13.1 最小距点对问题
13.2 计算凸包的一种算法
注释
本章复习
本章自测题
上机练习
附录A 矩阵
附录B 代数学复习
附录C 伪代码
部分习题答案
参考文献
符号表


程序设计语言概念
CONCEPTS IN PROGRAMMING LANGUAGES

本书侧重于语言的概念原理和实现方法,体现典型语言往抽象的发展中特性的不同应用。
其小结习题部分的话题是对内容延伸的思考与补充,同样很具有可读性。
书本的体系即在展现其特有的认识角度,也是在工具使用中对工具本身体会发展并衡量利弊。

出版社 :清华大学出版社
系列名 :世界著名计算机教材精选
作者  :[美]John C. Mitchell/
译者  :冯建华/王益/谬雨果 等/
出版日期:2005年10月
版别版次:2005年10月第1版第1次印刷
国标编号:ISBN 7-302-11107-3
条形码 :9787302111078
字数  :704千字  印张:28.25
印数  :1-3000  页数:438
开本  :185*260

本书是由斯坦福大学计算机科学教授John C. Mitchell编写的。程序设计语言为程序员写出一个好的程序提供了所需的抽象机制、组织原则以及控制方式对程序开发产生的影响。本书分为四部分:函数与基本原理;过程、类型、内存管理与控制;模块、抽象与面向对象程序;并发性与逻辑编程等。通过本书的学习,读者将会对过去40年中所使用过的各种程序设计语言有更好的理解,对程序设计语言的设计过程中出现的问题和折中的有更深的认识,也会对他们所使用的程序设计语言的设计语言的利弊有更透彻的了解。由于不同的语言体现了不同的编程概念,把其他语言中的思想引入到自己所编写的程序中将会提高读者的编程能力。
本书适于大学本科以及低年级研究生理解和研究现代程序设计语言。

目录:
第1部分 函数与基本原理
第1章 导言 2
1.1 程序设计语言 2
1.2 目标 3
1.2.1 总体目标 3
1.2.2 特殊主题 3
1.3 程序设计语言的历史 4
1.4 组织:概念和语言 5
第2章 可计算性 7
2.1 部分函数与可计算性 7
2.1.1 表达式、错误和非终止符 7
2.1.2 部分函数 8
2.1.3 可计算性 9
2.2 本章小结 11
习题 11
第3章 Lisp语言:函数、递归和列表 13
3.1 Lisp语言的历史 13
3.2 好的语言设计 13
3.3 语言简述 15
3.4 Lisp设计中的创新 18
3.4.1 语句和表达式 18
3.4.2 条件表达式 19
3.4.3 Lisp抽象机 20
3.4.4 把程序作为数据 23
3.4.5 函数表达式 24
3.4.6 递归 25
3.4.7 高阶函数 25
3.4.8 垃圾收集 26
3.4.9 纯Lisp与副作用 29
3.5 本章小结 30
习题 30
第4章 基本原理 38
4.1 编译器和语法 38
4.1.1 一个简单编译器的结构 38
4.1.2 文法和解析树 41
4.1.3 解析和优先级 43
4.2 朗母达演算 44
4.2.1 函数和函数表达式 44
4.2.2 朗母达表达式 45
4.2.3 朗母达演算编程 49
4.2.4 归约、汇合和范式 51
4.2.5 朗母达演算的重要特征 52
4.3 指称语义 52
4.3.1 目标语言和元语言 53
4.3.2 二进制数的指称语义 54
4.3.3 While程序的指称语义 55
4.3.4 透视和非标准语义 58
4.4 函数型语言和命令型语言 60
4.4.1 命令语句和声明语句 60
4.4.2 功能型程序和命令型程序 61
4.5 本章小结 65
习题 66
第2部分 过程、类型、内存管理与控制
第5章 Algol与ML语言 74
5.1 Algol家族的程序语言 74
5.1.1 Algol 60 74
5.1.2 Algol 68 76
5.1.3 Pascal 77
5.1.4 Modula 78
5.2 C语言的发展 78
5.3 LCF系统和ML 80
5.4 ML程序设计语言 82
5.4.1 交互会话和运行时环境 82
5.4.2 基本类型和类型构造器 85
5.4.3 模式、声明、函数表达式 89
5.4.4 ML数据类型的声明 92
5.4.5 ML的引用单元与赋值 94
5.4.6 ML小结 97
5.5 本章小结 98
习题 98
第6章 类型系统和类型推测 105
6.1 程序设计中的类型 105
6.1.1 程序的组织和文档 105
6.1.2 类型错误 106
6.1.3 类型与优化 107
6.2 类型安全和类型检查 108
6.2.1 类型安全 108
6.2.2 编译时和运行时的类型检查 108
6.3 类型推测 110
6.3.1 第一个类型推测的示例 110
6.3.2 类型推测算法 111
6.4 多态和重载 118
6.4.1 参数多态 118
6.4.2 参数多态的实现 120
6.4.3 重载 122
6.5 类型声明和类型等价性 123
6.5.1 透明的类型声明 123
6.5.2 C语言的声明和结构 124
6.5.3 ML类型声明 125
6.6 本章小结 126
习题 127
第7章 作用域、函数和存储管理 133
7.1 块结构的语言 133
7.2 内嵌块 135
7.2.1 活动记录和局部变量 135
7.2.2 全局变量和控制链 138
7.3 函数和子程序 139
7.3.1 函数的活动记录 139
7.3.2 参数传递 141
7.3.3 全局变量(一阶情况) 144
7.3.4 末端递归(一阶情况) 146
7.4 高阶函数 148
7.4.1 一阶函数 148
7.4.2 将函数传递给函数 149
7.4.3 从嵌套作用域中返回函数 152
7.5 本章小结 154
习题 155
第8章 顺序语言中的控制 168
8.1 结构化控制 168
8.1.1 意大利面条式的代码 168
8.1.2 结构化控制 168
8.2 异常 169
8.2.1 异常机制的目的 169
8.2.2 ML异常 171
8.2.3 C++异常 173
8.2.4 关于异常的更多内容 175
8.3 延续 179
8.3.1 表示"程序其余部分"的函数 179
8.3.2 延续传递形式和末端调用 180
8.3.3 延续的编译 183
8.4 函数和求值顺序 183
8.5 本章小结 186
习题 187
第3部分 模块、抽象与面向对象程序设计
第9章 数据抽象和模块化 192
9.1 结构化程序设计 192
9.1.1 数据细化 193
9.1.2 模块化 194
9.2 支持抽象机制的语言 196
9.2.1 抽象 197
9.2.2 抽象数据类型 198
9.2.3 ML抽象数据类型 198
9.2.4 表达无关性 201
9.2.5 数据类型介绍 202
9.3 模块 204
9.3.1 Modula和Ada 205
9.3.2 ML模块 207
9.4 一般抽象 210
9.4.1 C++函数模板 210
9.4.2 标准的ML算符 212
9.4.3 C++标准模板库 215
9.5 本章小结 218
习题 220
第10章 面向对象语言的概念 226
10.1 面向对象设计 226
10.2 面向对象语言中的4个基本概念 227
10.2.1 动态查找 227
10.2.2 抽象 229
10.2.3 子类型 231
10.2.4 继承 232
10.2.5 作为对象的闭包 233
10.2.6 继承不是子类型 234
10.3 编程结构 235
10.4 设计模式 236
10.5 本章小结 239
10.6 展望:Simula、Smalltalk、C++、Java 239
习题 240
第11章 对象的历史:Simula和Smalltalk 246
11.1 Simula面向对象机理 246
11.1.1 对象和仿真 246
11.1.2 Simula的主要概念 247
11.2 Simula中的对象 247
11.2.1 Simula中面向对象的基本特点 248
11.2.2 一个点线圆的例子 248
11.2.3 示例代码和对象表示 250
11.3 Simula中的子类和继承 251
11.3.1 对象类型和子类型 252
11.4 Smalltalk的发展 254
11.5 Smalltalk语言的特点 255
11.5.1 术语 255
11.5.2 类和对象 255
11.5.3 继承 258
11.5.4 Smalltalk的抽象性 260
11.6 Smalltalk的灵活性 260
11.6.1 动态查找和多态 260
11.6.2 布尔变量和块 261
11.6.3 self和super 262
11.6.4 系统扩充:Ingalls测试 263
11.7 子类型与继承的重要性 264
11.7.1 对象类型作为接口 264
11.7.2 子类型 265
11.7.3 子类型和继承 265
11.8 本章小结 267
习题 268
第12章 C++对象与运行效率 277
12.1 设计目标和限制 277
12.1.1 与C的兼容性 277
12.1.2 C++的成功 278
12.2 C++概述 278
12.2.1 增加了C中没有的对象 279
12.2.2 面向对象的特点 282
12.2.3 好的决定和问题所在 282
12.3 类、继承和虚函数 284
12.3.1 C++类和对象 284
12.3.2 C++派生类(继承) 285
12.3.3 虚函数 287
12.3.4 为什么C++的查找比Smalltalk的查找简单 288
12.4 子类型 292
12.4.1 子类型原理 292
12.4.2 公有基类 293
12.4.3 public成员的特殊类型 294
12.4.4 抽象基类 294
12.5 多重继承 295
12.5.1 多重继承的实现 296
12.5.2 命名冲突、继承和虚拟基类 298
12.6 本章小结 301
习题 302
第13章 可移植性和安全性:Java语言 319
13.1 Java语言概述 320
13.1.1 Java语言的目标 320
13.1.2 设计决策 320
13.2 Java的类和继承 322
13.2.1 类和对象 322
13.2.2 包和可视性 325
13.2.3 继承 325
13.2.4 抽象类和接口 327
13.3 Java的类型及子类型关系 328
13.3.1 类型的分类 328
13.3.2 类和接口的子类型关系 329
13.3.3 数组、协变和反协变 330
13.3.4 Java 异常类的层次关系 331
13.3.5 子类型多态和通用编程 333
13.4 Java系统架构 336
13.4.1 Java虚拟机 336
13.4.2 类加载器 337
13.4.3 Java链接器、检验器及类型约束 337
13.4.4 字节码解释器和方法查询 338
13.5 安全特性 342
13.5.1 缓冲区泄漏攻击 343
13.5.2 Java沙箱 344
13.5.3 安全和类型安全 346
13.6 本章小结 347
习题 349
第4部分 并发性与逻辑编程
第14章 并发和分布式编程 358
14.1 并发的基本概念 359
14.1.1 执行顺序和非确定性 359
14.1.2 通信、协调和原子性 361
14.1.3 互斥和封锁 361
14.1.4 信号量 364
14.1.5 管程 365
14.2 Actor模型 366
14.3 并发ML 369
14.3.1 线程和通道 369
14.3.2 选择式通信和保护命令 371
14.3.3 一流的同步操作:事件 373
14.4 Java的并发性 377
14.4.1 线程、通信与同步 378
14.4.2 同步方法 380
14.4.3 虚拟机与存储模型 382
14.4.4 分布式程序设计与远程方法调用 386
14.5 本章小结 388
习题 390
第15章 逻辑编程范例和Prolog 396
15.1 逻辑编程的历史 396
15.2 逻辑编程范例的简要概述 397
15.2.1 说明性编程 397
15.2.2 交互编程 397
15.3 作为原子动作统一解决的等式 398
15.3.1 项 398
15.3.2 置换 399
15.3.3 最通用的合一置换 399
15.3.4 合一算法 400
15.4 子句作为过程声明的一部分 402
15.4.1 简单子句 402
15.4.2 计算过程 402
15.4.3 子句 404
15.5 Prolog编程 405
15.5.1 单个程序的多重使用 405
15.5.2 逻辑变量 406
15.6 Prolog中的数学 409
15.6.1 数学运算符 410
15.6.2 数学比较关系 410
15.6.3 对算术表达式的赋值 412
15.7 控制、双性语法和元变量 414
15.7.1 剪切 414
15.7.2 双性语法和元变量 415
15.7.3 控制设备 416
15.7.4 失败的否定 418
15.7.5 高阶编程和Prolog中的元编程 419
15.8 Prolog的评价 421
15.9 书目评价 423
15.10 本章小结 423
附录A 程序实例补充 425
A.1 程序和面向对象机制 425
A.1.1 类型的程序:典型案例版本 426
A.1.2 shape程序:面向对象版本 430
附录B 术语表 433

参考:http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=BB011019974

其他书目:
程序设计语言原理,第七版
Concepts of Programming Languages,Seventh Edition
Robert W.Sebesta

与上面那本类似,没细看,感觉书本体系是侧重于程序设计语言中不同特性的性质与实例。
最近的一版是第八版,一直有更新在加入新语言的特性。

书看过了,放下,然后标记一下。呵呵,就这样喽。

天空积累着云层
仰头望着
却始终等不来雨滴
黑色越来越多
在无边旷野之上
渺小了周围的景物

河面映不出天空的色彩
微波扰不乱压抑的气氛
高高的树
任凭风吹得东倒西歪

风云变幻着,万物生长着
在无人的世界里
仅自身铭记着生存的意义
也许它们并不知觉
只是在有一刻有了感知
而在另一刻忽然消失

无边旷野上的草木
被时光留在
历史上的瞬间
留下的气息
被风吹淡
似乎又从不
被其他生命记得

想去怀疑
却没有心情
每日在匆忙间
天空无法停下表演

2009年4月2日星期四

在Windows使用MPlayer - The Movie Player

MPlayer - The Movie Player
http://www.mplayerhq.hu

lastest mplayer.exe
http://kovensky.project357.com

The manual page
http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html

Front-end
MPUI,the MPlayer frontend for Windows(clean and simple)
http://mpui.sourceforge.net/
SMPlayer,intends to be a complete front-end for MPlayer
http://smplayer.sourceforge.net/

Also
MPC-HC,Media Player Classic - Homecinema
http://mpc-hc.sourceforge.net/

源自Linux的开源媒体播放器,自身提供广泛的格式和编码支持(而ffmpeg已是众多免费播放器的基础),也可使用二进制解码包。播放器的使用方法及众多功能请参考手册,或者直观地通过图形前端,不过操作仍倾向用快捷键比如来调整进度。亦可用于转码。

[tag:以下内容仍要调整哦,现在差不多了]
基本用法:
* 播放文件 *
mplayer.exe <媒体文件>
(简单点把文件拖给mp即可)
* 按键 *
调节进度 后退/快进-左右键10秒,下上键1分,pgdown/pgup10分
播放/暂停 空格键
全屏 f键
音量 9键/0键 或/键/*键
OSD o键
播放列表切换 <键/>键
其他很有用的键见手册,就看是否需要用到了。
* 配置 *
在调用mplayer的命令中"-<参数名> [参数值]"
或者在.\mplayer\config 中行"<参数名>=<值>"
* 示例 *
放大音量到100%以上,使用软音源"softvol"(用"softvol−max"设置具体百分度,如值"400")
使用字幕,字幕与媒体文件同文件名,或者用"sub"参数指定。
设定字幕编码为简体中文(不然可能会有乱马)"-subcp cp936"
同步声画 "-autosync 30 -mc 2.0"外"+/−"加手工调整。

说明:
第一次播放视频要缓冲字体,等待片刻即可。
以上仅例举了一些基本用法,更丰富更详细的用法仍请参考手册。(有中文版手册更新跟不上,建议尽当辅助参考。命令和按键最好是有机会要了解下有什么。)
不过能正常地把媒体文件按需要播放完,软件其他功能知道有会去查用法,便达到使用的目的了。
有时用前端省事,有时觉得累赘,看情况和个人感觉吧使用。

其他:
ubuntu下用新版mplayer
https://launchpad.net/~rvm/+archive/ppa
一般这样就可以支持更多格式获得更好的性能,外加一些新功能。感觉去年年底一段时间有些非常实用的更新,比如rm,高清,老版U源里没有提供。

解码包:
官网下载页有,播放某些格式会用到,放到对应目录。

其他阅读材料:
还是 《手册》!
外加google("linuxtoy mplayer")
>>http://linuxtoy.org/archives/playing-around-with-mplayer.html

====
0706
贴一下我用mencoder命令,用得比较简单,内容对应mplayer文档。如果转.wmv等就要复杂些,建议参考已有示例。
以下命令主要包括
输入输出文件及输出容器类型
音频编码器及参数
视屏编码器及参数
缩放
AV同步

mencoder^
b.rmvb -o v.flv -of lavf^
-oac mp3lame -lameopts preset=128^
-ovc lavc -lavcopts vcodec=flv vbitrate=800^
-vf scale -zoom -xy 320^
-mc 0 -noskip -ofps 24

mencoder^
a.flv -o v.avi -of avi^
-oac mp3lame -lameopts preset=128^
-ovc xvid -xvidencopts bitrate=600^
-vf scale -zoom -xy 320 harddup^
-mc 0 -noskip -ofps 24^
-srate 22050

mencoder^
a.flv -o fv.flv -of lavf^
-oac mp3lame -lameopts preset=128^
-ovc lavc -lavcopts vcodec=flv^
-vf scale -zoom -xy 320^
-mc 0 -noskip -ofps 24^
-srate 22050^
1>nul^
2>nul
pause

可以用bat的for命令同时处理批量文件,用法见"for /?"。

扩展阅读
用Mencoder进行任意视频格式转换成flv
http://www.jcwcn.com/html/geshizh/14_12_25_632.html
视频文件转换为flv的完整解决方案(ffmpeg、mencoder)
http://www.cnblogs.com/sbxwylt/articles/1123168.html
WisMencoder 参数说明
http://www.mzys.cn/help/10.html
以下转文供参考

1.转换成flv文件: mencoder infile.* -o outfile.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=150:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050
mencoder infile.rmvb -o outfile.flv -vf scale=-3:150 -ofps 12 -oac mp3lame -ovc xvid -xvidencopts bitrate=112

2.转换成avi文件: mencoder infile.* -o outfile.avi -of avi -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600

3. 转换成wmv文件(复杂写法,其中高级参数可以省去): mencoder infile.* -o outfile.wmv -of lavf -ofps 25 -oac mp3lame -lameopts cbr:preset=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=768:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=320:240 -srate 22050 -sws 9 -subcp cp936 -subpos 0 -subalign 0 -subfont-text-scale 3 -lavfopts i_certify_that_my_video_strea

mencoder.exe src.avi -o dst.avi -noskip -vf scale=320:240 -oac mp3lame -lameopts vbr=3:br=128 -ovc xvid -xvidencopts pass=1:bitrate=300:keyframe_boost=20:trellis:quant_type=h263
mencoder.exe src.avi -o dst.avi -noskip -vf scale=320:240 -oac mp3lame -lameopts vbr=3:br=128 -ovc xvid -xvidencopts pass=2:bitrate=300:keyframe_boost=20:trellis:quant_type=h263

其他
需要图形前端可以试试
winmenc
超级兔子
是考虑到这两者调用mencoder的参数比较丰富(质量也不错)。
还有就Linux下用Avidemus导入导出也可改变视频格式。
gmencoder有类似的,不过这个很久没跟新了
WinFF是ffmpeg(mencoder包含的核心编解码器,据说单独使用会快一点)的前端

====
091030
想写前端的话,用MP的slave mode,以管道的方式通信。