当前位置: 首页 > news >正文

2024《》

vue-cli到哪做了那些事

vue-cli是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,快速搭建Vue.js项目。

vue cli内置了webpack的一些功能,这些是用webpack打包时需要我们自己配置的,例如:

1.ES6代码转换成ES5代码

2. scss/sass/less/stylus转css

3. .vue文件转换成js文件

4. 使用 jpg、png,font等资源文件

5. 自动添加css各浏览器产商的前缀

6. 代码热更新

7. 资源预加载

8. 每次构建代码清除之前生成的代码

浏览器存储的方式有哪些

 

浏览器 cookie 和 session 的认识 

介绍下304过程 

HTTP 状态码中的 304 状态码表示“未修改”(Not Modified),通常在浏览器向服务器请求资源时使用。下面是关于 304 状态码的简要介绍:

 

304 状态码的过程:

  1. 浏览器缓存检查

    • 当浏览器向服务器请求资源时,会携带上次请求该资源时服务器返回的缓存标识(如 ETag 或 Last-Modified)。
  2. 服务器检查资源状态

    • 服务器接收到请求后,会检查请求中携带的缓存标识与服务器当前资源的标识是否一致。
  3. 资源未修改

    • 如果服务器检测到请求的资源自上次请求以来未发生变化,即资源未被修改,则服务器会返回 304 状态码给浏览器。
  4. 浏览器处理

    • 浏览器收到 304 状态码后,表示本地缓存的资源仍然有效,浏览器会从本地缓存加载资源,而不是重新请求服务器获取资源。

304 状态码的优势:

  • 减少网络流量:通过避免重复传输未更改的资源,可以减少网络流量和加快页面加载速度。
  • 节省服务器资源:减少了服务器处理相同请求的频率,节省了服务器资源。

网页颜色变灰 

// 获取 body 元素
var body = document.getElementsByTagName("body")[0];// 修改背景色为灰色
body.style.backgroundColor = "gray";// 修改文本颜色为灰色
body.style.color = "gray";

 

nginx处理跨域-反向代理(原理) 

原理:

  1. 配置 Nginx

    • 在 Nginx 的配置文件中,可以使用 add_header 指令来添加 CORS 相关的响应头部。
    • 通常需要在目标服务器的代理位置或者对应的 location 块中进行配置。
  2. 添加响应头

    • 使用 add_header 指令,可以向响应头部添加 CORS 相关的信息,如允许的 Origin、允许的方法(GET、POST 等)、允许的头部字段等。
  3. 示例配置

    • 下面是一个简单的示例配置,用于在 Nginx 中处理跨域请求:

  4. location /api/ {add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';if ($request_method = 'OPTIONS') {add_header 'Access-Control-Max-Age' 1728000;add_header 'Content-Type' 'text/plain; charset=utf-8';add_header 'Content-Length' 0;return 204;}
    }
    

    4.重启 Nginx

    • 保存配置文件后,需要重启 Nginx 服务使配置生效。

 

性能优化-如何评价页面性能好坏,用什么指标 

  1. 加载时间

    • 页面加载时间(Page Load Time):从用户发起请求到页面完全加载显示所需的时间。
    • 首次内容渲染时间(First Contentful Paint):页面上首次有内容渲染的时间,用户能够看到页面内容的时间。
    • DOM 加载时间(DOM Load Time):DOM 树加载完成的时间,影响页面的可交互性。
  2. 资源加载

    • 资源加载时间:各种资源(如图片、CSS、JavaScript 文件)加载完成的时间。
    • 缓存利用率:浏览器是否有效利用缓存,减少不必要的资源请求。
  3. 交互性能

    • 响应时间(Response Time):用户与页面交互后,页面作出响应的时间。
    • 滚动性能(Scroll Performance):页面滚动时的流畅度和响应速度。
  4. 渲染性能

    • 重绘与重排(Repaint & Reflow):页面的布局和样式改变时,浏览器重新绘制和重排元素的次数。
    • 帧率(Frame Rate):页面的动画和交互效果是否达到流畅的 60 FPS。

 

优化手段 从几秒到几毫秒 

  1. 减少 HTTP 请求

    • 合并 CSS 和 JavaScript 文件,减少文件数量和大小。
    • 使用 CSS 精灵将多个小图片合并为一个大图,减少图片请求次数。
  2. 使用 CDN 加速

    • 将静态资源部署到内容分发网络(CDN),加速资源的加载速度。
  3. 压缩资源

    • 压缩 HTML、CSS、JavaScript 代码,减小文件大小。
    • 使用图片压缩工具对图片进行压缩,减小图片文件大小。 
  4. 延迟加载

    • 对于非关键资源,可以延迟加载,等页面主要内容加载完毕后再加载其他资源。
  5. 使用缓存

    • 设置合适的缓存策略,让浏览器能够缓存页面资源,减少重复请求。
  6. 减少重排和重绘

    • 通过合并样式表、优化 DOM 结构等方式减少页面的重排和重绘操作。
  7. 使用 Web Workers
    • 将一些耗时的任务交给 Web Workers 处理,以减轻主线程的负担,提高页面响应速度。

