聊聊如何设计组件?
|
越来越多的设备正在加入物联网。连接远程电池供电设备的无线技术现在已经建立起来。这些低功耗广域网(lpwan)可以连接这些类型的设备。 但并非所有的LPWAN都是平等的。有许多可比较的技术,在频谱的授权和未授权部分都有运行。虽然这种选择对产品设计师来说是好事,但仔细考虑这些选项现在是至关重要的。有了正确的技术,LPWAN设备将能够无缝高效地连接。 低功耗广域网供电技术 传统的无线技术不太适合连接远程的电池供电设备,如传感器。随着传感器变得越来越普遍,市场需要更多的方式来连接这些传感器;以新的方式从这些数据中创造价值。 为了继续发展智能家居和智能零售技术,以及智能电网和工业物联网,我们需要连接以下设备:
每一个需求都对无线设计提出了独特的挑战。这就需要一个小型、紧凑的设备,它既坚固耐用,又能以最小的电池功率持续数年。
理论上讲,LPWAN技术能够连接任何小型的电池供电设备长达10年。这使得它非常适合于对数据需求最小的遥感器和其他应用程序,甚至对于那些位于地下或室内深处的应用程序也是如此。 二 生成命令行提示这里不再介绍bash,zsh,fish等各种shell的命令行提示的机制,没有人会手动编写这些命令行提示脚本,大家都会使用框架生成对应shell的命令行提示脚本。 我找了一些命令行解析框架,并且能自动生成命令行提示的,如Java的picocli,Node.js的commander.js,Python的argparse,以及Rust的clap-rs等。我都尝试了一下,最终发现还是clap-rs生成的命令行提示比较好,就是我说的那种带描述,而且还有文件名和目录自动提示,枚举值的提示等,关键是也非常简单。如果有同学有更好的命令行解析框架,希望能留言分享一下。 那么如何让其他语言,如Node.js,Java,Python这些语言编写的命令行工具也能实现和clap-rs的命令行提示一样的效果呢? 三 clap-rs的命令行YAML文件clap-rs包含了一个命令行工具的YAML规范。我们都知道命令行工具交互比较简单,主要就两个部分:参数和子命令。你看到类似 --conf xxx.yaml 这些带参数名的都属于参数,也可以省略参数名,如 convert a.jpg a.png 其中的a.jpg和a.png也都是参数。子命令就比较容易理解了,我们每天使用的git就是大量使用子命令的,如 git add xxx.jpg 这些。当子命令还可以继续套用子命令,子命令同时也拥有自己的参数。 基于命令行这样的特性,我们完全可以将命令行工具的使用规范通过YAML描述出来,现在一切皆可YAML。
这里我给出一个阿里云命令行工具的YAML定义,当然只是demo。如下: 这个命令行提示还不错,你只需要选择对应的子命令然后再进行提示就可以了。
大多数开发者喜欢带描述的命令行提示。并不是所有的子命令和命令参数都命名得非常好,如aliyun命令行给出的live子命令提示,大家可能完全不知道这个live是什么 (当然,作为阿里云的同学,我还是知道的, live是视频直播)。而像如下包括描述的命令行提示就直观很多: (编辑:阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
