NOT

垃圾回收机制(升级)

普通理解 垃圾回收机制有两种方式,一种是引用法,一种是标记法 引用法 就是判断一个对象的引用数,引用数为 0 就回收,引用数大于 0 就不回收。请看以下代码 let obj1 = { name: "柯基", age: 22 }; let obj2 = obj1; let obj3 = obj1; o ......
机制 垃圾

从输入url到页面展现发生了什么

大致是如下步骤: 根据地址栏输入的地址向 DNS(Domain Name System)查询 IP 通过 IP 向服务器发起 TCP 连接 向服务器发起请求 服务器返回请求内容 浏览器开始解析渲染页面并显示 关闭连接 一.DNS 域名解析的过程是逐级查询的 浏览器缓存: 首先会向浏览器的缓存中读取上 ......
页面 url

基于Sentry的前端性能监控平台搭建与应用

一、Sentry 简介 Sentry 是一套开源的实时异常收集、追踪、监控系统,支持几乎所有的语音和平台。 这套系统由对应各种语言的 SDK 和一套庞大的数据后台服务组成,通过 Sentry SDK 的配置,可以上报错误关联的版本信息、发布环境。同时 Sentry SDK 会自动捕捉异常发生前的相关 ......
前端 性能 Sentry 平台

BLOG=2

7-1 菜单计价程序-4 分数 100 全屏浏览题目 切换布局 作者 蔡轲 单位 南昌航空大学 本体大部分内容与菜单计价程序-3相同,增加的部分用加粗文字进行了标注。 设计点菜计价程序,根据输入的信息,计算并输出总价格。 输入内容按先后顺序包括两部分:菜单、订单,最后以"end"结束。 菜单由一条或 ......
BLOG

实现无感刷新token

目录需求实现问题解决注意事项: 需求 当 token 过期的时候,刷新 token,前端需要做到无感刷新 token,即刷 token 时要做到用户无感知,避免频繁登录。实现思路 方法一 后端返回过期时间,前端判断 token 过期时间,去调用刷新 token 接口 缺点:需要后端额外提供一个 to ......
token

axios、ajax、fetch三者的区别

1.ajax:是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新 优缺点: 1)局部更新 2)原生支持,不需要任何插件 3)原生支持,不需要任何插件 4)可能破坏浏览器后退功能 5)嵌套回调,难以处理 2.axios:是一个基于 pr ......
axios fetch ajax

axios请求并发限制

