03 2022 档案
摘要:什么是Nginx? Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、 腾讯等。
阅读全文
摘要:1 Playwright 简介 Playwright 是由微软开源的一个Web测试和自动化的框架,它具有以下特性: 跨平台 跨浏览器 跨语言(TypeScript、JS、Python、Java、.Net) 支持移动端 用过 Puppeteer 的同学肯定对这个框架不会陌生,它最早就是基于 Puppe
阅读全文
摘要:在 HTTP/2 的规范中定义了许多帧类型,每个帧类型由唯一的 8 位类型代码标识。每种帧类型在建立和管理整个连接或单个 stream 流中起到不同的作用。 特定的帧类型的传输可以改变连接的状态。如果端点无法维持连接状态的同步视图,则无法在连接内继续成功通信。因此,重要的是端点必须共享的理解状态,在
阅读全文
摘要:一.k近邻算法的基本概念,原理以及应用 k近邻算法是一种基本分类和回归方法。本篇文章只讨论分类问题的k近邻法。 K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。(这就类似于现实生活中少数服从多数
阅读全文
摘要:前言 对前端来说开发一个在线文档需要啥技术呢?想一下,开发一个在线文档我们可能要解决的问题: 最基础的文本编辑功能(哦?好像textarea就可以完成,那如果是富文本呢?)我们需要一个文档模型来描述文档; 富文本编辑器,提供富文本的编辑和渲染能力; 协同功能,不同的用户对同一份文档的编辑需要保持大家
阅读全文
摘要:什么是事件循环 在了解事件循环前,需要一些有关 JS 特性的前置知识。 JS 引擎是单线程的,直白来说就是一个时间点下 JS 引擎只能去做一件事情,而 Java 这种多线程语言,可以同时做几件事情。 JS 做的任务分为同步和异步两种,所谓 "异步",简单说就是一个任务不是连续完成的,先执行第一段,等
阅读全文
摘要:原则 0: 遵守公认的好的设计原则,比如说: DRY - Don't repeat yourself (不要重复自己) KISS - Keep it Simple, Silly (让设计尽可能的简单) YAGNI - You aren't gonna need it (只做刚刚好的设计,不要过度设计
阅读全文
摘要:1、WebSocket、 Engine.IO、 Socket.IO 之间的关系 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只
阅读全文
摘要:1 为什么需要 WebSocket WebSocket 是为了满足基于 Web 的日益增长的实时通信需求而产生的。 在传统的 Web 中,要实现实时通信,通用的方式是采用 HTTP 协议不断发送请求,即轮询(Polling)。 但这种方式既浪费带宽(HTTP HEAD 是比较大的),又导致服务器 C
阅读全文
摘要:普通代理 第一种 Web 代理原理特别简单: 下面这张图片来自于《HTTP 权威指南》,直观地展示了上述行为: 假如我通过代理访问 A 网站,对于 A 来说,它会把代理当做客户端,完全察觉不到真正客户端的存在,这实现了隐藏客户端 IP 的目的。当然代理也可以修改 HTTP 请求头部,通过 X-For
阅读全文
摘要:1. 基本概念 1.1. 流的历史演变 流不是 Node.js 特有的概念。它们是几十年前在 Unix 操作系统中引入的,程序可以通过管道运算符(|)对流进行相互交互。 在基于 Unix 系统的 MacOS 以及 Linux 中都可以使用管道运算符(|),它可以将运算符左侧进程的输出转换成右侧的输入
阅读全文
摘要:1. 主要内容 本文的主要内容: 介绍DNS是干什么的; 介绍DNS是如何工作的; 介绍DNS请求与响应的消息格式; 编程实现一个简单的DNS服务器; 2. DNS是啥 关于DNS是啥,想必学过计算机网络的应该都知道,它是Domain Name System的简写,中文翻译过来就是域名系统,是用来将
阅读全文