17-24
- 1.发现了个有趣的 Mac native 命令,在 terminal 下执行
say "Hello World
, 会有小姐姐出现。 - 2.每日一句分享:最近读到了一段话,引起了我的思考。 "工作对于人生至关重要。它提供了收入,身份和意义,失业的创伤仅次于亲人的死亡。"我完全同意这段话。因为我父母的人生就是这样,上了一辈子的班,如果把工作的部分去掉,就没有其他值得一说的东西了。 对于许多人来说,人生就是围绕着工作。上学是为了找工作,毕业是为了上班,等到退休不上班,就已经是晚年了。万一失业,生活顿时就崩溃了,就像上面的引言说的,收入、身份、意义瞬间都没了。我今天想说的是,这种"工作型人生"已经过时了。要是现在你还把上班当作人生的主轴,是一件很危险的事情,因为失业的风险越来越大。 时代变了,稳定的工作越来越少,失业会是家常便饭,人生已经没法依附在某一份具体的工作上了。由于经济全球化和技术进步,行业的兴衰正变得越来越快。往往几年时间,新事物就彻底取代了旧事物,比如网络淘汰了报纸杂志,电动车淘汰汽油车,自动驾驶以后会淘汰司机。新行业瞬间崛起,又瞬间衰落,共享单车、P2P 网贷、长租公寓等等都是如此。 这些变化都是预想不到的,根本没法提前准备。上学的时候,我们学习内燃机,怎么可能想到有生之年这个东西会过时,汽车会不用汽油。在技术浪潮的面前,很多行业一转眼都没了,从业人员都得下岗再就业,当代社会的失业可能性比以前大得多。所以,已经没法围绕工作而规划人生了,因为工作靠不住了,人生不能押宝在某一份具体的工作上面,风险太大。现在是互联网 + 智能手机 + 云计算 + 5G,未来会变成什么样,没人知道。 我的意思是,我们对人生的预设应该是,一生中会多次改变工作,服务过多家公司,干过各种事情,中间很可能有失业期。 不能像以前那种,以某一份具体的工作或职业作为预设来规划人生。人生是一次旅行,不同的工作或公司只是我们沿途投宿过的村庄。它们不是人生的主轴,你不要误以为那是可以定居的地方,大多数人没有这种幸运。 不要再关注能不能找一个好工作/好公司(让你定居),人生的主轴应该是关注能不能实现下面三个目标。目的:你的人生想做到什么。 成长:怎么保证自己的技能不断在成长。 人脉关系:你能联系和动员的社会网络有多大。
- 3.
- 4.I tried to do a fizzbuzz using modern web platform apis and im terrified that it actually works https://t.co/SUaYVZAu8j看到这个创意 惊呆了.. 太秀了..
- 5.文章不错,涉及了大部分概念。
- 7.快餐文分享,操作系统中经典案例的Golang实现,Demo 值得阅读。
- 9.
- 10.
- 11.
- 12.快餐文分享:文章较简单,没有介绍抽象概念,没了解过 I/O 机制的同学可以读一下。A: 昨天还看 bio nio aio 感觉好多文章都无法理解B: 是的,Java 的 IO 机制 实质上就是 底层 IO 机制 的封装。不过现在 IO 机制的思想,已经很难改变了。不管是 windows 的 select ,还是 linux 的 epoll ,还是 mac 的 kqueue 实质上都是一种思想 的不同实现。
- 13.摘要:《如何征服英俊少男》是河北人民出版社曾经出版过的一本奇书。这些先辈们智慧的结晶,今天还在指引着求知若渴的青少年朋友。如果能早看到这本书,人生得少走多少弯路啊!A: 看了第一章,写的很有道理。有时候 别把性别看太重B: 大城市这么开放的嘛C: 开放多元A: hah 多元兼容 这就是字节范儿
- 14.分享一个项目: https://github.com/type-challenges/type-challenges Collection of TypeScript type challenges with online judge可做 TS 体操
- 15.垠神终于发新文章了,这篇文章 乍一读 有很大戾气,但是 我能感受到垠神对语言的思考方式。从一开始 他讨论编程语言,DSL,机器语气,数学以及人类语言的小语种,到现在的音乐语言。他一直是以客观的角度 去看待这些事物,在他心中 没有谁是大牛,没有谁是创始人,这种思维方式 我很喜欢,很受教。
- 16.Question: React fiber 为了在浏览器环境 做到时间分,片机制 增量渲染,底层借助的 API 是什么?Answer: 不是 requestAnimationFrame, 也不是 setTimeout, 是 MessageChannel + postMessage可以看下 上面这张图, 这个相当于简化版本的 react 调度机制实现.如果浏览器兼容 MessageChannel(宏任务) 就使用它 来做异步, 否则粗暴点 使用 setTimeout(宏任务)之所以使用 MessageChannel + postMessage , 而不是 requestAnimationFrame, requestIdleCallback, setTimeout..我还需要在找找具体原因...我想起来了, 之前看过一篇文章 1. requestAnimationFrame 如果一帧之内没有剩余时间, 则留到下一帧调用 2. requestIdleCallback 使用在浏览器空闲时才 调用, 这样会造成 渲染单元一直得不到调用 3. setTimeout 懂得都懂..找到了一个合适的回答,之所有使用 MessageChannel 做异步机制, 除了上面 API 的缺点外, 它本身的优点在于: onmessage的回调函数的调用时机是在一帧的paint完成之后。react scheduler内部正是利用了这一点来在一帧渲染结束后的剩余时间来执行任务的
好像 Vue 中的 nextTick 底层使用的异步机制 也是 MessageChannel
我刚刚查了一下
nextTick 先检测是否原生支持Promise,不⽀持的话再去检测是否支持MutationObserver,如果都不行就只能尝试宏任务实现,首先是setImmediate,这是⼀个⾼版本 IE 和 Edge 才支持的特性,如果都不支持的话最后就会降级为 setTimeout。
这个问题就挺有趣的.. React 的异步是 MessageChannel 宏任务 , Vue 的nextTick 使用的 微任务 , 为什么呢...
- 1.