Skip to content

记一次企业微信webview bug排查

2018年7月24日

cover

【问答】2018年的前端是否有『架构』可言?

2018年5月28日

【问答】如何评价锤子科技推出的TNT工作站?

2018年5月16日

Nginx + Koa 开启http/2 server push

2018年5月15日

cover

2017年科技新闻热点分析

2018年3月5日

cover

2017小结

2018年2月21日

2017于个人来说,是非常重要的一年,这一年经历了很多此前从来没有接触过的事情。甚至某一些事情可能会成为未来一些事情开始的基础。

工作

这一年工作状态总体不算太好。一年的安全域工作着实无趣,中间也就少不了自己打打酱油。

离开了产品团队,也觉得并不是很踏实。花了半年时间介入新股认购重构的需求,最后结果也并不是太好。

年底回到产品团队,却发现物是人非。产品换了一大波人来和开发对接,一切都不太对劲。[***]

前端方面,可以说是覆灭。业务小组分开后,前端组的概念更加虚无缥缈,虽然要有预期,但是事情比想象更坏。[***]各组间隔阂进一步加深,导致前端间交流也较少,价值进一步削弱。

客观说,我也没有竭尽全力去推动前端方面的事情。但是话说回来,在一个氛围诡异的环境里,把自己做成一个歇斯底里的形象,这个团队也未必能忍得下。

年底接到了IT方面的工作。在产品和前端都不如意的情况下,反而希望更早介入这一块的工作。前端方面仍然有一些计划继续去推进,但是早晚需要放手。

小爱同学 你好吗

2018年1月9日

秀优越感

小米AI音箱299元,但是现在还买不到。要不选择等半年,要不选择淘宝加价一两百。然而令人惊喜的是,参加前端体验大会后,主办方直接送了一个作为礼品。于是我能抢先体验到这一款产品。秀优越感完毕。

功能

外形和基本功能就不详细介绍了,网上的评测文章挺多了。

我用得比较多的功能主要还是点歌,叫一声小爱同学,然后就可以点歌。而且还可以沿同一歌手的歌单一直放下去。至于音效嘛,作为一款身型小巧的音箱,还是有点超出预期的。

此外,家里有一个智能插座是连接饮水机的,还有小米盒子、小米扫地机器人、小米台灯等设备,都可以比较好地联动:

“小爱同学,我要看琅玡榜”

“小爱同学,电视声音大一点”

“小爱同学,扫地”

“小爱同学,扫地机器人还有多少电”

“小爱同学,打开台灯”

“小爱同学,台灯亮度高一点”

“小爱同学,开始烧水”

……

总体来说,小爱同学对声音的响应灵敏度还不错,在房间里也能很自然地交互,对智能家居的打通也做得非常好,用起来真的非常方便。

第二届前端体验大会杂记

2017年12月26日

cover

轻松迁移博客到AMP

2017年8月29日

cover

小米也有小程序?热闹了

2017年8月29日

cover

【译】澄清对AMP的十个误解

2017年8月23日

cover

【译】在Promise回调之间传值的方法

2017年8月22日

在基于 Promise 编写的代码中,经常会有很多回调函数,它们都有各自的变量作用域。那么如果我们需要在这些回调函数之间共享数据,要怎么办呢?本文总结了一些方法。

1. 问题

下面的代码演示了使用 Promise 回调时经常碰到的一类问题:变量connection(A)在一个作用域中存在,但是需要被另一个作用域访问(B和C):

javascript
db.open()
.then(connection => { // (A)
    return connection.select({ name: 'Jane' });
})
.then(result => {
    // Process result
    // Use `connection` to make more queries (B)
})
···
.catch(error => {
    // handle errors
})
.finally(() => {
    connection.close(); // (C)
});
db.open()
.then(connection => { // (A)
    return connection.select({ name: 'Jane' });
})
.then(result => {
    // Process result
    // Use `connection` to make more queries (B)
})
···
.catch(error => {
    // handle errors
})
.finally(() => {
    connection.close(); // (C)
});

在这段代码中,我们使用了 ES 规范中的Promise.prototype.finally()。它提供了和try语句的finally分支类似的功能。