自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

狂想曲

为当初纯粹的梦想和感动而走下去!

  • 博客(77)
  • 收藏
  • 关注

原创 前端跨域方案看这篇就够了

为了加快请求响应时间,服务器进行分布式布局,将服务器分为:web服务器:用于处理静态资源data服务器:业务逻辑和数据分析图片服务器协议域名端口号导致需要用到跨域请求。通过没有同源策略限制的Html标签实现数据请求。在客户端建一个服务器代理。请求加上access-control-change- 请求头。使用websocket协议。

2022-09-19 20:31:33 1280 1

原创 从一道面试题看函数柯里化

前端面试问到闭包的作用,一般会说模块化及变量封装以及延长局部变量生命周期。函数柯里化一般需要延长局部变量生命周期,就用到闭包。sum(1 , 2) // 3 sum(1)(2) // 3 sum(1 , 2)(3)(4) // 10 //怎样的柯里化能实现这个sum函数开始我知道柯里化需要保存中间值,于是写出以下的代码。i < len;i ++) {运行结果:结果显示这个函数不能循环调用。可是如果返回argument.callee那么能循环调用,可是不能知道每次调用完最终的值。

2022-09-18 12:04:35 264 1

原创 深入解析Flex布局

Flex布局基本概念Flexbox能控制子元素的空间分配、对齐、视觉顺序。Flexbox能轻松对元素进行垂直水平排布。并且能实现响应式页面。通过对元素设置display: flex 或者 display: inline-flex,那么该元素变成flex container,并触发flex格式化上下文。该元素的子元素变为flex items。Flex Container的属性以下6个属性设置在容器上。flex-directionflex-wrapflex-flowjustify-conten

2022-05-10 23:14:55 323

原创 从loadsh源码看JS判别数据类型

判别数据类型一般会想到typeof 这个方法。但是该方法只能判别原始数据类型。console.log(typeof "a");//stringlet str = new String("a")console.log(typeof str);//objectconsole.log(typeof Symbol('foo'));//symbolconsole.log(typeof undefined);//undefined//null 是原始值类型,但得到的是object。在《你不知道的JavaS

2022-04-09 13:43:17 970

原创 从lodash源码看对象深拷贝

