Author: admin

js 实现sleep函数的几种方式

sleep函数作用是让线程休眠,等到指定时间在重新唤起。
方法一:这种实现方式是利用一个伪死循环阻塞主线程。因为JS是单线程的。所以通过这种方式可以实现真正意义上的sleep()。
function sleep(delay) {
  var start = (new Date()).getTime();
  while ((new Date()).getTime() - start < delay) {
    continue;
  }
}

function test() {
  console.log('111');
  sleep(2000);
  console.log('222');
}

test()

 

方法二:定时器

function sleep1(ms, callback) {
                setTimeout(callback, ms)
            }
            //sleep 1s
            

Chrome调试WebSocket

var ws = new WebSocket('ws://localhost:9222/devtools/page/3c5c05fa-80b7-4cfe-8d1d-ebe79a7a5730');

ws.onopen= function() {

ws.send('{"id": 1, "method": "Page.navigate", "params": {"url": "https://www.fangdushi.com"}}')

};

ws.onmessage= function(evt) {

console.log('Received a message from the server!'+evt.data);

};

api文档地址https://chromedevtools.github.io/devtools-protocol/1-2

 

 

Linux ubuntu centos如何查看目录大小

Linux ubuntu centos如何查看目录大小

du命令

参考文章:how to check directory size in Linux
用于显示目录或文件的大小。

  • 显示当前目录文件或者文件占用空间:du
  • 显示指定文件或文件夹的大小:du test.txt
  • 方便阅读的格式查看目录所占空间情况:du -h test
  • 仅显示当前文件夹的总计:du -s *
  • 以方便阅读的方式查看指定目录层级的空间占用情况:du -lh --max-depth=1

du命令排序

查看目录大小的命令是du(当然也可以查看文件大小),例如:du ems_data,就是查看ems_data目录下各子目录的大小;du,就是查看当前目录下各子目录的大小;du *,就是查看当前目录下各子目录和文件的大小。

为了提高查看效果,我们需要对结果进行排序,因为du的命令结果很乱,例如:

  • 从大到小排列:du ems_data | sort -nr
  • 按目录名排列:du ems_data | sort +1

Stack Overflow 2022 开发者调查:Rust/PostgreSQL 最受喜爱,PHP 薪水偏低

Stack Overflow 2022 开发者调查报告现已出炉。Stack Overflow 年度开发者调查是面向全球开发者进行的规模最大、最全面的调查,调查涵盖了从开发者喜爱的技术到工作偏好等内容。2022 年是 Stack Overflow 发布年度开发者调查报告的第十二年,有来自 180 个国家 / 地区的 73000 多名开发人员参与了这个调查。其中,依旧是来自美国和印度的受访者数量最多,其次是德国和 UKI(英国和爱尔兰);仅有 632 份调查反馈来自中国开发者,占比为 0.88%。

此次调查的一些亮点内容如下:

  • 在线学习编程的比例从 60% 上升到了 70%,45 岁以上的受访者喜欢从书本上学习知识,年轻人(18 岁以下)依赖在线学习与资源。
  • Docker 似乎正在成为专业开发人员的基本工具,从 55% 增加到 69%。
  • Rust 已连续第七年成为最受喜爱的语言,87% 的开发人员表示他们希望继续使用它。
  • Phoenix 取代 Svelte

Vim 9.0 正式发布

将 Vim 9.0 版本献给 Sven Guckes,他于 2022 年 2 月去世。Sven 是 Vim 的核心维护者,他注册了 vim.org 域名并创建了第一个 Vim 网站,我们将以此纪念他。

经过多年的逐步改进,Vim 现在推出了一个重要版本,向前迈出了一大步。除了许多小的补充改进之外,该版本的重点是 Vim 脚本语言的一个新的变化:Vim9 Script。

上一个版本是 2019 年 12 月发布的 8.2 版。由于最新的源代码总是会在 GitHub 上提供,因此许多用户已经安装了后来的补丁版本(有超过 5000 个),这些变化也已经被许多用户试用过了。在 8.2 的基础上,许多错误得到了修复、安全问题得到了解决,代码覆盖率得到了极大的提升。这个版本比以前的任何版本都更可靠。

Vim9 Script

Vim 的脚本随着时间的推移而不断发展,同时保留了向后的兼容性。这意味着过去的错误选择往往无法改变,与 …

Linux 网络性能的 15 个优化建议!

大家好,我是飞哥!

最近我出了一本非常受欢迎的新书──《深入理解Linux网络》。在这本书中我们深入地讨论了很多内核网络模块相关的问题。讨论了一个网络包是如何从网卡到达用户进程的,聊了同步阻塞和多路复用 epoll,也详细讨论了数据是如何从进程发送出去的等等一系列深度的网络工作原理。

这本书首发当日就登上了京东的科技类销量日冠军,刚上市三个星期就已经开始了第三次的加印,可以说是非常的热门。如果你能看完这本书,你就会正和庖丁一样,从今日往后我们看到的也不再是整个的 Linux (整头牛)了,而是内核的内部各个模块(筋⻣肌理)。…

            

HTTP/3 重磅来袭

一.现状:

HTTP/3 的基础即谷歌多年探索的基于 UDP 的 QUIC 协议。与 TCP 相比,使用 UDP 可以提供更大的灵活性,并且可以使 QUIC 完全于用户空间中实现——对协议实现的更新不像 TCP 那样需要绑定到操作系统更新。使用 QUIC,可以简单地将 HTTP 级别的流映射到 QUIC 流的顶部,从而继承 HTTP/2 的所有优点,而不会产生队头阻塞。HTTP/3 虽仍处于草案状态,但很多用户已经跃跃欲试。

二.优势

HTTP/3 利用 QUIC 加速 HTTP 请求,QUIC 提供比 TCP 和 TLS 更高的加密和性能
QUIC 是一种默认加密的新传输协议,旨在加快 HTTP