平均法则

介绍了什么是平均法则, 以及如何用它指导我们的日常做事

所谓 平均法则(The Law of Averages), 假如你是一个推销员, 今天你打算向 100 个顾客推销, 根据平均法则, 有 80 位根本不会考虑买你的东西, 甚至连交谈的机会也不会给你; 然后有 10 位左右是愿意与你交谈的, 但你想跟他们达成交易还是比较困难的; 最后有 10 位呢, 则是很容易成交的那种顾客, 也即是你根本不需要有多么厉害的推销技巧, 也不需要你巧舌如簧, 哪怕你就是一个新手, 你也能很顺利地与他们达成交易.

这样的一种顾客的分布情况, 也即 80% 是困难的, 10% 是一般的, 还有 10% 是容易的, 就是所谓的平均法则.

当然, 这个比例也许更极端一点, 比如 95% 是困难的, 4% 是一般的, 只有 1% 是容易的.

但不管是哪种比例, 理想一些的还是极端一点的, 都暗含了这样一个意思: 当你不停地遭到拒绝, 其实你就越来越接近于成交!

这样一个法则, 它有两层含义:

继续阅读

利用 String format 方法及占位符优雅拼接字符串

介绍了 Java 语言里如何使用 String.format 去优雅地拼接字符串

不论是哪个编程语言, 拼接字符串都是一个频繁的操作, 很多的语言都支持通过重载"+"号运算符来拼接字符串, 这也是最常见快捷及直观的方式.

除了用"+"号拼接外, 有的语言还支持更先进的拼接方式, 比比较新版本的 javascript 语言还支持比较优雅的利用 ${XXX} 的方式去传递变量值, 这就已经基本接近了很多模板技术的写法了, 比如这样:

let name = '小明';
let age = 20;
console.log(`他的名字叫${name}, 他今年${age}岁.`); // 注意字符串用键盘左上角的撇号(`)括起来而不是引号

继续阅读

一起读书, 成为更有钱的程序员

独学而无友, 则孤陋而寡闻

欢迎加入程序员一起读书活动, 成为更有钱的程序员!

为什么要一起读书? 因为子曾经曰过: 独学而无友, 则孤陋而寡闻.

为什么要成为更有钱的程序员? 不是应该成为更好的程序员吗? 原因在于前者更好衡量.

这里有个所谓的 SMART 原则, 具体见这篇的介绍: 成为更好还是更有钱的程序员?

继续阅读

利用 IDEA IDE 的轻量编辑模式快速查看和编辑工程外的文本文件

介绍了 Intellij IDEA 的轻量编辑模式, 可以用其取代诸如记事本或 Notepad++ 之类的轻量级编辑器.

作为程序员, 我们都知道 IDE 的很好用的, 它的文本编辑器功能也非常的强大, 用起来非常便捷. 在长年累月的使用中, 我们也变得对其非常熟悉, 以致于使用起其它简单地轻量级的文本编辑器来, 比如什么记事本, Notepad++, UltraEdit 等等呀, 觉得既不方便又不熟悉.

关键是很多的操作习惯或者快捷键之类的也不尽相同, 比如什么导航定位呀, 查找替换呀, 等等往往都是各有各的一套.

但有时我们又不得不用这些轻量级的编辑器, 因为有时我们仅仅是想简单查看一下一些文本文件的内容, IDE 的功能虽然强大, 但常常也是要你打开整个工程, 或者说对于工程以外的文本文件的查看或编辑就不支持了.

这种情况随着 Intellij IDEA 新版本的发布, 已经有所改变了, 这就是一个新的特性, 所谓的轻量编辑模式(lightEdit mode), 有了它, 基本可以告别其它的轻量级文本编辑器, 而全程使用 IDE 的编辑器了.

继续阅读

用番茄工作法对付拖延症

介绍了如何通过"番茄工作法(pomodoro)"去解决拖延症(procrastination)的问题.

