MIDI 欢迎你:-)

记录&积累,学习、工作、生活中的点点滴滴。

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  80 随笔 :: 772 文章 :: 48 评论 :: 1 引用

2010年12月5日 #

http://blog.sina.com.cn/s/blog_5ca9fdd80100bx5f.html

server.xml中Web应用和数据源。在server.xml中加入以下的配置描述。

  例程1 配置web应用

 <Context path="/hibernate" docBase="hibernate" debug="0"         reloadable="true" crossContext="true">
  <Resource name="jdbc/hibernate" auth="Container" type="javax.sql.DataSource"/>   
           <ResourceParams name="jdbc/hibernate">
            <parameter>  
                <name>factory</name>  
             <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>  
            </parameter>
            <parameter>  
               <name>driverClassName</name>  
                  <value>org.gjt.mm.mysql.Driver</value>  
             </parameter>
              <parameter>
                    <name>url</name>  
                    <value>jdbc:mysql:///test</value>   
               </parameter>  
             <parameter>
                  <name>username</name>
                 <value>root</value>
             </parameter>  
            <parameter>
               <name>password</name>  
               <value></value>
                </parameter>  
            <parameter>
            <name>maxActive</name>
            <value>20</value>
          </parameter>
               <parameter>  
              <name>maxIdle</name>  
                 <value>10</value>
          </parameter>
          <parameter>
                <name>maxWait</name>
            <value>-1</value>
          </parameter>  
  </ResourceParams>   
 </Context>

  在这里,配置了一个名为hibernate的Web应用,并且配置了一个数据源,数据源的JNDI名称为jdbc/hibernate。您需要根据情况修改数据源的链接属性。

   6、下一步就是书写Hibernate的配置描述符。可以使用XML的配置描述,也可以使用基于属性的配置描述。在这里使用基于XML的配置描述。在 hibernate\WEB-INF\classes目录下新建一个hibernate.cfg.xml文件。然后加入例程2所示的内容。

<!DOCTYPE hibernate-configuration
          PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">

<hibernate-configuration>
          <session-factory>

        <property name="hibernate.connection.datasource">java:/myDataSource</property>


          <property name="connection.datasource">java:comp/env/jdbc/hibernate</property>
              <property name="show_sql">false</property>
              <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> //对应数据库方言
              <!-- Mapping files -->
          </session-factory>
</hibernate-configuration>

  注意connection.datasource属性必须和server.xml中配置的数据源的属性一样。如果不是使用MYSQL,那么需要更改dialect属性。

 

 

 

Jndi连接

必要条件:

将mysql-connector-java-3.1.10-bin.jar放到tomcat目录commons/lib下面。这样,当tomcat启动时就可以加载相应的驱动程序。

 

第一、要求web容器(tomcat)里面的conf目录下面的servlet 里面配置节点:

在server.xml中配置全局数据源

在<GlobalNamingResources>下面增加:

<Resource name="jdbc/test" type="javax.sql.DataSource" username="root" password="123456" driverClassName="com.mysql.jdbc.Driver" maxIdle="10" maxWait="50" url="jdbc:mysql://localhost:3306/java308" maxActive="20"/>

 

第二、、要求web容器(tomcat)里面的conf目录下面的

在context.xml中为<Context>增加子元素:

<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>

再配置好的context.xml 拷入项目中WebRoot下的META-INF中.

 

第三、在hibernate.cfg.xml配置文件中配置如下:

 

 

 

 

 

第四、相关java代码如下:

<%@page import="javax.naming.Context"%>

<%@page import="javax.sql.DataSource"%>

<%@page import="java.sql.Connection"%>

<%@page import="javax.naming.InitialContext"%>

Context context=new InitialContext();

DataSource dataSource=(DataSource)context.lookup("java:comp/env/jdbc/test");

Connection conn=dataSource.getConnection();

 

 

Hibernate的JNDI名称绑定分析

