带你领略改变未来的10大新科技(下)

上篇文章我们已经介绍了5个比较大的领域的新发明与创造,这期我们接着介绍相对来说更为具体实用的五项技术or创新吧!


6、使用JavaScript和MQTT开发物联网应用

随着越来越多的硬件平台和开发板开始支持javascript,JavaScript在硬件端以及物联网领域有了新的机会。

下图是一个智能家居物联平台的数据链路。


一般来说,可以把IoT(物联网)应用分为如图所示的四层。

client层:指的是IoT设备,可以是冰箱、空调,也可以是一些温湿度传感器。

gateway层:大多数场景中gateway是家里的WiFi路由器,也有小部分是基于Zigbee或蓝牙的网关设备。智能生活场景中的gateway数量相对于工业领域要少很多,在工业领域存在大量的边缘计算放在gateway层进行处理(雾计算)。

cloud云层:这里是集中处理业务的地方。

应用层:这一层是直接与用户打交道的地方,可以是通过电脑的Web浏览器、手机App,也可以是有屏幕的智能设备的显示器。随着语音技术的发展,无屏设备也可以通过语音交互,作为一个应用存在于物联网的交互层。

MQTT+JavaScript

MQTT是一个长连接的通讯应用层协议,最大的特点是数据精简、消息可靠、Publish-Subscribe模式灵活易用。MQTT已经成为IoT传输的标准协议,应用非常广泛。

设计模式上,JavaScript 的回调与事件循环等基于事件驱动的编程模型非常适合物联网。在物联网环境下,环境在不断变化,物联网节点要不断对环境的变动做出响应,换句话说物联网系统通常是 I/O 密集型的系统,回调与事件循环高效地完成了密集 I/O 操作这项工作,而事件响应式编程相比于多进程和多线程编程在内存的使用上又非常高效,而这又是物联网系统所需要的。


7、微信小程序的编程模式

从小程序诞生伊始,就有很多人开始研习其机理与特点,小程序可以帮助开发者快速的开发小程序,小程序可以在微信内被便捷地获取和传播;是一种不需要下载安装即可使用的应用小程序,和原有的三种公众号是并行的体系。但真正理解小程序,还需要实践,才能进一步理解其背后的想法,与已有平台的异同,以及如何去适应它,做出更有趣的小程序。

理解开发平台的特性,一个不错的角度就是从编程模式入手,看在这个平台上开发,需要如何书写和组织自己的代码,进而搞清楚三个问题:

﹡数据如何获取;

﹡界面如何呈现;

﹡交互如何传导。

换而言之,就是从 MVC(Model-View-Controller)的视角去拆解这个平台的特性,从而理解其开发有何特点。

数据如何获取

程序的本质,可说就是数据的呈现和加工。所以,看一个客户端开发平台的基本能力,首先就要看能把哪些数据放在上面处理,有哪些局限?如果缺少了必要的数据获取方式,那对于开发者而言,巧妇也难为无米之炊。

从这点看,小程序提供的数据获取方式非常丰富,大概涵盖:

通过 HTTPS 请求去服务端获取数据。支持 HTTPS 是最基本的,小程序对 HTTPS 有限制,除了要求通信协议是 HTTPS,出现的域名必须提前预设之外,还将应用层协议限定到了 JSON 格式下。站在小程序的平台角度来看,通过这样的协议规定,对应用中流动的数据有了更强的管控能力;而对于开发者而言,则需要花些时间去调整自己的服务协议以便适应小程序的要求。

可以在本地文件系统上存取数据。小程序提供了丰富的 API 供开发者在手机系统上存取文件。可用本地文件来做缓存、状态记忆等,为开发提供了便利。

可以读写设备中的一部分信息。小程序开放了一些 API,帮助开发者获得设备上的基本信息,比如手机型号、屏幕尺寸、网络状态等。

除此之外,小程序提供了微信生态中的一些数据,比如账号信息等。这对于微信庞大的生态而言,只是非常小的一部分数据,但却是开发小程序应用中最值得利用的数据。

举个例子,在其他平台上,如果想要获取微信的账号信息,需要通过一次用户授权。假如用户暂时不想提供,则会使程序呈现“未登录”状态,给整个服务的展开带来困难。而在小程序中,只要用户点开,就意味着完成了授权,开发者可以直接读取到小程序的账号信息,并同步到自己的服务端作为该用户的身份标识,从而实现“始终登录”的状态,使得后续服务可以更好地提供。


8、机器学习算法重构威尼斯千年历史

这是一项科研项目——威尼斯时间机器,将让历史学家拥有从现今穿越到 18 世纪威尼斯的能力。

计算机科学家、瑞士联邦理工学院(EPFL)数字人文科学实验室主任 Frédéric Kaplan 想要将威尼斯多年的历史以动态的数字化形式传承下来,再现这座古城辉煌的共和国时代风貌。Kaplan 将他着手从事的项目称之为“威尼斯时间机器”(Venice Time Machine),预计扫描地图、专著、手稿和乐谱等大量文件。Kaplan 希望“威尼斯时间机器”不仅能够为世界各地的学者揭露威尼斯隐藏的历史,还能使研究人员能够搜索和交叉引用参考文献。

