惜命生活美

每个人的生命都只有一次,有的人珍惜,有的人不珍惜。 如果给生命加上一个刻度,那么这个刻度就是我们的时间。 珍惜生命的人,会珍惜自己的每一刻时间,会努力的去感受时间带来的美好。 有的人珍惜自己的赚钱时间,有的人珍惜自己陪伴家人的时间,还有的人珍惜自己打游戏的时间。 对于不同的人有不同的美好,珍惜生命的方式也各有不同。 然而,只要是人就离不开衣食住行。对待生活,珍惜生命的人是可以有同样的态度的。 不浪费每一次装饰自己的机会, 不浪费每一次享受美食的机会, 不浪费每一次休息放松的机会, 不浪费每一次出行游历的机会。 生活与生存最大的区别在于,生存之外生活要美。 面对生活中不得不做的事情,我们既可以草草了事,也可以别出心裁,区别也许只在珍惜生命与否。 穿衣不单要保暖,还要好看。 吃饭不单要果腹,还要好吃。 居家不单要遮风避雨,还要舒适惬意。 出行不单要达到目标,还要赏花弄月。 虚无生意义,粪土开鲜花。 生命既然只有一次,不如美美过生活。

October 22, 2021 · 1 min

休息不简单

我相信,没有一个人会觉得睡觉是不重要的。如果你这么觉得,试着熬个夜看看,一个不行那就来两个。 但是说到休息,似乎除了睡觉之外也没什么需要特别注意的,要有的话,也就是另一些人有午睡的需求。 我自己就是这么一个例子,只重视睡觉,而且是晚上的那个。尽管不睡午觉会给我带来明显的副总用,但是我还是在想方设法千方百计的去减轻不午休带来的崩溃的下午。 然后呢,今年我确实找到了这个办法,那就是喝茶。我喝茶会出现心悸以及失眠。所以,长久以来我并没有把这个作为一个解决方案。但今年我发现,如果平日用脑很多,做事情够专注那么心悸的感觉就没有了,也可能是没有觉查到。然后,晚上也会累得一睡就着。 然而执行一段时间后,整个人都不好了。我出现了慢性疲劳的症状。于是乎,我又恢复了午睡的习惯。咖啡因只是麻痹了人的疲劳感,并没有消退人的疲劳。因而,短期可以起到奇效,长期自然导致疲劳的堆积。 无独有偶,对于有午休习惯的人来说,不午休带来的疲劳感是强烈的、明显的。对比之下,日常生活中还充满着微弱的、细小的疲劳感。这些小的疲劳感一般不足以堆积到让人明显不舒服的地步,因为人一般都会有被动休息。 身体放松就是身体的休息状态,精神放松就是精神的休息状态。当一个人脑袋空空无所事事,那就是一个典型的被动休息的状态。正常情况下,被动休息也就够了。所以大部分人大多数时候,完全不需要去关注休息这件事情。 只有身体或者精神长时间属于紧绷的状态时,人才需要去刻意放松或者说刻意休息。一个人扛着一个大鼎又或者长时间想着哥德巴赫猜想只要时间够长,他必然会疲劳,进而停下来休息,对于这种休息也不用特别去关心。我们真正需要的是,那种即便处于静止状态也无法放松的情况。 对于身体而言,这种情况就是肌肉劳损。也就是在解除施力状态后,肌肉依然紧绷的状态。这个时候就是主动拉神、按摩、热敷、红外、电疗等等。医院理疗科就是干这个的,如果你出现这种情况的话,可以去医院看看。 对于精神而言,可能的情况更多。最常见的可能就是失眠,又或者做什么事情静不下心来。更严重的,可能会累及其它系统,比如身体的慢性疲劳、焦虑症、抑郁症等等。我最近出现就是日常忙碌引起的慢性疲劳。 所谓的精神,无非就是大脑。主动放松要做的其实是能让大脑放松的事情。药物虽然可以,但这是不提倡的,很可能会成瘾。所以,我们主要是通过自然的方式。大体思路是三个:1、去掉压力源(姑且这么定义产生疲劳的因素);2、提高抗压能力;3、提高恢复能力; 1大部分是不可行的,因为压力是生活的一部分,而且有压力才有动力,除了少数比如打游戏老打不过产生的压力外,很多压力还是需要我们承担的。 2抗压能力和个人的心理素质有直接关联,这个提升也是个人相关的,不能一概而论。 3才是我们真正日常能做的。前面提到恢复有被动和主动,所以我们这里说的是主动的。身体的恢复主要靠新陈代谢,大脑也在这个范围里。保持和提高新陈代谢水平自然就是一个可以主动去做的事情,老生常谈了,多运动多喝水营养充足。 上面是通过主动的调整生活方式,来提高被动恢复的途经。而精神层面的按摩是啥呢? 答案是让精神放松的活动。感觉像是循环定义对吧,但其实这个就是个判断标准。适合个人的方法留给个人去探索了。说说适合我的方法吧。 散步、跑步、游泳、洗澡、听音乐、冥想。 然而,方法是次要的,主动才是主动休息的关键。

