一文看懂“铁路图”

在学习《javascript语言精粹》的时候,遇到了一种叫做铁路图的东西,对其百思不得其解。经过查找资料和分析,总结出如下规律。

简介

铁路图(railroad diagram),又叫语法图(syntax diagrams),是一种表示形式语法的方式,是巴科斯范式和扩展巴科斯范式的图形化表示。

巴科斯范式(英语:Backus Normal Form,缩写为 BNF),又称为巴科斯-诺尔范式(英语:Backus-Naur Form,缩写同样为 BNF,也译为巴科斯-瑙尔范式、巴克斯-诺尔范式),是一种用于表示上下文无关文法的语言,上下文无关文法描述了一类形式语言。它是由约翰·巴科斯(John Backus)和彼得·诺尔(Peter Naur)首先引入的用来描述计算机语言语法的符号集。

尽管巴科斯范式也能表示一部分自然语言的语法,它还是更广泛地使用于程序设计语言、指令集、通信协议的语法表示中。大多数程序设计语言或者形式语义方面的教科书都采用巴科斯范式。在各种文献中还存在巴科斯范式的一些变体,如扩展巴科斯范式 EBNF 或扩充巴科斯范式 ABNF。
https://zh.wikipedia.org/wiki/%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F

基本规则

  1. 从左边界开始,沿着轨道到右边界。
  2. 沿途,你在圆框中遇到的是字面量,在方块中遇到的是规则或描述。
  3. 任何沿着轨道能走通的序列都是合法的。
  4. 任何不能沿着轨道走通的序列都是非法的。
  5. 末端只有一个竖条的铁路图,表示允许在任意一对符号中插入空白。而在末端有两个竖条的铁路图则不允许。

继续阅读一文看懂“铁路图”

JavaScript模块化间的区别[commonjs,amd,cmd,umd,es6][转]

JS-模块化进程

随着js技术的不断发展,途中会遇到各种问题,比如模块化。

那什么是模块化呢,他们的目的是什么?

定义:如何把一段代码封装成一个有用的单元,以及如何注册此模块的能力、输出的值
依赖引用:如何引用其它代码单元

到目前为止,大概分为以下几个里程碑式节点。

原始的开发方式 ---> CommonJS ---> AMD ---> CMD ---> UMD ---> ES6Module

继续阅读JavaScript模块化间的区别[commonjs,amd,cmd,umd,es6][转]

亲测windows 10 正确激活方式与密钥分享

本子买来预装的是windows 10 家庭版,想着换成专业版的,下载请至itellyou自行查找需要的版本,我下载的信息如下:

文件名: cn_windows_10_consumer_edition_version_1809_updated_sept_2018_x64_dvd_f7b9c8a9.iso
SHA1: 81766e9fe5793e8781c5336e513ebceedd2f7b90
文件大小: 4.74GB
发布时间: 2018-11-16

下载地址(使用迅雷):

ed2k://|file|cn_windows_10_consumer_edition_version_1809_updated_sept_2018_x64_dvd_f7b9c8a9.iso|5085956096|226AB51B290C3C0393A6A17096CB7497|/

安装完找了一组激活密钥进行激活时,提示0x8007007B错误,详细描述可参考官网说明:
https://support.microsoft.com/zh-cn/help/10738/windows-10-get-help-with-activation-errors

心想密钥不行,就找工具吧,百度了很多,甚至关了防火墙、病毒防护,下载了好几个工具均没用,最后亲自测试了下面的方式,激活顺利成功。
继续阅读亲测windows 10 正确激活方式与密钥分享

2步解决window10下启动VMware Workstation虚拟机 时“与Device/Credential Guard 不兼容”的错误提示

详细的问题描述和解决方案可参考VMware官网提供的答案。

https://kb.vmware.com/s/article/2146361

继续阅读2步解决window10下启动VMware Workstation虚拟机 时“与Device/Credential Guard 不兼容”的错误提示