如果这个项目成功,将为整个欧洲历史文化和商业研究做出巨大的贡献,或能以前所未有的细节揭示整个欧洲大陆当时的社会网络、贸易和知识发展的历史。Kaplan 表示,“威尼斯时间机器”将成为供几个世纪以后的人使用的谷歌和 Facebook。

圣方济会荣耀圣母圣殿里存储的各种手稿和史册资料。它们将全部被输入“威尼斯时间机器”,用于构建一个供几个世纪以后的人使用的谷歌和 Facebook。圣方济会荣耀圣母圣殿是威尼斯最大的教堂之一,具有次级宗座圣殿的地位。这座天主教堂位于圣波罗区的核心,敬奉圣母升天为主保圣人。

威尼斯时间机器的诞生,得益于机器学习技术的进步。这个项目成功的关键,也在于机器学习技术。令威尼斯时间机器脱颖而出的,是其规模和这个项目预计使用的新技术。据 Kaplan 介绍,他计划使用最先进的扫描仪,有些甚至可以在不打开书籍的情况下,读取书中纸页上的内容。此外,还有先进的机器学习算法,将手写文档转换成可被搜索和引用的数字文档。

现在,根据 Kaplan 的计划,这些海量的文献将被系统化地送入威尼斯时间机器,和其他更多非常规数据来源一起,以更形象的形式,比如绘画和旅行者日志的形式呈现出来。

欧盟专门有一个项目,叫做 READ(Recognition and Enrichment of Archival Documents),在制定各种解决方法。Kaplan 也是 READ 的成员之一,他在威尼斯时代机器这个项目里采用的首选方式,就是利用机器学习来识别整个单词的形状。

机器学习依靠算法,能修改规则和行为,根据从数据集中获取的示例,不断更新提高性能。威尼斯时间机器的算法旨在分析书面文本的结构,并提取看起来类似的图形形状,并将形状与结构联系起来。这让用户能在一份文档中找到一个名称,然后让系统显示数据库中所有其他手稿中出现相同名称的位置。


9、Pokémon Go呼应设计:让全世界玩家疯狂沉迷

2016年,相信没有人不知道那个引发国外玩家和台湾玩家疯狂行为的AR游戏《Pokémon Go》,这款暂时没有官方译名的游戏,因为其掌机原型《Pokémon》被翻译为精灵宝可梦,因此很多媒体都会用《精灵宝可梦 Go》来称呼。

但不得不说,对于多数玩家来说,《口袋妖怪》这个非官方译名,要比官方译名好很多,作为日本知名游戏公司,同时也是著名掌机Game Boy、NDSL和3DS上一直盛行不衰的掌机产品,《口袋妖怪》代表了很多80后的童年。


但为什么Pokémon Go却会让玩家沉迷,会掀起万人蜂拥到某个地点抓捕游戏中的怪兽?

基于Google Map的技术,和被《Ingress》打磨过的AR解决方案固然是原因之一,但在真实地点和真实环境嵌入的内容,是能够唤起用户回忆和童年幻想的Pokémon也同样重要,基于Pokémon中各种怪兽的呼应设计,让原本并不显眼的AR游戏,似乎一夜之间成为玩家和业内讨论的焦点。

其实,真正尝试过这款游戏的用户都知道,游戏的内容、玩法、感受其实还不是很成熟,还有很大的改进空间,同时AR的交互体验,其实并不是万能药,对于国内很多对Pokémon了解不多的玩家而言,这款游戏对他们也并不是那么的有吸引力。

因为当这款游戏抛开对AR技术的使用,以及唤起玩家回忆,呼应人气产品的游戏设定之外,真实的游戏性其实相对不足,也很难吸引没有那些无法对产品产生呼应效果的游戏玩家。

但对于那些曾经沉迷过Pokémon系列产品的用户而言,这个游戏简直就是神作,用什么样溢美的形容词来形容,都是不过分的。

从这一点上,我们也可以看出,如果你的产品设计,能够找到一个足够合理的呼应关键点,同时产品有创新,游戏的市场潜力是无穷的。


10、应对企业IT数字化转型,灵雀云使出“杀手锏”:Alauda EE

灵雀云是专门支持云端应用创建、编译、集成、部署、运行的每一个环节,通过提供简单、便捷的云平台服务。

自2016年1月发布SaaS版本的Alauda cloud和Alauda cloud Pro之后,灵雀云“快马加鞭”,经过一年的沉淀积累,终于面向企业级市场推出,支持私有部署的“以DevOps为理念,面向微服务应用的新一代PaaS平台”——Alauda EE。Docker 被称为云计算领域的 “集装箱”,可以帮助客户快速构建云原生应用,实现持续集成和交付,加快应用迭代。

Alauda EE企业专享版全面支持Kubernetes,兼容Swarm和Mesos主流容器编排系统,增加了以下新功能:

1、全面集成Kubernetes,将现有基础设施一键升级成新一代的容器云平台;

2、面向DevOps的持续集成、持续交付流水线全面升级;

3、深度支持微服务架构,全面集成基于SpringCloud的微服务框架;

4、自助式、服务化IT治理:基于角色的权限管理、资源配额、多租户场景;

5、弹性大数据服务。



登录或注册后发布评论