精选分类
文章列表
TCP拥塞控制
TCP拥塞控制所谓拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制和流量控制都是太那个个控制发送方发送数据的速率来达到效果的。
区别在于:拥塞控制是让网络能够承受现有的网络负荷,它是一个全局性的过程,设计所有主机,路由器以及网络传输性能有关的所有因素。而流量控制往往是指点对点的通信量的控制,即接收端控制发送端,即抑制发送端发送数据的速率,以便使接收端来得及接收。
因此,发送方在确定发送报文段的速率时,既要根据接收方的接收能力,又要从全局考虑不要使网络发送拥塞,因此,TCP协议要求发送方维护两个窗口:
接收窗口rwnd,接收方根据目前接收缓存大小所设定的窗
more...Git常用指令
仓库操作
git init: 初始化一个新的 Git 仓库。在当前目录下创建一个 .git 文件夹。
git clone <repository-url>: 克隆一个远程仓库到本地。
状态查看
git status: 查看当前仓库的状态,包括工作目录和暂存区的更改。
git diff: 显示工作目录与暂存区的区别。可以加上文件名查看特定文件的差异。
git log: 查看提交日志。可以加上 --oneline 参数简化输出。
提交操作
git add <file>: 将文件添加到暂存区。可以用 git add . 来添加当前目录下的所有文件。
git commit
more...vite和webpack
Vite 的特点
开发服务器启动速度:
Vite 的设计核心是提高开发环境的启动速度。它基于 原生 ES 模块,在启动时不需要像 Webpack 那样预打包整个项目,只在浏览器请求某个模块时进行按需编译。这使得即使在大型项目中,Vite 的启动速度依然非常快。
热更新(HMR):
Vite 利用 ES 模块 的特性,使其热模块替换(HMR)系统极其高效。它只重新编译并更新变化的模块,HMR 响应时间非常短,提供了更顺畅的开发体验,尤其是对大项目的改动也可以快速生效。
打包机制:
在生产环境中,Vite 使用 Rollup 进行打包。Rollup 是一个专注于处理 ES 模块的打包工具,
more...算法小记
算法1.冒泡排序思想
冒泡排序的基本思想是通过多次比较相邻的元素,将较大的元素逐步“冒泡”到数组的末端。
每一轮遍历后,未排序部分的最大元素会被移动到正确的位置。随着排序的进行,待排序的部分会逐渐减少,因为已经排序好的元素会积累在数组的末端。
步骤如下:
比较相邻元素:从数组的起始位置开始,比较相邻的两个元素。
交换顺序:如果前一个元素比后一个元素大,则交换它们的位置。
重复过程:对每一对相邻元素重复上述步骤,直到整个数组排序完成。
时间空间复杂度
时间复杂度:平均O(n^2)
空间复杂度:O(1)
代码实现
function bubbleSort(arr) {
let
more...