October 19, 2021 · 1 min

辞旧迎新(己亥)

今年过年不太寻常,但说回来又有哪年是寻常的呢。只能说今年特别不寻常吧。开始写这篇文章的时候已经是初三了,其实假期也不是特别忙。主要前几天刚回来放纵了一把,玩了几天的塞尔达传说。。。 放纵了几天之后,理智也顺利回归了。果然,人还是需要休息的,休息过后的脑子就像是重启后的电脑一样,似乎变快了一些。 旧年又是忙碌的一年,这是我最后一次这么形容旧年了。因为我发现忙碌才是常态,轻松悠闲才是需要特别说明的不寻常状态。 旧年我已步入而立之年,在古人看来这应该是人生的中年,特别是孔子所在的春秋战国。但在现代社会这还不到三分之一,也许还不到四分之一。对于寿命我是相当乐观的,然而三十这道坎也确实让我体会到了一些”不一样“的地方。尽管我一直是那种不运动就会有过敏性疾病来犯的体质,因而也就保持了间歇性的体质锻炼。 但旧年我体会到了不同以往的恢复力,表舅和我说这是三十岁的代谢水平下降导致的。除了恢复力以外,另一个体现就是精力有所下降,更具体的就是似乎身体更容易疲劳了,不过这也可能是年初没做好好锻炼导致的。 然而这并不是绝对的,知道了原因是代谢率降低努力维持好代谢水平就好。这也是我在旧年形成的一个观念,就是自我的“状态管理”。在此之前,在我的自我管理理念里只有“时间管理”以及“期望管理”。现在看了“状态管理”是更为基础的。 最近因为肺炎的事情关注到了钟南山,看他的身体状态,你很难想象这是一个84岁并且还做过心脏搭桥手术的老人。讲真,如果不是别人说的话,你应该看不出来吧? 我有时会说自己要活过一百岁,做一份喜爱的工作一直到生命的尽头。现在看来,我只是想想而已,并没有未这件事情做真正的准备。对于很多认为“注意力”>“时间”>“金钱”而言的人来说,状态管理正是对应于注意力的那个管理选项。 对于这个链条也可以这么理解,维护好自己的状态才能高效的做事,高效的做事就能节约时间,节约下时间就能更好的赚钱或者理财。而时间与金钱则是优质生活的两个重要基础。 旧年我换了一份工作,来到了新的公司。新公司的采用的是远程办公,这就额外的需要管理好自己的状态。诚恳的说,在状态管理这件事情上面我没有做得很好,特别是天气变冷以后。生活与工作完全杂糅在一起,虽然不再996,也节省出了一天两个小时左右的通勤时间,但是不稳定的工作状态下,实际上又贴进去了更多的时间。这是新年我需要花费更多的时间进行自我的状态管理的另一个理由。 工作繁忙的另一个理由是目前的公司对我有着更高的要求,当然这是好事。在工作中的学习才是最高效的学习,闭门造车、闭关修炼更多的时候只是人们的想象而已。 IT这个行业需要大量的学习,终生学习在其他行业可能只是一种号召,但在IT这个行业则是实实在在的要求。套句古话,“入之愈深,其进愈难,而其见愈奇。” 在紧张的工作,忙碌的学习后面,是被不断满足的好奇心。很幸运能来的现在的团队,很幸运能和优秀的同事共事并向他们学习。世界宽广,知道的越多,不知道的也就越多。当发现自己不知道的越来越多,说明你知道的也就越多了。对技术是如此,对人生亦是如此。 人生是一条漫长的路,我们有太多的东西需要学习,太多的东西需要了解。对世界的探索是没有尽头的,对自我的了解似乎也是如此。 在大一的时候,我们思修老师就给我们讲了古希腊一座神庙上的谏言:“认识你自己,凡事勿过度。”我真正开始认识自己是在工作以后,那会自己对于生活的状态非常不满意。于是乎不断思索着自己究竟想要什么,自己能做什么。 几年前,我可算梳理出了自己三观的完整第一版,那会觉得未来的人生就是对这套体系的修修补补,自己对自己相当了解了。 后来我谈恋爱了,第一次谈恋爱。工作以后我的很多老同事一直说要谈恋爱,但我始终没有做好这个准备,第一份工作里我过得很不开心,也不是说全不开心,但不开心确实是生活的主调。离职后,不开心的源头没有了,我也就恢复了开朗乐观的状态不那么有攻击性了,也就机缘巧合的遇到了女票。 旧年我们迈入了第二年,旧年回顾前年的时候,我感慨自己花在女票身上的时间太少,旧年我认为在时间这个角度上我算是有所改进。但是,在质量上因为自己状态管理的不好,所以也还有很大的提升空间。 恋爱就像是照镜子一样,虽然每个人都有很多小毛病,但是随着关系的深入我也发现自己的小毛病不是一般的多。在认识自己这件事情上我也大开眼界。虽然我一直知道自己有自己不了解的地方,但当你真正看到自己身上那些不被自己了解的地方的时候,还是感到惊异、诧异、甚至不相信的。好在我的思维还处于开放的状态,也许也没有完全开放。但是,我确实意识到了自己的问题,以及自己存在自己尚未接受的问题这个问题。认识问题,是改变问题提高自己的第一步。为了那些自己爱的人改变,这是爱的责任。 几年前看《人性的弱点》的时候,我意识到了自己的沟通问题,往后在和朋友沟通上面我确实改变了一些自己的不友好的交流方式。然而,旧年我意识到了在这方面我还有很大的不足。一方面我在和朋友交流的时候,有时还是太“不给面子”了,这一点对关系好的朋友尤其恶劣。 我就有一个好朋友因为房地产的问题在朋友圈评论里辩了一下,然后对方对我屏蔽了朋友圈。。然后,我因为朋友圈被屏蔽又生气不主动去理这个好朋友。。感觉自己还是个任性小朋友啊。另外也有一个大学同学因为对谷歌看法的不一致,也屏蔽了我。这两个事情都是我跑到人家朋友圈评论里发表不一样的看法导致的。其他类似的事情还有,这里并不是别人没有保持开放的头脑和思想,而是我忽略人性的弱点。很多人对不同意见的第一反应是排斥的,诚然我自己好像也是这样子的。。只是我的逻辑性比较强,很多时候别人扯不过我。。。 但是,我在沟通上最大的问题还不是在这里。最大的问题是我在亲近的人面前。与亲近的人沟通会存在一些不一样的场景,就是很多时候沟通问题的不可回避性。这是与朋友之间的最大不同。由于问题的不可回避性和对自我影响性,在沟通的时候就出现了非要出结果的倾向。这次春节回家和父母的沟通上这个问题也再一次表现了。这个问题其实一直存在,但是在于和父母沟通及出现矛盾的频率低,所以一直没有受到足够的关注。然而,在恋爱关系中女朋友帮我意识到这个问题了。我想很多人都会有这个问题,对于最亲近的人,我们往往缺乏耐心、缺乏沟通技巧、缺乏包容。性子直、说话直不应该成为我们逃避责任的借口。 旧年对责任也有新的理解,原来我总觉得责任和自由在一定程度是对立面,每多一分责任就是少一分自由。然而现在的我不这么想了。责任本质上是自由的体现,我们的自由意志不在于让我们逃避责任,它在于让我们选择真正属于自己的责任。 勇敢的选择自己的生活方式,并为自己的选择负起相应的责任才是真正的自由。 从不选择、不为自己的选择负责以及为他人所选负责的人生都是不自由的人生。 大四选着工作的时候,我想着找工作应该以选择什么样的生活为标准。 工作几年后时候发现,选择成为什么样的人更重要。应该是先选择成为什么样的人,在这个基础上再去努力过上自己希望的生活。 现在又做了进一步调整,应该是先选择成为什么样的人,然后做好成为这种人的责任,之后再努力过上自己喜欢的生活。 旧年还有很多收获,也有很多不足。但是和上面这些比起来,我觉得都是些小问题。人的精力有限,还是优先把大的问题处理好。 新的一年,我已经不需要把注意力在自由的寻找及维持上了。我已经做出自由的选择,更多的注意力应该转到责任上面了。要用更好的行动去实现自己对生活的希望。希望是行动的信念,行动是希望的道路。要相信自己的行动能实现自己的希望。 新的一年要尽到改善沟通方式的责任,让重要的人不因沟通而不快。具体就是看一些沟通的书,并时长反思自己的沟通方式。先定三本:《非暴力沟通》、《冷暴力》、《人性的弱点》。 新的一年要尽到保持身心健康的责任,让重要的人不因健康而担心。具体就是规律作息、注重营养、保持锻炼、健康风险防范。 这些年为了节约注意力,我采用了以事情为导向的自我管理方式。现在看了这种方式有些消极,事情少的时候还好,有很多事后终结反思的时间。但是事情多的时候,就一个接着一个紧急的事情出现,基本的生物节律难以保证,对成年人而言,生物钟确实是存在的,不规律的作息确实会导致个人状态的混乱。是该对自己更严格点了,所以规律作息会作为个人状态管理的重要部分。 凡事预则立,不立则废。新年会恢复使用手账的习惯,一方面要规定好自己的每日休息时间,每日睡眠最长时间,起床时间等等。另一方面要规划好自己的工作内容,把合适的状态分别留给重要的人和工作。 营养方面旧年留意到了母亲所在的家族成员中糖尿病发病率似乎有点高的,似乎有遗传性的糖尿病易感基因,虽然母亲和姐姐并没有患病,但这一点值得注意。在吃饭方面需要要更加注重营养结构,减少碳水的摄入比例,补以杂粮及果蔬,低油低盐低糖。说得再具体点,就是要自己好好定食谱,好好做饭了。 运动方面,旧年保证了运动频率。但是也出现了断断续续的问题。而且其中有一段时间是集中无氧,一段时间集中有氧。新年需要更加规律,需要无氧和有氧结合的方式,两者缺一不可。 健康风险防控方面。具体就是保险配置以及家庭常备医疗知识的补充。前者我一直托着没做,后者是以前没有相关概念。新年如果可支配时间充裕会进行这方面的投入。 新的一年要尽到努力提高自己的责任,努力负起的更大的责任,努力让自己和重要的人们更加开心快乐。具体就是提高专业水平、提高认知水平、提高解决问题的能力。更具体一点就是多学习、多看书、多解决问题。 这其中最重要的就是专业水平,王国维曾说做诗词的三层境界。前两层为:“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”。“衣带渐宽终不悔,为伊消得人憔悴”。这暗合了做任何专业与学问的路径。我自己转行IT的过程就符合第一层。现在等于出在第二层,但是王国维只说了第二层的表象,具体如果做缺没说。这也是我转行之后时常会想秉承专业主义,在打造专业技能时应该抱有一种什么样的心态。这几天看了科比的一些资料,我感觉我可算找到了答案,感谢科比。 当然,只有专业水平也是不行的,新年还是需要适当拓宽广度,做一名T型人才。 已经半年没有写文章了,一写写了好多。 最后,虽然已经初四了,但还是要说一句: 祝大家新年快乐,身体健康!