现代人似乎饱受 拖延症(procrastination) 的困扰, 自然, 你我大概都不例外.

我之前就曾经写过一篇关于拖延症的悖论的文章里就曾提到一个笑话:

几个月前,在书店看了一本关于战胜拖延症的书,觉得挺好的就买下了,到现在还没怎么看......

那么怎么去对付它呢? 有一种方式你也许也听过了, 叫所谓的"番茄工作法(Pomodoro)".

这个方式叫 Pomodoro, 为啥不是 Tomato 呢? 因为这是一个意大利人 Francesco Cirillo(弗朗切斯科 西里洛)在 1980 年代发明的, pomodoro 在意大利语(Italian)中就是番茄的意思.

番茄工作法 pomodoro

所谓的 Pomodoro, 就是一个简单的倒计时器, 你定一个 XX 分钟的倒计时, 然后它就滴答作响, 到了设定的时间, 它就响铃提示你时间到了, 就这么一个玩意.

继续阅读

理解 MD5 消息摘要算法

介绍了 md5 算法及其特性, 重点介绍了其在密码存储方面的应用

MD5 算法相信很多开发人员都听说过, 一个最常见的使用到它的地方就是密码的存储.

当然, 很多人会说, 这个算法已经不太安全了, 确实如果你想更安全的保存密码, 则应该考虑其它更安全的算法, 不过这不属于此次讨论的主题.

什么是 MD5

MD5 是一种算法, MD5 中的 MD 代表 Message Digest, 也即信息摘要.

至于数字 5, 则因它是从更早的 MD4 算法改进而来, 因此得名 MD5.

所以 MD5 即是信息摘要算法第五版.

继续阅读

什么不是计划(下)

继续先前说到的什么不是计划, 这是下篇

控制数量

在前面说到了两个计划, 运动与节食, 其实, 在一开始, 特别是你以前从未有过非常到位执行计划的经验, 那么并不建议一开始就制定太多的计划. 因此, 这里先考虑运动计划:
哪怕仅靠运动无法达到我们的减肥目标, 但如果能养成一个运动的好习惯, 变成一个灵活的胖子也不赖呀!
计划不宜太多, 特别是在我们没啥经验的情况下. 但制定各类计划之前, 不妨诚恳地问下自己:
以前正儿八经制定过什么计划没有? 自己以前制定的计划都得到良好的执行了吗?
如果答案是否定的, 则制定了太多的计划其实是没有用, 因为它们最终不会得到很好的执行. 所以如果我们并没有成功执行计划的经验, 那唯有从成功执行一个计划开始. 如果我们能很好地执行一个计划, 则再去寻求制定更多的计划. 因此, 这里我们把目光锁定在第一个"运动计划"之上.

计算与算计

很多人一想到运动, 那就会想, 那就去跑步吧, 每天跑步吧! 于是计划变成这样:
在这两个月里, 每天去跑步.
自然, 这依然是个很糟糕的计划. 前面说过目标要量化. 每天去跑步, 这太笼统, 跑 50 米也是跑, 跑 5000 米也是跑, 我们所跑的距离产生的消耗到底能不能达到目标呢? 通过运动方式在两个月减去 5kg 体重, 两个月约 60 天, 折算下来:
5000 ÷ 60 ≈ 80 克/天
也即是每天你平均要减去 80 克的体重, 那么问题就来了: 你到底要跑多长距离呢? 然后, 这个距离你要跑多长时间心里有数吗? 然后, 你安排的执行这个跑步计划的时间足够吗?

认知准备

