1|01 简介 Anaconda:是一个开源的Python发行版本,其包含了conda、Python等软件包,numpy,pandas,scipy等科学计算包. Conda:包管理器, venv+pip的作用,也就是虚拟环境+包管理。 Nvidia: 显卡制造商。 显卡:承担输出显示图形的任务。 G Read More
posted @ 2022-11-17 22:01 meetviolet Views(268) Comments(0) Diggs(0) Edit
umijs:https://umijs.org/docs/tutorials/blog ahooks:https://ahooks.js.org/zh-CN/ Read More
posted @ 2022-10-19 20:59 meetviolet Views(24) Comments(0) Diggs(0) Edit
前端性能优化分为两类, 一类是文件加载更快, 另一类是文件渲染更快。 一、加载更快的方法: 1.让传输的数据包更小 1)(压缩文件/图片): 图片压缩和文件压缩 2)减少网络请求的次数: 雪碧图/精灵图、节流防抖 3)减少渲染的次数: 缓存(HTTP缓存、本地缓存、Vue的keep-alive缓存等 Read More
posted @ 2022-09-06 19:28 meetviolet Views(34) Comments(0) Diggs(0) Edit
区别: vue是双向绑定的,采用template; react是单向的,采用jsx。 Vue的优缺点: 简单、快速、强大、对模块友好,但不支持IE8。 React的优缺点: 速度快、跨浏览器兼容、模块化; 但学习曲线陡峭,需要深入的知识来构建应用程序。 react和vue的区别 监听数据变化的实现原 Read More
posted @ 2022-09-06 19:07 meetviolet Views(1616) Comments(0) Diggs(0) Edit
块级作用域 => 关键字let,常量const 对象字面量的属性赋值简写 let name = 'test'; let person = {name;} console.log(person);// {name:'test'} 赋值解构 let [a,b,c] = [1,2,3]; let [foo Read More
posted @ 2022-09-06 19:02 meetviolet Views(410) Comments(0) Diggs(0) Edit
区别 伪数组的类型不是Array,而是Object,而数组类型是Array。 伪数组可以使用的length属性查看长度,也可以使用[index]获取某个元素,但是不能使用数组的其他方法,也不能改变长度,遍历使用for in方法。 伪数组的常见场景: 函数的参数arguments 原生js获取DOM: Read More
posted @ 2022-09-05 13:52 meetviolet Views(63) Comments(0) Diggs(0) Edit
CSS盒模型定义了盒的每个部分包含 margin, border, padding, content 。 根据盒子大小的计算方式不同盒模型分成了两种, 标准盒模型和怪异盒模型。 标准模型, 给盒设置 `width` 和 `height`,实际设置的是 content box。`padding` 和 Read More
posted @ 2022-09-05 13:50 meetviolet Views(43) Comments(0) Diggs(0) Edit
组件的生命周期可分成三个状态: Mounting(挂载):已插入真实 DOM Updating(更新):正在被重新渲染 Unmounting(卸载):已移出真实 DOM 挂载 当组件实例被创建并插入 DOM 中时,其生命周期调用顺序如下: constructor(): 在 React 组件挂载之前, Read More
posted @ 2022-09-05 13:47 meetviolet Views(25) Comments(0) Diggs(0) Edit
输入地址,浏览器查找域名的 IP 地址。 浏览器向 该 IP 地址的web 服务器发送一个 HTTP 请求, 在发送请求之前浏览器和服务器建立TCP的三次握手,判断是否是HTTP缓存, 如果是强制缓存且在有效期内,不再向服务器发请求, 如果是HTTP协商缓存向后端发送请求且和后端服务器对比,在有效期 Read More
posted @ 2022-09-05 13:44 meetviolet Views(50) Comments(0) Diggs(0) Edit
能。 token一般是用来判断用户是否登录的, 它内部包含的信息有: uid(用户唯一的身份标识)、 time(当前时间的时间戳)、 sign(签名,token 的前几位以哈希算法压缩成的一定长度的十六进制字符串) `token`可以存放在`Cookie`中,`token` 是否过期,应该由后端来判 Read More
posted @ 2022-09-05 13:42 meetviolet Views(1278) Comments(0) Diggs(0) Edit
new关键字会进行如下的操作: 1. 创建一个空的简单JavaScript对象(即`{}`); 2. 为步骤1新创建的对象添加属性`__proto__`,将该属性链接至构造函数的原型对象 ; 3. 将步骤1新创建的对象作为`this`的上下文 ; 4. 如果该函数没有返回对象,则返回`this`。 Read More
posted @ 2022-09-05 13:40 meetviolet Views(351) Comments(0) Diggs(0) Edit
浏览器拿到HTML, 先将HTML转换成dom树, 再将CSS样式转换成stylesheet, 根据dom树和stylesheet创建布局树, 对布局树进行分层, 为每个图层生成绘制列表, 再将图层分成图块, 紧接着光栅化将图块转换成位图, 最后合成绘制生成页面。 分层的目的: 避免整个页面渲染,把 Read More
posted @ 2022-09-05 13:40 meetviolet Views(58) Comments(0) Diggs(0) Edit
浏览器会立即加载JS文件并执行指定的脚本,“立即”指的是在渲染该 script 标签之下的文档元素之前,也就是说不等待后续载入的文档元素,读到就加载并执行 加上async属性,加载JS文档和渲染文档可以同时进行(异步),当JS加载完成,JS代码立即执行,会阻塞HTML渲染。 加上defer,加载后续 Read More
posted @ 2022-09-05 13:39 meetviolet Views(18) Comments(0) Diggs(0) Edit
XSS是跨站脚本攻击(Cross Site Scripting),不写为CSS是为了避免和层叠样式表(Cascading Style Sheets)的缩写混淆,所以将跨站脚本攻击写为XSS。 攻击者可以通过向Web页面里面插入script代码,当用户浏览这个页面时,就会运行被插入的script代码, Read More
posted @ 2022-09-05 13:37 meetviolet Views(172) Comments(0) Diggs(0) Edit
CSRF跨站点请求伪造(Cross Site Request Forgery)和XSS攻击一样,有巨大的危害性,就是攻击者盗用了用户的身份,以用户的身份发送恶意请求,但是对服务器来说这个请求是合理的,这样就完成了攻击者的目标。 CSRF攻击的过程原理是: 用户打开浏览器,访问目标网站A,输入用户名和 Read More
posted @ 2022-09-05 13:34 meetviolet Views(64) Comments(0) Diggs(0) Edit
浏览器垃圾回收机制根据数据的存储方式分为栈垃圾回收和堆垃圾回收。 栈垃圾回收的方式非常简便,当一个函数执行结束之后,JavaScript 引擎会通过向下移动 ESP 来销毁该函数保存在栈中的执行上下文,遵循先进后出的原则。 堆垃圾回收,当函数直接结束,栈空间处理完成了,但是堆空间的数据虽然没有被引用 Read More
posted @ 2022-09-05 13:33 meetviolet Views(309) Comments(0) Diggs(0) Edit
px:pixel像素的缩写,绝对长度单位,它的大小取决于屏幕的分辨率,是开发网页中常常使用的单位。 em:相对长度单位,在 `font-size` 中使用是相对于父元素的字体大小,在其他属性中使用是相对于自身的字体大小,如 width。如当前元素的字体尺寸未设置,由于字体大小可继承的原因,可逐级向上 Read More
posted @ 2022-09-05 13:21 meetviolet Views(745) Comments(0) Diggs(0) Edit
箭头函数相当于匿名函数,简化了函数定义。 箭头函数有两种写法,当函数体是单条语句的时候可以省略{}和return。 另一种是包含多条语句,不可以省略{}和return。 特点 箭头函数最大的特点就是没有this,所以this是从外部获取,就是继承外部的执行上下文中的this,由于没有this关键字所 Read More
posted @ 2022-09-05 13:06 meetviolet Views(101) Comments(0) Diggs(0) Edit
undefind 是全局对象的一个属性,当一个变量没有被赋值或者一个函数没有返回值或者某个对象不存在某个属性却去访问或者函数定义了形参但没有传递实参,这时候都是undefined。 undefined通过typeof判断类型是'undefined'。undefined == undefined un Read More
posted @ 2022-09-05 13:03 meetviolet Views(214) Comments(0) Diggs(0) Edit
所有异步任务都是在同步任务执行结束之后,从任务队列中依次取出执行。 回调函数是异步操作最基本的方法,比如AJAX回调,回调函数的优点是简单、容易理解和实现,缺点是不利于代码的阅读和维护,各个部分之间高度耦合,使得程序结构混乱、流程难以追踪(尤其是多个回调函数嵌套的情况),而且每个任务只能指定一个回调 Read More
posted @ 2022-09-05 12:58 meetviolet Views(261) Comments(0) Diggs(0) Edit
CSS样式的优先级应该分成四大类 第一类`!important`,无论引入方式是什么,选择器是什么,它的优先级都是最高的。 第二类引入方式,行内样式的优先级要高于嵌入和外链,嵌入和外链如果使用的选择器相同就看他们在页面中插入的顺序,在后面插入的会覆盖前面的。 第三类选择器,选择器优先级:id选择器> Read More
posted @ 2022-09-05 12:53 meetviolet Views(786) Comments(0) Diggs(0) Edit
JavaScript有4种方法判断变量的类型,分别是typeof、instanceof、Object.prototype.toString.call()(对象原型链判断方法)、 constructor (用于引用数据类型) typeof:常用于判断基本数据类型,对于引用数据类型除了function返 Read More
posted @ 2022-09-05 12:51 meetviolet Views(204) Comments(0) Diggs(0) Edit
Promise的作用: Promise是异步微任务,解决了异步多层嵌套回调的问题,让代码的可读性更高,更容易维护。 Promise如何使用: Promise是ES6提供的一个构造函数,可以使用Promise构造函数new一个实例,Promise构造函数接收一个函数作为参数,这个函数有两个参数,分别是 Read More
posted @ 2022-09-05 12:48 meetviolet Views(91) Comments(0) Diggs(0) Edit
闭包 一个函数和词法环境的引用捆绑在一起,这样的组合就是闭包(closure)。 一般就是一个函数A,return其内部的函数B,被return出去的B函数能够在外部访问A函数内部的变量,这时候就形成了一个B函数的变量背包,A函数执行结束后这个变量背包也不会被销毁,并且这个变量背包在A函数外部只能通 Read More
posted @ 2022-09-05 12:45 meetviolet Views(18) Comments(0) Diggs(0) Edit
JS数据类型分为两类: 一类是基本数据类型,也叫简单数据类型,包含7种类型,分别是Number 、String、Boolean、BigInt、Symbol、Null、Undefined。 另一类是引用数据类型也叫复杂数据类型,通常用Object代表,普通对象,数组,正则,日期,Math数学函数都属于 Read More
posted @ 2022-09-05 12:44 meetviolet Views(31) Comments(0) Diggs(0) Edit
什么是webpack? 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一 Read More
posted @ 2022-09-01 13:50 meetviolet Views(60) Comments(0) Diggs(0) Edit
1.sessionStorage:临时的会话存储 只要当前的会话窗口未关闭,存储的信息就不会丢失,即便刷新了页面,或者在编辑器中更改了代码,存储的会话信息也不会丢失。 2.localStorage:永久存储 会一直将数据存储在客户端的储存方式,即使关闭了浏览器,下次打开的时候仍然可以看到之前存储的未 Read More
posted @ 2022-09-01 13:24 meetviolet Views(2535) Comments(0) Diggs(0) Edit
一:HTTP 与 HTTPS 有哪些区别?(1)HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。(2)HTTP 连接建立相对简单, TCP 三次握手 Read More
posted @ 2022-09-01 13:18 meetviolet Views(37) Comments(0) Diggs(0) Edit
1.TCP的三次握手(Three-Way Handshake)的详解 所谓的三次握手即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开的。以下为客户端主动发起连接的图解: 握手之前主动打开连接的客户端结束CLOSED阶段,被动打开的服务器端也结束CLOSED阶段,并进入LISTEN阶段。 Read More
posted @ 2022-09-01 13:08 meetviolet Views(57) Comments(0) Diggs(0) Edit
从输入URL到渲染出整个页面的过程包括三个部分: 1、DNS解析URL的过程 2、浏览器发送请求与服务器交互的过程 3、浏览器对接收到的html页面渲染的过程 一、DNS解析URL的过程 DNS解析的过程就是寻找哪个服务器上有请求的资源。因为ip地址不容易记忆,一般会使用URL域名(如www.bai Read More
posted @ 2022-09-01 13:04 meetviolet Views(548) Comments(0) Diggs(0) Edit
class Solution: def maxValue(self, root: TreeNode, k: int) -> int: def dfs(root): # 空节点价值全为0 res = [0]*(k+1) if not root: return res # 递归获取左右节点的状态 lef Read More
posted @ 2022-08-11 14:05 meetviolet Views(51) Comments(0) Diggs(0) Edit
1.选择排序 java //selectSort 每次将当前元素替换为后面最小的元素//Java public static void selectSort(int [] nums){ int N = nums.length; for(int i = 0; i < N; i ++){ int min Read More
posted @ 2022-08-10 21:31 meetviolet Views(22) Comments(0) Diggs(0) Edit
恢复内容开始 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 @vue/cli 搭建交互式的项目脚手架。 通过 @vue/cli + @vue/cli-service-global 快速开始零配置原型开发。 一个运行时依赖 (@vue/cli-service),该依赖 Read More
posted @ 2022-06-14 22:40 meetviolet Views(29) Comments(0) Diggs(0) Edit
修饰符 1.js i g m i 忽视大小写g 执行全局匹配(查找所有匹配,而非找到第一个匹配后停止)m 执行多行匹配gi 全局匹配+忽略大小写 2.python re.Ire.IGNORECASE让正则表达式忽略大小写,这样一来,[A-Z]也可以匹配小写字母了。此特性和locale无关。 re.L Read More
posted @ 2022-05-11 15:12 meetviolet Views(125) Comments(0) Diggs(0) Edit
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽 Read More
posted @ 2022-03-05 22:36 meetviolet Views(92) Comments(0) Diggs(0) Edit
function fibonacci(n) { return fib(n)[n] } var fib=(function(n){ var meo=[0,1] return function(n){ for(var i=meo.length;i<=n;i++){ meo[i]=meo[i-1]+meo Read More
posted @ 2021-07-29 22:37 meetviolet Views(87) Comments(0) Diggs(0) Edit
1. call()、bind()、apply()的用法,改变this的指向,区别在于f.call(obj, arg1, arg2...),f.bind(obj, arg1, arg2,...)(),f.apply(obj, [arg1, arg2, .]) Example:封装函数 f,使 f 的 Read More
posted @ 2021-07-29 19:54 meetviolet Views(56) Comments(0) Diggs(0) Edit
首先证明我是加了那些鬼东西以后可以成功运行的。 然后来叙述一下我的过程。 这是一个.ui文件生成的.py文件。(把主要的内容省去了,但是没有影响结构) 可见object name为wallet_content(13行) wallet_content.setObjectName("wallet_con Read More
posted @ 2018-03-19 10:49 meetviolet Views(6356) Comments(0) Diggs(0) Edit
L1-039. 古风排版 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。 输出格式: 按古风格式排版给定的字符串,每列N个字符(除了 Read More
posted @ 2017-04-02 22:46 meetviolet Views(3373) Comments(0) Diggs(1) Edit
题目: 利用队列实现对某一个数据序列的排序(采用基数排序),其中对数据序列的数据(第1和第2条进行说明)和队列的存储方式(第3条进行说明)有如下的要求: 1)当数据序列是整数类型的数据的时候,数据序列中每个数据的位数不要求等宽,比 如: 1、21、12、322、44、123、2312、765、56 Read More
posted @ 2016-11-06 13:46 meetviolet Views(1223) Comments(0) Diggs(0) Edit