January 28, 2020 · 1 min

ARTS第二周

Algorithm:2. Add Two Numbers /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode} */ let addTwoNumbers = function(l1, l2) { let result; let currentNode; let temp = 0; do { if (!result) result = currentNode = new ListNode(0); else currentNode = currentNode.next = new ListNode(0); temp = (l1?l1.val:0) + (l2?l2.val:0) + temp; currentNode.val = temp % 10; temp = (temp - temp % 10) / 10; l1 = l1 && l1.next; l2 = l2 && l2.next; } while(l1 || l2 || temp); return result; }; Review:Simplify your JavaScript – Use .map(), .reduce(), and .filter() ...

July 28, 2019 · 1 min

await探究

这周在js群里讨论了一道今日头条的面试题,这题考察的是对microtask(微任务)和micratask(宏任务)的理解。题目和输出如下: async function async1() { console.log('async1 start'); await async2(); console.log('async1 end'); } async function async2() { console.log('async2'); } console.log('script start'); setTimeout(function() { console.log('setTimeout'); }, 0); async1(); new Promise(function(resolve) { console.log('promise1'); resolve(); }).then(function() { console.log('promise2'); }); console.log('script end'); // output: // script start // async1 start // async2 // promise1 // script end // async1 end // promise2 // setTimeout 这里就不对微任务和宏任务进行深入探究了,这里我们来探讨一个有意思的小问题(假设你已经掌握了微任务和宏任务)。 很多人对于async1 end出现在script end之后,而不是出现在async2之后感到有所疑惑。 出现这个疑惑是因为对await的工作原理不够了解,下面我们来解释一下。 先说说为什么有的人会认为async1 end出现在script end之后。这是因为,在代码的书写上,由于使用了await关键字,所以可以使得我们用同步的代码去写异步的代码。 await async2(); console.log('async1 end'); 很多人会觉得是js引擎在执行第一句的时候会暂停,等异步函数执行完了再去执行第二句,这就是误区所在。async/await的作用只是让我们像写同步代码一样写异步代码,而不是把异步代码变成同步代码。 这段代码还是异步的。 ...