Hibernate的JNDI名称绑定是在net.sf.hibernate.impl.SessionFactoryObjectFactory程序里面实现的,我来分析一下Hibernate的绑定JNDI的过程:

  我们获得SessionFactory一般是这样写代码:

  Configuration conf = new Configuration()。addClass(Cat.class);

  SessionFactory sf = conf.buildSessionFactory();

  首先是new Configuration()创建一个Configuration,在这个构造器里面进行配置文件(hibernate.properties)的读取工作,然后保存到一个Properties对象里面去,和JNDI相关的是这个属性:

  hibernate.session_factory_name hibernate/session_factory

  接着调用buildSessionFactory()方法,该方法检查一下配置信息,然后调用SessionFactoryImpl的一个构造器。在构造器里面注意下面两行代码:

  name = properties.getProperty(Environment.SESSION_FACTORY_NAME);

  SessionFactoryObjectFactory.addInstance(uuid, name, this, properties);

  调用了SessionFactoryObjectFactory的addInstance方法,并且把自身(SessionFactory的实例)作为参数传递。最后在addInstance方法可以看到如下代码:

  Context ctx = NamingHelper.getInitialContext(properties);

  NamingHelper.bind(ctx, name, instance);

  instance 就是SessionFactory的实例,通过读源代码,可以清楚的看到Hibernate是在conf.buildSessionFactory()的时候通过一系列类方法调用,把创建的SessionFactory实例绑定到配置文件(hibernate.properties)中 hibernate.session_factory_name属性指定的名称上的,因此可见Hibernate自身是具有JNDI的动态绑定功能的。但是Hibernate需要获得一个SessionFactory实例用于绑定,而这个SessionFactory实例需要我们写代码进行预先创建,并且必须保证该过程要在所有其它要从JNDI上获得SessionFactory实例的程序之前完成。

  因此对于任何App Server来说,我们都不必去管JNDI名称的绑定过程,只需要保证预先创建一个SessionFactory实例出来就够了,剩下的工作 Hibernate会做的。那么如何确保预创建SessionFactory实例呢,如果是Servlet,可以配置一个初始化的Servlet,只要把

  Configuration conf = new Configuration()。addClass(Cat.class);

  SessionFactory sf = conf.buildSessionFactory();

  这样的代码加进去就可以了。如果是包含EJB的的复杂的J2EE应用,可能需要依靠App Server的功能来保证预创建SessionFactory实例。 

posted @ 2010-12-05 11:23 Robin99 阅读(62) 评论(0) 编辑

2010年11月3日 #

美国参众两院没有权利大小之分,只是权利不同而已。 
众议院是根据公民人数组成的,众议员代表着选民的利益,所以人口多的州众议员也多,表决的优势也就多。 参议院是来自各州的,每州两人,总数一百人,参议员代表着各州的利益。
美国所有的政策法规提案都是由众议院起草并通过,而后提交参议院审核。参议院只能表决通过或是不通过,但不能对提案进行修改。 这样的权利分工的目的是: 任何提案都是为了公民的利益,但不能因人口多的州,而损害到人口少的州的利益。 所以众议院为了让提案在参议院能够顺利通过,在草拟提案是就必须考虑到各州的利益,一旦参议院通过,就最后交给总统批准执行。 总统则代表着整个国家的利益,他可以有权否定提案。
以往美国有很多提案出笼,但都在参议院被挡了下来,感觉上是参议院的权利大于众议院,其实未必,因为参议院没有制定提案的权利。
posted @ 2010-11-03 12:27 Robin99 阅读(118) 评论(0) 编辑

中国雅虎最好的一个地方就是它和 Yahoo 全球共享同一个技术平台,那是一个有十几年历史的技术平台。Yahoo 的技术文化不如 Google 的工程师文化那么有名,但 Yahoo 在相当长的一段时间内都是互联网的旗帜,吸引了全球大量的技术牛人加入,Yahoo 的技术平台就是他们的知识、经验和心血日积月累的成果。尽管阿里巴巴收购了中国雅虎,但是在技术方面并没有对中国雅虎做出太大的改造(幸好没有改造),所以就工程师来说,每天更多接触到的还是 Yahoo 的东西,而不是阿里巴巴的东西,对我影响最大的也正是这些东西。

一、Linux 和开源文化

