由“高数”想到的

任何复杂的东西,都是在简单东西的基础上构建出来的,关键是思路

任何东西,刚开始都是简陋的,随着时间的推移变得更好,关键是迭代

所以不要怕东西做的不好看,或者功能不全,先出一个能用的版本再说,否则想得再好都是一场空

遇到一个复杂问题不要怂,要能够拆解开来变成简单问题,等解决的复杂问题足够多了,之前的“复杂问题”就转变成了“简单问题”,之后就可以解决更复杂的问题。数学、物理等学科就很好的印证了这一点

所以我们需要的能力有两个:

  1. 解决简单问题的能力
  2. 化复杂为简单的能力

这两个能力组合在一起,就可以升级打怪,完成越来越复杂的任务

其实我们从小到大的学习过程,就是在培养这样一种能力

我相信这两个能力,智力正常的人都能够掌握。差别在于掌握这个能力的快慢,人与人的差异也就体现在这里

如果设定一个能力值,再给足够长的时间,所有人都能达到这个能力水平。可惜人的生命有限,不是所有人都能达到

那么我们让自己更强,就取决于花在提升自我能力上的时间,但是提升自我需要跳出舒适区,是很费力的事情,这个就需要人的自控力,做到坚持不懈才行

综上,人的核心竞争力在于 自控力思路,思路我认为是是天生的东西,后天难以培养,所以对于大众来说,提升自控力是一个成功的不二法门,但是与人先天的惰性做斗争也是一件很难的事情,所以成功不易,加倍努力

思路这个概念有点宽泛,指天才的想法

设置免密码 sudo 用户

这里要设置一个添加一个非 sudo 用户组的

例如要添加一个名为deploy的用户

  • 执行adduser deploy,按照提示添加用户
  • 执行visudo编辑 sudo 列表,不能直接vim /etc/sudoers,在# User privilege specification下面,加入以下内容

deploy ALL=(ALL) NOPASSWD:NOPASSWD:ALL

  • Ctrl + x,选择 Y,退出

然后就可以了

要改用户组的话,执行usermod -aG www-data deploy

www-data 是用户组

不平凡的每一天

《平凡的一天》里有句歌词:每天早上七点半就自然醒,听到的时候我就在想,怎么可能呢,七点半自然醒那得是老年人的作息吧。没想到国庆回家之后,我甚至还能 7 点自然醒,简直 book 11,最关键的是一整天也不觉得累。

假期一过,返沪上班,总觉得每天都很累。早上醒来累,上班路上累,工作的时候倒是不觉得,下班路上又开始累,回了家也累。
早上 8 点醒来累,9 点醒来也累,晚上早下班累,晚下班也累。不知道这是什么毛病。

也不知道是工作的原因还是自己的原因,反正就是 累 类 泪 lay。

难受

喝饮料问题

之前面试被问到的一个题目,想起来了就记录下

题目大概是这样:

商店规定 3 个空瓶可以换一瓶饮料,问买 10 瓶饮料可以喝到多少瓶?

提供两种解法

1. 循环

<?php

// 循环实现
function drink($full, $empty = 0) {
    // 3 个空瓶换一瓶饮料
    $exchange = 3;
    $drink = 0;
    while ($full > 0) {
        // 喝
        $drink += $full;    // 喝过的总数增加
        $empty = $empty + $full;    // 空瓶数增加

        // 换
        $full = intval($empty / $exchange);
        $empty = $empty % $exchange;
    }


    // 考虑特殊情况,剩余空瓶数 + 1 如果可以兑换一瓶的话,就还可以跟老板预支一瓶,喝完再把空瓶给他
    if ($empty + 1 == $exchange) {
        $drink++;
    }

    return $drink;
}

var_dump(drink(10));

2. 递归

<?php

// 递归实现
function drink_recursive($full, $empty = 0, $drink = 0) {
    // 3 个空瓶换一瓶饮料
    $exchange = 3;

    // 终止条件 - 没有满瓶 && 空瓶不够兑换
    if ($full < 1 && $empty < $exchange) {
        // 考虑特殊情况,剩余空瓶数 + 1 如果可以兑换一瓶的话,就还可以跟老板预支一瓶,喝完再把空瓶给他
        if ($empty + 1 == $exchange) {
            $drink++;
        }
        return $drink;
    }

    // 空瓶兑换
    if ($empty > 0) {
        $full += intval($empty / $exchange);
        $empty = $empty % $exchange;
    }

    // 喝
    if ($full > 0) {
        $drink += $full;
        $empty += $full;
        $full = 0;
    }

    return drink_recursive($full, $empty, $drink);
}

var_dump(drink_recursive(10));