July 28, 2019 · 1 min

如何快速搭建一个博客

昨天的文章发出后有朋友问我有没有搭建教程,我当时回答他说是跟着hexo官网搭出来的。事后想想,仅靠官网上的文档是不足以搭出像我这样一个博客的,虽然并不是很复杂,但我自己在使用hexo之前其实还做了些其他工作。昨天复盘了搭博客的经历,今天就来复盘一下搭博客的步骤吧。 我的博客最终使用的是 hexo + Github Pages 搭建的。前者提供一个搭建模板,用于生成博客的静态网页。后者用来部署同时提供了类似 Nginx、IIS 等 http 代理服务。 准备工作 一台安装了 NodeJs 的个人电脑,用来进行文章编辑和发布用,同时也提供文章本地保存,也可以使用Github对项目及文章数据进行保存 一个Github的账号,免费的就可以,需要给电脑和账号间配置好ssh,详见github官网。 一个域名,由于目前主流浏览器对 http 协议都会进行安全提示,所以最好配个 ssl 证书,证书目前有收费的和免费的,免费的就可以 开始搭建 本地系统搭建,按照官网操作即可,命令如下: npm install hexo-cli -g hexo init blog cd blog npm install hexo server 运行完命令后,本地预览项目就跑起来了。可以通过浏览器打开 http://localhost:4000/ 预览效果。此时可以在项目文件夹内的source/_post下新建文章了,使用的是markdown格式,而且文章的开头需要按照示例的模板填写文章相关信息,详见官网。 在 Github上新建一个仓库,在项目的_config.yml中配置该项目的地址,以及指定推送的分支。之后会把 生成的静态博客页面发送到这个分支上,用来给 Github Pages 发布用。注意,免费账号只能通过 master 分支发布。 做完上述工作后,就可以在本地运行如下两行命令生成静态网页,并推送到我们先前指定的项目分支中了。 hexo clean && hexo deploy 上述命令是重新生成我们的静态网页,希望增量更新可以使用下面的命令 hexo generate --deploy 发布到对应的分支后,在项目的 setting 中的 Github Pages 的下,设置一下 source 选项就可以了,选择你要之前配置的发布的那个分支,免费账户目前只能是master。配置好,就能看到 Github 给你分配的项目地址了,一般是 https://你的账户名.github.io/你的项目名/ 这样的形式,过一会就你打开了。之后,你每次添加完文章后,都需要执行第三步来提交网站更新。 补充一下,这里的项目只是用来发布的,如果需要进行项目管理的话,可以用其他分支来保存项目数据,比如edit。也可以另外起一个github项目来保存,我就是使用的这一种方式。 ...