之前一个中国雅虎的同事,他是工作了几年之后才来中国雅虎,有一次他说:“雅虎是我见过的最尊重 Linux 的一家公司”。什么叫做尊重 Linux 呢 ? 不是在服务器上装个 Linux 跑 Apache 就叫做尊重 Linux 。在雅虎很多同事日常都使用 Linux 操作系统办公,即使有一些人使用 Windows, 也都是使用 pietty 或者 Xshell 等工具远程连接到开发机器上使用 VIM 做开发。不只是日常工作,在雅虎全球的技术体系中,产品的上线和发布也都借鉴了 Linux 包管理的方式:所有的产品都会被打成包放在一个专门的服务器上,产品的部署和升级就变成了简单的装包操作,绝对不会出现最后上线的时候文件路径出错等低级问题。Yahoo 的技术平台是深深扎根于 Linux 和开源文化的。

大型互联网公司一般都会使用开源的产品,同时也向社区贡献代码。Google 和 Facebook 经常将自己研发的成熟产品开源,Yahoo 当然也不例外。而且 Yahoo 不仅仅给社区贡献代码,它在设计方面也拥抱了开源文化,将多年研究总结的设计模式库共享了出来。在 Yahoo 内部,很多代码都是存放在 CVS 里面的,并没有限制读的权限,任何员工都可以查看里面的代码,这对于那些小团队内部代码都不敢共享防员工如防贼的公司来说应该是非常不可思议的。另外, Yahoo 的工程师也经常出现在各种技术会议上,分享自己项目的架构、流程和经验。虽然这些更多都是 Yahoo 全球技术团队做的事情,但是对于他们那种开放共享的精神我们是非常认同并且向往的,你会觉得做一个工程师很自豪,而不会觉得自己是民工、做技术没前途。这种认同感和成就感乍看上去没什么,但实际上它决定了你对技术的追求和态度,也会影响你以后在职业上的选择。

二、浓厚的技术氛围

虽然2008年的时候中国雅虎已经被折腾得快不像样了(这点后面细说),不过那个时候还是有浓厚的技术氛围的。让我印象深刻的一件事情是 Google Chrome 浏览器刚发布的时候,大家都立刻下载下来使用,但由于公司内网的一些问题无法打开网页。当我正打算把 Chrome 卸载了的时候,忽然发现公司邮件列表里面已经有人发邮件给出了详细的解决方案。从这件小事可以看出公司大部分工程师都不是那种只知道完成工作的人,而是随时关注新技术和业界动态的人。当时中国雅虎还是有很多牛人没有离开,大家也喜欢在邮件列表里面谈论技术,经常能看到精彩的讨论和解答。最让我兴奋的是,无论我遇到什么技术问题都不用慌张,即使无法 Google 到答案也可以从同事那里获取到帮助,而且大家也愿意回答技术问题,这对于我这样一个基础很差技术又烂的菜鸟来说真是天大的福气。

中国雅虎还有做技术分享的文化,如果有哪位同事想要分享一下最近学习到的技术,就可以自己预订一个会议室然后向所有的工程师发送会议邀请,有时候还会有一系列非常系统的课程,我就参加过长达十几个课时的 UED 培训,完全改变了我对 Web Develop 的认识。很多公司应该都鼓励员工做技术分享,但在中国雅虎几乎每次技术分享都会把会议室坐的满满当当,可见大部分工程师都还是想要不断提高自己的技术能力。直到离开雅虎之后我才明白这种普遍的学习热情有多么难得。我想,业界之所以到处流传着“程序员做到30岁最好转管理”之类的忠告,应该就是因为大部分公司都缺乏这种良好的技术氛围吧。

三、庞大的知识库

入职的前几天,我每天的工作就是看文档,不是类似“PHP技术手册”那种文档,而是一些 Yahoo 内部的工具手册。Yahoo 内部的文档非常齐全和详细,光是 Yinst 这款工具的使用手册就长达几十页。Yahoo 内部是用 Twiki 做知识管理的,这个知识库经过十多年的积累已经非常庞大,从入门到提高,从 PHP 到 C ,从前端到后端……应有尽有,而且几乎 Yahoo 全球所有子公司的技术资料都是开放浏览的,没有任何乱七八糟的权限设置和保密限制。有这么一个宝藏在,再加上好的学习氛围,如果你想要提高自己的能力的话,总是可以提高。当初我想从 PHP 工程师转做 Web Developer 的时候,就先把 Twiki 上 UED 部门的所有资料看了一遍,受益匪浅。

