今晚,在这国庆佳节的归途上,或许正有无数旅人被困于高速公路的长龙之中,面对着漫长而单调的等待,心绪难免烦躁。在此,我带着一丝调皮,为这份无奈的等待添上一抹轻松的色彩,特撰此文以备大家渡过无聊时间。开了个小小的玩笑,诸位莫怪。衷心祝愿每一位旅人诸事顺遂,国庆佳节,心悦神怡!这个世界似乎没有什么事情不受客观物理世界的束缚,也正是因为有了种种束缚,我们才会不断地妥协。当然,也正是因为物理世界的束缚,我们才有机会去选择,才有机会去创造伟大的产品。科学技术不断发展,把手机做的越来越薄,但是,受限于没有合适的用于手机上的牢不可摧的材料,我们不得不套上保护壳以保护我们的手机。自从人类掌握了电这种能源形式,围绕着电展开的应用就越来越多。原因很简单,因为电很方便控制,还能够做到精确控制。在这个基础上,我们就可以实现通过程序控制汽车,而这个特点将会为无人驾驶铺平道路。然而,续航却成了一道绕不过去的坎。所以,又有了妥协,不得不采取一种丑陋的解决方案,需要背一个油箱给电池充电。电池充放电的过程涉及到电能和化学能的互相转化,无论是电能转化为化学能还是化学能转化为电能,这中间都伴随着热量的产生,并且化学反应需要时间,所以,很难做到五分钟充满电。如果能做到这一点,那么续航也就不会是一道坎。看到这里,或许有人会思考一个问题:既然电池多了一个化学反应的步骤,那么,是否存在不需要化学反应的介质用于存储电能呢?答案是显然的,存在!或许大家会更加疑惑了,既然存在,那么,问题不就解决了么?事实上,并没有这么简单,因为,我说的这个东西是电容。由于电容储能是不发生化学反应的,是个纯物理过程,不需要把电能转化为化学能存储,直接通过静电场的方式存储电能,也不会产生热量,所以,可以实现极速充电。然而,电容有一个无法解决的问题,那就是,能量密度太低了。所以,没有一项技术是完美的方案,都是顾了这头,丢了那头。是以,仓央嘉措追问,也是芸芸众生的追问:世间安得两全法,不负如来不负卿?架构师的存在,正是因为这个世界上没有完美的解决方案。当程序的性能走到了岔路口,面临着选择的时候,需要架构师做出妥协,带着痛苦,舍弃点东西继续前行。就像CAP的三选二的理论一样,这个世界不存在完美的解决方案,无论什么方案都有好的一面和不好的一面;就像要么用空间换时间,要么用时间换空间一样,你很难找到同时满足空间和时间要求的“双利解”。我们通过一个大家都能看懂的案例来说明。我们有一个订单系统,订单的数据量非常庞大,并且并发量也很大,单个数据库并不能满足需求。这时候,我们就需要采取分库的方式实现,接下来就需要考虑分库健的选择维度。因为,查看订单详情的频率会非常高,所以,我们可以选择以订单id作为分库健,如此,当我们通过订单id查询时,可以根据订单id路由到对应的一个数据库,本质上就是退化到一个数据库的查询。基于同样的理由,我们可以选择用户id作为分库健。因为,作为用户,我们肯定会关心自己买了哪些东西,那么,必然会频繁查询订单。因为,我们有了用户id作为分库健,我们就可以根据用户id路由到对应的数据库,本质上还是退化到一个数据库查询。因为选择了两个维度建分库健,所以,同样的订单数据我们需要冗余存储两份。这就是用空间换时间的一种思路。显然,订单中还有很多维度,我们不能根据每个查询去建立一个维度的分库,那样冗余存储的数据太多。但是,实际情况又存在根据不同维度进行查询,为了提升效率,这个时候就需要采用其他的方式,比如,把数据同步到es中,通过es实现搜索的功能。本质上,这还是采用的空间换时间的思路。很不幸,如果你是一个完美主义者,你一定无法成为架构师,在这个过程中你会无比痛苦地发现,无论你如何挣扎,你始终无法脱逃妥协的枷锁的桎梏。然而,数学没有这种痛苦。数学使用的语言,是一种精确的、全世界共通的符号语言,不管放在宇宙任何地方或任何时间都会成立。比如,在十进制的条件下,无论如何1+1都会等于2,不会有例外。这个世界似乎唯有数学可以超越客观物理世界的束缚。一旦我们走向抽象的世界,便可以在数学的世界中信马由缰。
每当我看到大家谈“数学”色变,每当我看到世人面对数学时眼中流露出恐惧之色时,我都想告诉他们,他们对数学的感觉是错误的,每当我看到数学被世人误解,总有种痛心的感觉,我想告诉他们数学真实的面貌。所以,我毅然决然地来实现这个梦想,把数学真实的面貌展现给大家,最终,让大家爱上数学。
我主要围绕K12数学从五个维度抽丝剥茧把真正的数学展现给大家。