队列有x个之后执行 正文 在网上看到这么一道题: 首先来实现一个分割数组的函数~ const group = (list = [], max = 0) => { if (!list.length) { return list; } let results = []; for (let i = 0, ......
axios

axios请求失败、请求超时重新发送请求

一、 axios 重新发送请求基础版(所有的请求错误,不论是请求超时还是接口请求出错都会进行重试) 以下是一个完整的文件,看懂了的话 axios 重试请求也就基本会了,不会的话直接复制到项目里,也可以直接调用使用。 创建一个 axios 实例,并在实例中设置请求超时时间 timeout、重试请求次数 ......
axios

大文件断点续传

spark-md5 spark-md5.js号称是最适合前端最快的算法,能快速计算文件的 md5。 spark-md5 提供了两个计算 md5 的方法。一种是用SparkMD5.hashBinary() 直接将整个文件的二进制码传入,直接返回文件的 md5。这种方法对于小文件会比较有优势——简单而且 ......
断点 文件

实现多个大文件拖拽上传+大文件分片上传+断点续传+文件预览

技术关键词 前端:@vue/cli-service+element-ui+axios 后端:node.js+koa 思路分析 拖拽上传 拖拽上传是利用 HTML5 新特性实现拖拽上传,详细用法可阅读 MDN-drag 利用 dragover 事件(当某物被拖动的对象在另一对象容器范围内拖动时触发此事 ......
文件 断点 多个

纯css js 写出星空背景

每次刷新星星的位置都是随机的,可以根据自己需求调整星星的数量和位置,具体代码如下,直接复制就可运行 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>Random Starry Sky</title> 5 <style> 6 body { 7 margin: ......
星空 背景 css js

矢量图设计软件Sketch,专为Mac用户打造

Sketch是一款专门为Mac用户设计的矢量图设计软件,它拥有简洁直观的界面和强大的功能,使得用户能够轻松地创建和编辑各种矢量图设计。 点击获取Sketch 首先,Sketch具有强大的矢量图编辑功能。它支持多种矢量图形元素,如线条、矩形、椭圆、多边形等,并允许用户对这些元素进行各种操作,如调整位置 ......
矢量图 矢量 设计软件 专为 用户

SRE方法论之监控设计

监控的4个黄金指标 《SRE:Google运维解密》中提出,监控系统的四个黄金指标是:延迟(Latency)、流量(Traffic)、错误(Errors)、饱和度(Saturation。 延迟:服务处理某个请求所需要的时间。在微服务中通常提倡快速失败,服务不要憋着,这些延迟请求要尽快反馈给开发人员分 ......
方法论 方法 SRE

二维码保存到本地Java代码

工具类 import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; ......
代码 Java

数据库事务

事务的四个属性 事务的传播属性 事务并发问题 数据库锁机制 事务隔离级别 事务的传播属性 当一个事务方法被另一个事务方法调用时,应指定该事务如何传播,例如是在当前事务运行还是再开启一个事务运行 用注解 @Transactionl(propagation=*) 声明传播方式 七种传播属性REQUIRE ......
事务 数据库 数据

Vue2 keep-alive实现原理

Vue.js 内部将 DOM 节点抽象成了一个个的 VNode 节点,keep-alive 组件的缓存也是基于 VNode 节点的而不是直接存储 DOM 结构。它将满足条件(pruneCache 与 pruneCache)的组件在 cache 对象中缓存起来,在需要重新渲染的时候再将 vnode 节 ......
keep-alive 原理 alive Vue2 keep

Vue3 的 effect、 watch、watchEffect 的实现原理

所谓 watch,就是观测一个响应式数据或者监测一个副作用函数里面的响应式数据,当数据发生变化的时候通知并执行相应的回调函数。 Vue3 最新的 watch 实现是通过最底层的响应式类 ReactiveEffect 的实例化一个 reactive effect 对象来实现的。它的创建过程跟 effe ......
watchEffect 原理 effect watch Vue3

Vue3 模板引用 ref 的实现原理

什么是模板引用 ref ? 有时候可以使用 ref attribute 为子组件或 HTML 元素指定引用 ID。 <template> <input ref="input" /> </template> <script> import { defineComponent, ref } from " ......
原理 模板 Vue3 Vue ref

Vue插槽(Slot)的实现原理

实现原理(简单文字) slot 又名插槽,是 Vue 的内容分发机制,组件内部的模板引擎使用 slot 元素作为承载分发内容的出口。插槽 slot 是子组件的一个模板标签元素,而这一个标签元素是否显示,以及怎么显示是由父组件决定的。slot 又分三类,默认插槽,具名插槽和作用域插槽 实现原理:当子组 ......
原理 Slot Vue

源码解析axios拦截器

从源码解析axios拦截器是如何工作的 axios 拦截器的配置方式 axios 中有两种拦截器: axios.interceptors.request.use(onFulfilled, onRejected, options):配置请求拦截器。 onFulfilled 方法在发送请求前执行,接收 ......
源码 axios

前端应该如何封装高扩展的axios请求库

我看了很多 axios 的封装,但是我感觉他们的封装。也不够自由,主要是写完之后,如果以后有东西需要修改的时候,还要回去拦截器进行修改。但是有一些东西拦截器可能是你以后的业务需求才需要添加的。 我就在想我能不能拦截器做成插件式的模式进行动态配置呢?例如下面的效果,点击添加一个请求缓存器,请求的时候就 ......
前端 axios

Core 6.0 webapi ‘报错InvalidOperationException:无法解析“ Microsoft.AspNetCore.Http.IHttpContextAccessor”类型的服务’

因接口版本升级 并使用core 6.0 却发现HttpContext.Current.Request 用不了 所以在网上找了半天 说是使用Microsoft.AspNetCore.Http.IHttpContextAccessor private IHttpContextAccessor _http ......

2020 NOIP 补题

P7113 [NOIP2020] 排水系统 拓扑排序,但是 \(\_\_int128\)。 #include <bits/stdc++.h> using namespace std; #define endl '\n' #define inl inline #define eb emplace_ba ......
2020 NOIP

重写Java中Arrays数组工具类提供的sort()排序函数中的比较器类Comparator的compare()方法!

排序方法是我们日常开发或者写功能函数,或者实现算法时,常调用的方法。 有时甚至,开发人员自己还要写一写排序算法。 今天,我们来修改Java官方提供的Arrays工具类中的静态排序sort()方法。 反问一下,为什么要重写呢? 官方提供的还不够你用? 回答:确实不够用,官方默认是对数字,特别是sort ......
数组 Comparator 函数 compare 工具

基于物理层网络编码的相位同步算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 基于物理层网络编码的相位同步算法是一种利用物理层网络编码技术来实现相位同步的算法。这种算法的原理是将两个或多个相位不同的信号进行叠加,产生一个叠加信号,然后通过分析叠加信号的相位信息来实现相位同步。 物理层网络编 ......
物理层 相位 算法 编码 物理

VIM 使用技巧 —— 全选删除

操作步骤 确保进入普通模式,按下ESC 跳转到文件开头 —— gg 进入可视模式 —— V, 也就是 shift+v 将光标移到文件末尾 —— G, 也就是 shift+g 删除 —— d 解释 1. 可视模式 可视模式允许我们选择一块文本区域,然后在上面进行编辑,比如删除、替换等。Vim 中有在三 ......
使用技巧 技巧 VIM

VIM 使用技巧 —— 四种模式

VIM,作为一款强大而高效的文本编辑器,以其独特的模式体系而闻名。在VIM中,有四种主要的模式,每一种都赋予用户不同的功能和操作。本文将深入探讨这四种模式,以帮助你更好地理解和利用VIM编辑器。 1. 普通模式(Normal Mode) 普通模式是VIM的默认模式,允许用户浏览和导航文本。在普通模式 ......
使用技巧 模式 技巧 VIM

vue路由通过props传参

方式一:布尔模式 方法一:直接传参 路由配置: { path: '/user/:id/:price', name: 'User', component: User, props: true } 页面 A <template> <div> <router-link :to="{ name: 'User ......
路由 props vue

scoped实现原理及穿透方法

何为 scoped 在 vue 文件中的 style 标签上,有一个特殊的属性:scoped。当一个 style 标签拥有 scoped 属性时,它的 CSS 样式就只能做用于当前的组件,也就是说,该样式只能适用于当前组件元素。经过该属性,可使得组件之间的样式不互相污染。若是一个项目中的全部 sty ......
原理 方法 scoped