自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 资源 (1)
  • 收藏
  • 关注

原创 吾日三省吾身

push否?react/vue否?CSDN否?算法否?面经否?

2020-04-03 22:22:11 37

原创 关于手机代理的走坑记录

开始的时候使用手机连接上笔记本热点,运行项目没有问题,但是因为笔记本是公司配置的,热点名称和密码很麻烦,于是我进行了下个性化修改,完成之后再次使用手机连接,结果无法项目运行,如下报错:很是崩溃,即使重启也没有解决问题,后来博哥给我指出,我的手机未设置代理,于是我设置了一下,因为最开始的时候我是已经设置好了,但是并不知道修改热点账号和密码会导致代理恢复默认,设置如下图所示:需要注意的是,服务器主机名和端口要和自己的笔记本设置一致,最后重启项目,运行成功。...

2020-11-19 10:54:16 6

原创 简单快速安装并使用whistle

首先确保本地已安装node.js,可以通过win+r或者git打命令窗口,输入命令node -v,查看node.js版本。输入命令npm install whistle,下载whistle。下载成功之后,输入命令行w2 start -p 8899启动whistle,一般来说whistle的默认端口是8899,如果端口被占用,可以在启动时通过 -p 来指定新的端口。如果输入端口号不存在或者已被占用,whistle会开启默认的8899端口。启动成功之后,可以根据提示进入展现的三个网..

2020-11-18 17:09:22 14

原创 笔记本按键操作

对于笔记本上自带的一些按键,是不同于外部键盘的,例如F1、F2、F3,如果直接按的话会进行静音、减小声音、放大声音的操作,如果一些快捷键需要到F系列的按键,使用笔记本自带的键盘肯定是无法达到想要的结果,那么就需要借助Fn来实现,例如webstorm上运行单个JS文件,常规快捷键是Ctrl+F10,那么在笔记本自带的键盘上则是Ctrl+Fn+F10。...

2020-11-16 09:12:38 6

原创 祝程序员们节日快乐

var date = new Date();var yearThis = date.getFullYear();var dateProgramer = Math.pow(2, 10);var result = yearThis - dateProgramer;console.log(result);节日快乐啊,为构建信息化时代而奋斗的程序员们;祝各位同行BUG越少,头发越多,早日实现财富自由。...

2020-10-24 21:45:56 20

原创 扩展运算符转Map结构为数组形式

前面提过,只要是具有遍历器的类数组对象,都可以利用扩展运算符转为真正的数组,同样Map也可以,来看这样一个例子:let map = new Map([ [1, 'one'], [2, 'two'], [3, 'three'],]);let arr = [...map.keys()];let arr1 = [...map.values()];console.log(arr);//[ 1, 2, 3 ]console.log(arr1);//[ 'one', 'two', '

2020-10-23 22:05:26 12

原创 利用扩展运算符转数组