国内大部分互联网公司都是没有太多技术积累的,因为大部分产品的开发都只追求开发速度,并不会特别追求技术上的极致,就更不要提文档这种东西了。也正因为如此,从中国雅虎出来看到其它公司的知识库的时候总有不过瘾的感觉,可能也只有像 Google, 微软和 Facebook 这样的公司才会有像 Yahoo 那样的知识库吧。在和之前一些同事吃饭聊天的时候,大家也总是会怀念那个无所不包完全开放的 Twiki ,好像少了一个忠实的朋友一样。我们由衷地尊敬那些在完成工作之余还愿意总结项目经验并花时间写 Twiki 的工程师们。

四、完善的流程

第一次参与项目开发的时候,我的 Leader 领了一个 MM 过来说:“这位是项目的 QA 负责人”,我当时愣了一下:“呃…… QA 是做什么的?” 尽管在大学里我也在实验室做过一些项目,但那些项目基本上都是我自己负责所有的事情,完全没有分工和流程的概念,所以也不知道 QA 是负责产品测试工作的。进入中国雅虎之后,我才第一次接触到商业产品的开发流程,不过由于那个时候中国雅虎已经半死不活,我也没有受到有关流程的入职培训,以至于在做了好几个项目之后才真正熟悉了完整的流程。

中国雅虎的开发流程沿袭了 Yahoo 的开发流程,乍看之下很平常,对于已经熟悉的工程师来说还显得枯燥,但后来我特别留心了这套流程之后,非常惊奇于它的严谨和高效,所以这里要详细说明一下。Yahoo 的内部生产线分为三个相互独立的环境:开发环境、测试环境和生产环境(即线上环境)。这三个环境虽然独立,但它们的配置都会尽量保持一致,这样就可以保证开发完成的产品不会因为环境不同而出现问题。在开发的时候,我们会在开发环境中搭建虚拟环境,开发完毕之后开发工程师会自己在虚拟环境里面测试,保证没有大的问题,然后就会把所有相关文件打包上传到雅虎全球统一放置产品包的地方。上传完毕之后,就会发邮件通知 QA 部门相关人员,邮件内容里面要写明产品在测试环境的部署步骤:需要安装哪些包、是否需要修改数据库等等。然后 QA 就会开始测试,如果发现 BUG 就会写到 Bugzilla 中,指派给相应的开发工程师,开发工程师就会在开发环境中定位BUG并修正,修正一些BUG之后就会再次打包升级产品的版本,然后QA 会将新的软件包部署到测试环境验证之前的 BUG 并报告新的 BUG 。整个测试过程中可能要发布好多个版本,直到所有 BUG 被修正为止。修正完毕所有的 BUG 之后,开发工程师就会填写上线申请,Ops 看到申请之后就会安排一个时间把产品部署到生产环境。一般来说,生产环境不止会有一台机器,所以 Ops 会先从生产环境摘下一台机器部署,部署完毕之后会告知 QA 和开发工程师,然后 QA 和开发工程师就会修改 Hosts 文件,配置域名指向那台机器进行线上的测试,如果测试没有问题,那么就会把软件包部署到生产环境中所有的机器上,完成上线;否则就进行回滚,取消这次上线,也不会影响到线上的用户。

整个流程大概就是这样,但是要特别注意的是以下几点:1. 开发工程师只能接触开发环境。他所能做的就是在开发环境中开发、改 BUG 和打包上传。如果他去测试环境中修改 BUG,就很有可能忘记修改开发环境中的相应代码,这可能会导致产品测试通过但是上线之后却发现大的问题。 2. 产品“封版”之后就不可以做任何改动,如果有改动,即使只改动了一点所有功能也要重新测试一遍。所有的 BUG 都修改完毕之后的那个版本就会进行“封版”,那就标志着这个产品随时可以准备上线了。如果真的发现了新的 BUG 要修改的话,那么修改之后就需要重新打包重新走一遍完整的测试流程,只有这样才能够保证就算修改代码过程中引入了新的 BUG 也不会被遗漏。 3. 上线手册要详细。开发工程师要详细写明每一个步骤,不只是说明性的文字,还要把具体的安装和修改命令完整地放上去,如果写得好的话,那么 Ops 的同事只需要把上线手册里面的命令逐行复制到服务器上运行就可以完成上线。