在前面我们强调了目标要量化, 时间要限定, 为啥呢? 到了前面所说, 估计你已经知道了, 只有这样, 才能去"计算". 然后我们给出一个问题:
你到底要跑多长距离呢?
这其实不是一个很好的问题, 你是否意识到了呢? 如果你有相关专业的知识, 你就会意识到: 当消耗能量时, 不但要看距离, 还要看强度(简言之, 就是你跑多快), 其实还有一个因素: 你自己目前的体重. 显然, 你越重, 跑得越快, 跑得越远, 你的消耗越大. 这里假定你的体重就是先前目标中假定的 60 kg, 然后假定你能跑到 8分钟/每公里的配速
如果你不知道啥是配速, 那你确实对跑步没多大了解呢!
有了上述的假定, 那么要跑多长距离呢? 我估计你依然是不知道的. 自然, 这还需要你有点营养学, 运动学的知识. 当然了, 现在是互联网的时代, 去网上找找问问, 我相信你能找到答案. 那么, 如果你真有通过运动减肥的打算, 我请你一定要去找到这个答案. 在孙子兵法中, 有这么个说法:
多算胜, 少算不胜, 何况无算?
当然, 你也可以购买一个运动的手表, 录入你的一些个人数据, 然后在运动的过程中开启它, 运动结束后它会给到一个估计的值. 最后, 回到那个要消耗 80g 脂肪的问题上, 到底要跑多远呢? 如果你还是不知道, 我可以给到你一个大概的估计: 慢跑 10 公里(体重 60kg 左右). 是不是有点出乎你的意料呢? 是的, 人体就是这么的节能, 80 克的脂肪就可以驱动一个普通人慢跑 10 公里左右. 而又假设你以一个很慢的速度来跑, 比如 8 分钟/1 公里, 那么光是跑步的纯时间就是 80 分钟, 加上各种准备时间, 来回的时间, 你可能得预留 1.5 ~ 2 小时给这项减肥运动, 然后你才有机会在两个月达成你的目标! 连续两个月每天挤出 1~2 小时去跑 10 公里, 听着是不是很吓人? 很多时候计划为啥会失败呢? 也许是对困难一无所知造成的!

时间安排

很多人制定了计划, 只说要做什么, 但什么时候去做呢? 这个其实也很要紧. 最好是一个固定的时间, 否则很容易早上拖到中午, 中午拖到晚上, 最后就是不了了之了. 说到固定时间, 很多人很容易就想到了早上, 可是我想提醒你: 如果你把计划执行的时间订在早上, 你的计划已经失败了一半! 假如你就是计划早起去运动, 运动难, 早起难, 早起还要去运动? 难上加难, 这样的计划能够顺利执行才怪了. 在寒冷的冬天, 我估计你更愿意躺在舒服的被窝里; 而假如是在夏天呢? 你动一动就是一身臭汗, 运动完后你还得洗个澡, 你确定是否安排了足够的时间呢? 如果让我来建议, 那么我觉得工作日下班后去运动是不错的选择, 而周末或节假日你可以稍微灵活些, 但也还是选择下午好一些. 什么时候可以移到早上去运动呢? 如果你已经到达了这样的境界, 一天里我要是不运动下就觉得很不舒服, 运动已经成为我的日常例行公事, 那么就可以考虑早上去运动了.

耐心

最后, 一份没有耐心的计划则称不上是一个好的计划. 这里所谓耐心有两层含义:

一. 不怕失败, 禁得起反复折腾

你会失败, 你不要放弃, 当然你不可避免要放弃一段时间的, 没有关系, 随时准备重拾你的计划; 你会反复失败, 反复地放弃, 没有关系, 反复地重拾你的计划就好了, 当然了, 争取每次能更快地重新拾起它们. 你可能会把计划视作过于过于神圣的东西, 觉得计划应该不折不扣的执行. 当然了, 能这样执行最好, 但执行不到位, 天不会塌下来, 你可能在这时候犯的另一个错误就是发现计划没有执行好就彻底放弃了. 这真的很可惜, 大可不必这样, 特别是如果你还是一位计划的新手时, 你执行不好一点也不让人意外. 当然, 你也应该坚持一个进步的原则, 虽然你会失败, 会暂时的放弃, 但你失败的次数应该争取越来越少, 放弃的时段越来越短.