过去遇到有挑战的事情,怎么解决的 

分析问题:

  1. 首先,我会深入了解问题的本质和背景,明确问题的范围和影响。这有助于我全面理解挑战,并为解决问题制定合适的方案做好准备。

  1. 持续学习:解决问题的过程也是一个学习的过程。无论问题的解决结果如何,我都会总结经验教训,明白成功的原因和失败的原因,以便将这些经验运用到未来的挑战中。

  2. 保持乐观:在面对挑战时,我会保持乐观的态度。我相信每个问题都有解决的方法,而挑战也是成长和进步的机会。

 

 xss攻击 怎么解决 

跨站脚本攻击(XSS)是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本,来获取用户信息或利用用户的权限进行攻击。以下是一些常见的方法来解决 XSS 攻击:

  1. 输入过滤和验证

    • 对用户输入的数据进行严格的过滤和验证,确保不含有恶意脚本。可以使用白名单机制,只允许特定类型的输入,过滤掉潜在的恶意代码。
  2. 转义输出

    • 在将用户输入的数据输出到网页上时,需要对其进行合适的转义处理,以防止其中的 HTML、JavaScript 或其他脚本代码得以执行。比如将 < 转义为 &lt;> 转义为 &gt; 等。

 

 CSRF避免方式:

添加验证码
使用token
服务端给用户生成一个token,加密后传递给用户

webpack如何实现代码分离 

1.入口起点:使用 entry 配置手动地分离代码。
2.防止重复:使用 CommonsChunkPlugin 去重和分离 chunk。
3.动态导入:通过模块的内联函数调用来分离代码。

常见的Webpack Loader? 如何实现一个Webpack Loader(NO) 

loader: 是一个导出为函数的javascript模块,根据rule匹配文件扩展名,处理文件的转换器。
file-loader:把文件输出到一个文件夹中,在代码中通过相对 URL 去引用输出的文件 (处理图片和字体)

url-loader: 与file-loader类似,区别是用户可以设置一个阈值,大于阈值会交给file-loader处理,小于阈值时返回文件base64 形式编码 (处理图片和字体)

babel-loader:把 ES6 转换成 ES5
sass-loader:将SCSS/SASS代码转换成CSS 

相关文章:

2024《》

vue-cli到哪做了那些事 vue-cli是vue.js的脚手架&#xff0c;用于自动生成vue.jswebpack的项目模板&#xff0c;快速搭建Vue.js项目。 vue cli内置了webpack的一些功能&#xff0c;这些是用webpack打包时需要我们自己配置的&#xff0c;例如&#xff1a; 1.ES6代码转换成ES5代…...

【Web】Java反序列化之从CC3看TemplatesImpl的利用

目录 关于TemplatesImpl 关于TemplatesImpl加载字节码 CC3链分析 纯CC3demo 根据CC3改CC6 关于TemplatesImpl TemplatesImpl 是 Java 中的一个类&#xff0c;通常与 Java 反序列化漏洞相关的攻击中被使用。该类位于 Java 标准库中的 javax.xml.transform 包下。 在 Java…...

【Elasticsearch索引】Recovery恢复索引

文章目录 索引恢复恢复列表获取恢复信息响应详细信息正在进行的恢复响应解析高级设置 本地分片恢复事务日志 索引恢复 索引恢复提供了对正在进行的索引分片恢复的洞察。恢复状态可以针对特定的索引报告&#xff0c;也可以在集群范围内报告。 恢复列表 recovery命令是索引分片…...

如何在 Linux 中快速清空文件而不删除它们?

在Linux系统中&#xff0c;清空文件而不删除它们是一种常见的需求&#xff0c;特别是在需要保留文件结构或权限的情况下。本文将详细介绍如何在Linux环境中快速清空文件内容的多种方法&#xff0c;以及每种方法的优缺点。清空文件通常涉及到文件内容的擦除&#xff0c;但并不涉…...

SpringBoot 配置文件${variable:default}用法

${variable:default}用法&#xff0c;variable​是变量名&#xff0c;default​是默认值。如果配置文件中未指定该变量的值&#xff0c;则会使用默认值来替代。 解释代码&#xff1a; ip: ${NACOS_IP:nacos.ip} 该yaml函数是一个配置项&#xff0c;用来指定Nacos服务器的IP地…...

CUDA学习笔记02:测试程序hello world

参考资料 Win10下在VS2019中配置使用CUDA进行加速的C项目 &#xff08;配置.h文件&#xff0c;.dll以及.lib文件等&#xff09;_vs2019 cuda-CSDN博客 配置流程 1. 新建一个一般的项目 2. 项目建好后&#xff0c;在项目里添加.cu测试文件 测试的.cu文件命名为cuda_utils.cu&…...

2023年第十四届蓝桥杯大赛软件类省赛C/C++大学A组真题

2023年第十四届蓝桥杯大赛软件类省赛C/C大学A组部分真题和题解分享 文章目录 蓝桥杯2023年第十四届省赛真题-平方差思路题解 蓝桥杯2023年第十四届省赛真题-更小的数思路题解 蓝桥杯2023年第十四届省赛真题-颜色平衡树思路题解 蓝桥杯2023年第十四届省赛真题-买瓜思路题解 蓝桥…...

