孟子·告子下 生于忧患 死于安乐

孟子曰:「舜发于畎亩之中,傅说举于版筑之间,胶鬲举于鱼盐之中,管夷吾举于士,孙叔敖举于海,百里奚举于市。故天将降大任于是人也,必先若其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。人恒过,然后能改;困于心,衡于虑,而后作;徵于色,发于声,而后喻。入则无法家拂士,出则无敌国外患者,国恒亡。然后知生于忧患而死于安乐也。」 

译文: 
孟子说:“舜从田野之中被任用,傅说从筑墙工作中被举用,胶鬲从贩卖鱼盐的工作中被举用,管夷吾从狱官手里释放后被举用为相,孙叔敖从海边被举用进了朝廷,百里奚从市井中被举用登上了相位。 
所以上天将要降落重大责任在这样的人身上,一定要道先使他的内心痛苦,使他的筋骨劳累,使他经受饥饿,以致肌肤消瘦,使他受贫困之苦,使他做的事颠倒错乱,总不如意,通过那些来使他的内心警觉,使他的性格坚定,增加他不具备的才能。 
人经常犯错误,然后才能改正;内心困苦,思虑阻塞,然后才能有所作为;这一切表现到脸色上,抒发到言语中,然后才被人了解。在一个国内如果没有坚持法度的世臣和辅佐君主的贤士,在国外如果没有敌对国家和外患,便经常导致灭亡。 
这就可以说明,忧愁患害可以使人生存,而安逸享乐使人萎靡死亡。”

教育的55个细节-55条班规-(相约星期三-分享)

“恰当的行为举止与修养是学生学习成功的关键因素之一”

“你对学生提出的要求越明确,收到的效果就越好,无论是纪律还是学习。”

 

记者采访一位荣获诺贝尔奖的科学家:“请问您在哪所大学学到您认为最重要的东西?

这位科学家平静地说:“在幼儿园。”

“在幼儿园学到什么?”

“学到把自己的东西分一半给小伙伴;不是自己的东西不要拿;东西要放整齐;吃饭前

要洗手;做错事要表示歉意;午饭后要休息;要仔细观察大自然。”

 

我们经常夸奖某人不拘小节,但生活中一个小小的疏忽可能会带来严重的后果。

 

一粒纽扣可以决定一场战争的胜负,你会相信吗?拿破仑很了不起,但是一粒纽扣绊倒

了这位巨人。远征俄国时,他的士兵的纽扣是锡制的,而锡在低温时其特性会发生改

变,易碎易脆,于是在俄国零下四十多度的寒风中,拿破仑的士兵接二连三的倒在异国

他乡,拿破仑失去了大量的士兵,也失去了维系战争最重要的因素,于是他的失败不可

避免的来到了。后世的人无不惋惜地说:“如果当时用其他金属做纽扣,那么也许拿破

仑的命运将会改变”,可是历史不容假设,拿破仑的军官关注了粮食、武器、车马,唯

独没有去关注那些些系紧大衣的纽扣。

 

据某个教育专家分析,决定一个人学习成绩的因素主要有三方面:

一是天分或者说是智商,

二是学习条件,

三是习惯。

其中,人与人之间智力差异并不是特别大,人们的学习条件也相差不多,关键要有好的

习惯。 

 

教育的55个细节也不仅仅限于教室使用,在我们的日常生活中的各个场所同样需要它。

 

“播下一个行动,收获一种习惯;播下一个习惯,收获一种性格;播下一种性格,收获

一种命运”。

 

 

教育的55个细节

 

 

细节1 回答大人的问话要有礼貌

细节2 用眼睛和他人沟通

细节3 向表现出色的人表示祝贺

细节4 尊重其他同学的评论、观点和想法

细节5 无论成功还是失败,都不能挂在脸上

细节6 与人交谈时,别人问你一个问题,你一定也要回问对方

细节7 打喷嚏或咳嗽时要用手捂住嘴巴,然后说“对不起”

细节8 不要做出无礼的表现

细节9 接到别人递的东西,要说“谢谢”

细节10 收到你不喜欢的礼物后,不要对礼物本身或送礼人表现出不满

细节11 顺手做些善意的举动,给别人以特别的惊喜

细节12 给你的同学判卷,要公正

细节13 全班同学一起朗读的时候,要全神贯注

细节14 书面回答问题时,句子要写完整

细节15 不能主动索要奖品

细节16 每天都要完成全部的家庭作业

细节17 上课时,从一种科目换到另一种科目,换学习用具等各种动作要迅速、安静和

有秩序

细节18 尽可能地有条理

细节19 对布置的家庭作业不许抱怨或发牢骚

细节20 代课老师在的时候,班里的所有纪委照学发挥作用

细节21 遵守课堂纪律

细节22 上课时,你不能为了喝水离开教室,你可以带水在教室里喝

细节23 若知道其他老师的名字,遇到他们时要称呼他们的名字并打招呼

细节24 保持个人和浴室卫生,让细菌无处藏身

细节25 对来访者要表示欢迎,不要让身边的座位空着

细节26 在餐厅就餐时,不要让身边的座位空着

细节27 不许盯着正在受批评的同学看

细节28 家庭作业有任何问题时,打电话给老师,如果老师不在,要留言

细节29 吃饭时保持良好的礼仪

细节30 无论在快餐店或其他任何地方吃饭,餐后都要对你的垃圾负责

细节31 住旅馆时,要为给你打扫房间的服务生留下小费

细节32 坐公共汽车时,脸要朝着前方

细节33 首次和他人见面时,要与对方握手,并重复他们的名字

细节34 吃饭的时候,只取你应得的那一份

细节35 有人掉了东西,如果你离得近,要帮助他或她捡起来

细节36 进出时,为别人扶住门

细节37 如果有人不小心碰到你,尽管不是你的错,你也应该说“对不起”

细节38 外出活动,进入公共场所时要保持安静

细节39 外出活动,要对你正在参观的场所加以欣赏

细节40 集会期间不要说话,也不得和你的朋友打招呼

细节41 在家里接电话时,必须做到礼貌得体

细节42 外出旅行返回时,要和每一个旅伴握手并致谢

细节43 在自动扶梯上,要站在右侧,从左侧走动

细节44 站着排队时,要将两臂放在身体两侧,移动时要安静

细节45 排队是永远不能加塞儿

细节46 在电影院里看电影期间,不得说话

细节47 不能把夹心饼干带进学校

细节48 如果有谁欺负你,告诉老师

细节49 坚持你的信念

细节50 用正面、积极和欣赏的态度生活