这样的流程有什么好处呢? 首先,它最大地降低了上线风险。因为开发工程师不能接触到测试环境,只能打包让QA测试,所以完整经过测试的产品上线之后基本不会有什么问题,况且上线的时候我们也要先部署到一台机器上进行测试之后才会决定是否上线,即使上线不成功也可以在不影响用户的情况下回滚。中国雅虎的上线极少会出现问题,很多时候我们上线到半夜只是因为那个时间段用户访问量最小,而不是说焦头烂额地忙活几个小时一直到半夜才上线成功。其次,它使得各个部门职责分明。开发工程师和 QA 通过 Bugzilla 沟通,和 Ops 通过上线手册沟通,因为沟通渠道唯一而且清晰,所以就可以完全责任到人,出了问题也很容易定位到具体环节。比如说,如果产品测试通过之后在上线的时候出现了问题,那么基本就可以确定是 Ops 操作失误或者上线手册没有写好。职责分明之后很多事情也变得有条理,大家就可以各司其职、专注本职工作并且合作愉快,开会的时候也可以明确知道需要哪些人参加。

完善、清晰的流程从根本上解决了一些问题,创建了一个非常好的环境,这样我们就可以把心思都放在如何开发和测试上面,而不用担心诸如“如何上线才能不出错”等琐碎的事情。所以尽管中国雅虎的高层那么不靠谱,我工作得还是很开心,因为这个流程保证了管理层再怎么乱开发也不会乱。记得那时候很喜欢改 BUG ,有时候改得兴起会把之前版本遗留的 miss BUG 一并改掉,加班也是颇有兴致,不是很能明白为什么网上大部分程序员讨厌加班讨厌得要死。现在我明白了。

五、自动化工具

工欲善其事,必先利其器。如果没有那么多好用的自动化工具,那么 Yahoo 的流程就不可能如此完善。Yahoo 内部有很多非常好用的工具,而且这些工具都有非常齐全的文档,也可以在 Twiki 上找到不少相关资料。这些工具之所以在 Yahoo 会起到那么大的作用,是因为 Yahoo 全球所有的技术团队都在使用它们,Yahoo 所有的服务器上也是默认安装了这些工具。这些工具就形成了一套全球 Yahoo 工程师通用的话语体系,可以想象它们帮助 Yahoo 节省了多少沟通成本。

由于考虑到服务器的安全问题,Yahoo 的这些工具的使用方法是对外保密的,这里我只简单说一下 Yinst 这款工具的强大。假如要把软件包 example_1_1_0.tar.gz 部署到 a1.yahoo.com ~ a10.yahoo.com ,那么只需要下面这样一行命令:

yinst install example_1_1_0.tar.gz -h a[1-10].yahoo.com

就可以完成整个上线过程。由于好奇的缘故,在上线的时候我比较喜欢跑到 Ops 那边看他们是如何操作的,然后发现其实他们在上线过程中执行的命令很少。因为工具好用,所以产品极少因为 Ops 这个环节出现问题,上线就变成一件比较轻松的事情。

中国雅虎的产品和业务确实不好,搜索不如百度,新闻不如三大门户,“雅虎助手”是人人皆知的流氓软件,邮箱也出过丑闻,而且被 Gmail 和 QQ 邮箱远远抛在后面。中国雅虎最广为人知的也都是这些不光彩的事情,但这里我想让很多人知道,对于一个对技术还有追求的工程师来说,当时的中国雅虎真的是一个很好的工作环境。至少对于我自己来讲,我从 Yahoo 学到了太多太多的好东西,而且这些东西还只是 Yahoo 精华中的一小部分,如果不是阿里巴巴集团战略调整,我一定会在中国雅虎多呆两年。

编者后记:原文后面还有很长的篇幅讲述中国雅虎的死亡,如果感兴趣,可以到原文观看:

http://www.zhuoqun.net/html/y2010/1535.html

