如题。
一张图学习 ES6 中的 React 生命周期与流程。
如题。
一张图学习 ES6 中的 React 生命周期与流程。
又是一年结束,明天就是2017了,这一年做了很多事:实习、毕业、工作。广州、丽江、重庆、北京、长沙、杭州、走了5个城市。开心、懊恼、苦涩各种心境。从一个编程的门外汉真正成为了一个初级前端开发工程师。也算是人生又一个新的起点吧。
先说说博客,从第一篇博客开始到现在一年零一个月了。一共 50 篇,博客总字数为:338202,产量不算高。不过值得高兴的是一年下来总流量量有 15W
,应该还算不错吧。不仅是对自己学习的一个记录,应该也帮助到了不少人。终于把域名买了 blog.guowenfh.com
意志力第一法则:认识你自己
当我们做一件事的时候,我们能意识到自己在做什么,也知道我们为什么这样做。
但愿我们还能知道,在做这件事情之前我们需要做些什么,这样我们就会三思而后行。
核心思想:
- 意志力实际上是“我要做”、“我不要”和“我想要”这三种力量。它们协同努力,让我们变成更好的自己。
想象你正面临一个意志力的挑战。更难的事是什么?为什么它如此困难?
认清两个自我。你的意志力挑战是,如何描述相抗衡的两个自我?冲动的你想要什么?明智的你又想要什么?
如果你想有更强的自控力, 就得有更多的自我意识。
首先你得知道, 什么样的决定需要意志力。 有些决定比较明显, 比如“ 下班后要不要去健身?” 但有些冲动的后果可能要过些日子才会显现。比如, 你是不是先装好了运动背包, 以便不用回家就能去锻炼?( 这是个不错的做法! 这样你就没那么多借口了。) 你是不是接了个电话,然后聊着聊着就饿了, 没办法直接去健身了?( 哎呀! 你要是先去吃饭, 八成就不会去健身了。)
请至少选一天, 把你作的决定都记下来。在这一天结束的时候, 回想你作的决定, 分析哪些有利于你实现目标, 哪些会消磨你的意志。 坚持记录你的决定, 还有助于减少在注意力分散时作决定, 同时增强你的意志力。
专心呼吸是一种简单有效的冥想技巧, 它不但能训练大脑, 还能增强意志力。
它能减轻你的压力, 指导大脑处理内在的干扰( 比如冲动、 担忧、 欲望) 和外在的诱惑( 比如声音、 画面、 气味)。 新研究表明, 定期的思维训练能帮人戒烟、 减肥、 戒毒、 保持清醒。 无论你“ 要做” 和“ 不要” 的是什么, 这种5分钟冥想都有助于你增强意志力。
1. 原地不动, 安静坐好。
坐在椅子上, 双脚平放在地上, 或盘腿坐在垫子上。 背挺直, 双手放在膝盖上。 冥想时一定不能烦躁, 这是自控力的基本保证。
如果你想挠痒的话, 可以调整一下胳膊的位置, 腿交叉或伸直, 看自己是否有冲动但能克制。 简单的静坐对于意志力的冥想训练至关重要。 你将学会, 不再屈服于大脑和身体产生的冲动。
2. 注意你的呼吸。
闭上眼睛。 要是怕睡着, 你可以盯着某处看, 比如盯着一面白墙, 但不要看家庭购物频道。 注意你的呼吸。 吸气时在脑海中默念“ 吸”,呼气时在脑海中默念“ 呼”。
当你发现自己有点走神的时候, 重新将注意力集中到呼吸上。 这种反复的注意力训练, 能让前额皮质开启高速模式,让大脑中处理压力和冲动的区域更加稳定。
3. 感受呼吸, 弄清自己是怎么走神的。
几分钟后, 你就可以不再默念“ 呼”、“ 吸” 了。试着专注于呼吸本身。会注意到空气从鼻子和嘴巴进入和呼出的感觉,感觉到吸气时胸腹部的扩张和呼气时胸腹部的收缩。
不再默念“ 呼”、“ 吸” 后, 你可能更容易走神。 像之前一样, 当你发现自己在想别的事情时, 重新将注意力集中到呼吸上。 如果你觉得很难重新集中注意力, 就在心里多默念几遍“ 呼” 和“ 吸”。
这部分的训练能锻炼你的自我意识和自控能力。刚开始的时候, 你每天锻炼5分钟就行。 习惯成自然之后, 请试着每天做10~ 15 分钟。
如果你觉得有负担, 那就减少到5分钟。 每天做比较短的训练, 也比把比较长的训练拖到明天好。 这样,你每天都会有一段固定的时间冥想, 比如早晨洗澡之前。 如果你做不到, 可以对时间进行适当的调整。
我们总觉得诱惑和麻烦来自外部世界,比如危险的甜甜圈、罪恶的香烟、充满诱惑的网络。但自控力告诉我们,问题出在我们自己身上,是我们的思想、欲望、情绪和冲动出了问题。对你的意志力挑战来说,最重要的是认清什么是需要克制的内在冲动。哪些想法或感觉迫使你在不情愿的时候作出决定?如果你不确定的话,可以作一些实地观察。
下一次你受到诱惑的时候,试着关注自己的内心世界(意志力本能:三思而后行, “三思而后行”反应就是让你慢下来。当你意识到内在冲突的时候,大脑和身体会做出反应,帮助你放慢速度、抑制冲动。虽然“三思而后行”和应激反应都是人类天性中的一部分,想了解为何意志力本能不是总能生效,我们需要深入了解压力和自控力的生理学基础。)
将呼吸频率降低到每分钟4~6次,也就是每次呼吸用10~15秒时间,比平常呼吸要慢一些。只要你有足够的耐心,加上必要的练习,这一点不难办到。放慢呼吸能激活前额皮质、提高心率变异度,有助于你的身心从压力状态调整到自控力状态。这样训练几分钟之后,你就会感到平静、有控制感,能够克制欲望、迎接挑战。(不要憋气)
科学家认为,5分钟的“绿色锻炼”就能减缓压力、改善心情、提高注意力、增强自控力。“绿色锻炼”指的是任何能让你走到室外、回到大自然怀抱中的活动。好消息是,“绿色锻炼”有捷径可走。短时间的爆发可能比长时间的锻炼更能改善你的心情。以下是一些你在5分钟“绿色锻炼”中可以尝试的活动:
- 走出办公室,找到最近的一片绿色空间。
- 用iPod播放一首你最喜欢的歌曲,在附近
街区慢跑。
- 和你的宠物狗在室外玩耍(你可以追着玩
具跑)。
- 在自家花园里找点事情做。
- 出去呼吸新鲜空气,做些简单的伸展活
动。
- 在后院里和孩子做游戏。
如果你觉得锻炼太累了,或是没有时间锻炼,那么不妨将锻炼当做恢复体能和意志力的方法。
睡出意志力! 如果你每天睡眠时间不足6个小时,那你很可能记不起自己上一次意志力充沛是什么时候了。长期睡眠不足让你更容易感到压力、萌生欲望、受到诱惑。你还会很难控制情绪、集中注意力,
如果你现在缺乏睡眠,有很多方法都能帮助你恢复自控力。即使你不能每晚都连续睡上8小时,作一些小调整也会起到明显的效果。一些研究表明,一个晚上良好的睡眠就能帮助大脑恢复到最佳状态。所以,如果你已经一周都晚睡早起了,那么周末补个好觉就能让你恢复意志力。
其他研究指出,一周的前几天睡些好觉能帮你储备能量,这样就能对付后几天的睡眠不足了。另外还有一些研究表明,最重要的指标是你连续清醒的时间。即便你前一晚没有睡好,打个小盹也能让你重新集中注意力、恢复自控力。你可以尝试补觉、储存睡眠,或是打个小盹,这些策略都有助于减少睡眠不足带来的危害。
如果你明知道自己能获得更多的睡眠,却没法早点入睡,那就不要想睡觉这件事!
想一想你到底对什么说了“我想要”。这个意志力法则同样适用于你想逃避或拖延的事——当你不知道自己想做什么的时候,你或许需要知道自己不想做什么。
从压力和自控力中恢复的最佳途径就是放松。放松,即便只放松几分钟,都能激活副交感神经系统,舒缓交感神经系统,从而提高心率变异度。它还能把身体调整到修复和自愈状态、提高免疫功能、降低压力荷尔蒙分泌。
想要激发这种放松反应,你需要躺下来,用枕头垫着膝盖,腿稍稍抬起(或者,你可以选择任何一个你觉得舒服的姿势)。闭上眼睛,做几次深呼吸,感觉你的腹部有起伏。如果你觉得身体某处很紧张,你可以有意识地挤压或收缩肌肉,然后就不要再去管它了。比如,如果你发现手掌和手指很紧张,那么就攥一下拳头,然后张开手掌。如果你发现前额和下巴很紧张,那么就挤挤眼、皱皱眉,然后张大嘴巴,放松整个面部。保持这种状态5~10分钟,试着享受这种除了呼吸什么都不用想的状态。如果你担心会睡着,那就先设定好闹钟。
你可以把这当成一项日常练习。尤其是当你处于高压环境中或者需要意志力的时候,都可以做这个练习。放松会让你的生理机能得以恢复,同时消除慢性压力和自控带来的影响。
本周,我们研究了自控力的死敌——压力,心理上或生理上的压力。担忧和过度工作是如何影响你的选择的?饥饿和疲劳会不会消耗你的意志力?身体疼痛或疾病会不会消耗你的意志力?愤怒、孤单或悲伤的情绪会不会消耗你的意志力?试着找出持续一整天或一整周的压力,看看它对你的自控力产生怎样的影响。你有过强烈的欲望吗?你发脾气了吗?你把要做的事拖到了明天吗?
意志力的肌肉模式告诉我们,自控力从早上到晚上会逐渐减弱。这一周,试着观察自己在什么时候意志力最强,在什么时候最容易放弃。
你是不是起床的时候意志力十足,但这种意志力慢慢会消耗殆尽?或者,你有没有在其他时候觉得自己恢复了意志力,觉得神清气爽?你可以通过了解自己来更明智地规划日程,以便在意志力耗尽的时候克制住自己。
突然增加的糖分会让你在短期内面对紧急情况时有更强的意志力。调整饮食也需要自控力,但哪怕你只做了一点改善(比如,每个工作日都吃一顿丰盛健康的早餐,而不是什么都不吃;吃零食时选择坚果,而不选择糖果),你获得的意志力都会比你消耗的多。
如果你想彻底改变旧习惯,最好先找一种简单的方法来训练自控力、提高意志力,而不是设定一个过高的目标。
1. 增强“我不要”的力量:不随便发誓(或者不说某些口头禅)、坐下的时候不跷脚、用不常用的手进行日常活动,比如吃饭和开门。
2. 增强“我想要”的力量:每天都做一些事(但不是你已经在做的事),用来养成习惯或不再找借口。你可以给母亲打电话、冥想5分钟,或是每天在家里找出一件需要扔掉或再利用的东西。
3. 增强自我监控能力:认真记录一件你平常不关注的事,可以是你的支出、饮食,也可以是你花在上网和看电视上的时间。你不需要太先进的工具,铅笔和纸就够了.
我们总是一感到疲劳就放弃锻炼、对另一半厉言相加、把事情拖到下一秒、选择点比萨而不是做一顿健康的饭菜。可以肯定地说,生存的需要确实会耗尽我们的意志力,我们也不可能要求一个人有完美的自控力。但比起第一次感觉疲劳就放弃,你其实有更多的意志力。
下一次你觉得自己“疲惫”得没法自控的时候,试着挑战一下自己,挺过第一波疲惫感。不过,要注意不要训练过度。
这一周,当你面临挑战的时候,问问自己,那一刻哪种动力最能让你坚持下去。你愿不愿意为了别人,而不是为了自己,去做那些困难的事?是对未来的憧憬,还是对命运的恐惧,推动你前进?当你发现了自己最重要的“我想要”的力量,发现了你脆弱时给你力量的东西之后,只要你觉得自己就要在诱惑前放弃了,就想想这个动力。挖掘你的“我想要”的力量,让自己恢复能量。
1. 如果挑战成功,你会收获什么?你个人会有什么回报?你会更健康、更幸福、更自由、更有钱,还是会更成功?
2. 如果挑战成功,还有谁会获益?肯定有人依赖于你,你的选择会影响到他们。你的行为会如何影响你的家人、朋友、同事、雇主或雇员、街坊邻居?你的成功会怎样帮到他们?
3. 如果你现在愿意做困难的事,那么一段时间后,这个挑战将会变容易。你能想象出,如果你在这个挑战中取得进步,你的生活会是什么样子,你自己会变成什么样子吗?如果你知道你还有更大的进步空间,现在的不适是不是变得值得了呢?
先来看看我们总是在生活中的对于我们的行为所做的一个“道德许可”:如果你去锻炼了就说自己很“好”,没去锻炼就说自己很“坏”,那么你很可能因为今天去锻炼了,明天就不去了。如果你去处理了一个重要项目就说自己很“好”,拖延着不去处理就说自己很“坏”,那么你很可能因为早上取得了进步,下午就变懒散了。简单说来,只要我们的思想中存在正反两方,好的行为就总是允许我们做一点坏事。
这一周,试着观察你意志力挑战成功和失败的时候,你是怎么对自己和他人解释的。
- 当你意志力挑战成功的时候,你会不会告诉自己你已经很“好”了?当你屈服于拖延症或某种诱惑的时候,你会不会告诉自己你太“坏”了?
- 你会不会以自己的善行为借口,允许自己去做些坏事?这是无害的奖励,还是阻碍了你实现更长远的意志力目标?
当你要作与意志力挑战有关的决定时,注意一下,你脑海中是否闪过了“未来再好好表现”的承诺。你是不是告诉自己,明天会弥补今天的过错?这对你当下的自控有什么影响?一直保持关注,从今天一直关注到明天。你是不是真的做到了你所说的?或者,“今天放纵,明天改变”的循环是不是又开始了?
这一周就试着逐渐减少行为的变化性。把你今天作的每个决定都看成是对今后每天的承诺。
因此,不要问自己“我现在想不想吃这块糖?”,而要问自己“我想不想在一年里每天下午都吃一块糖?”或者,你明知道应该做一件事情却拖延不做时,不要问自己“我是想今天做还是明天做?”,而要问自己“我是不是想承担永远拖延下去的恶果?”
你会不会因为关注一个事物最有益的品质,而允许自己沉溺于它?有没有什么“神奇词语”会给你放纵的许可?比如“买一送一”、“全天然”、“淡”、“公平贸易”、“有机”或“为了慈善”。只关注每张收据结尾处写的“你节省了___!”,却忽略了自己总共花了多少钱。
当“光环效应”影响到你的意志力挑战时,你需要找到最具体的测量标准(比如卡路里、花费、消耗或浪费的时间),以此判断这个选择是否和你的目标相符。
这一周,看看你是否被那些破坏长远目标的光环所笼罩。
当你思考自己的意志力考验时,你觉得哪部分的你像“真实”的你?是那个想追求目标的你,还是那个需要被控制的你?你是更认同自己的冲动和欲望,还是更认同自己的长期目标和价值观?当你想到你的意志力挑战时,你觉得自己是能成功的人吗?还是说,你觉得自己需要被彻底压抑、完善或改变?
如何关注对自己的承诺,而不是关注单纯的进步?当面对同一个诱惑时,回忆自己当时为什么拒绝了诱惑。这有助于帮助我们做出与自身目标相符的决定。
记住我们为什么会拒绝诱惑,这是个很有效的方法,一万年每当你面对自我放纵的诱惑时,记住这件事会改变我们的感觉。所谓的奖励看起来更像对于目标的威胁,屈服于诱惑的感觉并不好,记住理由还有助于你发现并抓住机遇以完成目标
下一回,当你发现自己在用曾经的善行为放纵辩护的时候,停下来想一想你做“好”事的原因,而不是你应不应该得到奖励(你当时为什么能拒绝诱惑)。
多巴胺控制的是行动,而不是快乐。奖励的承诺保证了被试者成功地行动,从而获得奖励。当奖励系统活跃的时候,他们感受到的是期待,而不是快乐。
这一周,试着观察是什么吸引了你的注意力。是什么给了你奖励的承诺,强迫你去寻求满足感?是什么让你像巴甫洛夫的狗一样垂涎欲滴(如果在喂狗之前摇铃,狗即便没有看到食物,也会听到铃声就流口水。它们懂得把铃声和晚餐的承诺联系在一起。克努森作出了一个大胆的预测。他认为,大脑在期待奖励的时候也会“流口水”。),或是像奥尔兹和米尔纳的小白鼠一样欲罢不能?
虽然我们所处的世界总让我们产生欲望,但我们只要用心观察,就能看透一些东西。知道那是怎么一回事并不能完全消除你的欲望,但它能让你至少有机会抗争一下,锻炼一下“我不要”力量。
让我们来观察一下,零售商和营销人员究竟是如何刺激奖励承诺的。把逛商店或看广告当做一种游戏。你闻到了什么?看到了什么?听到了什么?当你知道这些暗示都是经过精心设计,专门要诱惑你上钩的时候,你就能看清它们到底是什么,也就能成功抵御它们了。
人们一直以来都在用奖励承诺来克服癖好。学生通过使用音乐、时尚杂志和电视,让自己在做通常会推迟的任务时,产生更多多巴胺,帮助他们找到了解决办法,比如带上可怕的文书工作走进自己喜欢的咖啡厅,边喝热巧克力边完成工作,或是极富创意地买一堆刮刮乐彩票,把它们放在你想拖延的项目周围。
还有一些人想象自己努力工作后取得的最佳结果,让未来的奖励显得更加真实。如果有什么事让你觉得很不愉快,所以你总是拖延着不去做,你能不能把它和能让多巴胺神经元燃烧的事联系在一起,从而促使自己去做呢?
大部分人会更关注对快乐的承诺,而不关注多巴胺刺激欲望时感觉到的不快乐。这一周,看看你能否发现渴望会引发压力和焦虑。如果你屈服于诱惑的话,你觉得这是自己对奖励承诺的反应?还是在缓解焦虑?
找一个常常让你放纵自己的诱惑因素,测试一下奖励的承诺。你之所以会受到诱惑,是因为大脑告诉你,你会很快乐。
学生们最常见的选择是零食、购物、电视和电子邮件、纸牌游戏等和网络相关的浪费时间的事情。请关注你放纵的过程,不要急着去体验。注意这种奖励的承诺给你什么感觉。期待、希望、兴奋、焦虑、流口水……你的大脑和身体感觉到了什么。然后,允许自己接受诱惑。和你的期望比起来,这种体验怎么样?奖励的承诺有没有消失?它是否仍然促使你吃得更多、花得更多、待得更久?什么时候你会感到满足?你是否达到了一种没法继续的程度,因为你太饱了、太累了、太沮丧了、没时间了,或是无法得到“奖励”了?
进行这项练习的人通常会有两种结果。一些人会发现,当他们真的关注放纵的感受时,他们实际上并不需要自己想象中那么多的东西。另外一些人发现,这种体验完全无法让他们满足。这就暴露了奖励的承诺和实际体验之间的差别。这两种观察都会让你对曾经无法控制的事有更强的自控力。
情绪低落会使人屈服,而且经常是以令人吃惊的方式屈服。女性在感到焦虑或抑郁的时候,很有可能会去吃巧克力,但她们这一解压方法的唯一效果,就是带来更大的罪恶感。
当你感到压力、焦虑或心情低落的时候,你会怎么做呢?你生气时会不会更容易受到诱惑?你是不是会更难集中注意力,或更容易拖延呢?情绪低落是如何影响你的意志力挑战的?
有效和无效的策略最主要的区别是什么?真正能缓解压力的不是释放多巴胺或依赖奖励的承诺,而是增加大脑中改善情绪的化学物质。当我们面对压力时,大脑一再做出错误的预测,不知道什么才能让我们快乐。也就是说,我们经常阻止自己去做真正能带来快乐的事。下一回,当你面对压力,即将作出缓解压力的承诺时,可以考虑尝试一下更有效的解压方法。
思考:有没有什么东西能提醒面对压力的你?到底什么才能让你感到更快乐?在你感到压力之前,你能不能先想出一些鼓励自己的方法?
这一周,请注意观察什么事情会引发你大脑里的“恐惧管理”。是你在媒体或网络上听到或看到的东西吗?你会在社区运动场上感染新型食肉细菌吗?非洲杀人蜂这次会从哪里飞过来?哪栋大楼被炸了?哪里发生了致命车祸?谁惨死在家中?(如果你想再多学点东西的话,还可以看看商家怎么利用你的恐惧宣传他们的产品。它们和你的意志力挑战有关系吗?)别人还可能怎么利用你的恐惧,让你产生对安慰的渴望?
请花上24个小时,远离那些会让你产生恐惧的电视新闻、访谈节目、杂志或网页。如果你觉得自己不关注那些正在发生的大事小事,世界末日也不会降临的话,就请别在这些媒体上毫无意义地消磨时光了。
这一周,请特别留意你是如何应对意志力失效的。
你会责备自己,告诉自己你永远不会改变吗?你会觉得这样的挫折暴露了你的问题——懒惰、愚蠢、贪婪或无能吗?你会感到绝望、罪恶、羞愧、愤怒或不知所措吗?你会以挫折为借口,更加放纵自己吗?
每个人都会犯错误,都会遭遇挫折。我们总是倾向于相信自我怀疑和自我批评,但这并不会让我们离目标更近。实际上,我们可以尝试从良师益友的角度来看待问题。他们都信任你、想要你变得更好、愿意在你失意的时候鼓励你,你也可以这么做。既然失败无法避免,更重要的就是我们如何应对失败,以下是心理学家提供的一些方法:
请花一点时间,仔细想一想你改变自己的动力和期望。你只有在情绪低落时才会有动力改变吗?想象成功改变生活时的快乐,是不是你作出改变的唯一动力?你会通过幻想未来的自己来改善现在的心情,而不是采取实际行动改善自己的行为吗?
乐观给我们动力,但少许的悲观能帮我们走向成功。研究发现,如果能预测自己什么时候、会如何受到诱惑和违背承诺,你就更有可能拥有坚定的决心。
想一想你自己的意志力挑战,请扪心自问:我什么时候最可能受到诱惑并放弃抗争?什么东西最可能分散我的注意力?当我允许自己拖延的时候,我会怎样劝说自己?当你头脑中出现这样的情景时,想象自己真的处在这样的情景中,你会有什么感觉?会想到什么?让你自己看一看典型的意志力失效是怎么发生的。
然后,把想象中的意志力失效变成现实中的意志力成功。想一想你要采取哪些具体行动来坚定自己的决心。你需要回忆一下自己的动力吗?需要远离诱惑吗?需要找朋友帮忙吗?需要用你学过的其他意志力策略吗?当你头脑中有了一个具体策略后,想象一下你正在这样做,再想象一下这会有什么感觉。想象自己成功了,让这种想象给你自信,相信自己为了完成目标会不惜一切。
用这种方法预见失败其实是一种自我同情的方式,而不是自我怀疑的方式。当你真的受到诱惑的时候,你就能有所准备,能将自己的计划付诸实践。
“延迟折扣”:等待奖励的时间越长,奖励对你来说价值越低。很小的延迟就能大幅降低你感知到的价值。加上2分钟的延迟,6颗巧克力豆还比不上2颗能马上获得的巧克力豆。随着巧克力豆离我们越来越远,每颗巧克力豆的价值都缩水了。解释了为什么我们宁愿放弃未来的幸福,也要选择即刻的快感。
对你的意志力挑战来说,当你屈服于诱惑或拖延的时候,你是把哪些未来的奖励出售了?放弃抗争的即时回报是什么?长期的代价是什么?这是公平交易吗?如果理性的你说“不,那是个叫人讨厌的买卖”,那么,请你试着去捕捉自己改变选择的时刻。是什么想法和感觉让你出售了未来?
想获得一个冷静明智的头脑,我们就需要在所有诱惑面前安排10分钟的等待时间。如果10分钟后你仍旧想要,你就可以拥有它。但在10分钟之内,你一定要时刻想着长远的奖励,以此抵抗诱惑。如果可以的话,你也可以创造一些物理上(或视觉上)的距离。
如果你的意志力挑战需要“我要做”的力量,
你仍旧可以使用这个“10分钟法则”,以此来克服诱惑和拖延。你可以把法则改成“坚持做10分钟,然后就可以放弃”。当10分钟结束后,你就可以允许自己停下来。不过你会发现,只要一开始,你就会想继续做下去。
幸运的是,一个人的折扣率不是始终不变的物理法则。通过改变自己对选择的看法,我们就能降低折扣率.当人们首先想到未来的奖励时,未来奖励的折扣率就会大幅下降。无论面对什么样的诱惑,你都可以利用以下方式抵抗即时的满足感。
你准备好对未来受诱惑的自己施加压力了吗?这一周,为未来某一刻的自己作出承诺。从以下策略中挑选一个,在你的意志力挑战中用上它。
你是否在推迟重要的变化或任务,等待自控力更强的未来的自己出现?你是不是乐观地让自己承担过多的责任,最后却被不可能的任务打倒了?你今天有没有不去做什么事,因为明天你会更想去做那件事?
你是否有过这样的感觉:因为总有更多的事情要做,似乎没办法放下工作休息一下?你是否对花钱产生了太多的罪恶感和焦虑感,以至于除了购买生活必需品,你觉得自己很难再去买别的东西?你有没有回头看过,自己是怎样花费时间和金钱的?你会不会希望当时你能更关注即时的快乐,而不是总去推迟享受?如果是这样的话,试一试本章提到的意志力实验,把它们当做放纵自己的方法。(别再试着推迟了,好不好?)
不是每个意志力挑战都是社会“传染”的结果,但大多数挑战都存在社会“传染”的问题。针对你自己的意志力挑战,请考虑以下问题:
这一周,仔细观察你是否在模仿别人的行为,尤其是和你的意志力挑战有关的行为。同样放纵自己的行为是不是维持关系的社会黏合剂?当看到周围的人在做同样的事时,你会不会变本加厉地去做这件事?
马克最近找了个新工作,在咖啡店里做服务员。咖啡店每4个小时换一次班,员工能休息10分钟。马克很快发现,休息时大多数人会去后院抽烟。换班结束的时候,大家通常是从后院走进来的。回家前,大家也是边聊天边抽烟。马克平时不太抽烟,不过聚会时偶尔会抽一两根。他发现,自己休息的时候,如果其他服务员也在后院,他就会抽烟。有时候下班后,他也会和同事们在一起抽烟。
我们不总是感染别人的目标。有时,看着别人屈服于诱惑,反而能增强我们的自控力。当你坚定了一个目标时(比如减肥),还要意识到你有一个与之冲突的目标(比如吃个比萨)。当你看到别人的行为和自己最大的目标发生冲突时,你的大脑就会处于高度警惕的状态。它会让你的主要目标更坚定,它还会寻找策略帮你坚守目标。心理学家把这叫做“反抗控制”。但当你的自控力受威胁时,你可以把它看做一种免疫反应。
当你面对别人的目标时,增强免疫系统的最佳途径就是:在每天刚开始的时候花几分钟想想自己的目标,想想你会怎么受到诱惑,想要改变自己的目标。这就像疫苗一样,能保护你不受别人的感染。回想自己的目标能强化这个目标,避免你感染他人的目标。
研究发现,想到自控力强的人可以增强自己的意志力。对你的挑战来说,谁能成为你的意志力榜样呢?是那些经历过同样的挑战并最终成功的人,还是那些自控力的典范?(在我的班上,最常被提名的意志力模范是成功的运动员、精神领袖和政治家。但实际上,家人和朋友能给予我们更多的动力。我们接下来就会发现这个问题。)当你需要多一点意志力的时候,想想你的榜样。问问自己:那个意志力强人会怎么做?
花一点时间去想一想,谁是和你关系密切的人。你和谁在一起的时间最长?你最尊重谁?你觉得谁和自己最像?谁的意见对你来说最重要?你最信任谁,最关心谁?你能不能想到哪些行为(无论是有益的还是有害的)是你从他们身上学来的,或是他们从你身上学到的?
如果我们认为别人还在做我们试图改掉的不良行为,那么“社会认同”就会妨碍我们作出改变。你有没有告诉过自己,你的意志力挑战不是什么大事,因为它是社会规范?你是否意识到,自己认识的所有人都有同样的习惯?如果是这样,你可能会质疑这种看法。质疑它的最好方法就是找到一群人,他们正在做你渴望做到的事。找到一个新的“群体”并加入进去。这个“群体”可能是一个支援小组、一个班级、一个本地俱乐部、一个网络社区,甚至是一份支持你实现目标的杂志。置身于和你共享承诺与目标的人们当中,会让你觉得自己的目标才是社会规范
想象一下你在意志力挑战中取得成功后会多么自豪。这样,你就能充分利用“被认可”这个人类的基本需求。想一想你所在“群体”中的某个人,可以是一个家庭成员、一个朋友、一个同事、一个老师。想象他们的观点与你相符,或者他们会为了你的成功感到高兴。当你作出一个让自己感到自豪的选择时,你可以更新Facebook的个人状态,或是在Twitter上发布信息。如果你不喜欢高科技产品,你也可以和人们面对面地分享自己的故事。
你无须单独面对你的意志力挑战。有没有朋友、家人或同事可以和你一起实现意志力目标?你们不必有相同的目标,只需要相互记录和鼓励。这就能让你们在自控时感到来自社会的支持。如果你愿意把这种支持变成一种良性竞争,你也可以在意志力竞争中赢过别人。看看谁会最先完成被延误的任务,看看谁在一个月里节省的钱最多。
正如我们所见,越是不让我们想一件事,我们就会越去想它。对焦虑、沮丧、节食、上瘾的最新调查证实,把“我不要”的力量用在涉及思想、情感的内心世界,它就会失效。当深入内心世界时,我们会发现,我们需要给自控一个全新的定义,给放弃自控留出一点空间来。
当人们试着不去想某件事时,反而会比没有控制自己的思维时想得更多,比自己有意去想的时候还要多。这个效应在人处于紧张、疲劳或烦乱状态时最为严重。韦格纳把这个效应称为“讽刺性反弹”.“讽刺性反弹”可以解释了现代人的很多失败事例:失眠患者越想入睡,就发现自己越清醒;减肥的人拒绝碳水化合物,却梦到了沃登面包和澳洲坚果曲奇;忧心忡忡的人试图摆脱焦虑,却一次又一次陷入对灾难的幻想。
你是否想忘记某些东西?如果是,请检验一下讽刺性反弹理论。压抑有用吗?试图忘记某些东西是否让它回来时变得更强烈?(没错,你要让“监控”来监控它自己。)
关注自己的想法,而不是试着转移注意力。通常情况下,最让人心烦的事都很相似——同样的担忧、同样的自我批评、同样的不堪回首。“如果出了问题怎么办?”“我真不相信我做了那个,我真笨!”“要是那件事没发生,我会做成某件事吗?”这些想法会像脑海里的歌曲一样突然出现。
它们都不是你需要相信的重要信息!接下来,把注意力转移到你的身体感受上,看看你是否会感觉紧张,心率或呼吸是否有变化,看看你的肠胃、胸腔、咽喉或其他身体部位是否有感觉。一旦观察到这些想法和感觉,就把注意力转移到呼吸上。感觉一下你是怎么吸气、呼气的。有时候,这些烦心的想法和感觉会随着呼吸自然消散。其他时候,它们将不停打断你对呼吸的关注。如果出现了这种情况,就把这些想法和感觉想象成飘过脑海和身体的浮云。不要停下呼吸,想象这些浮云不断消散或飘过。把呼吸想象成一阵风,它毫不费力地将这些浮云吹散、吹走。你无须让这些想法离开,只需保持呼吸的感觉。
注意,这种方法和相信或思考某个想法是不同的。不要抑制想法,接受它的存在,但不要相信它。你要接受的想法是:这些想法总是来来去去,你无法控制会出现什么想法,但你不必接受它的内容。换言之,你可以对自己说:“好吧,那种想法又来了,又得心烦。不过,这就是思维的运作方式,它并不一定意味着什么。”但不要对自己说:“好吧,我想这是真的。我真是个糟糕的人,糟糕的事会发生在我身上,我想我要接受这一点。”
同样的方法也可以用于应对使人分心或心烦意乱的各种情绪,比如愤怒、嫉妒、焦虑或羞愧。在多次尝试这种方法后,比较一下这么做的结果和努力摆脱心烦想法和情绪得到的结果,看看哪种方法更能给你带来内心的平静?无论是拖延症患者想摆脱焦虑,还是酗酒者想避免孤独,摆脱不好的感觉往往会导致自我毁灭的行为。挑战一下你的意志力,有没有什么你不想体验的感觉?如果你允许自己去体验,调节呼吸并想象浮云,会发生什么事?
科学研究表明,当我们自我抑制,禁食一种食物时,我们反而会对它有难以抑制的欲望。你是否有这样的体验呢?你试过通过不吃一系列食物或你最喜欢的零食来减肥吗?如果你试过,你坚持了多久?你最后坚持下去了吗?你现在禁食什么东西吗?如果有,禁食是不是使你更渴望这些东西呢?如果你没有节食过,你是否曾经被禁止做什么事呢?被禁止做某件事会消除你对它的欲望,还是会激起你更大的渴望?
在好时巧克力实验中,实验组织者告诉那些知道“白熊”现象和“反弹”理论的学生,在接下来一周里可以用以下4个步骤来应对自己强烈的欲望。这些欲望可以是巧克力、卡布奇诺咖啡或不停查收电子邮件。
当你面对“我不要”的巨大意志力挑战时,可以试着采取以下策略。
除了“我不要”,你还能做什么来满足同样的需求?许多坏习惯都是为了满足一定的需求而形成的,这些需求可能是减少压力、获得愉悦,也可能是寻求认同。你可以关注这些需求,用有同样效果的健康的新习惯来戒掉坏习惯。我的一位学生想戒咖啡,所以就用喝茶来代替喝咖啡。茶和咖啡有几乎相同的作用,能给你休息的机会,能提神,能端着到处跑,而且不用摄入那么多咖啡因。
如果没有了坏习惯,你还能做些什么?你可以做其他有趣的事来代替坏习惯。大多数的癖好和消遣需要从生活的其他部分抽调大量时间和精力。有时,关注错失的机会比试着戒掉坏习惯更有激励作用。我的一位学生是电视真人秀的发烧友。但当她为自己设定了“提高厨艺”的目标时,她就成功关掉了电视,并把更多时间放在琢磨厨艺上。(她成功的第一步就是用厨艺节目代替真人秀,接着从沙发上移动到厨房里进行实践。)
可以通过重新定义“我不要”的挑战,把它变成“我想要”的挑战吗?有时,同样的行为会被两种截然不同的思想支配。举个例子来说,我的一位学生把“不要迟到”重新定义为“做第一个到的人”或“提前5分钟到”。这或许听起来没有太大的不同,但他发现,自己变得更有动力了,也没那么容易迟到了。因为,他把“按时到达”变成了一场他能获胜的比赛。如果你关注自己想做什么,而不是自己不想做什么,你就可以避免“反弹”效应带来的危害。
如果你想做这个实验,请先花一周时间来关注你想做什么,而不是你不想做什么。在这周的最后,想一想你在旧的“我不要”挑战和新的“我想要”挑战中分别表现如何。
无论你对什么上瘾,“驾驭冲动”的技巧都能帮你抵抗诱惑,而不是屈服于它。当冲动占据你的头脑时,花至少一分钟去感觉自己的身体。你的冲动是什么样的?是热的还是冷的?身体有没有感到不舒服?心率、呼吸或内脏有什么变化?保持这个状态至少一分钟。看看这些感觉在强度或特性上有什么变化。就像小孩子发脾气的时候一样,拒绝按照自己的冲动行事,有时会增加一个人的紧张程度。试着接受这些感觉,而不是试图否认它们。当你使用“驾驭冲动”的技巧时,呼吸是很有帮助的。你可以去感觉呼吸,体验吸入和呼出每一口气时的感觉,在此过程中了解自己的冲动。
当你第一次采用这个策略时,你可能一时驾驭住了冲动,但后来又故态复萌。在鲍文的吸烟研究中,每个人走出“刑讯室”后都马上抽起了烟。如果你在最初几次尝试中失败了,别灰心,这并不意味着这种方法是无效的。“驾驭冲动”和其他自控的新方法一样,都需要时间。你是否想在冲动来临之前就使用这项技巧?你可以正襟危坐,看看自己什么时候产生了冲动,想要抓鼻子、跷个腿或动一下。用同样的方法来驾驭这时的冲动,去感受它,但不要随冲动行事
出于科学探索的精神,每回“意志力科学”课程结束的时候,我都会问学生们,在他们观察到的事情和尝试过的实验里,什么给他们留下了最深刻的印象。最近,我的一位科学家朋友建议我说,谈及科学的书最合适的结语莫过于——得出你自己的结论。所以,即便我很想写一段最后的总结,我还是要训练一下“我不要”的力量。我只向大家提出以下几个问题:
在未来的人生道路上,请保持科学家的心态。尝试新鲜事物,收集自己的数据,根据证据作出判断。对出人意料的想法保持开放的心态,从失败和成功中汲取经验教训。坚持有效的方法,和他人分享你了解的知识。面对复杂的人性和现代社会的诱惑,我们最好能做到这几点。但是,如果我们能保持好奇心和自我同情,那对付它们就绰绰有余了。
和一个朋友聊天,说到为什么一直没谈恋爱。然后了解到她不想找同龄的男生,因为同龄的男生大多数都不够成熟,她不想又做恋人又做妈妈,教一个小男孩怎么成熟怎样长大。这样太累,也走不远。
如遭雷击,然后想起来一本小说里有一个类似的对话:
问:“XX,其实喜欢你的追求者当中还是有好孩子的,为什么不接受?”
答:“我知道他们喜欢我什么,但我不想做花瓶,被谁摆在家里当摆设,更不想又做恋人又做妈妈,教一个小男孩怎么成熟怎样长大。”
这算是一个新时代优秀独立女性的自述?
突然明白为什么总是会阶段性的颓唐,因为自己定下的小目标总是做不到,因为总是做一些自己明知道不该做的事情把定下的事情抛诸脑后,因为其实自己还在学着长大成熟。
原来一直没有遇到一个真的把做的每一件事情都上升到战术,战略层面来,即使是玩游戏/运动别人抱着娱乐的心态,他从来不是。一个清晰可量化的指标,用变态的执行力,不把时间浪费无用之处。这样的人定下的目标永远会比其他的人更快完成。现实中是真有这样的人存在的。
有时候在怎么学习上花了太多时间,而不是在学习上花同样甚至更多的时间, 这样是不正确的。
吾日三省吾身,尽快的调整目前一个人的生活学习状态,思考事情的处理方式,把握好自己心脑海中的想法,坚定向前。
想要得到一件东西就必须付出相应的努力。想得到什么应该只有自己知道。
克制、坚持。
不断修行到坚硬
2016/10/30
一个网站的加载流程粗略的流程大概如下:
我们需要搭建一个 http
的服务器,用于处理用户发送的 http
请求,在 node 中有 http
核心模块可以在很简单的几句话就帮我们启动一个服务器。
1 | // 导入http模块: |
就这几行代码,我们就搭建了一个简单服务器,当我们将其运行,访问地址能在浏览器中显示我们熟悉的 hello World!
,迈出了第一步。
下面我们来看看几个重要的地方:
首先我们来看创建http server
的代码:
var server = http.createServer([requestListener])
:创建并返回一个HTTP服务器对象requestListener
: 监听到客户端连接的回调函数server.on('request', function(req, res) {// do ....})
再看监听端口的代码,在这里我们只是简单的写了一下监听的端口,它的可选项都没有去设置
server.listen(port, [hostname], [backlog], [callback])
:监听客户端连接请求,只有当调用了 listen
方法以后,服务器才开始工作port
: 监听的端口hostname
: 主机名(IP/域名),可选backlog
: 连接等待队列的最大长度,可选callback
: 调用listen方法并成功开启监听以后,会触发一个 listening事件,callback将作为该事件的执行函数,可选看完了创建与监听的方法,我们再看看看,我们在监听到客户端连接的回调函数 server.on('request', function(req, res) {// do ....})
中看到有两个参数 request 和 response ,
在这两个参数中,我们可以去获得用户的当前请求一些信息,比如头信息,数据等待,还可以向该次请求的客户端输出返回响应,下面我们一起看看它里面的内容
参数request
对象是 http.IncomingMessage
的一个实例,通过它 ,我们可以获取到这次请求的一些信息,比如头信息,数据,url
参数等等
这里简单的列一下最常见的:
httpVersion
: 使用的http协议的版本headers
: 请求头信息中的数据url
: 请求的地址method
: 请求方式参数 response
对象是 http.ServerResponse
(这是一个由HTTP服务器内部创建的对象) 的一个实例,通过它 我们可以向该次请求的客户端输出返回响应。
response.writeHead(statusCode, [reasonPhrase], [headers])
:向请求回复响应头,这个方法只能在当前请求中使用一次,并且必须在response.end()
之前调用。statusCode
: 一个三位数的HTTP状态码, 例如 404reasonPhrase
:自行设置http响应状态码对应的原因短语headers
:响应头的内容write(chunk, [encoding])
: 发送一个数据块到响应正文中 ,如果这个方法被调用但是 response.writeHead()
没有被调用,end([data], [encoding])
: 当所有的正文和头信息发送完成以后,调用该方法告诉服务器数据已经全部发送完成了。response.write(data, encoding)
之后再调用 response.end()
setHeader(name, value)
: 为默认或者已存在的头设置一条单独的头信息:如果这个头已经存在于 将被送出的头中,将会覆盖原来的内容。如果我想设置更多的头, 就使用一个相同名字的字符串数组response.setHeader("Set-Cookie", ["type=ninja", "language=javascript"]);
看了那么多api,是时候实践一把了,我们再来对原来的代码进行一点改造~
1 | // 导入http模块,url 模块 |
启动一下该js文件,并且通过不同的url不同的后缀,如 /
和 /user
去访问这个地址,看看浏览器的输出,应该已经变了。
这就是通过简单的的url处理,来实现的路由机制拉~
当然这里我们再继续深入一下!结合 node 的文件系统(fs模块),使不同的url,直接读取不同的 html 文件,示例:
准备工作: 在当前文件目录下建立html
文件夹, 并且新增文件 index.html
与 user.html
,内容自行发挥
1 | var http = require('http'); |
运行文件,切换url,程序会将不同的页面返回。大家自己去试试吧!
这是对于 node 的 http模块 的学习,理解有限,如果有错误之处,请指出,谢谢!
该模块是核心模块,需要使用 require 导入后使用
fs.open(path, flags, [mode], callback)
:异步版的文件读取path
: 要打开的文件的路径flags
: 打开文件的方式 读/写,12种不同方式?mode
: 设置文件的模式 前提是这个文件是已存在的,读/写/执行 4/2/1callback
: 回调err
: 文件打开失败的错误保存在err里面,如果成功err为nullfd
: 被打开文件的标识,和定时器fs.openSync(path, flags, [mode])
:fs.open() 的同步版,返回值为 fd
fs.read(fd, buffer, offset, length, position, callback)
:从指定的文档标识符 fd
读取文件数据。fd
: 通过open方法成功打开一个文件返回的编号buffer
: buffer对象, 缓冲区,数据将会写入这里。offset
: 新的内容添加到buffer中的起始位置,向缓冲区 buffer 写入的偏移量。length
: 添加到buffer中内容的长度position
:读取的文件中的起始位置,为null,将会从文件当前的位置读取数据。callback
: 回调err
:错误bytesRead
:buffer的长度,读取的字节buffer
: buffer对象fs.readSync(fd, buffer, offset, length, position)
:fs.read()的同步版,返回 bytesRead
fs.write(fd, buffer, offset, length[, position], callback)
:通过文件标识fd,向指定的文件中写入buffer通过文件标识fd,向指定的文件中写入buffer.fs.write(fd, data[, position[, encoding]], callback)
:通过指定的fd把data写入到文档中.fd
: 打开的文件标识buffer
: 要写入的数据offset
: buffer对象中要写入的数据的起始位置length
: 要写入的buffer数据的长度data
: 如果data不是buffer对象的实例则会把值强制转化成一个字符串。position
: 是参考当前文档光标的位置,然后从该处写入数据。encoding
: 是预期得到一个字符串编码callback
:回调函数 (err, written, string)fs.writeSync(fd, buffer, offset, length[, position])
/fs.writeSync(fd, data[, position[, encoding]])
fs.close(fd, callback)
:关闭一个打开的文件fs.closeSync(fd)
: fs.close() 的同步版本fs.writeFlie(filename, data, [options], callback)
:filename
: 文件路径,data
: data 可以是一个string,也可以是一个原生buffer。options
: 选项encoding
:文件编码default = ‘utf8’mode
: default = 438 (aka 0666 in Octal)flag
: default = ‘a’callback
: 回调函数fs.writeFileSync(filename, data, [options])
:fs.writeFile的同步版本。fs.appendFile(filename, data, [options], callback)
:异步的将数据添加到一个文件的尾部,如果文件不存在,会创建一个新的文件。filename
: 文件路径,data
: data 可以是一个string,也可以是一个原生buffer。options
: 选项encoding
:文件编码default = ‘utf8’mode
: default = 438 (aka 0666 in Octal)flag
: default = ‘a’callback
: 回调函数fs.appendFileSync(filename, data, [options])
:fs.appendFile的同步版本。fs.exists(path, callback)
:检查指定路径的文件或者目录是否存在。path
:路径callback
: callback 传入的参数指明存在 (true) 或者不存在 (false).fs.existsSync(path)
:fs.exists 函数的同步版。fs.readFile(filename, [options], callback)
:异步读取一个文件的全部内容filename
:文件路径options
:encoding
: default = null,如果未指定编码方式,原生buffer就会被返回。flag
: default = ‘r’callback
:(err, data), data 就是文件的内容fs.readFileSync(filename, [options])
:fs.readFile的同步版本。 返回文件名为 filename 的文件内容。fs.unlink(path, callback)
:删除一个文件,回调函数(callback)只接受一个参数:可能出现的异常信息.fs.unlinkSync(path):fs.unlink()
: 的同步版本fs.rename(oldPath, newPath, callback)
:异步版本的重命名函数.完成时的回调函数(callback)只接受一个参数:可能出现的异常信息.fs.renameSync(oldPath, newPath)
:fs.rename() 的同步版本fs.stat(path, callback)
:读取文件的状态信息,callback,接收两个参数: (err, stats) ,其中 stats 是一个 fs.Stats 对象。fs.statSync(path, callback)
:fs.stat() 的同步版本,返回一个 fs.Stats 实例。fs.watch(filename, [options], [callback])
:观察指定路径的改变,filename 路径可以是文件或者目录。fs.mkdir(path, [mode], callback)
:创建文件夹,回调函数只接受一个参数:可能出现的异常信息。---》fs.mkdirSync(path, [mode])
同步版fs.rmkdir(path, callback)
:删除文件夹,回调函数只接受一个参数:可能出现的异常信息。---》fs.rmdirSync(path)
同步版fs.readdir(path, callback)
:读取 path 路径所在文件夹的内容。fs.readdirSync(path)
:同步版的 readdir(). 返回文件名数组,其中不包括 ‘.’ 和 ‘..’ 目录.这是对于 node 的文件系统 的学习,仅仅过了一遍api,了解了一下处理流程,理解有限,如果有错误之处,请指出,谢谢!