细节51 既然想做一件事,就只管去做

细节52 从错误中汲取教训,然后继续前行

细节53 不管情况怎样,永远保持诚实

细节54 把握现在

细节55 尽你所能成为出色的人

持久化

[定义]

  持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

[理解]
  我们可以这样理解:
  在一定周期内保持不变就是持久化,持久化是针对时间来说的. 
  数据库中的数据就是持久化了的数据,只要你不去删除或修改.
  Session会话中Session对象变量也是不变的,是Session容器中持久化
  对象持久化的方式有很多种,根据周期不同有,page,Session,Application,
  对象序列化机制对于需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态,
  对象序列化的过程是对象持久化的方法之一,把对象保存到文件中. 
  简单的理解持久化可以在二个层面:应用层和系统层、
  应用层:
  如果关闭(shutdown)你的应用然后重新启动则先前的数据依然存在。
  系统层:

  如果关闭(shutdown)你的系统(电脑)然后重新启动则先前的数据依然存在。

  持久化是一种对象服务,就是把内存中的对象保存到外存中,让以后能够取回。需要实现至少3个接口:
  void Save(object o) 把一个对象保存到外存中
  Object Load(object oid) 通过对象标识从外存中取回对象
  bool Exists(object oid) 检查外存中是否存在某个对象
  为什么需要持久化服务呢?那是由于内存本身的缺陷引起的:
  内存掉电后数据会丢失,但有一些对象是无论如何都不能丢失的,比如银行账号,遗憾的是,人们还无法保证内存永不掉电。
  内存过于昂贵,与硬盘、磁带、光盘等外存相比,内存的价格要高2~3个数量级,而且维持成本也高,至少需要一直供电吧。所以即使对象不需要永久保存,也会因为内存的容量限制不能一直呆在内存中,需要持久化来缓存到外存。
  既然持久化服务在看得到的未来还有市场,我们就来看看如何构建一个好的持久化框架,框架是否真的好在于如何在扩展性、缩放性、重用性上取得良好的平衡:
  扩展性,如果一个持久性框架不能支持用户定义的类型,显然不是一个好的框架。
  缩放性,保存和取回对象都需要耗费cpu、带宽、时间资源,哪一个消耗太多都不能接受。
  重用性是我们建立框架的初衷,就是通过框架能够减少一些编码和测试的工作量。
  这几个需求往往是互相冲突的,所以关键是平衡。
  我们先跳开一下,看看另一个类似的有用概念:序列化,序列化也是一种对象服务,就是把内存中的对象序列化成流、或者把流反序列化成对象。需要实现2个接口:
  void Serialize(Stream stream,object o) 把对象序列化到流中
  object Deserialize(Stream stream) 把流反序列化成对象
  序列化和持久化很相似,有些人甚至混为一谈,其实还是有区别的,序列化是为了解决对象的传输问题,传输可以在线程之间、进程之间、内存外存之间、主机之间进行。我之所以在这里提到序列化,是因为我们可以利用序列化来辅助持久化,可以说凡是可以序列化的对象都可以持久化,因为序列化相对容易一些(也不是很容易),所以主流的软件基础设施,比如.net和java,已经把序列化的框架完成了。
  持久化方案可以分为关系数据库方案、文件方案、对象数据库方案、xml数据库方案,目前主流的持久化方案是关系数据库方案,关系数据库方案不仅解决了并发的问题,更重要的是,关系数据库还提供了持久化服务之外的价值:统计分析功能。刚才我说到,凡是可以序列化的对象都可以持久化,极端的说,我们可以只建立一个表Object(OID,Bytes),但基本上没有人这么做,因为一旦这样,我们就失去了关系数据库额外的统计分析功能。
  关系数据库和面向对象之间有一条鸿沟,因为2中模式不匹配,所以就存在一个OR映射问题。

[持久化的意义]

  当持久化兴起的时候,逐渐形成了实体层这个概念了。hibernate,jdo,以及博客园的nbear都可谓是大名鼎鼎!有的公司不使用这种ORM框架,他们使用一些自动生成工具生成实体(例如用Codesmith生成),并生成和该表对应的业务逻辑,于是乎感觉我们的程序好像一下子全都写好了,下一步就轻松了,我们只要扩展业务即可了!莫非这样真是那么方便了?在维护上真的是最便捷吗? 其它的持久层解决方案不敢说,但至少我觉得像orm的鼻祖hibernate那种开发机制,在维护还是相当之麻烦呀!一个实体还得对应一个xml文件(虽说这些都可以自动生成),但是你深入项目的时候去想想,我们的业务真能一切都可以定下来吗?人的思想总是在变的,客户的需求就更难以着磨了!哪天我们要给程序加个字段,你想想你必须要走几步改动?首先我们必须重新生成xml和实体,然后我们必须还得在业务逻辑中增加代码,还得在视图层加一个界面(如加一个input输入框等)!讲实话,加一个字段对这种orm框架的改动还是最少的,哪天假如说我们修改了哪个字段的名称、修改了字段类型,你想想,天呐!很难想像,和这个字段关联的程序都得改动!如果名称改了,ok,你可以全部替换它的原先名称,改成你新的名称。那类型改了呢?没办法只能手工一个个改掉所有的赋值的类型吧?视图层、控制层中的验证(js验证,业务验证)、逻辑层、实体层,xml配置等等都必须动。搞啥个hsq,这和sql不差不多了吗(虽然说hsq,抽象了数据库模型)?不过我想没有程序员不懂sql的吧?况且hsq对复杂的语句还是会力不从心的吧!
  运用ORM框架势必会运用大量的反射,代价是牺牲性能。当然现在的各种ORM框架都在尝试使用各种方法来减轻这块(LazyLoad,Cache),效果还是很显著的。可是我们牺牲了这么大的性能,而且我是觉得在维护上ORM还是最便捷。
  真不知道为啥像hibernate这样的框架还有一个xml配置文件?如果我真ORM的话,我不能把这些数据关系缓存起来,动态取关系不就行了吗?这样我不更灵活了吗?
  当然使用ORM也有它的活的活之处,在维护上那种自动生成的方式(petshop模式)比使用ORM框架维护量上更大一些,那种构架如果是每个数据操作对应一个存储过程的改动会更会让人晕头转向的。其构架大致如以下描述:
  主要由BLL,MODEL,DAL三层构架方式实现,BLL存放的是相关业务,MODEL是相关的数据库表格实体,DAL业务的SQL语句(或存储过程参数).为了松散耦合,在BLL层和DAL层中间加入了工厂层(Factory),其作用是方便DAL层的载体变动(如把Sqlserver改成Mysql),在DAL层有一个setObject数据库字段到实体属性设置,便于数据库表格映射成实体。
  程序编写的最大问题就是耦合高,怎么降耦也是开发的一个重中之重。以上述的程序构架来看,如果我改动了数据库中的其中一个表格的某个字段,程序改动的至少就有三层。如果再按照自动生成方式那种看,DAL中的update,insert,select, setObject都需要改动,如果存在存储过程的话,像get,getAll,update,insert都必须改动,想象一下这里改动地方有几处了?而且还需改动Model层,修改量之大可见一斑。当然我们这里可以用自动生成工具生成并替换,可又有谁知道这里面的替换工作量多少?
  总之,提倡”高内聚,低耦合”是构架永恒的话题,寻找便捷亦是构架的终级目标。