July 24, 2019 · 1 min

我的博客终于正式上线啦!

搭建个人博客的想法最早出现在2017年初,那会还在学习ruby on rails,想着有空自己搭建一个个人博客网站出来。在此之前,都是在各个平台零零散散写东西,qq空间、校内网、新浪博客、网易loft、部落格、微信公众号。 可以看到,由于网龄较长感觉各大平台都淌了个遍。也见证了各个阶段发布平台随着时间的变迁,微信的出现qq空间没落了,微博的出现新浪博客和校内没落了,网易loft和部落格也是小众,现在也就还有微信公众号还在浪潮上,这也是我目前公开写作的主要地方。但,谁又说的清楚下一个浪潮何时再来呢? 一开始只是写着玩玩又或者宣泄情绪,更新频率也是变来变去。但时间久了以后,发现自己已经写了不少东西。17年初是写的最频繁的时候,那会天天写ORID,于是萌生了把所有文章统一汇总到一个地方的想法,考虑到平台变迁的规律,加之在学技术,自然而然萌生了搭建个人博客的想法。 万万没想到的是,这一搭就是两年多… 一开始想着学ror的话,就用它搭一个,搭出来丢到heroku上,网速慢的不行,就想着自己搞台服务器部署一下,好不容易部署了,就差域名和UI优化了,结果转去学js了…再然后,学express的时候,把服务器重置了…然后,想着既然学js,那就改用express + vue在搭一个吧。等一切准备就绪,服务器也续费了,域名也买了十年,工信部那边也备案了,就等部署的时候,js的学习进入了单页面应用阶段,于是开始重构博客项目,要写成前后分离的形式。这一步完成以后,就过年了…等过完年,我就开始找工作了,之后就开始了996的快乐生活。而搭建博客的事情也就没有在想过了。 终于,前段时间我结束了一年的996生活,搭建个人博客的事情再次提上了日程,然而尴尬的是我的阿里云服务器过期给注销了…在和阿里云沟通过后,考虑价格因素(双十一至少打对折)我决定等到今年双十一再买云服务器,博客的事情也就推到双十一以后了。 当然事情再一次没有按照我的预料发生,上周我报名参加了左耳朵陈皓的ARTS打卡活动,每周要写一篇技术文章,同时还有写一个汇总贴。考虑到我的微信公众号里90%以上的人没啥技术背景(其实他们也不怎么看…),总觉得在微信公众号上面长期更新技术类文章总是不太靠谱,于是乎又开始想着搭建个人博客了。鉴于之前的项目都没有做什么UI优化,就想先了解个博客模板系统来搭建,之后再买个服务器来部署。 先了解了几个朋友在用的模板,一了解发现服务器都可以省了,技术朋友们之前好像和我说过,但那会没有那么强烈的需求(需求果然是前进的动力啊!)也就没过脑子。于是上周末用小半天的时间,初步上线了(用第三方的东西就快啊)!这两天零零散散给配了域名和证书,还有就是把一部分的数据从之前的平台迁移过来,看起来算是有模有样了。后面有时间的话会把以前在各平台写过的文章都汇总过来,再看看情况考虑一下完善SE0、评论、RSS等功能,但这些都是次要的,发布功能才是最重要的。有一个自己的发布平台感觉还是不太一样的,哈哈哈! 虽然拖了很久,也还有很多不完善,但不管怎么说, 我的博客正式上线啦!

