Archive for August, 2006
Posted: August 23, 2006 at 12:02 pm | Tags: blog, 女生, 开发, 技术, 测试, 类
一、视觉基本要素设计
二、视觉应用要素设计的准备工作
三、具体应用设计项目的展开
四、编制VI视觉识别手册
一、视觉基本要素设计
企业标志
企业标志,可分为企业自身的标志和商品标志。
企业标志特点:
其一,识别性。其二,系统性。
其三,统一性。
其四,形象性。
其五,时代性。
企业标志设计作业流程:
调查企业经营实态、分析企业视觉设计现状,其具体包括如下现状:
其一,企业的理念精神内涵与企业的总体发展规划。
其二,企业的营运范围、商品特性、服务性质等。
其三,企业的行销现状与市场占有率。
其四,企业的知名度与美誉度。
其五,企业经营者对整个形象战略及视觉识别风格的期望。
其六,企业相关竞争者和本行业特点的现状等。
1、确立明确的概念。
2、具体设计表现。
3、标志作业的缜密化:
其一,标志细部的缜密化。
其二,标志形态的数值化:
一是方格化,
二是比例尺寸标志法,
三是圆弧角度标志法。
其三,标志形态的多样化:
线条粗细的变化;
正负形的变化;
彩色与黑白的变化;
各种点、线、面的变化(如空心体、网纹、点成面、线成面等);
对应不同媒体的形态变更;
缩小或放大形态的变化。
企业标准字
企业标准字是将企业名称、企业商标名称略称、活动主题、广告语等进行整体组合而成的字体。
企业标准字特征:
其一,识别性。
基二,可读性。
其三,设计性。
其四,系统性。
企业标准字种类:
其一,企业名称标准字。
其二,产品或商标名称标准字。
其三,标志字体。
其四,广告性活动标准字。
企业命名或更名:
企业更名方案有以下几种情况:
其一,全面变更公司名称,包括现有标准字、标准色等基本视觉要素。
其二,部分变更或简化企业名称,同时推出新的标准字、标准色。
其三,阶段性变更。
其四,统一企业名称和商标品牌名称。
其五,在企业名称的标准字和标准色不变的前提下,根据不同的使用场合,开发出适应不同场合的变化形式,以求达到形式变化的感觉。
标准字制图法:
标准字制图法常用两种方法:
其一,方格表示法。
其二,直接标志法。
企业标准色
企业标准色,是指企业通过色彩的视知觉传达,设定反映企业独特的精神理念、组织机构、营运内容、市场营销与风格面貌的状态的色彩。
标准色的开发设定:
调查分析阶段:
其一,企业现有标准色的使用情况分析。
其二,公众对企业现有色的认识形象分析。
其三,竞争企业标准色的使用情况分析。
其四,公众对竞争企业标准色的认识形象分析。
其五,企业性质与标准色的关系分析。
其六,市场对企业标准色期望分析。
其七,宗教、民族、区域习惯等忌讳色彩分析。
概念设定阶段:
积极的、健康的、温暖的等(如红色);
和谐的、温情的、任性的等(如橙色);
明快的、希望的、轻薄的等(如黄色);
成长的、和平的、清新的等(如绿色);
诚信的、理智的、消极的等(如蓝色);
高贵的、细腻的、神秘的等(如紫色);
厚重的、古典的、恐怖的等(如黑色);
洁净的、神圣的、苍白的等(如白色);
平凡的、谦和的、中性的等(如灰色)。
色彩形象阶段:
通过对企业形象概念及相对应的色彩概念和关键语的设定,进一步确立相应的色彩形象表现系统。
模拟测试阶段:
其一,色彩具体物的联想、抽象感情的联想及嗜好等心理性调查。
其二,色彩视知觉、记忆度、注目性等生理性的效果测试。
其三,色彩在实施制作中,技术、材质、经济等到物理因素的分析评估。
色彩管理阶段:
本阶段主要是对企业标准色的使用,作出数值化的规范,如表色符号、印刷色数值。
实施监督阶段:
对不同材质制作的标准色进行审定;
对印刷品打样进行色彩校正;
对商品色彩进行评估;
其他使用情况的资料收集与整理等。
辅助图形
辅助图形是企业识别系统中的辅助性视觉要素,它包括企业造型、象征图案和版面编排等三个方面的设计。
1、企业造型(又称之为商业角色或吉祥物、商业标识画)的设计与应用:
企业造型是为了强化突出企业或产品的性格特征,而设计的漫画式人物、动物、植物、风景或其他非生命物等,作为企业的具体象征。
企业造型的应用:
其一,二维媒体,如印刷品等。
其二,三维媒体,如影视媒体。
其三,户外广告和POP广告等,如路牌、车体。
其四,企业公关物品和商品包装,如赠品等到。
2、企业象征图形的设计构成:
象征图形不是纯装饰的图书馆案,是企业基本视觉要素的拓展联系。
企业象征图形的设计题材:
其一,以企业标志的造型为开发母体。
其二,以企业标志或企业理念的意义为开发母体。
3、版面编排设计:
一般的版面包括天头、版心、地脚三大部分,编排的内容要素包括视觉识别系统中的基本要素组合、正文(文字和图)、企业造型等,它们处于版面的不同位置。
版面编排常用两种方式表示其结构:
其一,直接标示法。
其二,符号标志法。
企业视觉识别基本要素的组合方式
根据具体媒体的规格与排列方向,而设计的横排、竖排、大小、方向等不同形式的组合方式。 基本要素组合的内容:
其一,使目标从其背景或周围要素中脱离出来,而设定的空间最小规定值。
其二,企业标志同其他要素之间的比例尺寸、间距方向、位置关系等。
标志同其他要素的组合方式,常有以下形式:
一是标志同企业中文名称或略称的组合;
二是标志同品牌名称的组合;
三是标志同企业英文名称全称或略称的组合;
四是标志同企业名称或品牌名称及企业选型的组合;
五是标志同企业名称或品牌名称及企业宣传口号、广告语等的组合;
六是标志同企业名称及地址、电话号码等资讯的组合。
禁止组合规范:
其一,在规范的组合上增加其他造型符号。
其二,规范组合中的基本要素的大小、广告、色彩、位置等发生变换。
其三,基本要素被进行规范以外的外理,如标志加框、立体化、网线化等。
其四,规范组合被进行字距、字体变形、压扁、斜向等改变。
专用字体
专用字体包括现有标准字体和指定字体。
标准字体:
多用于企业名称、商品名称、商标名称等。
指定字体:
常用于部门名称、设施名称、分支机构名称及其地址、广告内容、正式文书等。
设计选择专用字体应注意事项:
其一,调查整理专用字体的使用范围、使用目的、使用状况等。
其二,选用指定字体,应考虑同标志和标准字体等基本要素的风格相协调。
其三,所选字体的种类及文字的组合形态、方法应有一定的规律,并形成具有可读性的、再现性的、识别性的文字系统。
返回页首
二、视觉应用要素设计的准备工作
应用要素项目的现状调查
现状项目的收集分类:
对现有应用要素的项目收集的,主要集中于以下项目内容:
其一,事务用品类,如名片、各式文书等。
其二,广告促销类,如小手册、电视广告、公告资料等。
其三,标识招牌类,如旗帜、各类导引标识等。
其四,运输工具类,如运输卡车、拖车等。
其五,商品包装类,如商标、包装纸等。
其六,员工制服类,如徽章、工作服等。
其七,建筑环境类,如外观、办公室等。
其八,展示典礼等,如纪念活动、展示环境、专卖店等。
应用要素设计开发策略的确定:
对于某个企业形象中的具体应用要素设计项目而言,在开发设计之前,应对其客观的限制条件和依据作出必要的确定,避免设计项目虽然很美,但不能使用的问题:
其一,项目的功能需要。
主要是指完成设计项目成品所必需的基本条件,如形状、尺寸规格、材质、色彩、制作方式和用途等。 其二,项目使用的法律性限制。
如信封的规格、招牌指示等环境要素的法规条例。
其三,行业性质的需要。
主要是指企业所在行业中,一些约定俗成的规定或需要,如事务性用品中的单据、包装类的规定等。
返回页首
三、具体应用设计项目的展开
目录:
1、事务用品类;
2、包装产品类;
3、旗帜规划类;
4、员工制服类;
5、媒体标志风格类;
6、广告招牌类;
7、室内外指示类;
8、环境风格类;
9、交通运输类;
10、展示风格类;
11、专卖店风格类;
12、其他。
事务用品类
其项目细则包括:
1、名片
2、信纸
3、信封
4、便笺
5、各型公文袋
6、资料袋
7、薪金袋
8、卷宗袋
9、合用书
10、报价单
11、各类表单和账票
12、各类证卡(如邀请卡、生日卡、圣诞卡、贺卡)
13、年历、月历、日历
14、工商日记
15、奖状、奖牌
16、茶具
17、办公设施等用具(如纸镇、笔架、圆珠笔、铅笔、雨具架、订书机、传真机等)
主要设计要素:
事务用品类的主要设计要素一般包括:
企业标志
企业名称(全称或略称)
标志字
标准字
标准色彩
企业造型
象征图形
企业署名
地址、电话、电报、电传、电子邮件信箱、邮政编码
企业标语口号
营运内容
事务用品名称(如“请柬”、“合同书”)
图形、文字 、构图
肌理、制作工艺等
包装产品类
包装产品类项目细则:
1、外包装箱(大、中、小),
2、包装盒(大、中、小),
3、包装纸(单色、双色、特别色),
4、包装袋(纸、塑料、布、皮等材料),
5、专用包装(指特定的礼品用、活动事件用、宣传用的包装),
6、容器包装(如瓶、罐、塑料、金属、树脂等材质),
7、手提袋(大、中、小),
8、封口胶带(宽、窄),
9、包装贴纸(大、中、小),
10、包装封缄(大、中、小),
11、包装用绳,
12、产品外观,
13、产品商标表示,
14、产品吊牌,
15、产品铭牌等。
主要设计要素:
包装形式:
单件设计、成套设计、组合设计、组装设计等。
构成要素:
企业署名(标志、标准字体、标准色、企业造型、象征图形等),
图形(摄影、插图等),
文字(使用说明、质量保证等),
材质(纸、塑料、金属、布、皮等),
结构,
制作工艺等。
旗帜规划类
主要项目细则:
1、公司旗帜(标志旗帜、名称旗帜、企业造型旗帜 )
2、纪念旗帜
3、横式挂旗
4、奖励旗
5、促销用旗
6、庆典旗帜
7、主题式旗帜等。
8、其中各类吊挂式旗帜多用于渲染环境气氛,并与不同内容的公司旗帜,形成具有强烈形象识别的效果。
基本设计要素:
企业标志
企业名称略称
标准色
企业造型
广告语
品牌名称
商标
图形
材质(纸、布、金属等)
员工制服类
主要项目细则
1、男女主管职员制服(二季)
2、男女行政职员制服(二季)
3、男女服务职员制服(二季)
4、男女生产职员制服(二季)
5、男女店面职员制服(二季)
6、男女展示职员制服(二季)
7、男女工务职员制服 (二季)
8、男女警卫职员制服 (二季)
9、男女清洁职员制服 (二季)
10、男女后勤职员制服 (二季)
11、男女运动服 (二季)
12、男女运动夹克 (二季)
13、运动帽、鞋、袜、手套;
14、领带、领带夹、领巾、皮带、衣扣;
15、安全帽、工作帽、毛巾、雨具。
主要设计要素:
企业基本视觉要素的运用,如企业标志、企业名称、标准色、广告语等
制服的内外造型(外观形态、内部款式等)
质料(如朴素自然的棉麻布料,庄重挺拔的毛料,华丽高雅的丝绸缎料等)
不同岗位性质的制服色彩
专制的衣扣、领带、领带夹、拉链、皮带等服饰配件
媒体标志风格类
主要项目细则:
1、电视广告商标标志风格;
2、报纸广告商标标志风格;
3、杂志广告商标标志风格;
4、人事招告商标标志风格;
5、企业简介商标标志风格;
6、广告简介、说明书商标标志风格;
7、促销POP、DM广告商标标志风格;
8、海报商标标志风格;
9、营业用卡(回函)商标标志风格。
媒体广告类
主要项目细则:
1、导入CI各阶级对内对外广告;
2、企业简介、产品目录样本;
3、电视CF、报纸、海报、杂志广告;
4、直邮DM广告、POP促销广告;
5、通知单、征订单、明信片、优惠券等印刷物;
6、对内对外新闻稿;
7、年度报告、报表;
8、企业出版物(对内宣传杂质、宣传报)。
主要设计要素:
企业标志、名称略称、象征图形等企业署名
企业色彩系统的运用
媒体比例尺寸、篇幅、材质(如纸、霓虹灯等)
文字、图形图象、声音、镜头、光影及其结构格式
室内外标识类
项目细则:
1、招牌类:
2、室内外直式、模式、立地招牌;
3、大楼屋顶、楼层招牌;
4、骑楼下、骑楼柱面招牌;
5、悬挂式招牌;
6、柜台后招牌;
7、企业位置看板(路牌);
8、工地大门、工务所、围篱、行道树围篱、牌坊。
指示类:
室内外指示系统;
1、符号指示系统(含表示禁止的指示、公共环境指示);
2、机构、部门标示牌;
3、总区域看板;
4、分区域看板;
5、标识性建筑物壁画、雕塑造型。
环境风格类
项目细则:
1、主要建筑物外观风格;
2、建筑内部空间装饰风格;
3、大门入口设计风格;
4、室内形象墙面;
5、厂区外观色带;
6、玻璃门色带风格;
7、柜台后墙面设计;
8、公布栏、室内精神标语墙;
9、环境色彩标志;
10、踏垫;
11、烟灰缸、垃圾桶;
12、员工储物柜;
13、室内装饰植物风格。
交通运输工具类
1、营业用工具,如服务用的轿车、吉普车、客货两用车、展销车、移动店铺、汽船等。
2、运输用工具,如大巴、中巴、大小型货车、厢式货柜车、工具车、平板车、脚踏车、货运船、客运船、游艇、飞机等。
3、作业用工具,如起重机车、推土车、升降机、曳拉车、拖车头,公共用清扫车、垃圾车、救护车、消防车、电视转播车等。
主要设计要素:
企业标志
品牌标志
标准字体
企业造形
象征图案及其组合方式,位置比例尺寸、制作工艺等
展示风格类
项目细则:
1、展示会场设计;
2、橱窗设计;
3、展板造型;
4、商品展示架、展示架、展示台;
5、展示参观指示;
6、舞台设计;
7、照明规划;
8、色彩规划;
9、商标、商标名称表示风格;
10、椅子、桌子、沙发等风格。
主要设计要素:
企业标志
标准字体
标准色
文字
图形
企业造型
空间结构
灯光
材料
展品
影音等
专卖店识别风格
专卖店识别企划:
其一,准备阶段。
提出整个识别设计的进度表,并列出有关应知事宜,创意设计方案和简单说明,收集各项资料,制定专卖店识别所需的计划等。
其二,设计阶段。
根据上阶段所准备的资料,制定平面配置图及各部分的立面图、透明图;制定家具风格、色彩规划及材料计划表。
其三,编制规范手册。
制作详细的平面图、立体图、剖视图和局部大样图;
灯光配置规划和说明;
家具配置计划图;
施工规范图;
施工规范说明。
项目细则:
1、各空间区域的平面图和立体图、施工图;
2、各类材质规划;
3、各空间区域色彩风格;
4、功能设备规划(如水电、照明等);
5、环境设施规划(如柜台、桌椅等家具,盆栽、垃圾桶、烟灰缸等环境风格,各类橱柜);
6、店员服饰风格、店内外广告招牌造型;
7、店内外标识类;
8、商品展示类(如商品陈列台、促销台、价目牌、分类牌、店卡、目录架、品牌灯箱等)。
返回页首
四、编制VI视觉识别手册
设计手册结构体系
其一,概念的诠释。
如CI概念、设计概念、设计系统的构成及内容说明。
其二,基本设计项目的规定。
主要包括各设计项目的概念说明和使用规范说明等。如企业标志的意义、定位、单色或色彩的表示规定、使用说明和注意事项,标志变化的开发目的和使用范围,具体禁止使用例子等。
其三,应用设计项目的规定。
主要包括各设计项目的设计展开标准,使用规范和样式、施工要求和规范详图等。如事务用品类的用字体、色彩及制作工艺等。
设计手册编制形式
其一,将基本设计项目规定和应用设计项目规定,按一定的规律编制装订成一册,多采用活页形式,以便于增补。
其二,将基本设计项目规定和应用设计项目规定,分开编制,各自装订成册,多采用活页和目录形式。
其三,根据企业不同机构(如分公司)或媒体的不同类别,将应用设计项目分册编制,以便使用。 设计手册具体内容
其一,引言部分。
如领导致词,企业理念体系说明和形象概念阐述,导入CI的目的和背景,手册的使用方法和要求。
其二,基本设计项目及其组合系统部分。
如基本要素的表示法、变体设计等。
其三,应用设计项目部分。
其四,主要设计划要素样本部分。
如标志印刷样本或干胶,标准色色票等
Posted: August 23, 2006 at 11:54 am | Tags: html
原文:http://dian.blueidea.com/archives/2006/2875.shtml
(1)座位不能直冲大门。由于大门为整个办公室的气流和能量出入口,座位正对着大门,会被入门的气场冲到,容易影响一个人的潜意识、神经系统,造成脾气火爆或无端生病的情况。可以在门口立一座屏风或植物,作为化解之道。
(2)座位后面宜有靠(墙或柜),不能背着门或走道。人的后脑为脑波放射区,也是人体感应气场最敏感的部位之一;因此,座位的后方最好是固定、不动的东西;如果背后有人走动,容易让人精神不集中,无形中把一部分注意力转到后脑,长久下来会消耗掉能量,影响工作效率和健康。
(3)座位前方不能紧贴墙壁(缓冲区不够)。人的眼睛长在前面,就是要捕捉比较多的讯息;如果座位太贴近墙面,反而看不见四周的人和物,会造成潜意识的不安,也会影响到神经系统的稳定。
(4)座位前方最好不要有人。如座位前方也有人面对面,也是一种心理煞,没有自己的隐私空间,不是会造成彼此的舒服,就是会分散注意力,喜欢和对方有说有笑,而影响工作。最好是两人之间放一些盆栽或文件隔开。
(5)座位不能正对着厕所门。厕所是秽气聚集之地,而厕所门就是秽气排出之处,长期在厕所门附近,或正对着厕所门的人,会因吸了过多的秽气而生病。如不能避免,可以在厕所和座位间加装一道屏风或大型阔叶植物,多少可以挡掉一点秽气,而且厕所门也必需随时关上。
(6)座位不能在复印机或计算机的后方。复印机和计算机的外溢磁场比较强,如座位靠太近或在计算机正后方,久了容易影响到本身的磁场,造成身心方面的障碍,间接地也会影响运势。最好是保持距离,不然在中间放盆阔叶植物也可不,但植物要定期更换,否则也会变成第二个污染源。
(7)座位旁不能有洗手台或水龙头。有水出来的地方,就会影响气场,因为水本身能聚气,也能扰乱磁场。长期坐在水龙头旁边的人,会有神经系统失调或运势反复的现象,最好是避开。
(8)座位旁不能有大垃圾桶或杂物。和厕所一样,垃圾桶或杂物堆,也是秽气的来源,避之则吉。
(9)座位上不能光线不足或没有窗户。座位上的光线如果太弱,会造成太阳能不足、地磁能过多的“阴气重”现象,久了会让人怠惰消极,也比较容易悲观。
(10)座位不能正对着厨房或瓦斯炉、冰箱。厨房,是火气的来源,如靠火气太近,也会影响人体的神经系统和生理场,长久下来,更会阻碍一个人的思考能力,最好是避开。
(11)座位不能正对着饮水机。和水龙头一样,饮水机也是水气的出口,尤其每天有人去开水、关水的,更容易影响附近磁场的稳定;可以的话,保持一段距离最好。
(12)座位不能正对着主管或老板房间门。主管和老板,一般来讲是管制上班族的,按古人的讲法就是“克”上班族的;除非你眼中没有主管和老板,不然,最好不要正面对着他们的房间,因为你会受到他们一举一动的影响,而无法集中精神,久了也容易和他们起冲突。
(13)座位正上方不能有大梁或吊灯。人的头顶虽然没有长眼睛,但对头顶的东西也特别敏感,总怕上面会有东西掉下来;因此,如果你知道你座位上方有梁或吊灯,你的潜意识无形中就会武装起来,随时准备保护自己,久了你会耗掉很多能量,没作多少事就累得半死。可以的话,移一下位子吧!
(14)座位不能被大型电器或电器(计算机、复印机、传真机和冷气机)围住。
(15)座位正前方不能当作主动线(公司全员进出之路)。座位正前方如是主动线,那么一整天总会有人在你前面进进出出的,这种来往流动的气场,也会干扰到你的磁场,让你精神不集中,久了也会感到心浮气躁,做事常出差错,可以的话,最好是换位子,除非你是柜台小姐。
Posted: August 23, 2006 at 11:17 am | Tags: class, mobile, 手机, 测试
最近欧美教育界中的很多中老年教师无奈反映,上课期间很多学生毫无征兆的情况下偷偷接听电话,极大地影响了课堂纪律……难道如今欧美又推出了什么新款的手机产品吗?是什么原因能够令到上课的学生们在手机无铃声无震动的情况下感知来电呢?一时间众说纷纭,也成为了最近欧美教育界的一大难题!
也许读者以为小编又要在胡乱吹嘘什么高科技了,其实不然,迷底就在这些顽皮的学生手机铃声上面,因为最近在欧美广为流行了一种据称只能给年轻人听到而成年人则无法察觉的手机铃声——“HighRing”。
只要了解到了声音的原理就应该清楚,人的听力频率范围是20-20000hertz,而成年人和年轻人之间,听力方面也有细微的差别的,在一定频率内的声音,由于成年人在听觉上长久的劳损,很多人在人到中年以后开始丧失对高频率声音的听觉能力,而年轻人在这方面则还有一定的优势,医学上称之为老年性耳聋。大部分年龄在40岁或者50岁以上的成年人具有这种症状。
而在英国,有心人则利用了人体的这一原理,发明了一种特定频率的声效,只针对年轻人士的听觉。根据我们网易手机频道的实际测试,这种名为“HighRing”的声效的频率是在14,400 hertz,而非常接近人耳听力上限的理论阈值20000hertz,使得成年人无法察觉这种声效的存在。
据称这种声效是一家保全公司发展出来的产物,目的是想对付的是青少年,而不是成年人。保全公司管这种声效叫“青少年超音驱逐器”,这种驱逐器会发出14,400 hertz的声音,听得人掩耳走避,商家可以用这种驱逐器让徘徊在店门口的青少年。
虽然发明这样特定年龄段人士收听的声效的人士动机是良好的,但是却明显低估了年轻人对事物的好奇性,在如今手机产品普及和手机铃声被热捧的时代,如此一段具有特色的声效自然成为了年轻人玩乐的目标,经过了一定的处理,这种年长人士不能听到的声音成为了手机铃声的一种,并且在年轻人群中快速传播开来。通过透过网际网络的传播,目前这种“HighRing”成为了欧洲和美国等地区最为热门的手机铃声,在许多禁止手机铃音的场合,比如教室,这种新型铃音可以让成年人无法察觉,也让学校方面非常困惑。
美国曼哈坦科学教师唐娜.路易斯说:“我第一次听到有这种铃声时,还不相信。但孩子给我一份拷贝,我传给同事。她放给她一年级的学生听,所有的学生都听得见,只有她和我听不见。”
目前这种“HighRing”还只是存在于年轻人的玩乐的使用当中,相信很快也会在我们中国手机用户当中蔓延,而据有关消息称,目前美国方面已经就这种“HighRing”展开了评估,因为如果将这种不是所有人都能清晰听到的铃声用在了例如恐怖袭击的联系等方面,那将会是严重的问题了。