阮一峰的ES6指出任何定义了遍历器接口的对象,都可以用扩展运算符转为真正的数组。以遍历到DOM节点为例:let nodeList = document.querySelectorAll('div');let array = [...nodeList];但是对于没有部署遍历器Iterator的对象,扩展运算符则束手无策:let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3};let arr = [..

2020-10-22 22:26:08 8

原创 第2章 黑盒测试在线测试

一、单项选择题当被测程序开发采用强类型语言,界面设计大多采用选择类型控件,且测试进度较为紧张的情况下,为了提高测试效率并且保证测试效果,可选择 A 等价类划分方法。D 强健壮B 弱健壮C 强一般A 弱一般在有限的时间和资源条件下,穷举测试是无法完成的任务。在黑盒测试技术中,可以减少测试用例绝对数量和提高测试效率的最有效方法是 A 。A 等价类划分D 判定表驱动C 因果图分析B 边界值分析下图所示的界面中,"联系方式"字段要求"Email地址"和"手机号码"

2020-10-21 22:20:05 19

原创 手写一发深拷贝

var deepCopy = function (obj) { if(typeof obj !== 'objedct'){ return ; } var newObj = (obj instanceof Array) ? {} : []; for(var key in obj){ if(obj.hasOwnProperty(key)){ newObj[key] = (obj[key] instanceof Object)

2020-10-19 21:54:29 6

原创 JS中两种定时器

JS中的的定时器setTimeout()在指定的毫秒后调用函数或者计算表达式传入三个参数code 必需 要调用的函数后要执行的JS代码串millisec 必需 在执行代码前需等待的毫秒数lang 可选一般不写, 选择脚本语言类型setInterval()按照指定周期来调用函数或者计算表达式。方法会不停地调用函数,直到clearInterval调用或者窗口关闭传入三个参数code 必需 要调用的函数或者执行的代码串millisec 必需 周期性执行或者调用code之间的时间间隔lang 可

2020-10-18 22:11:10 15

原创 React中两种类组件的最大区别

传送门:React中创建简单的类最大的区别:class关键字创建的组件是有状态组件,而function创建的组件时无状态组件

2020-10-17 22:07:51 8

原创 viscode折叠语法

用过viscode和webstorm的同学们可能知道,viscode并不像webstorm那样可以进行代码片段的折叠,但是我们可以为它设置一下://#region//折叠代码内容//#endregion这样就可以方便地进行代码折叠了。

2020-10-16 21:39:05 19

原创 采用闭包的思想手写一发防抖和节流

防抖function f(fn, delay){ let timer; return function () { let context = this; let args = arguments; clearTimeout(timer); timer = setTimeout(function () { fn.apply(context, args); } ,delay); }

2020-10-15 21:42:00 11

原创 简述css盒模型

css盒模型就是用来装页面上的元素的矩形区域。CSS中的盒子模型包括标准的W3C盒子模型和IE盒子模型(别称 怪异盒模型)。弹性盒模型是CSS3新增的属性,不要和这两个搞混了。总体来说,盒模型如下如所示,别骂了别骂了,绘画能力有限:这两种盒子模型最主要的区别就是width的包含范围:在标准的盒子模型中,width指content部分的宽度;在IE盒子模型中,width表示content+padding+border这三个部分的宽度。当然height也有所区别,在标准的盒子模型中,height指con

2020-10-14 22:21:11 29

原创 HTML元素的分类

关于HTML元素的分类可以说是前端里面一个比较重要的知识点了,面试中,我至少四次被问到了这部分的内容,这里做一下简单的总结。第一种分类是分为块级元素和行内元素:块级元素常见的块级元素:<h1><h6> <p> <div> <ul> <ol> <li>特点:(1)块级元素会独占一行(2)宽度、行高、外边距和内边距都可以单独设置(3)宽度默认是容器的100%(4)可以容纳内联元素和其他的块级元素行内元素

2020-10-13 21:55:33 38

原创 JS求树的深度

学无止境const root = { val: 4, left: { val: 2, left: { val: 1 }, right: { val: 3 } }, right: { val: 5, right: { val: 6, righ

2020-10-12 21:30:53 17

原创 笔试合集8

这真的是最最最后一场笔试了。。。。。最后AC的感觉真的很有成就感话不多说,上题:给定一个数组,求出该数组所有奇数长度的子数组的总和,大体就是这样,JS实现代码如下:arr = '[1,4,2,5,3]';arr = arr.substring(1, arr.length-1);arr = arr.split(',');var array = [];for(var i=0;i<arr.length;i++){ array[i] = Number(arr[i]);}var sum

2020-10-11 20:32:50 15

原创 JS函数的几种声明方式

函数声明function sum(a, b) { return a + b;}console.log(sum(1, 2));函数表达式var sum = function (a, b) { return a + b;};console.log(sum(1, 2));构造函数var sum = new Function("a", "b", "return a+b");console.log(sum(1, 2));需要注意的是,第三种构造函数的写法是不常用的,.

2020-10-10 22:06:27 31

原创 使用viscode编写前端代码的快捷方式

由于之前一直偏向于webstorm,最近一段时间才逐渐上手使用vscode,所以并不知道一些提高编码效率的方法,在这里进行总结一下:初始化,新建一个html文件,敲出一个感叹号(!)然后回车,编辑器就会自动为该文件补全代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=devic

2020-10-09 22:13:15 21

原创 简单的代码生成程序

通过三地址代码序列生成计算机的目标代码,在生成算法中,对寄存器的使用顺序为:寄存器中存有 > 空寄存器 > 内存中存有 > 以后不再使用 > 最远距离使用Input单组输入,给定输出的三地址代码的个数和寄存器的个数.所有的变量为大写字母,寄存器的数量不超过9Output参照示例格式输出,不需要将最后的寄存器中的值写回内存不再使用变量不用写回内存Sample Input4 2T:=A-BU:=A-CV:=T+UW:=V+USample OutputLD R0

2020-10-08 22:13:22 12

原创 DAG优化

大家都学过了代码优化,其中有一个DAG优化,这次我们就练习这个操作。Input输入第一行为一个整数n(n < 100),表示该组输入的表达式的个数之后n行为表达式,每个变量为一个字母,表达式仅包括二元运算 + - * /例如:A=B+COutput通过构造DAG图,进行代码优化,只需要保留AB,删除无用变量,删除变量时,尽量保留最早出现的变量。PS:保证AB的值不同Sample Input3A=B+CB=B+BA=C+CSample OutputB=B+BA=C+C

2020-10-07 21:51:18 15

原创 翻译布尔表达式

大家都学过了布尔表达式的翻译,其中有一个拉链-回填技术,这次我们就练习这个技术。Input输入为一行字符串,例如: a < b or c < d and e < f每个符号都用空格间隔。其中逻辑运算符包含 and 和 or , 关系运算符包含 < 、> 、<= 、 >= 、== 、 != 。Output假链跳到0,真链跳到1,表达式序号从100开始排。Sample Inputa < b or c < d and e < fSam

2020-10-06 22:24:33 11

原创 表达式语法分析——递归子程序法

递归子程序法是一种确定的自顶向下语法分析方法,要求文法是LL(1)文法。它的实现思想是对应文法中每个非终结符编写一个递归过程,每个过程的功能是识别由该非终结符推出的串,当某非终结符的产生式有多个候选式时能够按LL(1)形式唯一地确定选择某个候选式进行推导。请根据下面的表达式LL(1)文法,构造递归子程序,完成对表达式的语法分析。表达式文法如下:E→TGG→+TG | εT→FSS→*FS | εF→(E) | i对于给定的输入串(长度不超过50个符号),请输出分析过程中用到的所有产生

2020-10-05 20:54:38 32

原创 小C语言--词法分析程序

本栏目声明:为阿宁和学弟们以及正在学习编译原理的同学们总结的编译原理上机题,同时也攒一波人品。PS:本栏目代码更新于去年这个时间段,如果进行数据更新导致代码未能AC,还请见谅。小C语言文法<程序>→<main关键字>(){<声明序列><语句序列>}<声明序列>→<声明序列><声明语句>|<声明语句>|<空><声明语句>→<标识符表>;<标识符表

2020-10-05 20:52:30 13

原创 第1章 软件测试概述在线测试

回报社会?攒人品?都有吧单选1、经验表明,在程序设计中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残留的错误与其他模块相比,通常应该 B 。B 较多A 较少D 不确定C 相近2、以下对测试需求的描述中,错误的是 D 。A 测试需求项必须有可观测的输出结果B 测试需求必须指明正常和异常的输入条件D 为了确保测试的顺利进行,测试需求一经团队评审,在测试期间不允许发生任何变更C 测试需求描述为一般规则,不涉及具体的测试数据3、以下测试工具中,使用

2020-10-04 21:52:44 94

原创 扩展运算符结合解构赋值生成数组

思考这样一个问题,给定一个数组,将其分为两部分,第一部分是首部元素,第二部分是剩余的部分,如何实现呢?最基本的ES5写法:var list = [0, 1, 2, 3]var a = list[0]var rest = list.slice(1);//ES5console.log(a);console.log(rest);那位for循环遍历的同学先坐下相对来说还是比较麻烦的,来看一下ES6的写法:var list = [0, 1, 2, 3];var a, rest=[];[a, .

2020-10-03 16:32:34 22

原创 使用arguments.callee消除函数递归中的紧密耦合

准备好,开始出题了,手写一发简单的阶乘,暂时不用考虑大数溢出的问题:相信同学们很快就能敲出一发:function factorial(num){ var sum = 1; if(num <= 1){ return sum; } else { for(let i=2;i<=num;i++){ sum *= i; } return sum; }}console.log(fa

2020-10-02 10:59:41 31

原创 独酌的碎碎念2

即使手牌全部打光,只要你还没有出局,那就意外着下个会合手牌一定会增加。

2020-09-30 20:25:48 15

原创 手写一发bind()模拟

Function.prototype.my_bind = function(context) { var args = Array.prototype.slice.call(arguments, 1); var self = this; return function () { var innerArgs = Array.prototype.slice.call(arguments); var finalArgs = args.concat(inner

2020-09-28 19:53:56 21

原创 笔试合集7

继续攒人品ing~没想到现在还有一场笔试,做得不是很顺手,题目难度感觉是我做过有史以来最大的,或者说最复杂的,而且web前端试卷居然禁用JS,而且只允许用C++和Java,还好之前遇到些人工不智能的评测机就用一下C++,加上本身就有点儿算法基础,还是死磕出了一道题。题目描述,见图(emmmm,画得有点儿丑,excel+荧光笔画得),给定一个整数n,构造边长为n的矩形,第一圈是逆时针遍历,第二圈是顺时针,第三圈再是逆时针,然后给定坐标,输出值。大体描述就是这样,我的思路还是比较麻烦的,光调试就调试了一

2020-09-27 21:48:24 24

原创 关于CSDN博客阅读数显示的一些问题

好久之前就发现了这么一个问题,当我发布一篇博客之后,过一段时间在手机上看到我的这篇博客阅读数还是零,这让我很失落,虽然不是呕心沥血的总结,但也不是些水文(虽然有时候忙起来也会敷衍一下。。。)但是在我的笔记本上,还是显示有阅读数量的,猜想可能是同步问题吧,毕竟很多APP都会有这样的缺陷。但是今天,问题来了,我的一片博客已经发布很久了,在笔记本上显示无阅读次数,在手机上显示有阅读数量,然后我尝试了一下台式机(未登录状态)查看我的这篇博客,和手机上显示一样的阅读次数,这就让人很迷惑了,不同情况下不同的机器上居然

2020-09-27 16:28:28 11

原创 <a>标签中的选择器及其触发顺序

<a>标签中的四个选择器link 设置a对象未被访问前的样式属性visited 设置a对象在其链接地址已被访问过时的样式属性hover 设置鼠标悬停时的样式表属性active 设置对象在被用户激活时的样式表属性触发的正确顺序,CSS遵循“就近原则”:link visited hover active...

2020-09-26 21:40:45 12

原创 笔试合集7

题目描述:计算n!末尾包含0的个数。具体描述记不太清了,因为是在线编程,不允许使用本地的代码编辑器,还是比较难受的,话不多说,先上代码:function foo(n) { if(n<0){ return "Error"; } else if(n>=0 && n<5){ return 0; } else { var arr = [0,0,0,0,0,0]; for(var i=6;i&

2020-09-25 21:54:23 17

原创 简述深浅拷贝

1、深拷贝,复制目标元素,当该元素与目标元素其中有一个发生变化,另一个不会变化;拷贝得太深了,都有了自己的地址,两个内存地址不相干了;比如小明买了台笔试本电脑,小刚比较喜欢,也买了一台,小刚不小心摔坏了自己的笔记本,但是小明的笔记本是没事的。2、浅拷贝,复制目标元素,当该元素与目标元素其中有一个发生变化,另一个不会变化;拷贝得比较浅,还是要依赖于源地址,两个元素指向得是同一个内存地址;比如小明买了条笔记本电脑,小刚借去玩,结果小刚不小心摔坏了,结论是小明的笔记本坏了。深拷贝是一种赋值浅拷贝是一种赋址

2020-09-23 21:27:24 18

原创 正则表达式字面量与构建函数创建的每一个新RegExp实例

小红书上有这样一段代码:var re = null;for (let i = 0; i < 10; i++) { re = /cat/g; console.log(re.test("catastrophe"));}for (i = 0; i < 10; i++) { re = new RegExp("cat", "g"); re.test("catastrophe");}表示第一个for循环输出结果为:truefalsetruefalse

2020-09-22 15:34:04 10

原创 面试合集3

这次感觉很注重算法能力。1、实现大数模拟,不借助任何工具类语法:function foo(str1, str2){ var t; if(str1.length < str2.length){ t = str1; str1 = str2; str2 = t; } var arr1 = []; var arr2 = []; for(var i=str1.length-1;i>=0;i--){

2020-09-21 17:31:04 16

原创 面试合集2

一个后端的问题:当在某一时刻产生了大量请求,如何为这些请求标识唯一的ID呢?(所谓大量在理论上来说是趋近于无穷的)我的回答:1、hash编码,最长可以到达32位,因为之前的时候在用SSM框架做项目的时候曾经用过这种方法来生成主键ID;面试官表示虽然是个不错的办法,但是生成的ID过于杂乱无章。2、根据第一种方法的提示,又想到了时间戳的思路,精确到毫秒级的时间戳;面试官表示,这种方法存在一定局限性,如果在该毫秒内也有很多条并发的数据,这样是行不通的。PS:忘了说纳秒。3、第二种方法配合random,但是

2020-09-20 21:39:03 14

原创 笔试合集6

又是在线代码区,禁用本地的编辑器,手敲JS还能应付,但是手敲CSS??这得多熟练的水平才能拼对每一个单词。。。。菜是原罪菜是原罪1、一个数组中出现次数最多的元素,并输出其所有的位置思路:先将原数组去重,利用的是最简单高效的ES6语法:var arr_1 = [...new Set(arr)];来一发sort,然后利用arr.lastIndexOf(i) - arr.indexOf(i)再利用indexOf的参数特点来进行搜索:var p = [];var n = 0;while(tru

2020-09-19 21:28:49 15

原创 面试合集1

const obj ={ name : 'aaa', child : { name : 'bbb', child : { name : 'ccc' } }};给定一段代码,给这个对象中所有的name字段的值前面加上对应的个数的-,最后得到结果类似这样:const obj ={ name : '-aaa', child : { name : '--bbb',

2020-09-18 16:47:20 31

原创 笔试合集5

东哥等等我1、蜗牛爬井问题,一只蜗牛在掉到了井里,第一天,白天向上爬n米,晚上掉n/2米,第二天白天向上爬n米,晚上向下掉n/2+n/4米。。。。直到爬出井外。需要注意,这是一个注重过程的题目,如果使用合并消除的话,最后会得到可能只上升了(1-2^n/1)米。永远达不到n米,更不用说爬出井外了,所以在这个过程中,一旦白天爬了井外,总不能再让它爬回去吧,代码被覆盖了,相信是同学们一定可以写出来,ヾ(◍°∇°◍)ノ゙2、背包问题,需要注意权重是平均值:#include <iostream>

2020-09-17 21:34:27 9

统一UML建模图合集.zip

UML学习过程中存放的各种图,一部分是截图的范例,一部分是自己绘制的,放入回收站多少有些可惜,放在CSDN上,希望可以帮助到有缘人

2020-08-18

空空如也

空空如也

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

TA关注的人 TA的粉丝

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