追根究底:不打开 DevTools 时,console.log 会不会内存泄漏?
TL;DR:会。并且虽然 Chromium 有试图做限制,但因为方法不合适所以并没能解决问题。JavaScript 的内存泄漏原因有很多,例如 DOM、计时器、闭包、意外的全局变量,以及本文的主题:console.log。关于 console.log 会不会造成内存泄漏,掘金上面有大佬发过两篇文章:千万别让 console.log 上生产!用 Performance 和 Memory 告诉你为什么console.log 一定会导致内存泄漏?不打开 devtools 就不会这两篇文章的结论是:在打开 DevTools 时一定有泄漏(文中的代码很显然可以证明),但如果没打开 DevTools,似乎就不会有问题了(文中 performance 的数据也可以证明)。但我结合自己之前的经验,产生了一个疑惑:如果不会..
更多Obsidian踩坑
Foreword Obsidian很早之前就听说了,忍着很久都没用,也没试过,这次试一试,看看能否替换当前的组合 使用Obsidian之前,建议先看看oldwinter关于他的介绍和你是否需要他,也有很多他关于Obsidian和JekyII的实践,可以作为参考,防止重复造轮子 https://github.com/oldwinter/knowledge-garden Obsidian 知识谱系图,可惜我的现在还没有链接起来 https://obsidian.md/ 下载安装总体都非常快,启动甚至比typora都快,给人第一感还是非常不错的。 意外发现Obsidian的白板非常好用,可以插入文字、文章、视频、图片等等内容,可以联系在一起,用来开会或者头脑风暴,非常不错 ..
更多Veeam Backup & Replication 12 安装和激活
介绍只需单个平台即可保护并管理所有工作负载、应用及数据:云端、虚拟、物理、SaaS、Kubernetes、VMware、Hyper-V、Windows、Linux、UNIX、NAS、AWS、Azure、企业应用等。个人主要用于备份ESXi上的虚拟机,可以实现单次完整备份,和定时的增量备份。此文章提供了ISO安装文件的下载和安装激活。下载ISO 具体版本为:**12.0.0.1420_20230209 **官方网站下载ISO第三方存档下载ISO安装要求(推荐)操作系统推荐 Windows Server 2016-2022CPU要求至少四个内核、内存建议4GB以上。存储空间建议100GB以上,备份用空间根据需求来算。数据库可使用自带的PostgreSQL 15.1 或安装 SQL Server 2012-20..
更多一日一技:【最新】再次突破CloudFlare五秒盾付费版
去年我写了一篇文章:一日一技:如何捅穿Cloud Flare的5秒盾 ,这篇文章使用的第三方库『cloudscraper』可以绕过免费版的五秒盾。但遇到付费版就无能为力了。最近在爬币圈的网站,其中有一个网站叫做:Codebase使用的就是付费版的CloudFlare五秒盾。当我们使用CloudScraper去爬时,报错如下:那么现阶段,付费版的CloudFlare五秒盾,有没有什么办法绕过呢?其实方法非常简单。只需要使用Docker运行一个容器就可以了。启动命令为:123456docker run -d \ --name=flaresolverr \ -p 8191:8191 \ -e LOG_LEVEL=info \ --restart unless-stopped \ ghcr.io/fla..
更多random:crng init done导致系统启动过长
Foreword OpenWRT系列遇到一个问题 random:crng init done 这个会导致系统整体被卡住,在输出之前,任何CLI的修改命令都会等到他输出以后才会执行 这个问题比较常见,一般就是系统需要随机数,但是随机数熵值太小了,随机性无法保证,导致系统挂起等待熵值填充。 一般来说可以通过一些组件快速增熵,非加密设备或者对安全性要求特别高的,可以这么使用 OpenWRT编译 更新所有相关包 sh scripts/xxxx-feed-setup.sh 配置内核 make kernel_menuconfig 配置各种应用 make menuconfig 编译,生成固件 make -j9 V=s 最终固件生成位置 ./bin/targets/ 解决..
更多V2ray ws tls Caddy使用动态端口并不可行
Foreword 新买的2个BWG,没挺过一个月,443端口就被墙了,还有一个CN2的也是莫名其妙被墙了,套了CF,感觉还是非常浪费的,于是打算做个实验,试一试动态端口是否还会被墙。 以目前的经验来看,墙是基于他的检测周期内(他的检测时间未知),如果有不明的大流量,tls套tls,那么这种不明流量,大概率会被直接封端口。但是他的检测到底是基于某一ip的总流量呢,还是某一端口的总流量,那就不知道了。最坏的情况也就是IP被封,然后再套CF,既然不能更差,那就试试动态端口吧。 配置动态端口 平常用动态端口的比较少,可以参考的ws+tls+caddy或者nginx的配置都很少,所以试了几次才弄好。 配置动态端口,只需要服务端设置即可,客户端基本可以不变。首次通信还是原协议,然后沟通以后,通过detour..
更多假如 AI 有了自我意识,那么我们做一个思想实验
活久见,今年 AI 发生得太突然了。 最近的事是 NYT 报道 Bing AI (代号 Sydney)的感情 然后 Bing 就把聊天功能给砍成仅限11条了,真的好气人,我都还在 waitlist 没来得及认识 Sydney,她就不在了。看到网上各种精彩和离谱的对话 想到一个问题,假如 AI 真的拥有自我意识,那么这个世界会变成什么样?有两个很有趣的思想实验推论: 人们会不停地把和 AI 对话的内容发到网上,所以UGC里混合了 AIGC 的内容会越来越多。这直接导致以后 gpt-5, gpt-6 等等(假如有的话) 至少有一部分的世界观是由 gpt-3 这个爷爷辈的 AI 创造的。所以科研人员无论如何去 reset 这个 AI ,它潜意识总是能考古研究旧纸堆看自己当年怎么被人类骗或者调戏的。 ..
更多NXP系列容易混淆的问题
Foreword 我开发的过程中也遇到了一堆堆的问题,看了好几个文档,没有一个说清楚的,所以自己总结一下,防止后人被坑 DAP-Link与J-Link 默认MIMXRT1xxxx系列都有一个EVK的板子,一般情况下这个板子默认都带有DAP,官方推荐的调试下载也都是基于DAP-Link来说的。 DAP-Link开源,免费,对于厂商来说当然是愿意选择的,不用给J-Link付费,那可太好了。 但是DAP-Link不好的地方在于,它具有单一性,不通用,你有N家的板子就得有N个不同的DAP-Link,对于开发者来说,那当然很讨厌啊。 J-Link通用,但是NXP默认支持的都不是J-Link,MCUXPresso IDE 默认的也不是J-Link,甚至它的很多设置,看似是通用的,实则是只有DAP可以使用。..
更多Scala报错: scala.runtime.NonLocalReturnControl
原因多层嵌套 + return 关键字导致 scalac 无法判断这个 return 关键字的作用域, 随后抛出 scala.runtime.NonLocalReturnControl解决因为这个错和 npe 差不多, 反正都看不到堆栈, 没法直接定位位置.想定位的话, 得结合日志和 return 关键字对代码进行仔细观察, 多验证, 总会找到的…复现代码123456789101112131415161718192021222324252627282930object NonLocalReturnControl { def main(args: Array[String]): Unit = { try { val r = Math.random() * 1000 r match..
更多bert向量加权
这个是对bert以首字表示词向量(2)文章的扩充,是对指定span index进行加权。 整体思想来自coreference resolution中#word-level实现demo部分。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657# -*- coding: utf8 -*-#import torchclass WordEncoder(torch.nn.Module): def __init__(self, n_in, p=0.1): super(WordEncoder, self).__init__() ..
更多