麻雀

这些天受疫情影响,我只能在家工作。我的工作台的右侧,就是正门门前的那块空地。平常我们都是使用后院的门,正门极少使用。这块空地就成了麻雀经常光顾的地方。

而我呢,工作累了,或者想偷懒的时候,往右一瞥往往就会看到它们或者在玩,或者在吃东西。虽然并没有人惊吓它们,但我却感到它们不像新西兰别的鸟。那些鸟大多大大咧咧的不怎么怕人,甚至懒得飞,即使你驱赶它们,它们也经常用快跑代替飞。麻雀总是警觉的,不论是吃还是玩,都是玩一秒钟或者吃两秒钟,就赶紧四顾看看有没有危险。我从没有看到过它放松的时刻。

这么警觉的动物会活得很长吧,并不。日日过着担惊受怕的生活,怎么可能长寿呢。查了一下,果然。普通麻雀在野外的寿命也就三年。

可爱又可怜的小精灵啊。

Watched "WALL-E"

with Eric yesterday evening. This is the second time I watched it. A moving film about two lovely robots.

夏时制即将结束所思所想

这是我对看新西兰站长所发文章「4月5日星期天凌晨3点新西兰夏令时结束」的评论。

这意味着对那些不记录 unix 时间戳而只记录本地时间的系统,如果他们依赖时间排序(因为没有时间戳)的话,夜里2点-3点钟的记录会是紊乱的,因为这段时间会过两遍。显示上看起来没有问题的数据,其实是偏离真实顺序的。比如一篇文章的两个评论,明明是后面的评论回复前面的评论,即可能现回复的评论先显示,然后才显示被回复的评论这种“怪事”。当然了,如果用unix时间戳排序会有另一种问题,数据的顺序是正确的,但显示的本地时间却是紊乱的。可能出现显示一个人在 2:45 分发表了一篇评论,但另一个人却“使用了月光宝盒”回到 2:15 分回复 2:45 分评论的“怪事”。

站长说的对,人们应该调整自己的作息时间,而不是调快或调慢计划仪器。但站长说的又是错的,因为人是愚蠢的动物,自律的人是那么的少,如果依赖们自己调整作息时间,节能效果就会大打折扣。所以“调快调慢”计时设备这个看上去错误的解决方案,即又是最管用的方案。世界就是这么奇妙!

We learn from history that we do not learn from history.

We learn from history that we do not learn from history.

黑格尔

Defining arrow functions at a wrong place caused *this* object becoming undefined.

Today I was caught by a bug. I got an error message like "Uncaught (in promise) TypeError: Cannot set property 'users' of undefined" in the following code:

    import axios from 'axios';
    export default {
      name: "Users",
      data() {
          return {
            users: null
          };
      },
      created: () =>  {
        axios
          .get('https://jsonplaceholder.typicode.com/users')
          .then(res => {
            this.users = res.data;
          })
      }
    }

Finally, I figured it out by changing the created method definition from an arrow function to a normal function, the following is the correct code:

    import axios from 'axios';
    export default {
      name: "Users",
      data() {
          return {
            users: null
          };
      },
      created() {
        axios
          .get('https://jsonplaceholder.typicode.com/users')
          .then(res => {
            this.users = res.data;
          })
      }
    }

Do you see the difference?