Object/Relation Mapping (ORM)

对象-关系数据库映射

  什么是ORM? 
  对象关系映射(ORM)提供了概念性的、易于理解的模型化数据的方法。ORM方法论基于三个核心原则: 
  简单:以最基本的形式建模数据。 
  传达性:数据库结构被任何人都能理解的语言文档化。 
  精确性:基于数据模型创建正确标准化了的结构。
  典型地,建模者通过收集来自那些熟悉应用程序但不熟练的数据建模者的人的信息开发信息模型。建模者必须能够用非技术企业专家可以理解的术语在概念层次上与数据结构进行通讯。建模者也必须能以简单的单元分析信息,对样本数据进行处理。ORM专门被设计为改进这种联系。
  规则表达式 
  ORM把应用程序世界表示为具有角色(关系中的部分)的一组对象(实体或值)。ORM有时也称为基于事实的建模,因为它把相关数据描述为基本事实。这些事实如果分割为再小的事实就会丢失信息。 
  简单事实的一些例子包括: 
  人有电话 
  人住在某个地方 
  人生于某个日期 
  人在某个日期被雇佣 
  ORM提供的不只是描述不同对象间关系的一个简单而直接的方式。ORM还提供了灵活性。使用ORM创建的模型比使用其它方法创建的模型更有能力适应系统的变化。另外,ORM允许非技术企业专家按样本数据谈论模型,因此他们可以使用真实世界的数据验证模型。因为ORM允许重用对象,数据模型能自动映射到正确标准化的数据库结构。 
  ORM模型的简单性简化了数据库查询过程。使用ORM查询工具,用户可以访问期望数据,而不必理解数据库的底层结构。
  =================================================================================================
  对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示者额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。
  对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
  面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。
  让我们从O/R开始。字母O起源于”对象”(Object),而R则来自于”关系”(Relational)。几乎所有的程序里面,都存在对象和关系数据库。在业务逻辑层和用户界面层中,我们是面向对象的。当对象信息发生变化的时候,我们需要把对象的信息保存在关系数据库中。
  当你开发一个应用程序的时候(不使用O/R Mapping),你可能会写不少数据访问层的代码,用来从数据库保存,删除,读取对象信息,等等。你在DAL中写了很多的方法来读取对象数据,改变状态对象等等任务。而这些代码写起来总是重复的。
  如果打开你最近的程序,看看DAL代码,你肯定会看到很多近似的通用的模式。我们以保存对象的方法为例,你传入一个对象,为SqlCommand对象添加SqlParameter,把所有属性和对象对应,设置SqlCommand的CommandText属性为存储过程,然后运行SqlCommand。对于每个对象都要重复的写这些代码。
  除此之外,还有更好的办法吗?有,引入一个O/R Mapping。实质上,一个O/R Mapping会为你生成DAL。与其自己写DAL代码,不如用O/R Mapping。你用O/R Mapping保存,删除,读取对象,O/R Mapping负责生成SQL,你只需要关心对象就好。
  对象关系映射成功运用在不同的面向对象持久层产品中,如:Torque,OJB,Hibernate,TopLink,Castor JDO, TJDO 等。
  一般的ORM包括以下四部分:
  一个对持久类对象进行CRUD操作的API;
  一个语言或API用来规定与类和类属性相关的查询;
  一个规定mapping metadata的工具;
  一种技术可以让ORM的实现同事务对象一起进行dirty checking, lazy association fetching以及其他的优化操作。
  一、目前流行的 ORM 产品
  目前众多厂商和开源社区都提供了持久层框架的实现,常见的有:
  Apache OJB (http://db.apache.org/ojb/)
  Cayenne (http://objectstyle.org/cayenne/)
  Jaxor (http://jaxor.sourceforge.net)
  Hibernate (http://www.hibernate.org)
  iBatis (http://www.ibatis.com)
  jRelationalFramework (http://ijf.sourceforge.net)
  mirage (http://itor.cq2.org/en/oss/mirage/toon)
  SMYLE (http://www.drjava.de/smyle)
  TopLink (http://otn.oracle.com/products/ias/toplink/index.html)
  其中 TopLink 是 Oracle 的商业产品,其他均为开源项目。
  其中 Hibernate 的轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位,甚至取代复杂而又繁琐的 EJB 模型而成为事实上的 Java ORM 工业标准。而且其中的许多设计均被 J2EE 标准组织吸纳而成为最新 EJB 3.0 规范的标准,这也是开源项目影响工业领域标准的有力见证。
  二、对象-关系映射模式
  从《公共仓库元模型:开发指南》一书第8章CWM元仓库中摘录出来的内容,实现了公共仓库元模型(CWM)的UML图到Microsoft SQL Server数据库的映射,是一种将对象层次结构映射成关系型结构的方法。个人认为可以作为将本体(Ontology)文件存储到关系型数据库中的一种可借鉴方法。
  基本情况:公共仓库元模型(CWM)是对象管理组织(OMG)的一种和数据仓库相关的元模型标准,采用UML表示的对象层次结构,在保存到数据库中时由于面向对象的数据库技术的不完善(理论研究和商业应用都不是主流),所以该书的作者倾向于使用成熟的关系型数据库来保存-这也是存储本体时所遇到的问题。
  采用方法:将UML模型中的各种元素通过转换,保存为数据库模式。由于CWM是一种元模型,因此模型的实例也是一种模型,将这种实例以数据库数据的形式保存。使用数据库中比较成熟的存储过程技术提高开发和执行效率。
  1、数据类型映射模式
  1.1简单数据类型模式:建立UML和关系型数据库中简单数据类型的映射表以指导映射。
  1.2枚举数据类型模式:每种枚举类型对应一个表,只有一个列(_EnumLiteral)表示枚举值。
  1.3基于类的数据类型模式:使用外键约束,将基础列与基于类的类型实例相关联。
  2、类映射模型
  每个类对应一个表。单值属性、多值属性、继承关系可以用下述方法映射,而引用属性将在关联映射模式中提到。
  2.1单值属性模式:是cardinality的上界为1的属性,映射到类所对应的表的列上。若其下界也为1(必须有的属性),列属性为NOT NULL。
  2.2多值属性模式:每个多值属性映射成一个独立的表,使用外键连接到类所对应的表上。
  2.3继承模式:每加入一个类的实例时,根据其继承关系自顶向下生成每个类的对象,这些对象具有相同的ID(根对象对应记录的主键)。删除对象实例时,自底向上删除数据。遇到从中间删的情况怎么办?多重继承怎么处理?(金龙飞)
  3、关联映射模式
  3.1一对一关联模式:在关联两端各加一列。
  3.2一对多关联模式:和3.1一样。如果多这端是有序的,还需加入一列表示序号。
  3.3多对多关联模式:将关联单独作一个表。
  3.4组合关联模式:注意级联式删除。
  3.5反演关联模式:关联两端指向相关的类型,和普通关联一样。
  3.6成对关联模式:关联记录两个类间的关系,用交集类表示关联,表示成一个单独的表,每个关联对应一个表,用外键表示它们间的关系。
  3.7关联上的OCL需要分析成对应的存储过程代码。
  3.8保证关联的cardinality也需要分析成对应的存储过程代码。
  4、引用映射模式
  在UML中不存在的MOF特征,指属性是声明为引用类型的实例。用存储过程实现。

三层开发(软件项目开发)- DAL

DAL为数据访问层(Data Access Layer)三层结构为:

  1.表示层(USL):主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
  2.业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。 
  3.数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。

xp中文语言包、语言包、语言库

Many enterprise customers have deployed the Windows XP Multilingual User Interface Pack in their corporations as a way to ease desktop administration and reduce desktop management costs in multilingual computing environments.

Microsoft has provided an update to the Help system that includes important new information for customers who have deployed this version of Windows XP. This update contains important security information and updates as will as documentation for new features that ship with Windows XP Service Pack 2 (SP2).

For more information about this update, see Microsoft Knowledge Base article 841625.

系统要求:

• Microsoft Windows XP Professional (32-bit) SP2 with Microsoft Windows XP Multilingual User Interface Pack installed

可用的语言包:

Language File Name File Size
Arabic (ARA) WindowsXP-KB841625-x86MUI-ARA.exe 8124 KB
Chinese (Simplified) (CHS) WindowsXP-KB841625-x86MUI-CHS.exe 8518 KB
Chinese (Traditional) (CHT) WindowsXP-KB841625-x86MUI-CHT.exe 8681 KB
Czech (CSY) WindowsXP-KB841625-x86MUI-CSY.exe 8316 KB
Danish (DAN) WindowsXP-KB841625-x86MUI-DAN.exe 7700 KB
Dutch (NLD) WindowsXP-KB841625-x86MUI-NLD.exe 7432 KB
Finnish (FIN) WindowsXP-KB841625-x86MUI-FIN.exe 7885 KB
French (FRA) WindowsXP-KB841625-x86MUI-FRA.exe 8175 KB
German (DEU) WindowsXP-KB841625-x86MUI-DEU.exe 8230 KB
Greek (ELL) WindowsXP-KB841625-x86MUI-ELL.exe 9230 KB
Hebrew (HEB) WindowsXP-KB841625-x86MUI-HEB.exe 7774 KB
Hungarian (HUN) WindowsXP-KB841625-x86MUI-HUN.exe 8131 KB
Italian (ITA) WindowsXP-KB841625-x86MUI-ITA.exe 7529 KB
Japanese (Japan) (JPN) WindowsXP-KB841625-x86MUI-JPN.exe 10557 KB
Korean (KOR) WindowsXP-KB841625-x86MUI-KOR.exe 9032 KB
Norwegian (Bokmål) (NOR) WindowsXP-KB841625-x86MUI-NOR.exe 7534 KB
Polish (PLK) WindowsXP-KB841625-x86MUI-PLK.exe 8635 KB
Portuguese (Brazil) (PTB) WindowsXP-KB841625-x86MUI-PTB.exe 7675 KB
Portuguese (Portugal) (PTG) WindowsXP-KB841625-x86MUI-PTG.exe 7976 KB
Russian (RUS) WindowsXP-KB841625-x86MUI-RUS.exe 8450 KB
Slovak (SKY) WindowsXP-KB841625-x86MUI-SKY.exe 8056 KB
Slovenian (SLV) WindowsXP-KB841625-x86MUI-SLV.exe 8004 KB
Spanish (ESN) WindowsXP-KB841625-x86MUI-ESN.exe 7554 KB
Swedish (SVE) WindowsXP-KB841625-x86MUI-SVE.exe 7667 KB
Turkish (TRK) WindowsXP-KB841625-x86MUI-TRK.exe 8149 KB

© 2004 Microsoft Corporation. All rights reserved.

Microsoft, MS-DOS, Windows, Windows NT, Windows XP and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

使用PHP-FPM (PHP FastCGI Process Manager)来对php-cgi进程进行管理

如果使用PHP-FPM (PHP FastCGI Process Manager)来对进程进行管理,则需要提前做如下工作:
先到官网下载与php版本对应的php-fpm补丁:PHP-FPM
假设:php源代码目录在:/usr/local/php/source/php-5.2.9,php-fpm下载到了/usr/local/php/source

cd /usr/local/php/source
gzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.9 -p1

补丁打好以后,编译php的时候增加了下面几个参数:

–enable-fpm 激活fastcgi模式的fpm支持
–with-fpm-conf php-fpm的配置文件(默认是PREFIX/etc/php-fpm.conf)
–with-fpm-log php-fpm的日志文件(默认是PREFIX/logs/php-fpm.log)
–with-fpm-pid php-fpm的pid文件(默认是PREFIX/logs/php-fpm.pid)

编译的时候–enable-fpm当然是必须的,其它几项可以根据你自己的情况自行调整。
编译参数:

cd /usr/local/src/php-5.2.9
./configure --enable-fastcgi --enable-fpm --prefix=/usr/local/php --with-config-file-path=/etc
make
make install

其它的一些php编译参数,这里就略去了。
稍等片刻,等php编译并安装好,下面开始配置php-fpm。

vi /etc/php-fpm.conf

php-fpm.conf是一个xml格式的纯文本文件,具体细节可以自己打开看看,基本上一看就明白了。在这里特别注意一下这几个配置字段::

#这个表示php的fastcgi进程监听的ip地址以及端口
<value name="listen_address">127.0.0.1:9000</value>
 
#表示php的fastcgi进程以什么用户以及用户组来运行
<value name="user">nobody</value>
<value name="group">nobody</value>
 
#是否显示php错误信息
<value name="display_errors">0</value>
 
#最大的子进程数目
<value name="max_children">5</value>

下面运行php-fpm:

/usr/local/php/bin/php-cgi --fpm

现在php的fastcgi进程就已经在后台运行,并监听127.0.0.1的9000端口。
可以用ps和netstat来看看结果:

ps aux | grep php-cgi
netstat -tpl | grep php-cgi

安装好了php-fpm,那么它是怎么来达到我们最初的目的的呢?
很幸运,php-fpm自己就给我们准备了一个程序来控制fastcgi进程,这个文件在$PREFIX/sbin/php-fpm

运行一下:

/usr/local/php/sbin/php-fpm

该程序有如下参数:

start 启动php的fastcgi进程
stop 强制终止php的fastcgi进程
quit 平滑终止php的fastcgi进程
restart 重启php的fastcgi进程
reload 重新加载php的php.ini
logrotate 重新启用log文件

也就是说,在修改了php.ini之后,我们可以使用

/usr/local/php/sbin/php-fpm reload

这样,保持php的fastcgi进程持续运行的状态下,又重新加载了php.ini。

有趣的笑话 一起笑一笑吧 HOHO~

刚用QQ时,不太懂。一次聊天时,网友问我:QQ软件怎么升级啊?我不懂装
懂,答:你先把这个旧的卸载了,我再告诉你怎么做!
于是,半分钟后,网友的头像变成了灰色。从此,这个人消失了……

在年幼无知天真可爱的我还上小学三年级的时候。
某日中午,新发了数学练习册。偶包了书皮,写好了作业高高兴兴的拿着去上学。
风和日丽,太阳当空照,花儿对我笑,小鸟说,中午好,你为什么不背小书包?
为什么?我也不知道,如果背了小书包就不会发生这么邪恶的事情了。

我走到教学楼下,忽然很想去WC,于是就把书夹在下巴下面…具体过程忽略。
结果解决完问题之后我的练习册就扑通一声掉下水了。
我站在旁边哭了一会儿之后不知所措,只能茫然的向外走。
走到楼梯下的水池,刚好有一对四年级的双胞胎姐妹看到我,就说你怎么哭啦?
我说,我的书掉进厕所了。
双胞胎姐妹于是拉着我回到厕所间。帮我把那本书从里面捞了出来。
依稀记得本子的一角还搭在一坨根正苗红的便便上。
捞出来之后她们帮我把本子在水龙头下下面冲了冲,还给我说晒干就好了。
清楚的记得那天下午第一节是体育课。我逃了课留在教室里面晒书。那本书吸了水晒
干后皱巴巴的粘在一起,我晒一会儿翻一页,基本上晒的半干了,重新包了书皮教给
老师。

后来,不知道是当天下午还是第二天。老师请我去办公室,问我说你的书怎么变成这
样了?
偶可怜巴巴的说,是掉进水里了。
她说,怎么会掉进水里呢?
我低着头说,上厕所的时候不小心……
她说,是掉在厕所的水里了?
我说,是掉进茅坑里了。
于是我们可亲可敬可爱的老师带着一副哭腔仰天长啸伸出一只食指连说带比划,说:
我是沾着口水一页页翻的啊!!

就是这么一回事。

  小时候很勇敢很勇敢,有次在幼儿园里,医生给我们打疫苗,老师在边上谆谆教
导:’哪个小朋友勇敢呀,让我们看看最勇敢的小朋友在哪里,第一个来医生阿姨这
里?’问了半天也么有人理她,大家都往后缩,后来只见我大步走到医生面前。老师
高兴的说:’还是XXX最勇敢……’话还么说完,只见我一把抓起桌上的针头针管全部扔
到了窗子外面去。(这都是在我长大后,爸爸告诉我的)

  冬天乘公共汽车时大家都爱带手套,这样握冰冷的扶手时就不会有彻骨的感
觉,但是我就没有这个习惯,从来都不带手套,一次乘公车时,一站上来两个跋扈的
中年妇女,上来就旁若无人的大声聊天,就听一个讲:’快春节了,小偷特多,坐车
得多注意小偷。’另一个讲:’说的不是,我跟你讲一般小偷别管多冷都不带手套,就
是为了干活方便。。。。’,我听后一看全车就我一个没带手套。。。。。

  在我上中学的时候,一日,适逢我最讨厌的物理课.
  本人正当无聊,发现一件非常有趣的事,遂小声告诉同桌.
  不料,一根粉笔头击中我的脑门.
  ’站起来!把你刚才跟她说的话说十遍!’
  面对老师愤怒的脸,我小声嘟囔:’… …’
  ’大声点!让全班都听到!’
  遂狠下决心:’老师的拉链没拉!老师的拉链没拉!老师的拉链没拉!老师的拉链…
…’
  全班绝倒…

  我们在五院实习,一次7个兄弟外出晚餐,和3个小混混发生口角,既而演化为斗
殴,3个小混混被我们打得不成人形。后来他们被送进5院来,我们得到消息后立马穿
上白大褂扑了过去。当他们3个看到站在面前的医生竟然就是刚才揍自己的人时,脸
上那种绝望的表情啊………………真是此生难忘啊

  是在一家卖首饰的店里,我市向买一个银质的手镯,就是那种一个大圆环形状的,
看见一个比较满意的,店员就拿给我看,
  问我自己买还是送人,
  我就说自己买啊,
  就又问我要不要试一试,
  我就在手腕上比一比,说不用试,
  我比一比就行了,
  店员再一次问我是自己买还是送人,自己买就试一试吧
  我说自己买啊!!那就试一试吧
  于是我就开始往手上套
  店员诧异的看着我(这个我倒是没看见,因为我再努力的往手上套那个手镯)
  几十秒之后店员终于看明白了
  说,小姐,这个是耳环

  初中时一次数学课上,老师正在讲一道经典的几何证明题,讲到精彩之处,
  老师用教鞭指着黑板,用深沉的男中音说道:请注意~
  突然,外面一声甜美的女声接道:倒车!
  众人惊!原来是窗外有辆卡车在倒车,自动播放着’请注意~倒车’
  全班暴笑

  有一次,因为有事要联系一个同学,但是手机里没存他的号码,
  于是给另外一个和他很熟的同学发短信,
  ’请问有XXX的电话号码吗?’,
  然后耐心等候回复,5分钟后,终于收到回复了,
  迫不及待打开短信,赫然写着,
  ’有啊’两个大字。。。
  无奈之下,只能又再发短信给这位大哥,
  ’那么,请告诉我好吗?’,又继续等了五分钟,
  收到了回复,再次迫不及待地打开来看,
  赫然写着另外两个字,’好啊’。。。。

  !@#!@¥@!¥!@¥!@¥

  一次和同学骂着玩

  我:嘿~!XX,你爸是我儿子!

  他:放屁!我爷是你孙子~

  一阵静默~~ 爆发ING……………..

  大学时一同学,夏天一丝不挂在水房冲凉。旁边来了一个不知道谁的女朋友洗衣
服,那mm还真大方,不但不尴尬还上下打量了他两眼,把他闹了个大红脸,赶紧端起
盆往寝室跑。更糗的事还在后面呢,到寝室门口他毫不犹豫地推门就进,进去后立刻
傻那块了,里面正开班会呢,男男女女坐了一大堆,辅导员也在……真不知道这老
兄后来怎么还有勇气活下去!

  我一个哥们是警察,有一天他开警车带我们出去吃饭,然后在路上的时候,我在
仔细的研究警车的内部构造,然后看见有警笛,就问警笛是什么响声啊?哥们为了显
摆,就大力的一摁,前面一个大货车迅速让开了,哥们很牛的说:你看,一摁警笛效
果好明显,我们正在佩服之际,结果前面一个巨大的坑~

  中午在一个武侠风的饭馆吃饭,那里味道一般性,价格比较便宜,特点就是那里
管什么都有武侠风。管顾客叫客官,管服务员叫小二。菜名也是武侠风,红烧猪蹄是
降龙十八掌,羊肉煲叫九阳神功。

  中午吃九阳神功的时候一只小强在桌子上跑来跑去,怒了就叫小二过来,小二一
见高呼:有刺客!

  一次,我在街上走,突然接到朋友打来的电话,于是和他边聊边走。在和几个人
擦身而过后,我下意识得伸手摸裤包(放手机的那个包~)。。。然后发现~手机不见
了。。。
  全身上下到处摸过也没有(怎么可能有,汗~),我急得出了一身汗,于是对着
我朋友大叫:糟了!我手机不见了!
  晕死。。。。

  最近不是闹地震吗?我们学校捐款.
  募捐箱放国旗下.捐钱.全校看着呢.
  我捐得最多.是100块
  当我把钱掏出来放的时候.大家眼睛当然是齐刷刷看着我.瞬间那个自豪啊,于
是在大家惊奇的目光中抬头挺胸的走了下来.
  后来我掏钱买东西时意外发现我刚捐的那张100块的居然还在身上.
  但我的那唯一的一张5毛钱的却消失了……..

上初中的时候,有一次和同桌做值日,擦黑板时发现黑板擦不知道被哪个捣蛋鬼给弄
丢了。心急如焚的时候,同桌提议去女同学的书包里翻翻,她们总会带很多东西在包
里。终于翻到了一小包东西,软软的,一个巴掌大。撕开袋子后发现还有个不干胶
条。把手’啪’的粘上之后擦黑板,哇塞!!!超好用,一点都不费劲。我们不由得感
叹不已,现在的东西越来越人性化。还怪那个女生有好东西不和我们分享。结果她抢
回去后还骂我们神经病。去问文具店老板也不知道。就差一点去找老师说明情况把学
校的黑板擦都换了。直到上高中的时候才知道那个黑板擦是女生的卫生巾。天地良
心,我们当时可是真的单纯到什么都不懂的呀。还好没有去找老师,要不肯定会被认
为是坏学生,汗。

  A群发短息:’列位,明天在我家集合。’
  B收到之后回复:’我不是列位啊。’
  A:’晕,我群发啊。’
  B:’群发?我不认识你啊。’

  有一次从批发市场出来坐车,坐的是小型的公共汽车,人非常多,我就随便扶着
一个竖杆(金属的那种)。人多,车也不停的晃,我突然发现我扶的这个杆子也跟着
车晃,心想,这车摇晃的这么厉害啊,竟然扶杆都能跟着摇晃。就这样过了一个
站,很多人都下车了,我才发现,我一直扶着的是一个金属杆的拖把。一个妇女一手
那着拖把,一手抱着小孩,对我瞪着眼睛。。

[转载]谈谈我对攻读计算机研究生的看法

读了之后很受启发,特分享,希望原作者不要建议我在此转载。

  就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。

  如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。

  你说:“他们都有很强的开发能力,只是不太喜欢读书,也只是希望混个学历对今后在岗位上晋升有好处”,我可以向你保证,你所说的人绝对不是开发能力很强的人。因为,1)高手不可能不喜欢读书;2)高手不可能想去混一个学历;3)高手不可能认为晋升是因为学历的原因。

  还需要说明的是,考计算机的人未必个个都是高手,严格来说,大部分都不会编程序。也就是说,庸庸碌碌之辈仍然占绝大多数。研究生毕业的师兄只拿2500元左右的比比皆是,所以不要寄希望于拿一张研究生文凭出去赚高薪。但是,对于有实际开发工作经验的人,要想自己在3年之中有一个真正的提高的话,计算机学院提供了广阔的平台。就我所知,每一个月拿2万以上的也有(上海育碧,图形特效算法设计)。所以,同为研究生毕业,能力的差距是极大的。所以,不要去问“研究生毕业能拿多少?”,要问“像我这种水平的人,研究生毕业能拿多少钱?”这样人家才能够准确地回答你。
 
  所谓“有实际开发工作经验”是指你目前已经具备下列能力:1)你已经认为C++和汇编语言都是很简单的语言,并能够自如地运用;2)你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向;3)你完全理解STL为什么这么重要;4)你能够独立地解决所有的编译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问任何人;5)英文网站是你的首要信息来源;6)能够读懂英语写成的国际标准,比如NTFS磁盘格式标准。7)你经常站在集合论的角度思考算法问题;8)能够理解一个简单的驱动程序,能够理解一个简单3D交互程序;9)你能够认识到线性代数和概率论在实际编程工作中的极端重要性;10)你完全理解COM的设计思想,尤其能够理解COM为什么要设计成这样;11)当我说到虚函数的重要作用时,你不会急着去找书来翻;12)你能够说出C++为什么比其他语言优秀的理由,记住这种理由应该来自于你的开发体会,而不是因为其他人都这么说。此外还有很多判断标准,但如果你同时具备5条以上,可以认为你已经具备相应的开发经验了。在这种状态下读研,你将取得读研效益的最大值。

  读研最重要的是要明白你自己要干什么,不能等导师来告诉你你应该干什么。研究生的优势在于理论功底深厚,思维具有穿透力,当然编程能力首先要过关,不要读完研究生还不知道MFC程序的WinMain函数在哪里。所以,研究生期间,你一定要做有理论深度的算法设计,比如大规模数据的搜索算法,性能是首要考虑因素,不要奢望SQL函数能够帮你解决问题,所有的问题你都必须自己解决,你必须解决内外存交换的性能瓶颈。再比如极品飞车的3D场景生成,图形变换,碰撞检测,物性模拟,纹理映射,灯光模型等等,这些都是可以保证你能拿到2万以上月薪的技术。如果你认为这些东西太难,不可能做得出来的话,那么你就不适合读研。真的,要是你认为读研之后还是要去搞一般的程序设计,如信息管理系统之类的软件,那么你读研的价值就完全不会得到体现,因为这些工作根本就不需要读研。

  软件学院宣称培养软件开发人才,恕我直言,我从来没有看见那个高手是培训成功的。成为软件开发高手的路只有一条:自学!软件开发中需要大量的编程实践和独立思考,只有在此过程中,你才能够逐步成长起来。软件学院宣称培养软件项目经理,这更是搞笑,在某种意义上这是欺骗行为。学院里面能够培养出软件开发经理更是十足的谎言,软件项目经理必须,或者说更强调从战争中学会战争。没有实践经验的项目经理就是绣花枕头一个。

  实话实说,软件学院就是一个蒙钱的机构,公关工作做得很好,善于打广告,而且都是打着高薪的幌子,就如同外面的什么北大青鸟培训班一样。两个字:蒙钱!四个字:还是蒙钱!

  总之一句话,如果你只想成为软件开发高手(比如认为会编驱动程序或杀毒软件就是高手的那种),建议工作,不要考研;完全没有工作经验的,也不建议考研,你进来了只有瞎混一通。如果你有上述工作经验且想成为高级软件工程师(能够独立理解并设计出快速傅立叶变换算法的那种软件工程师)的话,那么强烈建议考研。考研让你有3年放松思考的机会,也有3年让你思想和技术积累沉淀的机会。非常难得的机会。不考研的话,这种机会就是一种奢侈,可望而不可及的那么一种奢侈。

  所以,不管你是哪一种情况,都不建议考软件学院。除非你是女生,把能够成为一个研究生当着一生最大满足的那种女生。
  
  1)关于读书的机会成本问题。读研的机会成本的确是很高。任何人都可以简单地计算出来。所以,我也不赞成所有的人都去读研。读研只适合那些痛感数学在编程中的极端重要性的人。如果对理论工具和理论思维的极端重要性没有切肤的认识,那么读研的价值几乎为0;读研的好处在于:A,把你自己放在一个学术和工程的交叉点上;B,让你具备了进入微软等世界顶级软件研发机构的可能性;记住只是可能性。但是不读研这种可能性为0;C,如前所述,如果没有读研的机会,你也就没有静下心来好好钻研几年理论的机会;一边工作拿高薪,一边深入地学习各种理论,诸位认为这可能吗?我反正认为不可能,我觉得学习钻研理论最需要的就是一个长期安静独处的环境,一边工作一边读书是不可能有这样的环境的,你会觉得每天都在疲于奔命。而读研正好可以提供这样一个环境。我同时还反对整天跟着导师的屁股后面跑,这样会浪费很多时间。读计算机的研究生,主要依靠自己去查阅最新文献,自己去研读文献,和导师的口头交流一个月一次就足够了,前提还需要导师的水平足够牛。如果导师的水平不牛,这也没关系,不理他就是了,自己做好自己的事情即可。

  2)关于研究生教学质量问题。坦白地说,全国都是“洪桐县中无好人”,尤其在计算科学领域,大牛极少。那为什么还要去读研?大问哉!把读研的收获寄托在名校或名师的名气上,我认为是注定要失败的。读研全靠自学,研究生之间的差距全部体现在自学能力上面。又有人问,既然是自学,为什么非要读研?回答是:因为读研就是为你买一份保险,就是买一份你自学三年之后不会失业的保险。这份保险主要是一种心理上的后盾,让你在自学过程中经得起诱惑,能够从容镇定地去追寻计算机理论发展的坚实足迹,从欧拉,费马,高斯,康托,图灵等巨匠那里寻找方法论的珠宝。倘若没有这份保证,你在家里面自学3个月,保证你会被失业的压力压得喘不过气来,何谈安心学习?
 
  3)关于实战经验与理论学习的优劣问题。这没有定论,如前所述,管理信息系统,设备驱动开发,工具软件开发,软件病毒剖析等等这些工作不太需要创造性,需要的是耐心和经验,需要的是对既有规范的准确理解,这类开发工作最适合在实战中提高,理论学习没什么作用。但是在人工智能,模式识别,图像压缩,虚拟现实,巨量数据检索,自然语言理解,计算机图形学等等领域,理论学习就占据着绝对的统治地位!这些领域的突破对人类的生活的影响是极其巨大而深刻的。某些领域处于一个极其快速发展的态势之中,比如计算机图形学,相信诸君能够从众多3D游戏的灿烂辉煌中体认到我的这种说法。在这些领域,如果没有扎实的理论功底,一切都是那么遥远,不管你花了多少时间在编程上面。

  4)关于高级研发人员的知识结构问题。首先声明,我不是一个纯粹理论激进分子,即认为除了理论之外,一切都不重要。我认为,纯熟的编程技能是最基本但也是最必不可少的技能。没有这个基础,一切计算机理论就是空谈(研究图灵可计算性理论的研究者除外)。有了这个基础之后,下列理论学习方向必须重点突破:

  1,科学哲学。这是核心中的核心!可惜国内不开这门课。不但不开课,而且还作为批判对象来引用,实在是遗憾至极!这是一门教你如何“钓鱼”的学科,在一切科学研究中居于最核心的地位。它是古今科研方法和思维方法的集大成者,很难想象一个成熟的研究者没有一套自己的方法论体系。科学哲学最需要的是领会与总结,它的思想与启示会伴随我们的一生。
  
  2,康托集合论,矩阵方法,离散结构,图论方法,群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方法引导。我始终认为,如果你学了一门理论之后,却不知道这门理论有什么作用,那么你的理论就白学了,你什么东西都没有捞着。所以,学习任何理论之前,先问自己:它有什么用?在哪里用?如何用?带着这些问题去学习理论,你才会真正地学到东西。用这三个问题去问你的理论课老师,他的回答就是判断其实际水平的最佳标准。
  
  3,思维要有极强的穿透力,学会看透文献作者没有写出来的动机。绝大部分大师都有隐瞒自己最具有方法论启示意义的思考环节的习惯。牛顿和华罗庚先生都有这个坏习惯。这让大家认为他们是天才,因为很多问题他想到了,我们想不到。但是为什么他们能想到,我们想不到?他们是怎样想到的?没有人告诉我们牛顿发现万有引力定律时的思考过程,当然,牛顿可以慷慨地把他的思考结果告诉我们,但是,他那可以点石成金的“金手指”却没有教给我们。我们的任务就是要培养透过文章看穿作者背后意图和动机的能力,在这方面,台湾的侯捷和美国的Donbox是绝佳典范。这两只老狐狸(呵呵,是爱称)凭着其猎犬一般的嗅觉,抽丝剥茧,一个把COM背后的幕后设计动机揭开并暴露到了光天化日之下,另一个把MFC的宏观架构做了一次完美的外科手术。其非凡的思维穿透力令人惊叹。

  4,英语。英语本身不重要,但是用英语写成的文献就极其重要了。所以,专门把英语作为一个重头戏列出来。大家不要相信英语无用论的鬼话。对于搞计算机的而言,英语就是你的母语!
 
  5,其它的具体理论还有很多,但是都不如这三个方面重要,因为我觉得这三个方面是最具有根本性,全局性的能力培养环节。需要指出的是,很多高深理论对你的工作是无意义的,当心时间陷进去。一定要把效率最高的时间段用在最具有决定性意义的理论学习上。

  5)关于读研之后的出路是否光明的问题。我们应该承认,读研之后,你的工作机会不是变多了,而是变少了。而且越是高手,他的工作机会和工作范围就越少。这是因为,越是搞前沿研发的公司,其数量越少,在这个圈子的人也就越少。你找工作的范围就越小,试问:如果微软的OS设计专家出来找工作,能够让他选择的公司能有几家?但是,这种公司数量的减少是以工资待遇的急剧上升为补偿的,同时,你在工作中所受到的充分尊重也是在一般公司中体会不到的。所以不要担心学了高科技用不上,呵呵,你只会越来越感觉自己学的不够用。相信接到过猎头公司电话的人会体会得到。真正的高手从来就不会担心工作的问题,也从来不会到人才市场上去找工作。既然选择了理论深入,那么就应该把眼光放得更远。