项目部署发布

目录 上传数据库 修改代码中的数据源配置 修改配置文件中的日志级别和日志目录 打包程序 ​编辑​编辑 上传程序 查看进程是否在运行 以及端口 云服务器开放端口(项目所需要的端口) 上传数据库 通过xshell控制服务器 创建目录 mkdir bit_forum 然后进入该目录 查看路…...

MATLAB环境下基于离散小波变换的心电信号伪影去除及PQRST波检测

可穿戴个人健康监护系统被广泛认为是下一代健康监护技术的核心解决方案。监护设备不断地感知、获取、分析和存储大量人体在日常活动中的生理数据&#xff0c;为人体的健康状况提供必要的、准确的、集成的和长期的评估和反馈。在心电监测领域&#xff0c;可穿戴传感器具有以下应…...

SwiftUI 在 App 中弹出全局消息横幅(下)

功能需求 在 SwiftUI 开发的 App 界面中,有时我们需要在全局层面向用户展示一些消息: 如上图所示:我们弹出的全局消息横幅位于所有视图之上,这意味这它不会被任何东西所遮挡;而且用户可以点击该横幅关闭它。这是怎么做到的呢? 在本篇博文中,您将学到以下内容 功能需求…...

2023年06月CCF-GESP编程能力等级认证Scratch图形化编程三级真题解析

本文收录于专栏《Scratch等级认证CCF-GESP真题解析》,专栏总目录・点这里 一、单选题(共15题,共30分) 第1题 高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。 A:编辑 B:保存 C:调试 D:编译 答案:D 第2题 小球角色,执行以下程序…...

升级openssl

openssl版本一键升级&#xff08;需要修改tar包名称和路径&#xff09; --- - name: Install OpenSSLhosts: openssltasks:- name: Copy OpenSSL tar.gz to /tmpcopy:src: /root/shl/soft/openssl-1.1.1v.tar.gzdest: /tmp # remote_src: yes # 如果源文件在控制主机上…...

软考基础知识2

1.DMA控制方式&#xff1a;直接内存存取。数据在内存与I/O设备间直接成块传送&#xff0c;不需要CPU的任何干涉&#xff0c;由DMA硬件直接执行完成。 例题&#xff1a; 2.程序计数器总是存下一个指令的地址。 例题&#xff1a; 3.可靠度的计算&#xff1a; 例题&#xff1a…...

Python基本数据类型介绍

Python 解释 Python是一种高级编程语言&#xff0c;以其简洁、易读和易用而闻名。它是一种通用的、解释型的编程语言&#xff0c;适用于广泛的应用领域&#xff0c;包括软件开发、数据分析、人工智能等。python是一种解释型&#xff0c;面向对象、动态数据类型的高级程序设计…...

边缘计算网关:连接物理世界与数字世界的桥梁-天拓四方

边缘计算网关是一种硬件设备&#xff0c;通常部署在网络边缘&#xff0c;即物联网设备的接入点。它具备数据采集、处理、存储和传输等功能&#xff0c;能够实现对物联网设备的实时监控和控制。边缘计算网关将原本需要在云端处理的数据在本地进行计算和分析&#xff0c;从而降低…...

NTP网络校时服务器(GPS北斗卫星校时系统)应用场景

NTP网络校时服务器&#xff08;GPS北斗卫星校时系统&#xff09;应用场景 NTP网络校时服务器&#xff08;GPS北斗卫星校时系统&#xff09;应用场景 随着大数据、云计算时代的到来,各行业信息化建设的不断提升,信息化下的各个系统不再单独处理各自业务,而是趋于协同工作,因此,各…...

Intel 芯片 Mac 如何重新安装系统

使用可引导安装器重新安装&#xff08;可用于安装非最新的 Mac OS&#xff0c;系统降级&#xff0c;需要清除所有数据&#xff0c;过程确保连接上网络&#xff0c;虽然这种方式不会下载 Mac OS&#xff0c;但是需要下载固件等信息&#xff09; 插入制作好的可引导安装器&#x…...

【uni-app】condition 启动模式配置,生产环境无效,仅开发期间生效

在小程序开发过程中&#xff0c;每次代码修改后&#xff0c;都会启动到首页&#xff0c;有时非常不方便&#xff0c;为了更高效的开发&#xff0c;有时需要模拟直接跳转到指定的页面&#xff0c; 操作方法如下&#xff1a; 在pages.joson里面配置下列代码&#xff1a; "…...

sql单表运用11.3

一、进入数据库操作界面 1、mysql -u root -p 敲回车 &#xff0c;输入密码 &#xff0c;进入数据库操作界面 2、show databases 查看所有的数据&#xff08;如果没有数据库&#xff1a;创建数据库 create database 库名称&#xff09; 3、use 数据库名 使…...

YOLOv5目标检测学习(1):yolo系列算法的基础概念

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、基于深度学习的目标检测需要哪些步骤&#xff1f;二、数据准备&#xff08;即准备数据集&#xff09;1.目标检测的数据集如何获取&#xff1f;2.数据集包括…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...