前端
文章平均质量分 59
艾米栗写代码
这个作者很懒,什么都没留下…
展开
-
前端监控之用户行为监控实践2(数据统计mongodb)
进行mongodb 统计实战。原创 2023-02-23 17:18:18 · 843 阅读 · 0 评论 -
前端监控之用户行为监控实践1(数据收集)
前文对前端监控进行了简单介绍,起因是因为当前做的一个需求,老板要看当前项目的uv、pv信息。其实这是非常简单的统计。 但在最开始接到这个需求,却难倒我了。 现在进行简单的复盘,记录一下实现方法。原创 2023-02-23 16:14:41 · 1273 阅读 · 1 评论 -
前端监控简介
前端所说的监控指的是什么?前端为什么需要监控?带着这两个疑问,我进行了调查和思考。将我所了解到的信息总结如下。原创 2023-02-23 14:25:33 · 714 阅读 · 0 评论 -
antd日期组件时间范围动态跟随
antd 日期组件,时间自动跟随。原创 2023-02-10 20:37:12 · 1782 阅读 · 0 评论 -
双问号??在 js 中的应用
双问号的应用介绍原创 2023-02-06 11:53:23 · 2338 阅读 · 0 评论 -
vue 渲染函数
渲染函数的介绍原创 2023-02-02 09:38:09 · 366 阅读 · 0 评论 -
flex 布局:实现一行固定个数,超出强制换行(流式布局)
flex 布局基础知识回顾+ 常用应用原创 2023-02-02 09:09:51 · 16265 阅读 · 3 评论 -
动态改变 url-history 对象
history 对象的一些用法原创 2023-01-02 12:25:52 · 305 阅读 · 0 评论 -
需求复盘 | 职责分离原则开发实战
职责分离是我们耳熟能详的设计模式,在实际的工程中,职责分离是如何体现的呢? 通过日常开发中的一个小例子帮助大家了解。原创 2022-09-14 10:56:31 · 239 阅读 · 0 评论 -
保姆级教程 | 表格自动行合并实现
在 element-ui 和 antv 中都有表格合并,但如何确定哪几行要合并呢? 在随机给定数据的情况下,如何实现自动合并呢?本文将一一解答这些问题。原创 2022-08-26 17:40:30 · 1403 阅读 · 0 评论 -
上传文件组件开发的一些思考
开发上传文件组件后的一些思考原创 2022-08-08 11:30:54 · 127 阅读 · 0 评论 -
京东-黑客马拉松大赛复盘
参加公司内部比赛的一些感想原创 2022-08-08 01:02:42 · 3083 阅读 · 1 评论 -
input file cursor 不生效
input file cusor 失效翻译 2022-07-18 15:42:54 · 531 阅读 · 0 评论 -
puppeteer实现网页截图
使用puppeteer过程中遇到的一些问题。原创 2022-07-01 16:44:04 · 3531 阅读 · 0 评论 -
puppeteer在mac和linux上表现不一致的问题记录
使用puppeteer实现页面截图全文档。原创 2022-07-01 15:30:35 · 654 阅读 · 7 评论 -
JS实现登录页面(倒计时)
通过手机验证码登录的页面实现原创 2022-06-05 23:36:04 · 1721 阅读 · 0 评论 -
getUserMedia` undefined 火狐firefox
很多资料都是 chrome 的解决办法。firefox 的解决办法是:在 about:config 中修改,红框中的两个属性为 true原创 2022-01-16 11:53:43 · 908 阅读 · 3 评论 -
leetcode 精选100题(7)合并二叉树-简单
题目解题分析:这个题目的思路也很简单,在遍历左右子树的过程中,将所有的节点,保存到root1中。但就是这么简单的问题,我最开始却没有写出来。问题在于,虽然想到了利用root1来降低空间利用,但是没有想到如何在递归的过程中将所有节点的数据保存到root1中。...原创 2021-12-01 19:38:42 · 126 阅读 · 0 评论 -
Vue组件通信
一、兄弟组件1.1 兄弟组件通过父组件进行通讯1.2 兄弟组件通过bus进行通讯业务场景:搜索组件参数的改变,需要改变图表组件的参数,并触发图表组件的重载技术分析1:改变图表组件的参数搜索组件和图表组件属于兄弟组件。但是由于组件嵌套过深,无法通过父组件进行通讯,示意图如下:这里有两种方式:① 使用Vue中的bus进行通讯② 通过Vuex进行通讯我们挨个进行介绍。首先是通过bus进行通讯,其实这个原理和父子之间通讯的原理差不多,既然无法直接到达父组件,那么,原创 2021-11-26 17:11:58 · 709 阅读 · 0 评论 -
vue redirect和children同时出现 优先级
{ path: '/', name: 'Home', component: Layout, redirect: '/core-view', children: [ { path: 'dashboard', name: 'Dashboard', component: () => import('@/views/dashboard.vue'), }, ], },在项目的路由...原创 2021-11-05 16:56:35 · 1114 阅读 · 0 评论 -
Module build failed: TypeError: Cannot read property ‘match‘ of undefined at Object.解决
xxnpm ERR! Cannot read property 'match' of undefined 错误处理_Jane_96的博客-CSDN博客跟往常一样运行npm install 的时候,突然报错。错误情况如下:npm ERR! Cannot read property 'match' of undefinednpm ERR! A complete log of this run can be found in:npm ERR! C:\Users\user\AppData\Roamin原创 2021-11-05 16:20:58 · 1544 阅读 · 0 评论 -
简洁易读 | js 对象递归合并
起因:使用扩展符合并对象会产生覆盖,因此需要编写一个递归遍历函数进行合并。在网上找到一个版本,但是,其结构太复杂了,进行了简化。简化版本:function isObject() { return Object.prototype.toString.call(obj) === '[object Object]'; } function mergeO(dynOption, staticOption) {Object.keys(staticOption).forEach((key)原创 2021-08-06 11:19:33 · 2892 阅读 · 0 评论 -
iwebconf效能探索ppt
使用python运行bat脚本工具的方式很简单os.system('file_path')'file_path'是bat脚本的全路径,以下方式不可行,勿用!不建议使用subprocess,太过繁琐,当然,大佬随意,如果你只是为了完成一个脚本工具,并且测试过脚本的可用性,那么直接上system,一行给你所有。os.system(r'file_path')还有必须要提醒的一点是:如果你之前测试的时候,脚本只能在某一路径下完成,那么,python文件最好也放到该路径下。这可能是由于,b原创 2021-05-24 19:24:04 · 87 阅读 · 0 评论 -
css布局
css布局两列布局&三列布局两列布局和三列布局指的是:两列布局,一列固定,一列自适应三列布局,两侧固定,中间自适应两列布局可以在三列布局的基础上改。三列布局1. float + marginhtml代码:<div id="bd"> <div class="main">main: this is some words.</div> <div class="sub">Sub: this is some wo原创 2020-10-06 16:59:29 · 122 阅读 · 0 评论 -
css布局之垂直居中
css布局之垂直居中伴随音乐:左边-苏打绿元素垂直居中是css中老生长谈的话题了。在实际应用中也经常出现,当然,对于目前的我来说,最大的价值是,它经常非常频繁的出现在面试题中,而面试,fuck是我秋招的绊脚石,战略上重视,战术上轻视,是无法获得offer的。 0 offer的痛让我严重怀疑自己的智商。 ok, 废话不多说,让我们开始随着谷歌一起开始学习之路吧。本文的主要内容呈现在下面的这张思维导图上:文字垂直居中我们就不谈了。 核心在导图中已经说明,多行的垂直居中是一个我待解决的课题,有兴趣的原创 2020-10-05 22:16:50 · 171 阅读 · 1 评论 -
阿里海外 前端面试记录
跟面试官大概聊了50分钟。首先跟我确认了一下个人信息,毕业的时间点。 并打听了一下我目前拿到了哪些offer。然后做一个简单的自我介绍,介绍了一下我的实习经历。1. 首先问了我http和https有什么区别?这个问题我应该深入去复习一下,并整理成文档2. 网站发送一个请求之后发生了什么?3. 原型和原型链4.事件循环5. 快排 字符串翻转的方法6. es6 常用的有哪些7. 盒模型介绍一下8. position的属性有哪些 各自的作用是什么9. vue 的..原创 2020-08-28 20:23:42 · 233 阅读 · 0 评论 -
引用类型 深拷贝
引用类型 深拷贝复制引用类型的时候,复制的是引用地址,而不是新建一个内存。这是浅拷贝。那我们要实现它的深拷贝。递归方式实现深拷贝可以看到最终拷贝的结果是null、undefinde、function、RegExp等特殊的值也全部拷贝成功了,而且我们修改里边的值也不会有任何问题的缺点:(1)无法保持引用(2)当数据的层次很深,会栈溢出// 定义一个深拷贝函数 接收目标target参数function deepClone(target) { // 定义一个变量 let res原创 2020-07-01 22:49:57 · 376 阅读 · 0 评论 -
js的数据类型到底是怎么划分的?
这是一个令我困扰了很久的问题,基本数据类型是哪几种,引用类型到底包括哪些?我把原来的笔记汇总了一下。首先,我们要说明的就是js的数据类型有哪些。根据ECMA的表述,js的数据类型可以分为7类:number、string、boolean(相信这三类大家都了解,他们也被成为原始类型)undefined表示未定义、null表示空。symbol 为es6新增数据类型。Object对象,其中js内置了Function、Array、Date等对象。这些对象继承自Object对象,这个又可以展开讲一下原型链原创 2020-07-01 22:48:10 · 499 阅读 · 0 评论 -
回调函数的那些事
回调函数这只是一个称呼,表达的含义是 将函数A作为函数B的参数,并且函数A在函数B内进行调用。这可以用来解决异步。因为异步的时候我们不能一直等待,因此需要一个函数来在异步操作执行完了以后,继续接下来的顺序操作。举例:<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body&原创 2020-07-01 22:40:13 · 187 阅读 · 0 评论 -
一文聊透This
Thisthis指向当前属性所在对象。var A = { name: '张三', describe: function () { return '姓名:'+ this.name; }};var name = '李四';var f = A.describe;f() // "姓名:李四"JavaScript 语言之中,一切皆对象,运行环境也是对象,所以函数都是在某个对象之中运行,this就是函数运行时所在的对象(环境)。这本来并不会让用户糊涂,但是 JavaScript原创 2020-07-01 22:38:27 · 166 阅读 · 0 评论 -
VUEX的一点用法了解
VUEX的用法适合用于大型项目多个组件之间通信,如果变量过多,就会造成代码中有很多冗余数据。作为一个完整的状态管理系统,它有一整套的方案。为什么是一个周期呢?为什么变量的更改要设置那么多步骤呢?因为这些状态并不仅仅在一个组件中使用,如果没有统一的管理办法,那么这些状态将是混乱的。因此,改变数据有统一的规则,引入数据也有统一的规则。statestate是用来存储数据的。getter通过getter获取属性mutation在mutation中定义对于state中每个数据的变更方式。通过co原创 2020-05-21 20:55:02 · 150 阅读 · 0 评论 -
vue路由
路由:this.$routethis.$router区别是什么?新版页面基于router是怎么切换路由的?router是为了方便组件跳转的。vuerouter是第三方组件。如果想要vue使用它,必须先install组件,通过Vue.use( . . . )的方式去 install 组件。install组件的时候会给每个组件附加两个属性:$router $routerouter是vuerouter的实例,包含所有的方法。$route是当前路由对象。$route.path类型: s原创 2020-05-21 20:54:12 · 134 阅读 · 0 评论 -
从实现吸顶效果看vue生命周期
从吸顶效果来说明vue的生命周期:吸顶效果是什么?没有滚动时,小导航栏和顶部有距离。如图一。但是,当页面开始滚动时,我们希望导航栏依旧存在,如图二。 图一 图二分析一下,如果想要实现这个效果,就要在滚动的时候判断高度。一旦高度小于了某个值,就改变导航栏的样式。那么,在view的哪个阶段我们才能获取到dom的数据呢?答案是mounted挂载之后。代码可以参考该链接。https://www.jianshu.co原创 2020-05-21 16:11:45 · 150 阅读 · 0 评论 -
理解Vue.nextTick
nextTick使用场景:其中涉及到的知识点有:事件循环 http://www.ruanyifeng.com/blog/2014/10/event-loop.htmlnexttick调用阶段:是在同步环境下完成的,通过在所有的dom数据更新完成以后。如果我们需要获取修改后的dom数据,在vue代码后直接获得是不可能获取到的。举例:<div id="example">{{message}}</div>var vm = new Vue({ el: '#examp原创 2020-05-21 15:37:13 · 131 阅读 · 0 评论 -
vue-property-decorator初探
vue-property-decorator初探公司旧版系统代码中使用了ts,而用ts写vue就用到了装饰器等一系列功能。因此,对于装饰器进行了了解和学习。并进行了大致的总结。什么是装饰器?装饰器的作用是什么?装饰器可以不修改已经写好的代码,去动态的添加相关的属性和方法。比如说,给一个类已经写好了方法和属性。但是在不同的文件中使用这个类需要增加特定的方法。我们就可以通过装饰器来实现这个功能。@name 即为使用装饰器的方法。其中target函数就是要装饰的目标。@testableclass原创 2020-05-21 14:16:17 · 251 阅读 · 0 评论 -
回调函数及异步编程理解(一)
回调函数:这只是一个称呼,表达的含义是 将函数A作为函数B的参数,并且函数A在函数B内进行调用。这可以用来解决异步。因为异步的时候我们不能一直等待,因此需要一个函数来在异步操作执行完了以后,继续接下来的顺序操作。举例:<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body原创 2020-05-19 15:37:16 · 1338 阅读 · 0 评论 -
前端学习+面试小总结(二)
从过完年开始系统学习相关的知识,已经接近两个月了。这篇文章想系统的回顾一下自己的各种骚操作,并对接下来的路进行一个修正吧。大致分为几个部分:1. 我学了什么,学习的过程中有什么可取的点和不可取的点。2. 我没有坚持什么,如何把这些没有坚持的内容进行拆解,融入到接下来的学习中3. 我需要补充的是什么。刚开始学习前端的时候,作为一个小白,自然是要从基础知识开始了解,入门阶段我参考...原创 2020-03-26 14:52:19 · 222 阅读 · 0 评论 -
腾讯一面凉经|复盘及总结(一)
面试我的小姐姐可能是腾讯新闻的,因为期间问了我新闻app的问题。1. 自我介绍确定自己的面试岗位之后,就要根据相应的岗位找出自己的优点。面试官往往是想通过自我介绍了解你在技术方面的优势。这期间我的自我介绍并没有起到让面试官更了解我的作用。2. 讲一个你自己做过的项目为什么要一直强调自己没有实习经历呢???这件事情不要提啊。只要去说自己做了什么就好了。完成的说出,自己开发...原创 2020-03-18 21:38:13 · 228 阅读 · 0 评论 -
牛客网第一次模拟笔试总结
1. 函数调用依托的数据结构——堆栈2. KMP算法核心代码为next数组(用python实现)def getNext(p): nex = [0] * len(p) nex[0] = -1 i=0 j=-1 while i < len(p)-1: if j==-1 or p[i]==p[j]: i+=1 j+=1 ...原创 2020-03-01 14:57:26 · 919 阅读 · 0 评论 -
ngnix 配置多个前端项目(首次上传vue)
我这次初体验有点特殊。一是,刚买的服务器还没有绑定域名,直接暴露服务器地址,很尴尬。二是,我第二个项目是用vue上手的,打包上线的流程也需要记录。打包vue项目上传到服务器修改ngnix配置文件1. 打包vue项目通过npm run build 打包项目。修改相关文件夹路径: https://www.jianshu.com/p/b59204651846在服务器端html文件夹下...原创 2020-02-11 21:31:53 · 251 阅读 · 0 评论