Cent OS 5 安装飞信机器人(Fetion Robt) 发送短信、错误警报

飞信机器人介绍

飞信机器人是国内第一款面向企业应用的第三方飞信产品:
1、高效CLI(命令行)操作方式
2、高效C++语言开发
3、跨平台应用(X86下LINUX/WINDOWS,其它平台请联系定制服务)
4、插件支持,完全开放的插件接口,用户通过重写插件,可以实现自己的应用
5、支持批处理运行
6、支持SOCKET调用(查看socket_interface/demo)下代码
7、内部集成小型WEB服务器,支持WEB状态查询及交互
8、软件完全免费

官方网站
http://www.it-adv.net

新版交互式飞信安装方法

开始我下载的是64位的,但是报错:bash: ./fetion: cannot execute binary file,后来安装Redhat32位的,问题得到解。

下载安装程序:

fetion20080522004-linrh4tar
libraryrh4x32tar

cd /usr/local
wget http://www.it-adv.net/fetion/download/fetion20080522004-linrh4.tar.gz
tar xf fetion20080522004-linrh4.tar.gz
mv install sms
rm fetion20080522004-linrh4.tar.gz

安装支持库:

cd fetion
mkdir lib
wget http://www.it-adv.net/fetion/libraryrh4x32.tar.gz
tar xf libraryrh4x32.tar.gz
rm libraryrh4x32.tar.gz
ln -s /usr/local/sms/lib/libcrypto.so.0.9.7a /usr/local/fetion/lib/libcrypto.so.4
ln -s /usr/local/sms/lib/libssl.so.0.9.7a /usr/local/fetion/lib/libssl.so.4
echo "/usr/local/sms/lib" > /etc/ld.so.conf.d/fetion-i386.conf
/sbin/ldconfig

