Author: admin

Go 编程语言的真正优势是什么?

Google 的Go 语言(又名Golang )在 2022 年 3 月发布 1.18 版,在其十多年的发展历程中,已经从对 alpha 极客的好奇发展成为经过实战考验的编程语言,背后是一些世界上最重要的语言。

为什么Docker和Kubernetes等项目的开发者会选择 Go ?Go 的定义特征是什么,它与其他编程语言有什么不同,最适合构建什么样的项目?

在本文中,我们将探讨 Go 的功能集、最佳用例、语言的遗漏和限制,以及 Go 的发展方向。

Go 语言小而简单

Go,是由谷歌员工开发的,主要是长期的 Unix 大师和谷歌杰出工程师 Rob Pike,但严格来说,它并不是一个“谷歌项目”。相反,Go 是作为一个社区主导的开源项目开发的,由领导层带头,他们对 Go 的使用方式和语言的发展方向有强烈的看法。

Go 意味着易于学习、易于使用并且易于其他开发人员阅读,Go 没有大量的功能集,尤其是与 C++ 等语言相比。

Go 的语法让人想起 C,这使得长期 C

在页面关闭时,前端上传监控数据的4个解决方案

概览

本文以 “前端监控上报数据” 的业务场景,重点解析在 页面实例关闭 时,如何将监控数据上传到服务端的解决方案。
其中,涉及到4种方案,分别为:

  • 同步XMLHttpRequest
  • img.src
  • navigator.sendBeacon
  • fetch keepalive

同步XMLHttpRequest

const data = JSON.stringify({
			  time: performance.now()
			});

var xhr = new XMLHttpRequest();

// 第三个参数false,表示当前请求是同步
xhr.open('post', 'http://api.wangxiaokai.vip/test'

javascript 异步操作的6种方法

异步操作的模式:

1 回调函数:callback
2 事件监听:onXxxx,addEventListener.
3 发布/订阅(设计模式)

4 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象

5 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同,Generator 函数将 JavaScript 异步编程带入了一个全新的阶段。

6 async 函数:ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是什么?一句话,它就是 Generator 函数的语法糖。

 

当然 .定时器和ajax也可以看作是.

更多请查看

https://www.php.cn/website-design-ask-488572.html

https://blog.csdn.net/ZYS10000/article/details/104601839/

docker常用笔记汇总

一 常用命令使用

docker version 查下docker版本

systemclt start docker 启动容器

docker search 镜像搜索

docker images 列出镜像

docker pull 镜像名 获取镜像

docker pull busybox:latest 最新镜像获取

docker save busybox:latest -o busybox.tar

导出镜像docker rmi busybox

删除镜像docker load -i busybox.tar

导入镜像docker run --name busybox_v1(自定义容器名字) busybox:latest(镜像名字)…

git 命令 ——git status、git diff

前言

当对项目做了更改时,我们通常需要知道具体改了哪些文件,哪些文件更改了没有暂存,哪些文件改了并且已加入到暂存区等待下次 commit。上述任务使用 git status 都可以帮我们解决。但是想要知道文件内部改了哪些地方 git status 就无能为力了。git status 最多只告诉你改没改,改哪了不知道。git diff 可以解决这个问题。

git status

git status 命令的输出十分详细,但其用语有些繁琐。 如果你使用 git status -s 命令或 git status --short 命令,你将得到一种更为紧凑的格式输出。 运行 git status -s ,状态报告输出如下:…

他来了!性能吊打 Node.js 和 Deno 的新一代 javaScript 运行时!

今天跟大家介绍一个最新开源的 javaScript 运行时:Bun.js

他来了!性能吊打 Node.js 和 Deno 的新一代 javaScript 运行时!_第1张图片

刚开源不到一个月就获得了 19.5k star!看起来马上就会成为 Node.js 和 Deno 的一大竞争对手了!

和传统的 Node.js 这种传统的 javaScript 运行时不同,Bun.js 直接内置了打包器、转译器、任务运行器和 npm 客户端,这意味着你不再需要 Webpack/Rollup/esbuild/Snowpack/Parcel/Rome/swc/babel 就可以直接运行 TypeScript、JSX!…

        

Beacon API的应用-在浏览器被关闭之前要调用一个后端提供的请求

遇到了一个需求就是,在浏览器被关闭之前要调用一个后端提供的请求,我一开始用axios,信誓旦旦的说,木有问题,后端后来告诉我,没有接收到有请求,这个时候我就去排除下原因,我debugger看了下,明明有发送请求只不过在unload的时候还是pending状态。猜测是不是请求被中断了。尝试用同步请求发现还是没有用,那我能想到的就是用原生的http同步请求,但是缺点也很明显,性能差。所以我又百思不得其解,终于在mdn上找到了一个api

window.addEventListener("unload", function() {
      let ISEdit = sessionStorage.getItem("isCanEdit") == "true" ? true : false;
      if (ISEdit) {
        let params = new FormData();
        params.append("patientContentId", self.getquestionId);
        navigator.sendBeacon(
          `${config.baseurl}/patient/deleteExclusive`,
          params
        );
        ;
      }
    });

要后端配合的就是需要post请求并且要改成formdata方式入参,大功告成

 

Question & Solution
Beacon API 不会延缓网页卸载,不会严重影响用户体验。

为了解决网页卸载时,异步请求无法成功的问题,浏览器特别实现了一个 …

iftop-监控服务器实时带宽情况

介绍Linux查看带宽网卡流量的工具:iftop

iftop的功能:

  • 实时流量
  • 反向解析IP
  • 显示端口信息

安装iftop

yum install iftop -y

相关参数介绍

标识说明

  • “<=”/"=>":流量的方向
  • “TX”:网卡发出的流量(出方向)
  • “RX”:网卡接收的流量(入方向)
  • “TOTAL”:网卡总流量(出和入方向总和)
  • “cum”:iftop运行到当前时间的总流量
  • “peak”:网卡的流量峰值
  • “rates”:分别表示2s,10s,40s的平均流量

效果截图省略