现在我们说起互联网公司、世界一流的运维技术,想到的大多是Google、Facebook,以及阿里巴巴等;但是真正了解才发现,老牌的互联网企业的技术文化,的确有其独到之处。现在国内把互联网仅仅当作工具的环境,对于技术人而言的确是极大的悲哀。平心而论,相对于国内大多数企业而言,其实阿里巴巴在技术文化的营造上做的已经好很多了。整个市场环境的转变,一个尊敬技术的大环境,还需要很长时间来培养。

posted @ 2010-11-03 09:04 Robin99 阅读(44) 评论(0) 编辑

2010年10月12日 #

爱因斯坦相对论描述重力对时间流逝的影响,推断时间流逝速度取决于人所处位置:时钟距离重力源越远,运转越快;反之,越靠近重力源,运转越慢。
    依照这一理论,美国科学家借助超级精准时钟验证处于不同高度的时钟速度变化,结果发现所处位置越高,时间过得越快,或可理解为,人“老”得越快。

    精化原子钟
    先前验证相对论的实验需借助火箭或者喷气式飞机,因为只有当速度足够快,距离地球足够远,才能记录到两个不同位置间时间流逝速度的细微差别。
    但美国科罗拉多州国家标准与技术研究院物理实验室在桌面上验证相对论,不同高度时间流逝速度的极细微差别由两只超级精准的原子钟记录。
    实验由华裔科学家詹姆斯·周钦文(音译)引领的团队操作完成。
    今年初,为完成这项实验,周钦文的团队首先研制出一种超精准原子钟。这种原子钟以单粒铝原子为基准,精准度为运行37亿年后误差不超过正负1秒。
    作为人类现有最精准计时器,它的精准程度超出先前最精准汞原子钟两倍以上。

    验证两相对

    用铝原子钟验证相对论的实验结果将由24日出版的《科学》杂志发表,实验梗概23日由杂志网站提前披露。
    周钦文的研究团队总共展开两项实验。
    第一项实验中,研究团队把摆放整台铝原子钟的桌子用液压千斤顶平稳升高33厘米,结果发现,升高后的铝原子钟快于未升高桌面上另一台铝原子钟,两者差异为每79年快900亿分之一秒。
    这一结果论证了爱因斯坦有关距离重力源越远,时钟运转越快的理论。
    第二项实验中,研究团队对铝原子钟内的铝原子施加不断变化的电磁场,使铝原子快速往复运动,结果显示运动中的铝原子钟所示时间慢于静止铝原子钟。
    这一结果论证了爱因斯坦有关速度越快,时间越慢的理论。

    衰老差异微
    依照实验结果推断,一个人如果住得越高,“老”得越快。
    周钦文说,一个生活在美国城市纽约102层帝国大厦楼顶上的人比生活在楼底大街上的人每秒衰老速度快1.04亿分之一秒。
    当然,这种衰老速度差异微乎其微。
    美国国家标准与技术研究院发言人告诉英国《每日电讯报》记者:“差异如此之小,小到人类无法感知,但却可以应用于地球物理学或其他领域。”
    《科学》杂志网站说,实验提供不同高度时间差异的具体数据,可用于调整全球定位系统(GPS)卫星所携时钟,使之更加精确。
    周钦文说,相对论看似与人类日常生活无关,但相对影响力却无处不在。
    “每天,人们都在运动,如爬楼,”周钦文说,“有意思的是,对那些长期飞行的人来说,他们究竟是衰老得更慢还是更快?”
    按照速度越快,时间越慢的理论,长期飞行者应当更年轻;而按照高度越高、时间越快的理论,他们又会比地面上的人衰老更快。(
posted @ 2010-10-12 16:38 Robin99 阅读(50) 评论(0) 编辑

2010年10月8日 #

去年,中国建筑材料工业出版社出版了我的回忆录《傲尽风霜两鬓丝——我的八十年》。书中讲到了六十年前父亲黄炎培赠送我座右铭并嘱咐我怎样做人做事的教诲。这个座右铭的全文如下:  

  “事繁勿慌、事闲勿荒,

  有言必信、无欲则刚。

    和若春风、肃若秋霜, 

  取象于钱、外圆内方。”  

  我随身带着他的手书在留学英国期间竟绕了地球一周。在国外时,不少中外友人指着这一立轴,曾好奇地问我:“这取象于钱、外圆内方”作何解释?我在自己的回忆录中曾作这样简短的说明:

  “这整个座右铭是教育我怎样待人接物,其中‘取象于钱,外圆内方’八个字是指中国旧时的铜钱,中间有方孔,也就是如果认为这是真理,是绝对正确的事,就应像钱中的方孔那样方正,应该坚持,然而对人的态度,就应和若春风,也就是要‘圆’。但是这里所谓的‘圆’却不是‘圆滑’。那在原则上必须要像‘秋霜’一样的严肃。在待人处事上,则应像‘春风’那样和气。”

  我虽然遵照着这个教导生活着,多少年来,随着自己年龄的增长,对其中深奥的含意,却愈益感到以上解释的不是,愈益感到大有补充的必要,于是借文汇报“笔会”的一角拟一吐为快。

  近来晚间常在电视中看到连续剧《铁齿铜牙纪晓岚》,它是把纪晓岚与和的矛盾深刻暴露。什么是善、什么是恶、什么是是,什么是非,却因有乾隆作第三者,又是一位皇帝,才仍能和平相处。世上大量的人和事间,常有很难调和的矛盾,那么我们又该怎样去处理呢?

  人际间的大量矛盾,有时虽不尖锐,也不是属于敌我矛盾,但常会发生在政策的执行,甚至国家大政方针的执行者之间。明显的例子是水利建设。黄河三门峡大坝水利工程曾长期存在着不同看法,并且也作了多次调查研究,但即使在人大、政协中都还不能统一。最后终于因解放初期“一边倒”地听从前苏联专家意见,做出了错误决策,造成至今难以弥补的重大损失。

  父亲黄炎培1945年在延安与毛.泽东会见时,曾有一段关于“国家兴、衰周期率”的对话。这段对话已被多人引用,有的人甚至引诸葛亮和刘备的“隆中对”喻为“窑洞对”。说明它的重要性。这段“对话”的结论是毛.泽东说,用“民主”来解决。如果把这“对话”和以后的“十年浩劫”联系起来,说明当时黄炎培虽然言语中肯,甚至“一针见血”的深刻,但事情却并不简单。如果要做到每件事都考虑到人民的利益是十分不容易的。具体到我的三兄清华大学黄万里为了三门峡工程而孤独一人的争辩。至于他有没有做到父亲教导的“和若春风”,或是有没有完全做到,我并不清楚,但“肃若秋霜”他是做到了的。这更清楚说明,这类国家大事,更是十分复杂的。

  这只是引用国家大事中的一曲。日常人际关系的矛盾,多似牛毛。如果人人都能做到“和若春风、肃若秋霜”,则相信矛盾解决的可能性就大得多了。

  “和若春风、肃若秋霜”这八个字中一个“和”字,一个“肃”字是关键字眼。如果一旦自己确认为自己的意见是符合真理的,那么就该考虑用什么样的方式,甚至策略或手段来使他人能接受这个真理。所以这个“和”就不单解释为“和气”两字了。至于“肃”字当然是指严肃。但深一层看,却还包括了“坚持”,乃至“刚阿不屈”。三门峡问题,实际上不少科学家是懂得正确处理的,但一些人可能屈服于“一边倒”的形势,因而做不到像“秋霜”那样地严肃了。

  总之,我父亲那座右铭“和若春风、肃若秋霜、取象于钱,外圆内方”这16个字意义是十分深奥的,要能够全面做到,却不是容易的。而它联系到以往、现在和将来,却很切合时宜,而对于怎样做人和处世都是十分重要的。受益的应该是人民大众。

posted @ 2010-10-08 10:11 Robin99 阅读(28) 评论(0) 编辑

2010年10月3日 #

在与客户说话之前,你不但要想好各种场合下的每句话,在表时更要注意自己说话的语气和语调。因为你说话声音的不同,给对方的感觉也不会一样。

同样是“讨厌”两个字,一个女孩子对一个陌生人讲和对自己的男朋友撒娇地说,两种感觉完全不一样。这就是因为语气语调的差异给对方的感觉不一样。

请用不同的语调读出下面的三句话,仔细体会一下声调语气的变化给人的不同感觉:

·你真坏!(无奈、玩笑、撒娇、痛恨)

·你说呢?(疑问、取笑、生气、关心)

·我理解你!(同情、不耐烦、嘲讽、口是心非)

声音是语言表达中最重要的工具。在介绍产品的过程中,尽量运用语调、速度和语气等三方面的变化,使表达更生动自然。没有激情的销售员秀难给客户留下深刻的印象。很难感染客户,更谈不上“说服”了。

当你的顾客进入你的店铺,你上前跟他沟通的时候,你说的每一句话,都要使客户感觉到悦耳、动呼、舒适,这样客户才会愿意并喜欢和你沟通。想要了解自己的声音是否具有吸引力,可以把自己的话录下来然后仔细听,你就会知道自己的声音是什么样子了。你很快就会发现,自己的声音哪里缺少感性色彩或语调变化,以及你的嗓门听上去是高了还是低了。你的口齿是否伶俐?吐字是否清晰?弱声、重读是否能区分得出来?如果不是,那就加强练习。

让我们以下面这句话为例来验证一下这个技巧。你可以用正常的音量和语调来讲这句话的前部分,然后用轻柔的语调把最后的几个字说出来——“如果我想强调哪一分部,我就——轻轻地,说出来。”

在运用这一技巧时,你可能发现客户常常会向前倾,以听清楚你在说些什么。这证明明你已经完全赢得客户的注意了,他可能已经被你所说服。

另外一个说服的常用手法是停顿。它能增强你说话的语气,令你更好的思考,以及让听众更有效地聆听、领会和记住你所说的话。

此外,你还可以利用停顿来观察你的听众是否对你的观点已经理解和认可。

在表达中,如果你在某个地方停顿一两秒,你将发现它能大大增强你的表达效果。读下面这句话在“那么”一词之后停顿一下——“如果我想引起对方注意,那么——我会停顿一下。”

在你停顿之后,你会发现对方给了热切的关注。因为这种停顿唤起了他继续听取下文的兴趣。

在与客户沟通时,要保持热情、自信、风趣的状态,这样的肢体语言会让客户觉得你是一个精明能干而且很专业的业务员,他们就会相信你的推荐,和你成交的可能性就会很高。一定要注意,客户很在意你给他的感觉,他会根据你给他的印象而决定是否向你购买。

(说服力技巧:在表达中,如果你想强调某句重要的话,一个最好的办法就是将这句话最后几个字轻柔地讲述出来,而不是突然加重语气。)

 


posted @ 2010-10-03 12:02 Robin99 阅读(56) 评论(0) 编辑

2010年9月25日 #

摘要: 期望效用[Expected Utility]——消费者在不确定情况下可能得到的各种结果的效用的加权平均数。期望值的效用[Utility of Expected Value]——消费者在不确定情况下所拥有的财富的加权平均数的效用。例:期望效用函数:E{U[π;W1,W2]}=πU(W1)+(1-π)U(W2)=0.025�...阅读全文
posted @ 2010-09-25 17:32 Robin99 阅读(48) 评论(0) 编辑

2010年9月11日 #

摘要: 133阅读全文
posted @ 2010-09-11 16:46 Robin99 阅读(185) 评论(0) 编辑

2010年9月4日 #

摘要: 转自:http://blog.sina.com.cn/s/blog_49e5f6df01000c2k.html 出身贫寒的松下,年轻时到一家电器工厂去谋职,这家工厂人事主管看着面前的小伙子衣着肮脏,身体又瘦又小,觉得不理想,信口说:“我们现在暂时不缺人,你一个月以后再来看看吧。”  这本来是个推辞,没想到一个月后松下真地来了,那位负责人又推托说:“有事,过几天再...阅读全文
posted @ 2010-09-04 15:10 Robin99 阅读(114) 评论(0) 编辑

2010年8月24日 #

摘要: 美国人的“Network”和中国人的“关系”现在随着中国开放的程度越来越高,普通中国人有了越来越多的机会接触到来自各个国家的形形色色的老外。更是有越来越多的中国人选择移民到国外居住和生活。这其中,很多人普遍认为中国社会人际关系复杂,勾心斗角,“拉关系”现象太过普遍,破坏了中国社会的公平竞争环境。而国外的人情世故相对简单,...阅读全文
posted @ 2010-08-24 09:22 Robin99 阅读(26) 评论(0) 编辑