开始使用
看看帮助信息,很有必要

 ./fetion -h
 ************************ IMPORTANT STATEMENT ************************
 **                                                                 **
 **   PLEASE DON'T USE THIS SOFTWARE TO SEND JUNK SHORT MESSAGES.   **
 **   OTHERWISE PLEASE BEAR YOUR OWN CONSEQUENCES.                  **
 **                                                                 **
 **                                Version:[20080522004-linrh4]      **
 *********************************************************************
 This program is the console version of China Fetion!
 It's free for personal user.
 Fetion official website: http://www.fetion.com.cn/
 This project website: http://www.it-adv.net/
 
 AUTHOR:KelvinH MSN/EMAIL:shichangguo@msn.com
 
 Usage:
    fetion -h
        -h: help
    fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
    fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
        -u: Fetion user account(only supports mobile phone No.)
        -p: Account password
        -b: Batch file name
        -d: Debug on and write logs to [mobile]-debug.log
        -EN: English

连接

./fetion -u 15800xxxx -p xxxx
登录...
***********************************************************************************
WEB服务连接: http://localhost:40000/, 请用IE/Firefox直接打开访问.
***********************************************************************************
713xxxx@[15800xxxxx]>> ..............加载好友列表.........................
请输入help或? 获取命令列表,quit或exit 退出系统 
713xxxx@[15800xxxxx]>>

发送:

713xxxxx@[158xxxxx]>> sms 15800353332 "服务器免费短信测试1" 
713xxxxx@[158xxxxx]>> 
***********************************************************************************
发送到[ 158xxxxx2]的短信成功 
***********************************************************************************

旧版本安装:
程序下载
fetion_linux_20080402tar

wget http://www.it-adv.net/fetion/fetion_linux_20080402.tar.gz
tar xf fetion_linux_20080402.tar.gz
./sms -f 158xxxxxx -p xxxxxx -t 158xxxxxxxx -m 测试信息
[Mon Jan 19 14:39:50 2009] :) Send msg to 15800353332 ok!