《改变心理学的 40 项研究》 – 从众的力量

当科学家谈到从众性时,他们指的是当某一个体成为某个团体成员时,其行为常追随团体的某种的行为模式,有些时候这些力量强大到足以让我们做出一些与个人态度、伦理、道德相冲突的事情。

到20世纪50年代,Solomon Asch对从众行为进行系列研究,他的实验为我们提供了有关从众行为的大量新信息,而且为未来的研究开辟了许多道路。

Asch选择从“视觉从众”切入,这样能够避开一些模糊笼统的概念,比如态度、伦理、道德和信仰体系等等。

实验中,被试(假设是你)会与其他几名成员坐在一起,并且对两幅图画中的直线做出指认,筛选出符合主试要求的线段。在第一轮指认中,其他几名被试都指出正确的,但是到了第二轮,其他成员都故意指错成某一根。

结果显示,每位被试测试数次,其中约有75%的人至少有一次与团体内的人保持了一致。综合所有实验结果,被试服从于团体做出错误回答的次数约占1/3。

团队压力对从众行为的有力影响在Asch的研究中得到了清楚的体现。

继续阅读

《改变心理学的40项研究》 – 认知失调

研究告诉我们,当你的行为和你的态度发生矛盾时,你的态度会有所改变,为了与行为保持一致。

心理学家费斯延格主张,当你同时经历两种或多种彼此间不协调的心理过程时,这便是认知失调。

这一理论的灵感来源于1934年的印度发生的一场打地震。在这一场地震后,人们都谣传将有一个更大的地震会到来,费斯延格发现,原来人们是需要这样一种谣言来安慰自己,给自己的不安做解释。这一谣传以证明他们的害怕是事出有因的,进而也就降低了他们的认知失调。他们使自己对世界的看法与自身的感受和行动一致。

费斯延格的理论观点认为:越将不一致的行为归因于自己的选择,你的认知失调就会越严重。当个体的认知失调很严重时,其态度和观点的改变幅度将是最大的。

他们做了这样一个实验:三组被试,一组因其撒谎而得到1美元,另一组得到20美元,控制组没有撒谎。随后,他们将进行一个问卷测试。每组共有20面被试。

继续阅读

StackContext in Tornado

背景

最近一直在读 tornado 的代码,大概是看懂了骨架。关于结构的部分,google 一下应该会有比较多的分析,我主要想讲下在 tornado/stack_context.py 文件里面的 StackContext 类的作用。

StackContext 是什么

StackContext 从字面意义来说,翻译过来,就是 “堆栈上下文”。拆开来看,就是用 “堆栈” 这种数据结构,保存 “上下文”。

为什么提出 StackContext 这个概念

在 tornado 的 mailing list 里面,motor 库的作者有说到这么一点。大概的意思是说,在把函数扔到异步调用里面的时候(挖坑准备下一篇讲 Futures),如果这个 callback 本身会抛错的话,抛出的异常本身信息是不正确的。而为了修补这个 “bug”,于是就引入了 StackContext 这个概念。

StackContext 用在什么地方

StackCotnext 的用法,我一开始看了下官网的简介,不是很理解。

后来,在 tornado 的 test 目录下,有个 stack_context_test.py 文件,里面写了一整套的测试用例,可以结合来看。你可以看到作者的代码,能清楚的认识到它的作用。

主要作用就是上文提到的保存函数发生的上下文信息。

更多的参考资料

PS:在阅读代码的过程中,google 了很多其他的资料,这里就不放出来了。大概的意思是,代码还是要自己读,而且主动点去查阅不懂的东西。然后呢,不要怕耗费时间,花点心思是能看懂的。我怎么会告诉你,为了搞懂 StackContext 类的作用,我基本把整个 tornado 撸了一遍,耗时超长哦…XD