理解 Angular Resolver

1.什么是 Reslover

Angular 6+ 中 Router(路由)多了一个 resolve 属性。这个属性指向的一段代码被称为 “ Resolver ”。

Resolver 可以理解为在路由到组件加载之间的一段中间代码。它可在组件被路由之前获取预抓取数据,然后在组件初始化时获取并处理。

路由绑定 Resolver 后,路由执行流程如下:

1.用户点击链接。

2.路由执行 Resolver 获取数据。

3.目标组件初始化并搜集结果。

4.目标组件完成加载。

为了有个初步的概念,你可以先结合这个在线例子熟悉一下。

2.为什么使用 Resolver

相比于直接在组件中注入服务,Resolver 可以将数据抓取与其他业务逻辑分离开来,更加利于项目的维护和扩展。

这种做法也被称为遵循“ single responsibility principle

继续阅读理解 Angular Resolver

Material Design 为何不火

Material Design 是谷歌提出的设计指南。其设计之初,是为了统一谷歌旗下包括 Web、App 在内的各条产品线的设计风格。

Material Design 本身是介于拟物化设计扁平化设计之中的另一种设计方案,因此也兼具了两者的优点。

Material Design 社区比较繁荣,具有许多成熟的开源解决方案。

比如利用 Angular MaterialMaterial UI 等组件,开发者即使没有阅读过 Material Design 设计规范,也可以打造一个纯 Material Design 应用。

但是 Material Design 在国内却没有流行起来,几乎没有一个成熟的商业产品遵循该设计标准。

继续阅读Material Design 为何不火

技术之心

黎明

东京一家名为 “黎明”的咖啡馆日前举行了特殊的开业剪彩仪式。因为其中一位剪彩者不是人类,而是一款名为“ OriHime-D ”的人形机器人。

“黎明”咖啡馆目前有 10 个 “ OriHime-D ” 这样的机器服务生。“ OriHime-D ” 高度为 120 厘米,全部由肌萎缩性脊髓侧索硬化症( 缩写为 ALS )患者实现远程控制。 因为在控制端有特别配置的眼动追踪设备,因此即便 ALS 患者四肢严重瘫痪,也能完成控制动作。

“ OriHime-D ” 的出现意味着,通过机器辅助,残疾人也可以像正常人一样参与到社会分工与协作中去。这不仅对社会,对残疾人本身也有极大益处。

继续阅读技术之心

给软件工程师的一些建议

软件工程师如何面对不断涌现的新技术?Dev 上的网友 Emma Wedekind 编撰了 19条建议 ,希望对处于迷茫时期的你有一定的借鉴意义。

1.永远不要气馁

我每天都提醒自己,任何人在他们的软件开发生涯中,都会遇到和我一样的困难。所有科技界的领导者都是和我一样从“ 萌新 ”开始的。

你身边可能有很多人学的比你快!那是正常的。不要因为这个而自暴自弃。

如果你是做一名前端开发者,那么请磨练你的 HTML、CSS 和 JavaScript 。不要轻视这些技能。虽然这些技术乍看之下并不高深,但是想要成为一名合格的前端开发者,必须对它们有着更加深入的了解。这也是为什么许多大公司更加重视考察应聘者对基础技能 ,而不是流行框架的掌握情况。

软件工程师可以免费从互联网上学到关于软件开发的一切知识。但是你要记住的是,尽管互联网上有着海量的资源,但是你不需要了解所有。请从基础开始!

如果你想走后端路线,可以尝试一下 Java 和 Python,它们是目前在工业界非常流行的技术。

但是要记住,永远不要气馁。总有些日子你会被一些挫折压得喘不过气来。但是任何软件开发的从业者,一开始都会遇到和你一样的问题。随着你的不断进步,一切都会好起来的!

继续阅读给软件工程师的一些建议

四天工作制与程序员

援引柏林路透社的报道称,“目前世界上一些削减周工作时间的公司,已经发现这样的做法能够提升公司的运作效率,增加员工的工作积极性,减轻他们的疲惫感。”


英国工会联盟给出的理由是这样的:“缩短工作时间是工人阶级共享机器学习、机器人技术等种种新技术成果的一种方式,就像他们在工业革命期间赢得了周末休假的权利一样。”

从字面上可以理解为,新技术取代了大量的人类劳动力,这些被机器解放出来的时间,人类可以选择放松、休假、陪伴家人,也避免了过度劳累和精神疾病的发生。

不考虑其他因素,就单纯这个原因,四天工作制,对程序员来说可能永远是奢望。因为新技术,至今,仍然没有,把软件开发从业人员从泥坑里解放出来。

继续阅读四天工作制与程序员