最简单实现对象深拷贝的方式通过json完成,但是只能处理json类型的数据。原因是JSON在执行字符串化的这个过程时,会先进行一个JSON格式化,获得安全的JSON值,因此如果是非安全的JSON值,就会被丢弃掉。其中undefined、function、symbol这三种类型的值就是非安全的(包括该对象的属性循环赋值该对象),所以格式化后,就被过滤掉了,而set、map这种数据格式的对象,也并没有被正确处理,而是处理成了一个空对象。var data = { a: "123",

2022-04-03 16:44:49 1548

原创 从lodash源码看数组扁平化实现

lodash源码import isFlattenable from './isFlattenable.js'/** * The base implementation of `flatten` with support for restricting flattening. * * @private * @param {Array} array The array to flatten. * @param {number} depth The maximum recursion depth.

2022-03-28 19:28:13 2892

原创 微信小程序取消每次保存都自动编译

2021-09-17 19:38:21 883

原创 Failed to execute ‘postMessage‘ on ‘DOMWindow‘: The target origin provided (‘http://127.0.0.1:1001‘)

以下HTML在http://127.0.0.1:1001下运行,我们打算通过postMessage() 跨域与http://127.0.0.1:1002/1002.html进行通信:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta n

2021-08-10 16:07:27 9891 3

原创 写css需要注意的地方

前言曾经何时,听到某人讲过。写静态页面就多试试一定可以试出来的,处理兼容性就多在几个其他浏览器上试试就好了(这样做适合新手)。正文我还真按照某人所说去这样写Css了。然后要实现这样一个效果:就写出这样的代码:body{ margin:0; background-color: orange; .content{ width: 750px; height: 280px; background-color: blue; &__footer1{

2021-08-01 22:20:01 153

原创 贪心算法学习笔记

基本定义每次操作都是局部最优(近似最优解)的(每次操作不考虑全局最优),从而使最后得到的结果是全局最优的。难点是如何证明贪心是正确的,并且贪心没有固定的模板。分配问题题目:https://leetcode-cn.com/problems/assign-cookies/题解因为饥饿度最小的孩子最容易吃饱,所以我们先考虑这个孩子。为了尽量使得剩下的饼干可以满足饥饿度更大的孩子,所以把大于等于这个孩子饥饿度的、且大小最小的饼干给这个孩子。满足了这个孩子之后,我们采取相同的策略,考虑剩下孩子里饥饿度最小

2021-07-12 09:25:02 91

原创 解决服务器运行uniapp的H5项目时,显示空白

第一次在服务器上部署uniapp。结果显示:通过抓包,发现请求了index.html,可是相应css 和 js 报 404 的状态码。可以看到请求头部字段request url 为120.79.151.58/static/js/index.a4a48406.js是这里出错了。需要在IDE 在修改 运行的基础路径。...

2021-07-07 20:55:12 1958

原创 Nodejs批量改文件名

文章目录前言一、检测所有需要修改文件名的目录二、遍历dirArr,改文件名所有代码前言有一千多个这样的文件夹,我们需要把audio.m4s改为audio.mp3。那么播放器才可以识别到这是一个音频文件。一、检测所有需要修改文件名的目录目录结构如下:我们需要把500050652这样的文件夹都检测出来,并放到数组中。const fs = require('fs');const path = './500050652';const dirArr = [];fs.readdir(p.

2021-05-08 17:08:30 1129 1

原创 ajax_jquery、fetch和axios最基本用法

jquery// 基本用法无参数get请求$.ajax({ url:"demo_test.txt", success:function(result){ console.log(result); }}// 需指定方法则增加method字段$.ajax({ url:"demo_test.txt", method:"POST", success:function(result){ console.log(result); }

2021-04-25 09:34:28 115

原创 防抖函数在Vue中使用

防抖函数作用:在函数调用非常频繁的时候,设置防抖规定该函数在一段时间内只可以执行一次。提升网页性能。防抖函数代码:export function debounce(func,delay){//函数的防抖,该函数的返回值是一个函数 let timer = null; return function (...args){ if(timer) clearTimeout(timer); //清上一次的计数器 timer = setTimeout(() =>{ fun

2021-04-14 21:23:05 3634 1

原创 Adobe photoshop cc启动后,新建命令不能用,背景黑色的解决方法

故障描述:机房通过教师机将其他机器同传后,PS 2017CC出现如题目中的问题。解决方法:1、编辑——>首先项——>常规选项卡,只勾选【使用旧版“新建文档”界面】。2、性能选卡,点击【高级设置】,绘制模式:正常。3、执行上述两步后,点击确定。4、关闭ps 2017 cc。5、重新启动ps 2017 cc。经过测试,问题解决。...

2021-04-11 16:23:47 2088

原创 js中Symbol数据类型笔记

Symbol作为构造函数以及Symbol()的方法用法:let a1 = Symbol("lvzy");let a2 = Symbol("lvzy");console.log(a1 === a2); //false//输出Symbol的描述console.log(a1.description); //lvzy//使用Symbol.for() 和 直接使用Symbol() 看着好像没有什么区别//其实Symbol.for 会在内存当中帮我们记录,那么下次再用Symbol.for()//定

2021-02-02 21:11:06 210

原创 JavaScript 正则表达式笔记

正则表达式有很多规则,我认为看懂这些规则才有可能看懂正则表达式。以下是正则表达的规则:正则表达式修饰符修饰符可以在全局搜索中不区分大小写:修饰符 描述 i 执行对大小写不敏感的匹配。 g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 m 执行多行匹配。 正则表达式模式方括号用于查找某个范围内的字符:表达式 描述 [abc] 查找方括号之间的任何字符。 [0-9] 查找任何从 0 至 9 的数字。...

2020-12-26 16:13:47 399

原创 JS中常见的高阶函数

高阶函数:英文叫Higher-order function。JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。一、filter其中该函数的参数是一个函数,filter函数的返回值是一个数组。filter中的回调函数有一个要求,必须返回一个booleantrue:当返回true时,函数内部会自动将这次回调的n加入到新的数组中false:当返回false时,函数内部会过滤掉这次的ncons

2020-12-17 15:05:18 3092

原创 error: src refspec master does not match any

分支名写错了,推送不到远程  修改本地分支名称git branch -m oldName newName  再推送到远程就好了效果:

2020-12-04 20:40:45 88

原创 VueRouter知识总结(下)

路由传递参数方式前面我们用this.$route.params 实现了动态路由,其实它是一个App.vue向user.vue传递参数的过程。此外,还有一种App.vue 向 子视图传递参数的方法this.$route.query。两种方法比较:Params的类型:配置路由格式: /router/:id传递的方式:在path后面跟上对应的值。传递后形成的路径:/router/123 /router/abc只可以传一个参数Query的类型:配置路...

2020-11-26 13:53:55 95

原创 VueRouter知识总结(上)

VueRouter做什么?Vue-router的单页面应用中,页面的路径的改变就是组件的切换。配置路由在src/router中,有index.js用来配置router的。这个routes是用来配置组件和路径映射关系的。注意routes这个名字不能改。这个routes是一个列表,列表里面放入的是对象。每个对象都有path 和 component 属性,用来放url 和 对应的组件从而形成映射关系。而这个routes列表是给VueRouter 对象的构造函数作为参数的而已。//配置路由相关

2020-11-25 22:26:09 181 2

原创 Vue中v-for的使用

v-for遍历数组和对象用v-for进行遍历Vue实例中的数据,有多少个数据需要遍历,那么Vue就会帮我们创建多少个对应的标签的。v-for遍历数组:用v-for遍历数组,可以拿到数据的下标值和元素的值。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device.

2020-11-03 22:53:08 2172

原创 大小端与边界对齐(计算机组成原理)

系列文章目录这个学期我们进行学习了计算机组成原理的课程,我认为该课程十分的有趣。该文章将是计算机组成原理系列的第一篇文章!文章目录系列文章目录前言一、.c文件到可执行.exe文件经历了什么?二、2,定义 int a=0x12345678; 请使较为简单的代码确定你机器的存储模式是大端模式还是小端模式(默认使用C语言)三、关于边界对齐总结前言我以前写了这么多的代码,学到这里,才发现原来在内存中还有大小端与边界对齐这些奇妙的东西。我们来了解下它吧。提示:以下是本篇文章正文内容,下面案例可供

2020-10-24 14:26:35 1752

原创 * !!vue-style-loader!css-loader?{“sourceMap“:true}!../../node_modules/vue-loader/lib/style-compiler/

今天用.vue文件时,用npm run dev 时,报错了,错误信息如下:大概是说:webpack缺少依赖项,在Home.vue 这个文件中的css不能处理。我看看我的Home.vue有:<style lang='scss' scoped></style>发现我使用的css资源是sass的,可以webpack没有安装相应的loader,所以报错了。解决:执行npm install sass sass-loader --save-dev安装依赖就行。或者..

2020-10-06 16:53:41 571 2

原创 用url-loader打包后,地址不是路径

在升级了 **“url-loader”: “^3.0.0”,**后webpack打包后 html 中的 img标签 的 src属性成了?? 这不应该是一个webpack打包后,的图片路径么??打印下这个object看看是什么东西??可以看到这个object有一个属性叫default的,这里才存了路径的。它还有一个属性叫__esModule ,为true。看webpack文档如下:翻译:默认情况下,文件加载器生成使用ES modules语法的JS模块。在某些情况下,使用E

2020-10-01 12:03:08 235

原创 UnhandledPromiseRejectionWarning: TypeError: loaderContext.getResolve is not a function

使用webpack的loader把.less 转为 .js文件时报:UnhandledPromiseRejectionWarning: TypeError: loaderContext.getResolve is not a functionless-loader的版本过高,然后直接安装一个npm install [email protected] -s进行覆盖。npm install [email protected] -s...

2020-09-30 13:32:06 323

原创 Vue使用type = “module“出现跨域问题

代码为:<body> <script src = "aaa.js" type = "module"></script></body>出现问题:仔细看错误信息可以发现,我们是用file协议来传输aaa.js这个文件的,可以CORS规定要用http,data,https等方式传输,所以就报错了。这是因为使用了type="module"的脚本Sec-Fetch-Mode是cors,常规引入的脚本Sec-Fetch-Mode是no-cors

2020-09-26 19:57:47 3320

原创 《专注》片段摘抄

身处喧闹之中,却能做到专心致志,这是选择性注意在发挥作用。海量刺激物源源不断地进入大脑,每种刺激都是潜在的注意目标,但选择性注意能让我们只关注一个对象,忽略其他所有东西。正如现代心理学之父对专注力的定义:“在几个并行的潜在目标或思想碎片之中,意识突然提取了其中的一种,使其彰显出清晰鲜明的形象”。分散专注力的事物包括两个大类:感觉干扰和情绪干扰。专心致志意味着排除情绪的干扰,因此,选择性注意的神经网络包括了抑制情绪的回路。也就是说,专注的人更不容易受到情绪起伏的影响,泰山崩于前而面不改色,身处感情漩.

2020-09-25 18:06:09 358

原创 写CSS之前,你必须要知道的CSS规则

前言前几天在写动态网站时,用到了600多行的CSS,如果对CSS书写的不规范,到后面维护时,会十分混乱且耗时。有时,明明加了句CSS代码,可网站并没有出现预期的效果。这就需要了解下CSS规则。CSS书写顺序遵循以下顺序:1.布局定位属性:display / position / float / clear / visibility / overflow / flex2.自身属性:width / height / margin / padding / border / background3.文本

2020-09-06 19:12:21 264

原创 github基本使用指南

仓库主页:

2020-08-26 19:48:00 160

转载 hash 笔记

哈希函数性质1.哈希函数的输入域是无穷大的2.哈希函数的输出域是有穷尽的,虽然很大,但是是个固定的数值3.当输入参数固定的情况下,得到的输出参数是固定的,他不是随机函数,样本固定得到的输出值也是固定。4.输入不一样,也有可能得到相同的哈希值(哈希碰撞)5.虽然会有两个输入对应同一个输出,但是对于大量的输入对应的输出域基本是平均分的即S域上均匀分布。注意:对于哈希函数来说,有规律的输入并不能得到有规律的输入,例如十个1Mb的字符串,只有最后1byte的内容不一样,在经过哈希函数后.

2020-08-25 13:23:03 211

原创 树状DP 笔记

在一棵树中,找结点值的最大和最小可以对树进行一次遍历,在树中找到最大最小值。我们也可以用树状DP来完成。当前结点的最值 由当前结点的值,和左孩子的最值 和 右孩子的最值决定。struct Node{ int value; Node *left = NULL; Node *right = NULL; Node(int data){ value = data; }};struct ReturnData{ int max, min; ReturnData(int Min, i

2020-08-22 22:29:28 104

原创 Map 笔记

在c++中有两种映射。unordered_map 和 map 。其中unordered_map 是用 hash 完成的,map 是用 红黑树完成的。unorder_map 可以在O(1) 找到查找的值,map 需要O(log(n))。可是map 是有序的,

2020-08-22 15:56:30 199

原创 HTML列表

列表的所有标签<ul> 、 <li> 、<ol> 、 <dl> 、 <dt> 、 <dd>无序列表和有序列表 <ol type="A"> <li>我是li</li> <li>我是li</li> <li>我是li</li> </ol> <ul typ.

2020-08-18 18:48:02 82

原创 HTML表单总结

表单作用输入框,在浏览器上收集用户的信息。表单的所有标签<form> 、 <input> 、<button>、<textarea>、<select>、<option><form>标签有表单一定有<form>标签,表单的标签一定放到<form>内。<form> 和 表格的<table> 标签都是这样的。<form>属性:1.na..

2020-08-18 17:43:00 181

原创 实现AVL树(模板)

AVL树性质左右子树高度之差的绝对值不超过1,如果超过2了,就不平衡了。平衡因子左右子树高度之差。比如下图,其中蓝色的为结点的平衡因子。插入结点时平衡调整步骤1.找平横因子大于2的结点。2.找插入新结点后,失去平衡等的最小子树。3.平横调整。 //因为新加入了一个节点,所以回溯的时候给这个节点高度 +1 node->height = max(get_height(node->left), get_height(node->right)) + 1;

2020-08-16 21:51:09 229

原创 Moris遍历

Morris遍历细节 假设来到当前节点cur,开始时cur来到头节点位置1)如果cur没有左孩子,cur向右移动(cur = cur.right)2)如果cur有左孩子,找到左子树上最右的(为空或者指向自己终止)节点mostRight: a.如果mostRight的右指针指向空,让其指向cur, 然后cur向左移动(cur = cur.left) b.如果mostRight的右指针指向cur,让其指向null, 然后cur向右移动...

2020-08-16 17:16:15 233

原创 二叉树的括号表示法、遍历和打印

题目:给你一个括号表示法表示的二叉树,建立一棵用二叉链表方式存储的二叉树,并利用凹凸法进行二叉树的打印;并对其进行遍历(先序、中序、后序和层序),并打印输出遍历结果。例子:正在上传…重新上传取消输入:A(B(C,D(E,F(G))))输出:先序遍历:ABCDEFG中序遍历:CBEDGFA后序遍历:CEGFDBA层序遍历:ABCDEFG代码:#pragma GCC optimize(3,"Ofast","inline")#include<ios..

2020-08-15 15:44:24 8947

原创 单调栈学习笔记

单调栈可以做什么?单调栈可以找在一个数组arr中,找arr[i] 左边离他最近比它大(小)的数,和arr[i]右边离他最近比他大(小)的数。单调栈怎么实现?保证数组arr 中每个元素都进栈有且仅有一次。建立一个栈s,保证栈中元素排列是不严格递减的。遍历数组,1.如果arr[i] 比栈顶元素小,说明把arr[i] 压入栈中,不会破坏栈中元素排列是递减的规则,arr[i] 可以压入栈中。2.如果arr[i] 与 栈顶元素相同,我们直接把arr[i] 压入栈中。3.如果arr[i.

2020-08-11 17:20:24 170

原创 滑动窗口、尺取法学习笔记

滑动窗口解决什么问题?1. 需要输出或比较的结果在原数据结构中是连续排列的;2. 每次窗口滑动时,只需观察窗口两端元素的变化,无论窗口多长,每次只操作两个头尾元素,当用到的窗口比较长时,可以显著减少操作次数;3. 窗口内元素的整体性比较强,窗口滑动可以只通过操作头尾两个位置的变化实现,但对比结果时往往要用到窗口中所有元素。滑动窗口、尺取法关系?尺取法就是双指针(two points)嘛。而滑动窗口也要用到二个指针,所以滑动窗口是一种特殊的尺取法。经典例题:leetco..

2020-08-06 17:56:58 372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除