Helios
Helios
@proYang 那你把简历给我咯😂
@kaiye 很高兴您看的这么仔细,问题已经修改了。对于第三个问题,感觉是github的md的一个小bug,我原文中写的就是”对象字面量(object)应该是静态的“,结果在“静态”后面加了一个乱码,现在我通过在“静态”中间加个一个空格这样小tricky的方式暂时解决掉了。
@riskers 是的,刚开始就是在折腾怎么写类型,我们在写redux的时候用了一个`redux-actions`的库,那个对于我这种无any论的人来说会更为痛苦,给你看个简单的  这个是我根据`redux-actions`的@type文件慢慢找的。 后来我感觉就算这样定义了也没人看得懂,我就干脆设置为any了。  虽然在开发时候的问题是在写类型的问题,但是开发的时候能让编辑器自动的提示也是带来了很大的效率,还有就是后面重构的时候,无论重构力度的大小,就算把函数的参数轻微的改变,带来的影响ts也能帮着解决。哈哈。
@leotian 额,这虽然是个拼写错误但是挺严重的,应该是“如果iterable和iterator是一个对象的话”。(已经修改) 我再给您进一步解释一下: 因为最开始`iterable `和`iterator`不是一个对象,因为在`[Symbol.iterator]() {return this}`本应该返回一个`iterator`的,返回了本身(this),并且本身(this)上有对应的next方法,所以可以说`iterable `和`iterator`是一个对象。
@leotian 先回答第一个问题哈,我们普通写的`const o = {}`这个是对象的一种,一般我们称做为*对象字面量*,函数也是对象的。 剩下的几个代码块都基本是规范的问题(也是我文章写的不清楚,5555), 第一个代码块,可以看看已经实现的了提案[proposal-object-rest-spread](https://github.com/tc39/proposal-object-rest-spread),虽然都是`rest/spread`,但是针对的主体不同(注意一个是elements一个是properties) 对于第二个代码块:可以看看[sec-map-iterable](https://www.ecma-international.org/ecma-262/6.0/#sec-map-iterable)规范,因为map是实现了`iterable `的,所以是可以通过`[...]`进行消耗的。 第三个代码块也是规范的问题(同第二个代码块),因为对象字面量是没有实现的`iterable `的,你要是下面这样就能被迭代了 ```javascript const obj = { }; obj[Symbol.iterator] = function* () { yield { name: "doug" } yield { age:...
@leotian 对象的的解构不是消耗的iterable的,对象的rest是得到尚未被解构的可枚举属性key。 我觉得把rest就单纯的翻译为剩余就可以吧
## df [df命令](https://www.runoob.com/linux/linux-comm-df.html) 检查Linux中文件系统的磁盘空间的占用情况。可以利用这个命令来获取硬盘被占用了多少空间,还剩下多少空间。
## 免密登录XXX机器 ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
查看d进程:ps -ld|awk '{if($2=="D")print $0}'
### ipset的使用 [利用 ipset 封禁大量 IP](https://fixatom.com/block-ip-with-ipset/) #### 1. 简单流程: ```shell ipset create vader hash:ip iptables -I INPUT -m set --match-set vader src -j DROP ipset add vader 4.5.6.7 ipset add...