“HighRing”的官方网站截图
“HighRing”铃声下载
5秒版本(MP3)
http://www.highring.com/downloads/high5.mp3
5秒版本(WAV)
http://www.highring.com/downloads/high5.wav
15秒版本(MP3)
http://www.highring.com/downloads/high15.mp3
15秒版本(WAV)
http://www.highring.com/downloads/high15.wav
Posted: August 23, 2006 at 11:16 am | Tags: class, html, python, ror, windows, 开发, 测试, 类
状态机从理论上说是几乎与计算机和编程相关的每件事的基础。从实用角度来看,状态机还有助于解决许多常见问题(特别适用于 Python 程序员)。本文中,David Mertz 讨论了何时以及如何使用 Python 编码状态机的实际例子。
什么是 Python?
Python 是由 Guido van Rossum 开发的免费高级解释型语言。其语法简单易懂,而其面向对象的语义功能强大(但又灵活)。Python 可以广泛使用并具有高度的可移植性。
什么是状态机?
关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前”节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态,状态机停止。
但一个抽象的数学描述(就像我刚给出的)并不能真正说明在什么情况下使用状态机可以解决实际编程问题。另一种策略就是将状态机定义成一种强制性编程语言,其中节点也是源码行。从实用角度看,这个定义尽管精确,但它和第一种描述一样,都是纸上谈兵、毫不实用。(对于说明型、函数型或基于约束的语言,例如,Haskell、Scheme 或 Prolog,不一定会发生这种情况。)
让我们尝试使用更适合身边实际任务的例子来进行讨论。逻辑上,每个规则表达式都等价于一个状态机,而每个规则表达式的语法分析器都实现这个状态机。实际上,大多数程序员编写状态机时,并没有真正考虑到这一点。
在以下这个例子中,我们将研究状态机的真正探索性定义。通常,我们有一些不同的方法来响应一组有限数量的事件。某些情况下,响应只取决于事件本身。但在其它情况下,适当的操作取决于以前的事件。
本文中讨论的状态机是高级机器,其目的是演示一类问题的编程解决方案。如果有必要按响应事件行为的类别来讨论编程问题,那么您的解决方案很可能是显式状态机。
文本处理状态机
最可能调用显式状态机的一个编程问题涉及到处理文本文件。处理文本文件通常包括读取信息单元(通常叫做字符或行),然后对刚读取的单元执行适当操作。某些情况下,这个处理是“无状态的”(即每个这样的单元都包含了足够的信息,可以正确确定要执行什么操作)。在其它情况下,即使文本文件不是完全无状态,数据也只有有限的上下文(例如,操作取决于不比行号更多的信息)。但是,在其它常见文本处理问题中,输入文件是极具“状态”的。每一块数据的含义取决于它前面的字符串(也许是它后面的字符串)。报告、大型机数据输入、可读文本、编程源文件和其它种类的文本文件都是有状态的。一个简单例子是可能出现在 Python 源文件中的一行代码:
myObject = SomeClass(this, that, other)
|
这行表示,如果恰好有以下几行围绕着这一行,则有部分内容不同:
"""How to use SomeClass:myObject = SomeClass(this, that, other)"""
|
我们应知道我们处于“块引用” 状态 以确定这行代码是一部分注释而不是 Python 操作。
何时不使用状态机
当开始为任何有状态的文本文件编写处理器的任务时,问一问自己,您希望在文件中找到什么类型的输入项。每种类型的输入项都是一种状态的候选项。这些类型共有几种。如果数字很大或者不确定,则状态机也许不是正确的解决方法。(在这种情况下,某些数据库解决方案可能更适合。)
还请考虑您是否需要使用状态机。许多情况下,最好从更简单的方法入手。也许会发现即使文本文件是有状态的,也有一种简单的方法可以分块读取它(其中每一块是一种类型的输入值)。实际上,在单一状态块中,仅当文本类型之间的转移需要基于内容的计算时,才有必要实现状态机。
下面这个简单的例子说明了需要使用状态机的情况。请考虑用于将一列数字划分成几块的两个规则。在第一个规则中,列表中的零表示块之间的间断。第二个规则中,当一个块中的元素总和超过 100 时,会发生块之间的间断。由于它使用累加器变量来确定是否达到了阈值,您不能“马上”看到子列表的边界。因此,第二个规则也许更适合于类似于状态机的机制。
稍微有些状态、但由 不 太适合用状态机处理的文本文件的例子是 Windows 风格的 .ini 文件。这种文件包括节头、注释和许多赋值。例如:
; set the colorscheme and userlevel[colorscheme]background=redforeground=bluetitle=green[userlevel]login=2title=1
|
我们的例子没有实际含义,但它表明了 .ini 格式一些有趣的特性。
- 就某种意义而言,每一行的类型由它的第一个字符确定(可能是分号、左花括号或字母)。
- 从另一种角度看,这种格式是“有状态的”,因为关键字 “title” 大概表示如果它出现在每一节中,那么就有独立的内容。
您可以编写一个有 COLORSCHEME 状态和 USERLEVEL 状态的文本处理器程序,这个程序仍处理每个状态的赋值。但这好象不是处理此问题的 正确 方法。例如,可以使用 Python 代码在这个文本文件中只创建自然块,如:
处理 .INI 文件的分块 Python 代码
stringtxt = open( 'hypothetical.ini').read()sects = string.split(txt,'[')for sect in sects: # do something with sect, like get its name # (the stuff up to ']') and read its assignments
|
或者,如果愿意,可以使用单个 current_section 变量来确定位置:
处理 .INI 文件的计算 Python 代码
for line in open('hypothetical.ini').readlines(): if line[0] == '[': current_section = line(1:-2) elif line[0] == ';': pass # ignore comments else: apply_value(current_section, line)
|
何时使用状态机
现在,我们已经决定了如果文本文件“太简单”就不使用状态机,让我们再研究 需要使用状态机的情况。本专栏中 最近一篇文章 讨论了实用程序 Txt2Html,它将“智能 ASCII”(包括本文)转换成 HTML。让我们扼要重述。
“智能 ASCII”是一种文本格式,它使用一些间隔约定来区分文本块的类型,如头、常规文本、引语和代码样本。虽然读者或作者能容易地通过查看分析这些文本块类型之间的转移,但却没有简单的方法可以让计算机将“智能 ASCII”文件分割成组成它的文本块。不像 .ini 文件示例,文本块类型可以任何顺序出现。在任何情况下都没有单一定界符来分隔块(空行 通常 分隔文本块,但代码样本中的空行却不一定结束代码样本,并且文本块不需要用空行来分隔)。由于需要以不同方式重新格式化每个文本块以生成正确的 HTML 输出,状态机似乎就是自然的解决方案。
Txt2Html 阅读器的一般功能如下:
- 在初始状态中启动。
- 读取一行输入。
- 根据输入和当前状态,转移到新状态或按适合当前状态的方式处理该行。
这个例子是关于您会遇到的最简单的情况,但它说明了我们描述过的以下模式:
Python 中一个简单的状态机输入循环
global state, blocks, bl_num, newblock#-- Initialize the globalsstate = "HEADER"blocks = [""]bl_num = 0newblock = 1for line in fhin.readlines(): if state == "HEADER": # blank line means new block of header if blankln.match(line): newblock = 1 elif textln.match(line): startText(line) elif codeln.match(line): startCode(line) else : if newblock: startHead(line) else : blocks[bl_num] = blocks[bl_num] + line elif state == "TEXT": # blank line means new block of text if blankln.match(line): newblock = 1 elif headln.match(line): startHead(line) elif codeln.match(line): startCode(line) else : if newblock: startText(line) else : blocks[bl_num] = blocks[bl_num] + line elif state == "CODE": # blank line does not change state if blankln.match(line): blocks[bl_num] = blocks[bl_num] + line elif headln.match(line): startHead(line) elif textln.match(line): startText(line) else : blocks[bl_num] = blocks[bl_num] + line else : raise ValueError, "unexpected input block state: "+state
|
可以用 Txt2Html 下载从中取出该代码的源文件(请参阅 参考资料 )。请注意:变量 state 声明为 global ,在函数(如 startText() )中更改它的值。转移条件,如 textln.match() ,是规则表达式模式,但它们可能也是定制函数。实际上,以后会在程序中执行格式化。状态机只将文本文件分析成 blocks 列表中带标签的块。
抽象状态机类
在表单和函数中使用 Python 实现抽象状态机很容易。这使程序的状态机模型比前一个例子中的简单条件块显得更突出(初看,其中的条件与其它条件没有什么不同)。而且,以下类及其关联处理程序在隔离状态中操作方面完成得很好。许多情况下,这改善了封装和可读性。
文件:statemachine.py
from string import upperclass StateMachine : def __init__(self): self.handlers = {} self.startState = None self.endStates = [] def add_state(self, name, handler, end_state=0): name = upper(name) self.handlers[name] = handler if end_state: self.endStates.append(name) def set_start(self, name): self.startState = upper(name) def run(self, cargo): try : handler = self.handlers[self.startState] except : raise "InitializationError", "must call .set_start() before .run()" if not self.endStates: raise "InitializationError", "at least one state must be an end_state" while 1: (newState, cargo) = handler(cargo) if upper(newState) in self.endStates: break else : handler = self.handlers[upper(newState)]
|
StateMachine 类实际上正是抽象状态机所需要的。因为使用 Python 传递函数对象是如此简单,与其它语言中的相似类比较,这个类所需使用行数非常少。
要真正 使用 StateMachine 类,需要为每个要使用的状态创建一些处理程序。处理程序必须符合模式。它循环处理事件,直到要转移到另一个状态,此时处理程序应该将一个字节组(它包括新状态名称以及新的状态处理程序需要的任何 cargo)传递回去。
在 StateMachine 类中将 cargo 用作变量的做法将封装状态处理程序所需的数据(该状态处理程序不必调用它的 cargo 变量)。状态处理程序使用 cargo 来传递下一个处理程序所需的内容,于是新的处理程序可以接管前一个处理程序的遗留工作。 cargo 通常包括文件句柄,它允许下一个处理程序可以在前一个处理程序停止后读取更多数据。 cargo 还可能是数据库连接、复杂的类实例或带有几个项的列表。
现在,让我们研究测试样本。在本例中(在以下代码示例中概述),cargo 只是不断将反馈传送给迭代函数的一个数字。只要 val 处于某个范围内,则 val 的下一个值永远只是 math_func(val) 。一旦函数返回了超出范围的值,那么该值将传送到另一个处理程序,或者状态机在调用了一个什么也不做的终态处理程序后就退出。示例说明了一件事: 事件不必是输入事件。它也可以是计算事件(这种情况很少)。状态处理程序相互之间的区别只是在输出它们处理的事件时使用不同的标记。该函数比较简单,没必要使用状态机。但它很好地说明了概念。代码也许比解释更易于理解!
文件:statemachine_test.py
from statemachine import StateMachinedef ones_counter(val): print "ONES State: ", while 1: if val <= 0 or val >= 30: newState = "Out_of_Range"; break elif 20 <= val < 30: newState = "TWENTIES"; break elif 10 <= val < 20: newState = "TENS"; break else : print " @ %2.1f+" % val, val = math_func(val) print " >>" return (newState, val)def tens_counter (val): print "TENS State: ", while 1: if val <= 0 or val >= 30: newState = "Out_of_Range"; break elif 1 <= val < 10: newState = "ONES"; break elif 20 <= val < 30: newState = "TWENTIES"; break else : print " #%2.1f+" % val, val = math_func(val) print " >>" return(newState, val)def twenties_counter(val): print "TWENTIES State:", while 1: if val <= 0 or val >= 30: newState = "Out_of_Range"; break elif 1 <= val < 10: newState = "ONES"; break elif 10 <= val < 20: newState = "TENS"; break else : print " *%2.1f+" % val, val = math_func(val) print " >>" return (newState, val)def math_func(n): from math import sin return abs(sin(n))*31if __name__== "__main__": m = StateMachine() m.add_state("ONES", ones_counter) m.add_state("TENS", tens_counter) m.add_state("TWENTIES", twenties_counter) m.add_state("OUT_OF_RANGE", None, end_state=1) m.set_start("ONES") m.run(1)
|
Posted: August 22, 2006 at 7:56 pm | Tags: cache, class, linux, php, 技术, 缓存
mplayer是linux下播放速度最快,支持媒体格式最多的播放器,它几乎能播放所有的win媒体文件!下面介绍它的安装方法:
本文大部分参考了本站主席发于ch2000技术论坛的文章,http://www.ch2000.com.cn/lbbbs/cgi-bin/topic.cgi?forum=19&topic=974&start=0&show=0,本人仅做一些补充
使用nvdia显卡的朋友请务必安装nvidia的for linux驱动,否则xv模式不能支持,虽然可以用sdl视频模式播放,但效果不理想。
1、在本站下载mplayer的最新版本及安装所需软件包的集合包http://www.linuxfans.org/nuke/modules.php?name=Downloads&d_op=getit&lid=23
2、unzip mplayer.zip
得到mplayer目录,cd mplayer,运行ls命令,应该可以看见divx4linux-20020418,arial-18,gcc3,default这四个目录(三个目录下各有一些文件,这里就不列出来了),及MPlayer-0.90pre5.tar,w32codec-0.60.tar,SDL-1.2.3-1.i686.rpm,SDL-devel-1.2.3-1.i686.rpm这四个文件
3、升级gcc:
检查你的gcc版本,运行gcc -v看输出是多少,如果是3.0以下的话,则建议安装gcc3.0以上(根据mplayer的官方说明,3.0以下的gcc可以用./configre –disable-gcc-checking参数编译,但可能不稳定),安装gcc3的方法是:进入gcc3目录,运行rpm -ivh *.rpm –nodeps,全部百分百安装后,开一个终端窗口,运行mv /usr/bin/gcc /usr/bin/gcc2和mv /usr/bin/gcc3 /usr/bin/gcc,再运行gcc -v,看输出是否为3.0.2,如果是,则ok,不是,则检查安装步骤。
4、安装sdl及sdl-devel:
检查你的系统有没有安装了sdl及相同版本(一定要相同版本的)的sdl-devel库:运行“软件包管理器”,按“查找软件包”按钮,输入sdl,查找,如果能找到sdl及sdl-devel包,则表示都已经安装,如果版本比1.2.0高,那么跳到第5步;如果没安装或版本比较低(小于1.2.0),则安装本站提供的sdl包,命令rpm -ivh SDL*.rpm –nodeps或rpm -Uvh SDL*.rpm –nodeps,安装完后运行一下sdl-config –version[/color],看输出是不是1.2.3,如果正确,则ok;不正确或有问题,检查步骤,或发帖子问。
5、安装win32 for linux的dll库:(必须,只有安装它才可以播放win下的媒体文件,包括asf,wmv,mp3,avi,dat,mpg等)
运行命令:tar vxf w32codec-0.60.tar,得到w32codec-0.60.tar这个目录,建立/usr/lib/win32目录(mkdir /usr/lib/win32),将w32codec-0.60.tar目录下所有文件拷贝到/usr/lib/win32目录下(cp w32codec-0.60/*.* /usr/lib/win32)
6、安装divx5 for linux:(如果你想播放divx格式的电影文件的话必须安装这个,安装了这个后xine也可以利用,推荐)
进入divx4linux-20020418目录(cd divx4linux-20020418),运行./install.sh
7、解压编译安装mplayer:
tar vxf MPlayer-0.90pre5.tar,cd MPlayer-0.90pre5.tar,./configure (如果你想要gui的操作界面,则换用这个命令./configrue –enable-gui,但似乎这个版本的gui编译有错,我和linuxCN都无法成功,pre4版本则没问题),make,make install,都成功运行一下mplayer(这是为了让它在家目录下建立.mplayer这个配置目录,好进行下一步操作)
8、拷贝配置文件:(注意:下面这个etc目录是上一步中解压出来的MPlayer-0.90pre5目录下的,非/etc)
cp etc/codecs.conf ~/.mplayer
cp etc/example.conf ~/.mplayer/config
9、安装font和skin:(如果你选择了./configure –enable-gui那才需要skin,否则skin不用安装)
进入自己的home目录,显示隐藏文件,进入.mplayer文件夹,创2个建文件夹:font和Skin。然后把arial-18内的所有文件拷入到font内,把default整个文件夹(注意:是连同文件夹一起)拷到Skin内!
10、运行方式
两种:(1)mpalyer /路径/要播放的媒体文件名;(2)gmplayer(只有用./configure –enable-gui编译的这个命令才有效)
11、关于~/.mplayer/config文件的一些配置说明
vo=xv(选择默认的播放模式,xv模式是支持显卡硬加速功能的模式,对cpu的占用很小,推荐;更多的显示模式可以用命令mplayer -vo help看,其中的vesa模式可以在不启动xwin界面时播放,有点象当年DOS下的金山影霸)
ao=oss(选择声音的播放模式,oss是兼容性最好的播放模式,推荐;你也可以试试sdl模式)
fs=yes(全屏模式,yes的话默认以全屏播放,no或前面加#号注释掉这行的话则默认是1:1播放模式)
zoom=yes(即时改变电影画面大小,yes的话则可以用鼠标随意将播放画面拉大拉小,no 的话不能)
gui = yes(默认是图形化操作界面,这需要你先前用./configure –enable-gui来编译,否则的话就算yes也没有gui操作界面)
skin = default(设置默认的skin,将等号右边的值换成skin所放目录就可以设置想要的skin为默认了,这个参数在用gui操作界面才有效)
cache = 8192(默认的播放缓存大小,如果机器内存够大,则将它加大一点,如果不是很大,譬如128以下,还是用默认的算了)
framedrop = yes(允许跳帧,如果你的机器CPU速度非常非常慢的话请将这个yes,默认是no或前面加#号将这行禁止;对于366MHZ以上的机器,建议都设成no或前面加#号)
其他设置用默认就行
一些小技巧:
标准播放模式时一般按F键可以切换到全屏模式,再按一下复原,按Q可以退出;播放时如果发现声音和画面不同步,可以按+号(shift+=)或-号调整;播放divx的avi时如果想支持中文字幕,则你的电影文件目录下必须要有和电影同名的idx和sub这两种格式的字幕文件存在;支持网络播放流式文件,譬如输入mplayer http://IP/1.asf可以在线播放1.asf
附贴图:./configure后的输出窗口,请注意Enabled optional drivers:的下面:
Codecs: divx5linux libavcodec directshow win32这行,它代表了支持电影格式包括divx,avi,win32dll里的所有媒体格式;如果你缺少了divx,则检查你的divx4linux安装有没有问题,如果你缺少了win32,则检查你的win32codec安装正确了没有。
Audio output: arts oss sdl mpegpes(file)这行,它表示音频的输出模式支持arts,oss,sdl和mpegpes模式,其中的mpegpes模式是将音频导出生成mpg文件;如果缺少sdl模式,则检查你的sdl及sdl-devel安装了没有;安装完后可以通过修改config文件设置默认的音频输出模式,或用mplayer -ao 模式 要播放的文件名即时改变播放模式,譬如mplayer -ao sdl 1.asf就是用sdl的音频模式播放1.asf
Video output: xvidix sdl vesa gif89a jpeg png mpegpes(file) fbdev svga opengl dga xv x11这行,它表示可以支持的视频输出模式;如果缺少sdl模式,则检查你的sdl及sdl-devel安装了没有;安装完后可以通过修改config文件设置默认的视频输出模式,或用mplayer -vo 模式 要播放的文件名即时改变播放模式,譬如mplayer -vo sdl 1.asf就是用sdl的视频模式播放1.asf,mplayer -vo sdl -ao sdl 1.asf就是音频视频都选用sdl模式来播放1.asf’
Posted: August 22, 2006 at 7:49 pm | Tags: blog, 女人, 女生, 男人
原文:http://www.foxdesign.com.cn/blog/article.asp?id=120
1、 半块香皂
有位上海观众来信说他想呼吁相关部门授予某家餐厅卫生先进单位称号,的确,现在能在菜里吃出半块香皂的餐厅真的不多了。
2、 代沟
代沟现象越来越厉害。一位母亲对女儿非常生气:这就是现代的年轻人!16岁就交上了男朋友,却忘记了自己母亲32岁的生日。
3、 生病
现在的孩子懂事都早,吴与同就是,有一天她妈妈病了,浑身没劲儿,躺在床上,说做不了饭了,吴与同一挽袖子,说:妈妈,我扶你去厨房!
4、 女秘书
有资料显示,上海的秘书行业现在很不吃香,一个岗位竟然有68个人在抢,想当秘书不容易,特别是女秘书。也不知道为什么,和别的行业不一样,现在竟然没有老板愿意要有工作经验的女秘书。
5、 益智节目
前天我看一个益智节目,发生一件好玩儿的事儿。有一个选手好不容易冲过前面五关,来到最后一关,摆在他面前的是二十万现金,还有两道问题。主持人就问这个选手,两道题都要回答,你先选择哪一道?
(台下:第二道。)
第二道是吧?好,请听题。请问这件事情是哪一年发生的?!
6、 接吻戏
做主持人,认识不少演艺圈的朋友,有空了也去他们拍片现场看看,我经常注意片场的临时演员。
前不久去一个片场,导演正跟临时演员说话:待会儿有场吻戏,你演不演?
那位临时演员特高兴:演演演,一定演。
导演一回头:场工,把狗牵过来吧!
7、 天的女婿
以前我们看《三国演义》的时候,曾经看到诸葛亮和别人斗嘴,讨论谁才是天的儿子。今天我们把这个问题重新提出来:天的儿子是谁?天的女儿是谁?天的女婿又是谁?
在下的答案是这样的,天的儿子叫我材,因为天生我材。天的女儿叫丽质,因为俗话说,天生丽质。
(台下:那天的女婿呢?)
小蔡,不该你发言的时候不要乱发言。
天的女婿你不知道?李连杰啊,因为他的老婆就是利智。
8、 不在服务区
自从孙悟空三打白骨精之后,被唐僧遣送回原籍。话说有一天,唐僧在西行的路上又碰到了妖怪,面对两个无能的徒弟,唐僧痛心疾首,这才想起被他赶走的大徒弟孙悟空,他对着天空喊道:
(配音)悟空,快来救为师啊。(回音:啊啊啊啊)
四分之一柱香之后,传来这样一个声音:
(电信回音)您呼叫的用户不在服务区,嘟嘟嘟嘟……
9、 即席赋诗
要说小蔡这生日过的真风光,生日礼物除了小狗,还收到各种贺卡、小玩具、小文具,反正都是些温馨一派的小礼物,贵重礼物,一件都没有。没人肯为小蔡花钱啊,为人失败啊。还好,吃饭的时候,胖胖主编即席赋诗一首,算是安慰了小蔡受伤的幼小心灵。
诗全文如下:
大海啊,你全是水;
骏马啊,你四条腿;
爱情啊,是嘴对嘴;
小蔡啊,你普通话还不如刘仪伟。
10、 小偷
前段时间晚上熬夜录节目,结果家里进了贼,我太太在家,听到有动静,也顾不上开灯,下床抄起扫帚就打,一边打还一边骂:让你回来这么晚,还不打电话,让你学严守一……哦,把小偷当成我了。
这一通暴捶,揍得小偷是哭爹喊娘喊救命。
邻居听着了,赶紧打110报警,没一会儿,pol.ice来了,一见pol.ice,小偷“哇”的放声大哭,扑上去就握住pol.ice同志的手:谢谢人民pol.ice的救命之恩呐。
11、 开会
一家足球俱乐部在开全体大会时,队员们在底下自顾交谈,秩序混乱不堪。
俱乐部领导只好大声说:谁再讲话,马上出去!无人理会。
领导急了,又喊:谁再讲话,扣发工资!
这一招也不大管用,只有少数人闭嘴。
领导束手无策,最后只看见教练站起来,不慌不忙地说:呃!你们谁要是再讲话,今天晚上不带他去酒吧和夜总会!场内瞬间鸦雀无声。
12、 等地铁
小蔡有一次去一位女同事家作客,这位同事向他抱怨:我们家房子什么都好,可就是建在地铁正上方,每天地铁经过时连床都跟着震,好像地震一样。
小蔡不信,就要躺在床上试试看。正巧那女同事的丈夫回来了,小蔡连忙解释:信不信由你,我在等地铁。
13、 厨师证
刚刚在门口,碰到一人,问我要不要办证?办证?从小到大我还真不缺什么证。这哥们儿抬头一看,哟,您是刘仪伟?我说对对对,就是我。他还挺能转弯:那您需要个厨师证吗?
14、 护舒宝刘仪伟
刚开始讨论这个节目的时候,我们制作人曾经有个想法,他说反正是刘仪伟主持这个节目,不如把他的名字也加到节目名字里,叫《刘仪伟夜谭》。这样大家好记,也显示我们以人为本的思想。
刚开始我觉得,哟,这好啊,这是种荣誉啊。直到有一天我去了一趟节目组,广告部正在和客户洽谈节目的冠名权,我一听到那两个客户的产品名字,把我吓坏了。
要按他们的意思,以后开场白极有可能得这么说:大家好,欢迎大家来到《南极人刘仪伟夜谭》,这个还凑合。还有一个得这么说:大家好,欢迎大家来到《护舒宝刘仪伟夜谭》,我这就算完了。
广告部的同事看我面色不好,心情沉重,说那不如换一个外国客户,就避免中文产生的这样或那样的意思。
后来他们说了,他们争取去搞定全球最著名的企业来给节目冠名,我一听,什么叫外国话就没有歧义啊,这完全是胡说八道啊。大家听这开场白:大家好,欢迎来到《微软刘仪伟夜谭》。我的天,还不如前头那两个呢。
15、 小蔡如厕
随着我们节目的不断播出,小蔡呢,因为他那种很奇异的,和常人不一样的思维、行为,经常被我们拿到节目里来说事儿,渐渐地,这个形象也就被很多的观众朋友记住了。
昨天晚上录完节目,我们节目组全体同事去饭店吃饭。中途,小蔡去厕所方便了一下,回来后发现他裤腿儿那里湿了一片,就问怎么回事儿。
小蔡说:唉,别提了,自打《东方夜谭》播出以后,经常遇到这种情况,在厕所方便时,旁边那个人会突然转过身来——哟,你不是《东方夜谭》那个小蔡吗?你普通话得练练了……
16、 同姓恋
早两天去我姐姐家,小外甥女见我就问:舅舅舅舅,为什么你访问刘孜会结巴?我说我没结巴啊。她说:我知道为什么,因为你喜欢她。你看,这简直太冤枉我了。孩子还不依不饶:舅舅,你不能喜欢刘孜。我说是啊,我没喜欢她,我有老婆了。你知道她来了一句什么话:你们俩都姓刘,你喜欢她就是同姓恋。咳,她还自己发明创造了一个词。
17、 白痴
有人问我:白痴这个词是什么意思,这个在下实在不好妄下断言。
来录节目之前我无意中听到胖胖和小蔡的几句对话,或许有助于各位对这个词的理解。
胖胖和小蔡玩儿游戏,打赌,赌什么呢,猜胖胖身上有多少钱。
只听见胖胖说:小蔡,你只要猜出我口袋里现在有多少钱,我就把90块钱全部都给你。
小蔡一听,乐坏了,说:那我试一下,我猜……你身上有70块钱。
18、 如果挤得下
我们的主编,胖胖同学早几天过生日。我说怎么为人这么不靠谱呢,原来是双鱼座的。节目组要给他定做一个蛋糕,小蔡去蛋糕店。
服务员就问他:先生,蛋糕上面留什么字啊?小蔡说了:祝胖胖生日快乐。
服务员又问:还需要留点儿别的吗?
小蔡想了一下说:祝他早日进入公司高层吧,如果挤得下的话。小蔡是担心蛋糕上写不下那么多字啊。
吹蜡烛的时候终于来到了,大家满怀欣喜地打开小蔡定来的蛋糕,一看上头密密麻麻地写着:祝胖胖生日快乐,祝你早日进入公司高层!如果挤得下的话。
19、 结婚证
小蔡:您好,我想预约明天去办结婚证。
刘仪伟:好的,婚前检查你们做过了吗?
小蔡:查过了,她爸是开公司的,家里有房有车。
刘仪伟:嗨,我是说去医院检查!
小蔡:呃……(犹豫,不好意思)也查过了,是男孩儿。
刘仪伟:什么乱七八糟的!小蔡,拜托你下回当托儿的时候专业一点行不行。
20、 害羞
最近一项针对北京、上海、广州三市当地居民的随机抽样电话调查表明,上海人比较害羞。不是吗?我就知道在咱们上海,有个女儿问妈妈:爸爸从前害羞吗?妈妈说:要是他不害羞,你现在至少大四岁!
月光下
在很久很久以前,在一个美丽的月光下,有个女生依偎在小蔡的怀中。
女生情意绵绵地问:小蔡,在这么美好的月光下,你现在在想些什么呢?
小蔡想了想,脸涨得通红,害羞地说:其实,我跟你想得一样。
啪!只听见一声清脆的耳光声在夜色中回荡之后听见女孩子在说:小蔡!X L!无耻!不理你了!
21、 停电
早几天晚上,节目组开全组大会。突然,停电了。
会又很重要,怎么办?买了一大捆蜡烛接着开。
开到一半,胖胖好像想起什么,就问了一句:今天,有谁过生日吗?
感冒一听,赶紧举手:主编,我过生日我过生日。
胖胖说:好,等一下咱们开完大会,你负责把所有蜡烛给吹灭。
22、 老丈人
小蔡和女朋友认识没多久的时候,经常送女朋友回家。
有一次到了家门口,女朋友提醒小蔡:你现在可以吻我,但是随后我得打你一个耳光,因为我爸爸正在窗口看着我们。
之后过了一星期,深夜,小蔡又送女朋友回家,在门前难舍难分,深深拥吻。
半小时后,女朋友他爸也就是他未来的老丈人打开窗口喝道:小子,放开我女儿!
小蔡吓得不轻,但还是鼓起勇气分辩:伯父,我们是真心相爱的。
他未来的老丈人怒气冲冲地说:你亲她就亲她吧,还压在我们家门铃上……
23、 生日礼物
上个月小蔡生日,全组集资给他买了份礼物,想给他个惊喜。所以我们把礼物装在一个大纸盒里。
拿给小蔡的时候,盒子底下有点漏水,小蔡一看,就又开始逞能了:你们都别说,我能猜出来。
说完伸手指头沾了点儿尝尝:五粮液!大伙都摇头,小蔡又尝了一口:那就是剑南春!
大伙还摇头,这时候组里一个女孩儿急了:你们快把小狗拿出来吧,看这盒子……都让狗给尿湿了。
24、 女人腰围
节目播出一段时间,观众也反映,怎么什么坏事儿都是小蔡?
说实话,小蔡这人挺不错的,还特别怕羞,交女朋友时间不短了,据说到现在连手都没拉过,是吧小蔡?
(台下:没错!)
和女朋友一起出去,还要人家给他制造机会:小蔡,听说男人胳膊的长度和女人腰围一样,你相信吗?
一听这话,小蔡明白了:这简单,咱试试不得了,你等我会儿,我回家取尺子去!
25、 小蔡拍戏
小蔡现在出名了。有人找小蔡去拍电视剧了!说得好听点儿叫拍戏,其实就是跑龙套。那天我去他们剧组看小蔡拍戏。刚好碰上拍一场小蔡挨一巴掌的戏,而且是被女主角打的。导演跟小蔡说,假打一下算了。小蔡说,不行,得真打!假打不够逼真。这场戏拍了八次才过,因为小蔡老是笑场。
等他们拍完了我就对小蔡说,作为新人,敬业一点儿是好的,但是不一定非要真打。小蔡说了,不管什么戏,一定真拍,不能蒙乎观众。
我还以为小蔡觉悟变高了,后来一打听才知道,什么呀,关键是第二天还有一场吻戏!
26、 修理皮鞋
昨天上班前,妻子对我说:你顺便拿我的皮鞋到你单位旁边的皮鞋店修理一下吧。
我赶时间啊,拎起来就走。路上正好碰到邻居,他看着我,惊讶地说:刘仪伟,太过分了,为了不让老婆乱跑,这种手段你都能使出来?
27、 水,水!
那天小蔡跟胖胖一起去喝酒,结果胖胖喝多了,回来倒头便睡。小蔡却睡不着,在一边玩儿电脑。
胖胖睡了一会儿,突然坐起来囔囔地说:水,水!小蔡给胖胖倒了一碗水,胖胖接过来一饮而尽,然后在墙上胡乱抓了几把又睡了。又过了一段时间,胖胖又起来嚷嚷要喝水,小蔡又倒了一碗水,胖胖喝后又在墙上胡乱抓了一把。
小蔡很奇怪胖胖这是怎么了?为什么老是抓墙啊?于是自己也倒了一碗水一饮而尽,不料,他也在墙上胡乱地抓了起来,嘴里骂道:我的天,怎么这么烫!
28、 魂飞魄散
最近,李少红导演说她的新片《恋爱中的宝贝》是要表现魂飞魄散的爱情,我说小蔡怎么在电影院睡着了呢,原来是魂儿掉了。
29、不可能完成的任务
听说汤姆.克鲁斯还要再拍第三部《MissionImpossible》(《不可能完成的任务》),我建议他扮演一位想参加奥运会的中国足球队员。
30、 球界
小蔡,我有件事情一直想不通,像你这样,又光想挣钱又怕累,水平又臭又不思进取,又喜欢声色犬马的娱乐,啊,像你这么一个特种人才,为什么你不去足球界混他个名堂出来呢?
小蔡:我去过,他们说我做得还不够!
31、 绕口令
第十五届台湾金曲奖上,王菲获得最佳国语女演唱人奖。王菲是这样说的:我会唱歌,这我知道,我对评委对我的肯定,表示肯定。王菲会唱歌,这我们也知道,所以我们对王菲对评委对王菲表示的肯定也表示肯定。嗨,成绕口令了。
32、 暗恋
小蔡以前是暗恋他女朋友的,有一天,他终于鼓足勇气,向他女朋友表白:我喜欢你,你喜不喜欢我哪?
女孩儿很害羞,低着头说:你猜。
小蔡心花怒放,脱口而出:我猜你喜欢我!
女孩儿说:你再猜一次。
坚持这个立场多好,省得现在天天看见小蔡生气。
33、 割发代首
最近贝克汉姆深陷绯闻旋涡,为了表示两人的感情还有戏,贝克汉姆把自己的金发剪下来,辣妹把小贝的金发编到自己的黑发里头。小蔡,这件事情用一个成语应该怎么形容?
小蔡:结发夫妻!
刘仪伟:不对,这叫割发代首!
34、 二十三十四十
有一部电影,叫做《二十三十四十》,说的是在这三个年龄段的女人的故事,挺有意思的。
现实中我们也能发现,这三个年龄段的女人,对待婚姻有不同的看法,比方说,如果给这三个年龄段的女人介绍对象,二十岁的会问:他帅吗?三十岁的会问:他事业有成吗?四十岁的直接就会问:他在哪儿?
35、 灯神
话说我们的曼曼和小蔡有一天碰到了一个灯神,灯神说它可以实现他们每人两个愿望,小蔡很高兴,心里盘算着第一个愿望是有一亿存款,第二个愿望是自己当主持人。但是出于礼貌,女士优先嘛,他还是让曼曼先说。
于是曼曼对灯神说:昨天的《艺术人生》我没有看到,现在我就要看!
于是,灯神就变了个电视机出来,放《艺术人生》,曼曼看着看着就哭上了,一哭就是大半天,没完没了。
灯神着急了,问她:快说你第二个愿望吧!再不说朱军老师都该哭了。曼曼大怒:没看我正哭着呢嘛?别捣乱,赶紧走!
噌,灯神走了,这下好,小蔡哭上了。
36、 刚出道
上海一家公司,评选了上海人心中最受欢迎的艺人,女性受访者心目中最受欢迎的艺人是苏有朋,她们说在她们心中,苏有朋永远和他刚出道时一样。刚出道的时候?怪不得男性受访者喜欢的是舒淇。
37、 包月
梁朝伟过生日,开Party,女影迷无数,据说现场不少女影迷想抱他。梁朝伟开玩笑,说要花钱,还得有时间限制。抱一下一秒钟,一百块。结果底下马上有个影迷喊道:大家闪开,我包月。
38、 珍珠项链
小蔡这个小气鬼,突然大方。给女朋友送了一条珍珠项链,上面有22颗珍珠。小蔡的女朋友非常高兴,问他:为什么项链上有22颗珍珠呢?小蔡回答:和你的年龄一样啊。女朋友当时就急了:你这个糊涂虫啊,你买之前为什么不问问我真实年龄啊?
39、 小龙女
明星的影响力就是大,《神雕侠侣》剧组传出周迅有可能要演小龙女的消息以后,吸引了大量的男士也来应募演员,不知道为什么,他们不是想来演杨过,他们都想演尹志平。
40、 坏事传千里
足球明星贝克汉姆在欧锦赛中踢飞点球的那只足球将被带入太空。消息传开之后出现了一个奇迹,贝克汉姆无师自通学会了一句中国成语,还整天念叨着:好事不出门,坏事传千里。
41、 天下无贼
最近我发现一个奇怪的现象,现在很多男人都很不像话,他们公开宣称“天下无贼”,可是自己却偷偷地在外头“卧虎藏龙”,回到家以后经常遭遇老婆的“十面埋伏”,一旦被发现就成了“大事件”,最后的结果就是老婆出去“环游地球80天”,自己在家里“自娱自乐”。
Posted: August 22, 2006 at 7:13 pm | Tags: flash
下面这段周杰伦第七张专辑《依然范特西》的TV广告想必关注Jay同学的朋友都看过N遍了。这次杰伦找来小哥费玉清对唱,算是这张专辑的一个噱头吧。难能可贵的是杰伦含混不清的唱腔跟费玉清的美声唱法配合起来并不显得突兀。
广告里面的歌曲叫做《千里之外》,虽然两人各只有一句,可听起来蛮有感觉,比去年《夜曲》要好。明天(8月23日)这首歌会在N多电台首播,喜欢周杰伦的朋友要记得收听哦。
Posted: August 22, 2006 at 6:53 pm | Tags: debug, html, php
这个程序可以用 <script src="clickout.js"></script> 加到任意页面的 </body> 前面。
当用户点击 a 标签时触发事件
/*
* 说明:点出统计器
* 作者:邓威
* 日期:2006-07-25
* 版本:v1.2
*/
document.write(‘<div id="ClickOut" style="width:0px;height:0px;"></div>’);
function ClickOut()
{
this.oCO = null;
this.src_onclick = null;
this.isDEBUG = true || "status";
this.isOP = (navigator.appName + " " + navigator.appVersion);
this.isOP = (this.isOP.indexOf(‘Opera’)>-1?true:false);
this.debug = function(arg) {
if( this.isDEBUG == "status" ) window.status = arg.toString();
else if ( this.isDEBUG ) alert(arg.toString());
}
this.save = function() {
var IOUT = "";
// GET 方式接收数据的页面
var sUrl = "http://www.xxx.com/" + "clickout.php?";
try
{
if( Traffic_Counter.IOUT )
{
IOUT = Traffic_Counter.IOUT;
}
else
{
IOUT = "";
}
}
catch(e)
{
IOUT = "";
}
sUrl += "IOUT=" + encodeURIComponent(IOUT);
sUrl += "&src=" + encodeURIComponent(this.click_src);
sUrl += "&text=" + encodeURIComponent(this.click_text);
this.addins(sUrl);
return true;
}
this.addins = function(sUrl) {
var code;
if( !this.isOP )
{
code = ‘<img src="’ + sUrl + ‘" style="display: none;" width="0px" height="0px" \/>’;
}
else
{
code = ‘<iframe width="0" height="0" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" src="’ + sUrl + ‘"><\/iframe>’;
}
document.getElementById("ClickOut").innerHTML = code;
this.debug("已发送请求");
return true;
}
this.onclick = function(evt) {
if( evt == null ) evt = window.event; // For FF
if( this.src_onclick != null ) this.src_onclick(evt);
var obj = evt.srcElement ? evt.srcElement : evt.target ; // For FF
var tag = obj.tagName.toLowerCase();
if( tag != "a" ) return;
this.click_tag = tag;
this.click_src = obj.href;
this.click_text = obj.innerHTML;
this.debug(this.click_path);
objClickOut_doSave();
}
}
// 实例
var objClickOut = new ClickOut();
// 保存原有的 onclick 事件
objClickOut.src_onclick = document.onclick;
function objClickOut_click_tmp(evt) {
objClickOut.onclick(evt);
}
function objClickOut_doSave() {
objClickOut.save();
}
// bind event
document.onclick = objClickOut_click_tmp;
Posted: August 22, 2006 at 5:53 pm
改版大体完成了,各个页面都可以访问了。
不错不错……
哈哈哈,可惜 GG 搜索结果只能放在 div 里。
Posted: August 22, 2006 at 4:35 pm | Tags: linux, ror, server, windows, 手机, 类
URL : http://www.richardgoodwin.com/wp/2006/02/15/building-ffmpeg-to-support-windows-media-files/
[转]ffmpeg的编译大全
最近互联网视频共享的网站很火,公司也想搞类似的网站,初步是用fms+ffmpeg形式
fms负责在线录制,播放,ffmpeg则在后台处理上传的资源转换成一定的格式。
为了让ffmpeg支持的格式尽量多,所以特把我的编译笔记分享一下
环境:redhat as4
1。首先获取ffmpeg
很多人找不到怎么下载,其实之前ffmpeg可以通过cvs下载,不过最近他已经换成了更加强大的svn
如何使用SVN我这里不再介绍,网上还有大量的安装和使用的文章可以借鉴,这里简单罗列几个SVN辅助的软件:
SubVersion,从 http://subversion.tigris.org/ 下载,支持linux,我们这里就装这个
TortoiseSVN,从 http://tortoisesvn.tigris.org/ 下载,是很不错的SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端,用起来很方便,commit动作变得就像Winrar右键压缩一样方便。
ok,那我们先装subversion,记住最好之前装过apr和apr-util,在apache.org网站能下到
wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
tar zvxf subversion-1.3.2.tar.gz
cd subversion-1.3.2
./configure –with-apr=/usr/local/apr-httpd –with-apr-util=/usr/local/apr-util-httpd/
make
make install
到此,我们就可以通过svn命令获取最新的ffmpeg了
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
你会发现在你所在的目录,自动出现一个ffmpeg的目录,就是你下载的源代码。
我们还不能这么快编译ffmpeg,应该如果要让ffmpeg支持更多格式的转换,还需做一些前期工作
2.支持mp3,linux当然是lame,下载解压
cd lame-3.96.1
./configure –enable-shared –prefix=/usr
这里推荐尽量装在/usr下,默认是装在/usr/local下。这样ffmpeg编译都能顺利的找到库文件
3.支持Ogg Vorbis:
as4自带相应的rpm包,你可以安装一下如下rpm包
libvorbis, libvorbis-devel,libogg, libogg-devel
4.支持xvid x264,现在最流行的两种高质量的压缩格式
xvid的编译安装
wget http://downloads.xvid.org/downloads/xvidcore-1.1.0.tar.gz
tar zvxf xvidcore-1.1.0.tar.gz
./configure –prefix=/usr
make
make install
x264的获取同样是采用svn方式,看来svn取代cvs不远了
svn co svn://svn.videolan.org/x264/trunk x264
cd x264
./configure –prefix=/usr –enable-shared
make
make install
5.AC3和dts编码的支持
as4系统似乎已经支持ac3编码,编译的时候只要加–enable-a52 –enable-gpl参数就行
libdts编译参数
./configure –prefix=/usr
make
make install
6.mpg4 aac格式支持,由于服务器还针对手机用户服务,所以,类似aac,mpg4铃声格式的支持,我们也得做。这里我们安装faad2和faac就行
下载请到http://www.audiocoding.com/modules/mydownloads/
FAAD2的编译
cd faad2
autoreconf -vif
./configure –prefix=/usr –with-mp4v2 –enable-shared
make
make install
faac的编译
cd faac
chmod +x bootstrap
./bootstrap
./configure –prefix=/usr –with-mp4v2 –enable-shared
make
make install
7.支持3gp格式,这也是现在好多手机支持的格式,因为手机用户是我们的主要用户,所以也得支持编译
编译的时候加上–enable-amr_nb –enable-amr_wb参数就行,根据编译系统的提示,所以我们得下载一
些编译3gp所需得文件。
wget http://www.3gpp.org/ftp/Specs/ar … 6.204/26204-510.zip
解压以后把里面的文件都拷贝到libavcodec/amrwb_float
wget http://www.3gpp.org/ftp/Specs/ar … 6.104/26104-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr_float
好了,基本ffmpeg支持的格式,我们基本都做好前期准备了,下面是ffmpeg的编译
./configure –prefix=/usr –enable-gpl –enable-shared –enable-mp3lame –enable-amr_nb –enable-amr_wb –enable-amr_if2 –enable-libogg –enable-vorbis –enable-xvid –enable-a52 –enable-a52bin –enable-faadbin –enable-dts –enable-pp –enable-faad –enable-faac –enable-x264 –enable-pthreads –disable-ffserver –disable-ffplay
make
make install
补充1:
关于3gp的编译,如果大家要编译–enable-amr_nb-fixed,那就不能跟–enable-amr_nb同时编译,我不大清楚这两者到底有什么区别,似乎fixed是修正版,管他呢,编译的方法:
wget http://www.3gpp.org/ftp/Specs/ar … 6.073/26073-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr目录下
修改libavcodec/amr/makefile 找到CFLAGS = -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD) 换成CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO
整体编译参数就是
./configure –prefix=/usr –enable-gpl –enable-shared –enable-mp3lame –enable-amr_nb-fixed –enable-amr_wb –enable-amr_if2 –enable-libogg –enable-vorbis –enable-xvid –enable-a52 –enable-a52bin –enable-dts –enable-pp –enable-faad –enable-faadbin –enable-faac –enable-x264 –enable-pthreads –disable-ffserver –disable-ffplay
make
make install
补充2:
有朋友说在当在cpu是x86的情况下,不能编译过去,我这里没发生过这情况,如果你真编译不过去,可以试着加上cpu=cpu
ok,一个强大的ffmpeg编译好了,不过目前管方的ffmpeg还不支持wma9和rmvb,不过网上有很多解决方法,大家去自己找找。
本网所有文章建立在 创作公用 协议下。版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及以上“创作共用”声明。
Previous Page Next Page