July 23, 2019 · 1 min

ARTS第一周

Algorithm:1. Two Sum /** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { let map = {} for (i = 0; i < nums.length; i++) { if (map[nums[i]] !== undefined) return [map[nums[i]], i]; map[target - nums[i]] = i; } }; Review:WebAssembly — Is It As Scary As It Sounds? 作者通过实作一个简单的项目介绍了WebAssembly,里面还应用了几个介绍资源,看完后能对WebAssembly有个大致的了解。 Tip:如何快速搭建一个博客 通过Hexo搭建个人博客非常方便,不到半天就能搭好。 Share:Typescript未来会如何?

July 21, 2019 · 1 min

typescript未来会如何?

日前,阮一峰老师公开发表了对typescript(后简称TS)未来的不看好的观点。 阮一峰老师的核心逻辑是这样的:1,未来任何语言都可以写前端;2,在此前提下,为了解决js类型问题的ts本身作为js的超集并不具备天生的类型优势;由此两条得出一个结论,既然能用诸如java等强类型语言来写,为何还要用ts呢? 那阮一峰老师的观点如何呢?我们来分析一下。 未来任何语言都能写前端?其实准备的说,是未来会有更多的语言至此WebAssembly(后简称WA)。浏览器目前的主流工作方式是,通过V8引擎将js代码进行编译,之后交由浏览器更底层的内核来执行。而WA,则是由多种语言转换成字节码交由WA虚拟机执行,而WA虚拟机则对接浏览器底层,其工作原理类似JAVA。从性能上,WA的执行比JS快很多。就像在服务端的JAVA的执行优于JS。 这么说来,好像JS会被淘汰一样。但事实是,就目前来说,WA还不能直接操作DOM。现有的方法都是通过间接调用JS实现,就使用和性能上说,还不如直接使用呢。WA与其看做是JS的颠覆者,倒不如看成是JS的补充者。在强计算的场景下,利用各语言的特长来对客户端的能力进行进一步的扩展。 这么看来,即使很多语言能参与到浏览器中来,但核心地位的JS短期还是不会变化的,而且就目前的实现方案来看。现阶段的.wasm文件还是需要通过JS引入执行就很好的说明了问题。 即便你通过JAVA写了WA,你还是得使用JS。而有JS的地方,自然也就还有TS。 从另一个角度讲,微软背书的TS未来是否也会成为支撑WA的语言呢?如果可以,那也不是一种选择? 另一方面,JAVA的类型系统更加全面,但也更加复杂。就类型而言,很多人认为JS是自由的,在写代码的时候,不用考虑那么多东西,专注在业务逻辑上,某种角度来说,动态弱类型反而是JS的优良特性。而TS的出现,可以认为正好在JAVA和JS的中间建立了一个桥梁。一方面我们可以用any类型享受到JS的自由,另一方面我们又可以通过明确的类型在编译阶段扫除掉弱类型带来的潜在问题。阮一峰老师认为TS的类型系统不如JAVA就不如写JAVA这一点显然是不对的,因为若如此JS就不会有今天的发展。 JAVA的发展和JS的发展源于他们在不同领域的特长发挥,脱离场景谈语言优劣是没意义的。 typescript未来会如何? 我觉得就类型系统和WA的发展来判断是不足以得出具体结论的。我更倾向于详细人类群体的惯性。我不认为未来会有很多后端会转职成前端,特别是使用它们现有的技术语言写前端。我更倾向于认为,未来写前端的还是前端。而要它们放弃现有的语言去学习新的语言来写前端也是不太可能的。所以,JS在前端领域依旧会是霸主,而WA的支持语言也并不会把JS、TS排除在外。而在前端项目复杂度越来越高的前提下,TS无疑是前端同学应对复杂工程最优的选择。

July 21, 2019 · 1 min

水滴阅读学习体验

几个月前萌生了考雅思托福的想法,但是考虑到自己的词汇量问题就先搁置了。再过了一个多月,知道了水滴阅读,是从池建强老师的公号上知道的。出于好奇点了一下推荐链接,然后给我跳到了词汇量测试的页面。接着同样出于对自己词汇量的好奇,我进行了测试。 测试完后水滴阅读给我推荐了初心之旅三的课程,是三本童话:《小王子》、《爱丽丝梦游仙境》、《绿野仙踪》。本着年纪越大越需要年轻的心态的想法,我就报了这个课程。 课程是一百天的,完成八十天的学习就能获得实体书,于是我在拿到实体书后,没等课程结束就把他们都看完了。 三个月下来的体会是,童话真好看啊! 我甚至觉得,童话其实不是写给小朋友看的,而是写给大人看的。当然,还有另一种可能,那就是其实我还是个孩子啊!这非常可能,毕竟我还长着豆豆。 我之前使用过流利说,还写过文章分享。那也是个很好的学习app。但是,流利说有个弊病,那就是学完课程以后,就没啥可学了。只能重复课程,当然这是相当无聊的。 学习英语的目的是把它作为生活的一部分,比如看美剧呀、看英文书等等。流利说侧重于口语,所以在阅读和美剧上面,总是差一点点。当然,有了语感对看美剧和看英文书还是很有帮助的,只是词汇量真的是一道坎。 最典型的场景就是当你看着美剧,能听出他们的每一个发音,但是就是不知道他们说的是什么词…又或者你能一目一行的扫过一句英文,偏偏有一个词汇不懂。 词汇不像帅哥美女,能让你一眼就能记下来。他更像我们这些大众脸的普通人,要想从人堆里认出来只能多接触。背单词书是一种方法,但大部分和我一样的凡人是抗不住的,太难受了。我十分肯定,能经受住单词书的无聊的人,如果能保持那种坚忍早晚出人头地。 另一个方法就是阅读原著,不过阅读原著也是有个要求的,那就是要有一定的基础词汇量。你想啊,十个单词的句子,你九个不会,咋看下去?这比背单词书还难受。 鉴于此,我的词汇量一直很差,自然我的英语一直也不咋地,直到我后来遇见了流利说。在跟着流利说叽里呱啦的复述跟读的过程中,无意中积累了一定的基础词汇量。这让我在水滴阅读的测试里,达到了中等词汇水平(其实就比文盲好一点),然后我就不用从美国小学语文开始读,而是开始读更有趣味的童话。 兴趣是最好的老师,如果有一定的基础词汇量,可以去测试一下,看看推荐阅读书目感不感兴趣,感兴趣的话可以试一下,没准英语就用起来了。

July 11, 2019 · 1 min