聊聊Dart多线程

和JS一样,Dart也是单线程模型,通过event queue在主线程中异步执行一些耗时操作, 总体来说和Javascript并无区别。那么,怎么在Dart中实现多线程呢?它的身上又有着什么不为人知的秘密呢?让我一一道来,揭开它神秘的面纱吧。

- 全文阅读 -

Flutter的StreamSubscription在resume后仍然收不到事件的解决办法

问题

在使用Flutter的Stream来实现一个打印机队列系统的时候, 发现了这么一个诡异的问题. 先简单说下代码. 其实很简单,就是当打印机状态不可用时, 我会调用StreamSubscripton.pause()来暂停队列的消费, 当打印机变为可用后, 调用StreamSubscription.resume(). 但是很诡异的是在resume后, 再想Stream里面投递消息后, Subscription仍然没有任何消息进来.

- 全文阅读 -

当团队代码质量不高的时候, 作为Leader的你会怎么做呢?

说一个有趣的是事情.

某天晨会的时候, 前端妹子提了一句: 最近后端接口的质量不是很高呢,有些字段和文档不一致,有些接口也缺失. 于是后端leader拉着其小伙伴到会议室开了一上午会,以为事情就告一段落了. 没曾想下午在前端这边开会时得知, 后端leader立了一个新规定: 如果以后接口质量不高,先从相关负责人开始罚,一次罚200, 两次double, 再找问题造成的实施人员进行罚款, 规则如上. 深感震惊之余, 果断劝退前端这边也想用这种“罚钱”模式来提高“质量”的念头, 采用了每周复盘的方式来达到同样的目的才作罢.

- 全文阅读 -

[翻译]JS的执行上下文和堆栈详解(What is the Execution Context & Stack in JavaScript?)

前言

对于很多初学者来说,JS的上下文和堆栈等信息对于初学者甚至很多写了很多年js的人来说都可能一知半解甚至一问三不知, 经常容易犯诸如为什么xx变量居然是undefined啊,为什么执行顺序不是我想的那样之类云云. 虽然大多使用了ES6避免了很多JS的坑, 但是了解一些必要的基础知识对于写出高质量的代码来说是有利无害. 恰逢发现这篇写于多年前的文章, 讲解地非常通熟易懂, 于是翻译出来希望能够帮助到阅读此文的你. 当然, 有条件还是建议尽可能阅读原文.(原文链接在文末)

- 全文阅读 -

工于利其事,必先利其器?--换山地车有感

大学时迫于贫穷和各种原因很多次回家都是租了学校附近一个租车行的破山地回家,一千不到,基本没有维护的破旧捷安特在那个时候里对我来说已经是非常牛逼了。终于在大三的时候用去黑工厂打暑假工挣来的钱买了一个组装的山地车,终于进入有车一族。于是看书看累了,写代码写累了就随机定点骑个来回的日子伴随了我好几年。很多次路上碰见骑友的时候,都超不过别人,速度保持在25就已经很不错的成绩,有几次试了大盘带小盘骑了200公里后打死不想费腿,实在是太费劲了。那个时候的我想的是,一定要练好大腿肌肉,这样才能和那些大佬一起玩耍。

- 全文阅读 -

黑苹果无法打开触控板设置解决办法

升级后无法打开触控板设置,每次一打开就显示异常崩溃,于是通过Google找到了下面的解决办法。我的系统是10.12.6,可能不同系统有不同的症状,希望对看这篇文章的你有帮助:-)

引起这个原因大概率是由于NVIDIA的webdriver引起的,可以试试下面的方法:

- 全文阅读 -

诺基亚X6通过切换分区从安卓P回滚到安卓8.1

缘起

由于诺基亚清爽的类原生安卓,没有国产安卓的各种日天广告(尤其是雷军的小米,永久拉黑,买个手机感觉像是买了个看广告机,隔三差五就推送),而原来的iPhone由于升级到IOS11之后续航尿崩放着都要一天两冲的日子后沦为了通勤听歌的ipod就在发布后入手了x6当做主力机。好了言归正传,基于对诺基亚的信任以及尝鲜,当看到X6推送了Android P后,立刻手贱点了升级,于是出现了顺利吃上了P,只是这代价有点不能忍,比如:

- 全文阅读 -