javascript的symbol

又学到了奇怪的知识。对sequelize的那个[Op.eq]之类的写法很好奇,比如:

{
   [Op.between]:[1,2]
}

看了下源代码,between这个就是个Symbol.for(“between”),这个symbol我从来没用过,就研究了下。

const test = Symbol.for("test");
let obj = {
    [test]: "for test"
};
console.log("obj==", obj); //{ [Symbol(test)]: 'for test' }
console.log(JSON.stringify(obj)); // {}
obj[test] = "replace test"; 
console.log(obj); //{ [Symbol(test)]: 'replace test' }
obj[Symbol("test")] = "aaabbb";
console.log(obj); //{ [Symbol(test)]: 'replace test', [Symbol(test)]: 'aaabbb' }
console.log(obj[test]); //replace tes
console.log(obj[Object(test)]); //replace tes
let symbols = Object.getOwnPropertySymbols(obj);
for(let i in symbols) {
    console.log(symbols[i],'=', obj[symbols[i]]); //Symbol(test) = replace test; Symbol(test) = aaabbb
}

乌克兰士兵从亚速钢铁厂撤离

今天刷抖音看到这条消息,从战略和历史而言,和中国当初的八佰非常相像,看了评论后,不仅为八佰的后代们感到悲哀,他们的牺牲可算是***。

之前看到一个对侵略还是解放的判断标准,我觉得非常适合:判断是侵越还是解放,只要看人民对他们是欢迎还是抵抗便知。

所以,看到现在的小朋友们同情抗日战争竟然打了八年我就觉的抗日的结果算是**

snapraid 代码浏览

最近一直在折腾硬盘上的数据。就研究了下snapraid 的代码。

snapraid非常适合做数据备份使用。我其实很好奇btrfs的single模式为啥不加个类似的功能,这样相当于直接为single模式来了个带raid5功能的备份。

snapraid的校验非常的简单暴力,直接将文件数据按块读取到内存中,然后类似模拟拼接为一个raw的文件的数据结构,然后使用raid5的算法,计算之后,将校验写入校验盘的文件中。恢复的时候,也使用的是raid5的恢复方法。

因为是基于对文件进行的操作,所以与分区格式无关系。但这样一来,对于频繁的文件读写或者移动,或者实时的写入,就不太适合了。

win10 精简版安装windows defender

我之前将我的电脑使用精简版的win10安装了,一直以为自带杀毒软件了。不经意间,发现没有安全中心,打开 安全中心后,发现竟然没有杀毒软件,这就玩大发了。于是,想尽办法把自带的杀毒软件找回来了。

  1. 管理员权限打开powershell, 使用以下命令修复

    sfc /SCANNOW
    Dism /Online /Cleanup-Image /ScanHealth
    Dism /Online /Cleanup-Image /CheckHealth
    DISM /Online /Cleanup-image /RestoreHealth
    

    然后,重启, 更新。如果简化版不是做的太好的话,安全中心和杀毒软件应该就回来了。启动即可。 但我用的版本做的太好了。在系统盘的目录中可以看到已经有软件了,但就是启动不了。

  2. 如果启动不了,那就改注册表, 改策略

    修改注册表位置:

    计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender
    

    这里面有个DisableAntiSpyware的项, 修改为1。然后重启 然后安全中心中的defender就可以正常启动了。 如果安全中心的病毒检测部分的实时监控打不开,则需要修改策略:Win+r 然后输入gpedit.msc, 修改为以下内容 1.png

  3. 为什么不用第三方软件 在我这边第三方软件影响运行速度。。。占资源,我的win10运行在虚拟机中,只分配了4G的内存资源