二. 拉长时间

一天跑 10 公里听上去太难了, 原因是我们想要在两个月就达成我们的目标. 如果我们把计划拉长到四个月, 那每天只需跑 5 公里了; 如果进一步拉长到八个月呢, 那每天就只需跑 2.5 公里了. 当然, 看到要八个月很多人又要觉得泄气了, 这似乎也太长了. 但其实你观察一下你身边那些超重的亲朋好友同事, 很多人年复一年体重一点也减不了, 甚至不断增长, 你要是八个月能甩掉 5kg, 一年就是 7.5kg, 也就是 15 斤, 两年就是 30 斤, 这其实是个很惊人的成就, 而你所需要的就是耐心. 雄心勃勃的短期计划总是更加地吸引人, 但脱离实际, 无法顺利执行下去又有什么用呢? 记住:
缓慢而持续的进步好过原地踏步!
最后, 以下是一个稍微靠谱的计划:
目标是通过运动削减掉 5kg 的体重; 方式是每天傍晚去跑步 2.5km, 花费半小时左右, 包括准备的时间等; 计划的时长是 10 个月内完成, 如果一切顺利则会在 8 个月内完成, 考虑到天气, 伤病, 各类突发事件等的干扰, 多给出两个月时间作为调整和缓冲.

继续阅读

2017 写作总结

总结起来,2017 年的写作只能说是“蛇头蛇尾”,如果算上中间,那就是“蛇头蛇身蛇尾”。 写作的确不是一件容易的事,难怪大家都喜欢“开会”,开会只要说就好了,动嘴要比动手容易,想法也可以不用很成熟,考虑可以不用很周全,毕竟开会就是“讨论”嘛。 但如果决定写点什么,如果是不成熟的想法,或者不周全的考虑,你就会想:“那费那么大劲写下这些不成熟的东西做什么呢?” 写作的背后是思考,特别是有价值的思考,这样你才有动力写下来,写作真正的困难在于首先要形成有价值的思考。

继续阅读

看看能否再次看到哈雷彗星

与哈雷彗星的一个约定

Of the millions who saw Haleys comet in 1986, how many people will live long enough to see it return in the twenty-first century. 背过英语句子的人可能对上面这句有点印象,它的意思是:
1986 看见哈雷千百万人当中,有多少人能够长寿到足以目睹二十一世纪的回归呢?

继续阅读

什么是人肉搜索?

网上是个保留记忆的地方……

其实人肉搜索就是发动众人一起来搜索的意思,人肉就是人,至于为什么叫人肉,我认为这个概念是对应“机器”而言的,打个比方说吧,一个播音员和一个喇叭,播音员是人,而喇叭是机器,你可以称喇叭为机器播音员,你同样也可以称播音员为“肉喇叭”!所谓的“肉”即是“人”。回到搜索上,一般的搜索都是通达搜索引擎来完成,搜索引擎就是一机器,也就是靠机器来搜索,而人肉搜索靠的是人找人、人问人、人碰人,靠的是众多“人肉”们的努力而不仅仅是机器去找到所需的信息,这其中可能有人知道内幕,但实际上很多人还是用搜索引擎在搜索,但毕竟”众人拾柴火焰高“嘛,而且别人的搜索技术也许比你更娴熟,所以找得更快。其实这里的“肉”就是“人”的意思。如果这样你还不能理解,那我只好说“只可意会不可言传”了。

继续阅读

Eisenhower Decision Matrix

时间管理的决策矩阵,分为两个维度:重要性与紧急性。

image

  1. 优先处理第一象限的事情:重要的紧急的
  2. 其次处理第二象限的事情:重要的但不紧急的;
  3. 再次处理第三象限的事情:不重要的但紧急的
  4. 最后处理第四象限的事情:不重要且不紧急的。

继续阅读