自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(409)
  • 问答 (2)
  • 收藏
  • 关注

原创 写vue3+ jsx+ts语法+ storybook展示的组件库

代码地址前言会不定期更新,现在已更新三个组件,准备用视频记录自己写的过程并贴出来。样式上copy的别人

2021-12-15 21:28:00 3102 4

原创 实现mini-vue3

初始化项目yarn init -y[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jv0z6mLw-1638152199262)(https://i.loli.net/2021/11/28/2W6ANjVYauZeykC.png)]vue3源码采用的是monorerpo的管理方式,我们这就简单点的方式创建包集成typescript注意如果没有安装typescript需要先安装typescriptnpx tsc --init集成jestyarn add j

2021-11-29 10:16:59 620

原创 2022LOL微博杯模糊问题,1080p高清看微博杯the shy比赛直播

高清播放微博杯

2023-01-03 15:30:38 3608 5

原创 vue3 配置storybook报错 : Cannot find module ‘vue/dist/vue.esm.js‘

前言之前想让自己的组件库更完善所以配置jest,搞了好久,在解析jsx语法中的slots.default!()这句话是就报错,最终搁置了,今天想让自己的组件库添加storybook,感觉被官网坑了一上午,不过好歹成功了报错产生原因Cannot find module ‘vue/dist/vue.esm.js’我就是按照官网执行了初始化命令初始化的时候没报错结果一执行下一步 npm run storybook就出现了此问题、解决方法后来 搜谷歌地址:https://github.

2021-12-16 12:45:23 3955

原创 学会一个手写一个简单的vue(1)-含视频

前言想直接看视频的可以点击下面视频观看我的手写简单vue全过程本片文章的讲解步骤不完全按照视频里写代码的思路,但是有详细注释准备工作先看下面这张图,我是按照这张图的思路一步一步写的由于时间原因 ,视频录制中已经把vue的响应式核心的部分串联,但是编译解析部分还只写了mustuche,v-html,v-text的编译解析代码,后面会进一步完善v-model,v-bind等一系列指令先建立一个文件夹,里面放置index.html如下,然后建立下面引入的几个文件 observer.js和compi

2021-06-23 11:05:41 336 2

原创 解决Uncaught (in promise) TypeError: Failed to execute ‘Cache‘ on addAll

问题产生今天在使用service worker加上 cache storage时,创建一个存储对象cache之后始终 addAll()方法没有在Application 中的cache storage看到被缓存的文件排查其实不知道是什么问题,我这里一直获取不到也没显示这个,等我刷新多次的时候等一等,才看到这个,所以你没看到这个404的话 可以等一下我的地址改成这个就对了我的目录结构是...

2021-06-08 11:57:06 9781

原创 反复刷这些javascript手写题,我又变强了(二)

文章目录数组原型方法的实现forEachmapfiltereveryreduce对象原型方法的实现object.assignobject.create手写promise数组原型方法的实现其实下面的这几个方法的写法差不多,参数也只有一些细微差别,但是要考虑到,如果是要返回一个新的数组的方法比如map,reduce都要用到深拷贝forEach这里主要需要注意的就是第一个参数是回调函数,然后这个回调 函数也会有三个参数,分别是元素值,元素索引,遍历数组本身,第二个参数就是数组遍历时this的指向地

2021-06-01 09:32:50 490

原创 反复刷这些javascript面试手写题,我感觉我真的变强了(一)

文章目录用正则能实现的手写题实现千分位分隔符实现一个trim()取出连续重复的字符解析url参数为对象形式关于闭包的手写题利用高阶函数实现函数缓存用正则能实现的手写题前段时间刚好复习了正则,所以把正则的写前面实现千分位分隔符题目描述:实现将一个数从各位数开始,每距离一个千分位添加一个分割符 ‘ ,’如输入: 12345678.32423432输出:12,345,678.32423432这道题在最近一两个月的面试中遇到两次,可以分别有字符串和数组的一些方法结合解决,也可以用正则解决,我觉得

2021-05-04 21:25:48 3956 15

原创 吃通javascript正则表达式

文章目录正则表达式的作用创建正则表达式的方式字面量形式使用对象的形式创建正则表达式小案例-实现输入字符高亮选择符对转义的理解正则表达式的作用简单来讲正则表达式的作用就是进行字符串的增删改查,虽然javascritpt语言已经有及其完善的操作字符串的api,但是正则表达式会让你操作字符串更简单方便创建正则表达式的方式字面量形式需要注意的是 字面量形式的正则表达式 是没有办法操作变量的,如下const reg = "sattre is smart"let x = 's'console.l

2021-04-18 19:52:06 1866 12

原创 动态规划:零钱兑换问题(javascript求解)

前言昨天天面试时突然提到一嘴动态规划,结果面试官问我动态规划是啥子,我竟然一时表达不出来,在这里用自己的话重复在练习一下:动态规划就是先找到大问题的子问题,将子问题的解作为中间结果递推求解最终问题,而且子问题的解要是局部最优的。动态规划问题的一般解题步骤确定状态:一般是可以用数组表示状态化成子问题:涉及到问题的最后一步怎么求解的(比如跳台阶问题的最后一般可以调上一节台阶和跳上2节台阶得到 dp[n] = dp[n-1]+dp[n-2]初始条件和边界情况需要注意 (设置 dp[0] = 1)

2021-03-27 20:08:03 745 1

原创 面试官问:怎么让localStorage像cookie那样有过期时间

思路昨天被面试官问到时有点蒙,今天考察了一下,l利用封装的思想,只用在设置一个key的是再携带设置另一个时间key,另一个key为你想设置的它的最大生命周期就可以了。获取的时候比较一下这个时间key,如果过期了就remove,获取不到实现需要自定义set和get方法自定义set() function set(key, value, expired) { // 设置好要存储的值 console.log(key, value); localStorage.

2021-03-24 10:48:18 609

原创 javascript高级程序设计的几种经典继承

文章目录构造方法继承原型链继承组合继承原型式继承寄生式继承寄生组合式继承借鉴:https://www.jianshu.com/p/85899e287694构造方法继承优点:可以传参给父类利用call的参数列表传递避免了所有属性被实例共享缺点:没创建一个实例 就要创造一个方法只能继承父类的实例属性和方法,不能继承原型的属性和方法function Parent(name){ this.name = name||'default_name'; this.getInfo =f

2021-02-27 21:06:00 270

转载 剑指offer:数组中只出现一次的数字

map<int ,int> maps; for(int i=0;i<data.size();i++){ maps[data[i]]++; } vector<int> a; int j=0; for(const int e:data){ if(maps[e]==1){ a.push_back(e); ...

2021-02-19 22:20:07 146

转载 剑指offer:求两个链表的第一个公共节点

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { ListNode *ta = pHead1; ListNode *tb

2021-02-19 22:12:29 161

转载 剑指offer:数值的整数次方

文章目录题目描述思路及代码方法一:暴力方法方法二:递归法(快速幂)方法三:非递归的快速幂题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0思路及代码方法一:暴力方法很显然就是n个b相乘。循环n次。class Solution {public: double Power(double base, int exponent) { if(exponent == 0

2021-02-17 21:48:40 113

转载 剑指offer:构件乘积数组

文章目录题目描述思路代码题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)对于A长度为1的情况,B无意义,故而无法构建,因此该情况不会存在。思路此题目能用暴力的方法肯定是能做出来的,可以将B数组的每一个数一个个的求

2021-02-13 18:39:50 113

原创 剑指offer:不用加减乘除法做加法

文章目录题目描述思路源码题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路这道题不可以用上面的方法,那大概只可以用二进制运算求解了,由此可以联想到计算机组成原理学的加法器,两个二进制数相加的结果可以用异或运算,而两个二进制的进位相加是用与运算求解。下面是牛客网大神的易懂解说:首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终

2021-02-10 16:59:27 178

原创 剑指offer:数组中出现次数超过一半的数

题目描述题目抽象:给定一个数组,找出数组中的众数,若有,返回众数,若没有,返回0众数定义:数组中出现次数大于数组一般的元素思路及代码哈希此题目一开始我想到的就是这种哈希的方法,先把每个数的出现次数存到数组中,再把此数组遍历一次,返回众数;下面第一个是我自己的代码有点繁琐。第二个是灵活运用c++的map结构后的简化代码,两种思想相同;代码一时间复杂度:O(n^2)空间复杂度:O(n)class Solution {public: int MoreThanHalfNum_So

2021-02-04 11:59:57 141

转载 我在校园自动打卡

我在校园自动打卡

2021-02-03 12:12:09 3269

转载 剑指offer:合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路及代码迭代求解如果l1指向的结点值小于等于l2指向的结点值,则将l1指向的结点值链接到cur的next指针,然后l1指向下一个结点值否则,让l2指向下一个结点值 循环步骤1,2,直到l1或者l2为nullptr 将l1或者l2剩下的部分链接到cur的后面/*struct ListNode { int val; struct ListNode *next; ListNode(in

2021-02-01 12:30:34 84

原创 剑指offer:变态跳台阶和跳台阶

前言这道题目如果能写出迭代式,就会感觉极其简单。由于我大一的时候遇到过此题;优点印象,所以两分钟就写出来了,极其开心。(完全靠自己所想,所写出的题目实在不多)题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路f(n) = f(n-1)+f(n-2)+…+f(1);f(n-1) = f(n-2)+…+f(1);所以:f(n) = 2f(n-1);代码class Solution {public: int

2021-01-31 12:28:32 102

转载 剑指offer:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题解方法一:暴力方法:直接遍历一遍数组,即可找到最小值。但是本题的附加条件就没有用上。肯定不是面试官所期望的答案。方法二:二分查找这种二分查找难就难在,arr[mid]跟谁比.我们的目的是:当进行一次比较时,一定能够确定答案在mid的某一侧。一次比较为 arr[mid]跟谁比的问题。一般的比较原则

2021-01-31 11:54:46 217

原创 剑指offer:给定一棵二叉搜索树,请找出其中的第k小的结点。

题目给定一棵二叉搜索树,请找出其中的第k小的结点。思路递归:由于二叉搜索树的性质是左子节点小于根节点,右子节点又比根节点大,所以我们可以先递归到最左边的子节点,那么这个节点就是最小的节点。从此节点开始计数,刚好就是从大到小排列的了。用栈的方法中序遍历,可以利用栈来模拟递归遍历,首先根入栈,然后令根节点的左孩子不断入栈直到为空,弹出栈顶,令其右孩子入栈,重复以上操作,直到遍历结束或者访问第k个节点为止。代码:递归/*struct TreeNode { int val;

2021-01-30 21:00:47 267

原创 输入一棵二叉树,判断该二叉树是否是平衡二叉树。(剑指offer-平衡二叉树)

class Solution {public: map<TreeNode*,int> depthArr; int depth(TreeNode *node){// 如果没有节点,直接返回0 if(!node) return 0;// 下面的代码就是为了计算出每一个节点的深度,并把它存在c++映射结构map中 if(depthArr.find(node)!=depthArr.end())

2021-01-27 11:52:27 160

转载 C++ STL 各种数据结构知识点速查

C++ STL 各种数据结构知识点速查

2021-01-23 21:22:21 182

原创 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

题目输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路(2种)分治法,求左子树的深度和右子树深度的最大值,采用递归的方法层次遍历,一层一层的加得到深度此题目和我昨天做的差不多,点击这里看另一道相似题目,所以我很快用下面的第二种层次遍历的方法做出来了,现在我发现这种二叉树的题目大部分是可以用遍历的方法解决的代码(2种)1. 分治法,求左子树的深度和右子树深度的最大值,采用递归的方法/*struct TreeNo

2021-01-23 20:52:13 562

原创 操作给定的二叉树,将其变换为源二叉树的镜像的多种方法多种题解(已通过)

文章目录题目及分析思路(2种)代码(2个)1. 在原有的树上直接将所有左右子树节点交换2. 重新遍历生成一颗树,这棵树刚好是原来的镜像题目及分析操作给定的二叉树,将其变换为源二叉树的镜像。分析:就是将二叉树的所有左右子树节点交换过来就可以了思路(2种)这里思路可以有以下两种在原有的树上直接将所有左右子树节点交换重新遍历生成一颗树,这棵树刚好是原来的镜像代码(2个)1. 在原有的树上直接将所有左右子树节点交换递归的方法很是简便,但是需要注意的是在有些地方会ac不了,毕竟很耗内存

2021-01-22 11:15:11 274

原创 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。js代码已通过

文章目录算法题目思路js代码算法题目用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路假设推入1,2,3,4这几个元素进栈,那么栈顶元素是4,栈底是1将stack1的所有元素推到stack2中,此时stack2中的栈顶是1,栈底是4。此时将stack2的1 pop出来,刚好就满足了队列元素的先进先出的特性最后将stack2的退回到stack1js代码var stack1 = []var stack2 = []function push(

2021-01-21 11:49:12 270

原创 springboot项目出现:Resource interpreted as Stylesheet but transferred with MIME type text/html

问题访问自己springboot项目的登录页面 结果发现 没登录 的时候登录页面的 静态文件加载不出来,一但登录之后再返回登录页面才能加载。于是我考虑到肯定是登录拦截器,拦截了解决加上excludePathPatterns方法把你不想过滤的文件写上去...

2021-01-17 13:32:54 227

原创 用docker部署springboot项目链接不上数据库

问题当我用docker创建好了springboot项目的容器和一个 mysql8.0的容器时。出现了The last packet sent successfully to the server was 0 milliseconds ago出现的原因 是根本 没链接上数据库解决由于是第一次用docker 部署 还不知道 要改一下数据库的配置地址,将下面的localhost改为自己服务器的主机地址...

2021-01-17 13:26:09 2179

原创 用springboot+mybatis+mysql+thymeleaf写的简易商品管理系统(系统地址:http://120.55.192.105:8080/含源码)

文章目录简介源码页面样式页面及数据库表结构各模块功能及源码解析登录功能以及拦截器功能商品管理功能和价格分析功能库存管理功能简介简易的商品管理系统,主要用springboot + mybatis +thymeleaf注意 链接的mysql数据库是8.0版本 如果自己运行 可能会遇到mysql数据库版本问题造成的影响此系统 主要是看b战狂神说 springboot实战模仿写的前端的页面也是搜的模板,只是简单的商品的增删改查。而且有点小问题 就是 每次第一次加载登录页面的时候加载不了 登录页面的静态

2021-01-16 23:41:14 4214 14

原创 vue3自定义组件v-model和vue2的用法比较

文章目录vue3自定义组件v-model实例vue3自定义v-model的优点(较vue2)vue3自定义组件v-model实例注意:我这里是typescript的语法,只是有个别地方和js相比要确定一下类型,比如函数传参时,和使用input元素的value时父组件App.vue<template> <div> <InputModel v-model="inputVal"/> <span>{{inputVal}}</span&

2020-12-07 17:13:09 1584

原创 计算机网络实验基本命令(ping,tracert,ipconfig,netstat,route)详细操作演练

文章目录pingping的作用ping的参数ping -tping -aping -i TTLping -n countping -l sizetracerttracert命令的作用tracert的参数tracert -dtarcert -h maximum_hopstarcert -w timeoutipconfigipconfig的作用ipconfig的参数ipconfig/allipconfig/releaseipconfig renewnetstatnetstat的作用netstat的参数net

2020-12-07 12:22:50 2882

原创 记一次typescript爬虫全过程

文章目录前言初始化项目电影名和评分等数据的爬取代码前言这几天疯狂学习typescript,让我感受到了它的无线魅力,无意中了解到了typescript也可以操作爬虫技术,欣喜落狂。于是进行了第一次typescript爬虫记录github代码地址初始化项目先创建一个叫做tsScrapy的文件夹,用cmd命令进入命令行窗口依次输入下列命令npm init -y tsc --init这两部命令分别出现了pakage.json文件和tsconfig.json文件后需要npm安装许多的依

2020-12-01 20:11:09 887

原创 vue中的一些高级特性(含vue3新特性)

文章目录自定义v-model组件$nextTickslot自定义v-model组件子组件CustomVModel.vue<template> <!-- 例如:vue 颜色选择 --> <input type="text" :value="content" @input="$emit('changeEvent', $event.target.value)" > <!-- 1. 上面的 input 使用了 :va

2020-11-30 17:17:51 1346

原创 快速入门typescript基础知识点总结

前言有一位著名大佬说过:所有javascript的代码今后都可以typescript代替。这句话是绝对正确的,因为typescript是javascript的超集。相对javascript最大的特点就是多了类型检测等功能基本数据类型string类型限定的表示形式就是在定义的变量名后面加上冒号,在加上需要限定的类型,如下let name: string = "bob";name = "smith";let name: string = `Gene`;let age: number = 3

2020-11-30 15:00:00 390

原创 vue3生命周期和vue2的比对

vue2和vue3的生命周期函数对应关系以下表格是按照生命周期的顺序从上到下品牌列的vue2vue3beforeCreatesetupcreatedsetupbeforeMountonBeforeMountmountedonMountedbeforeUpdateonBeforeUpdateupdatedonUpdatedupdatedonUpdateddestroyedonUnmountedactivatedonAct

2020-11-27 16:48:32 451

原创 vue3 ref 和reactive的区别

文章目录RefreactiveRefref数据响应式监听,和react-hook好像差不多。ref 函数传入一个值作为参数,返回一个基于该值的响应式Ref对象,该对象中的值一旦被改变和访问,都会被跟踪到,就像我们改写后的示例代码一样,通过修改 count.value 的值,可以触发模板的重新渲染,显示最新的值<template> <h1>{{name}}</h1> <h1>{{age}}</h1> <button

2020-11-27 15:45:14 27146 5

原创 解决vue3+ts 创建项目其中的.vue文件出现 ‘interface‘ declarations can only be used in TypeScript files.

在首选项->设置里面打开setting.json文件删除或者注释掉下面代码, "files.associations": { ".eslintrc": "json", "*.vue": "html" },出现这个问题的原因可能就是一些插件之间的配置冲突什么的,反正搞得我这几个小时 是真的累了...

2020-11-27 11:22:20 9542 10

原创 创建vue3.0的第一个组件,学习vue3较vue2的改变

前言vue3继承了vue2的大部分功能,增添了一些特性,所以vue叫做渐进式框架,所以还是可以用vue2的大部分语法的vue3组件代码<template> <h1>{{name}}</h1> <h1>{{age}}</h1> <button @click="sayName">按钮</button></template><script lang="ts">import

2020-11-26 21:08:12 349

空空如也

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

TA关注的人

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