自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 Java(springboot)连接MongoDB,终于成功啦T_T【呸】

我真的好气,我在B站上看别人的教程,去官网看文档,全特么报错,在网上查竟然一个有用的帖子都没有!气死我了,我来列列这些错误的例子:基础数据库操作代码如下:import com.mongodb.client.MongoClients;import com.mongodb.client.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mong

2021-01-24 01:40:38 799 1

原创 Neo4j Desktop导入csv文件

我的Neo4j时最新的V4.1.3,界面跟官网的教程可能不太一样。本文参考Neo4j英文开发者文档链接如下:https://neo4j.com/developer/desktop-csv-import/数据来源:Youtube视频-Neo4j Batch Insertion from CSV// neo4j-flight-csv-raw.csvflight,airline,depart,arrive,capacity23,Delta,ATL,DTW,16024,Delta,DTW,ATL,16

2020-12-08 00:51:07 4347

原创 记VueRouter4.0.0-beta.3在gitee page上的使用问题

Grape UI-gitee page链接tools:Vue-3.0.0、Vite-1.0.0-RC.4 、VueRouter4.0.0-beta.3、Gitee page先抛结果,createWebHistory和createWebHashHistory二者差异导致的。一开始,我用的createWebHistory,在本地yarn dev、hs dist -c-1都没问题,部署到gitee page上network请求也都是200,可#app里没东西,控制台也不报错,如图:调试过程中,页面的表现

2020-10-09 15:06:43 369 1

转载 utf-8汉字编码范围

网上一般给出的编码范围:UTF-8 (Unicode)u4e00-u9fa5 (中文)x3130-x318F (韩文)xAC00-xD7A3 (韩文)u0800-u4e00 (日文)实际上发现:除了u4e00-u9fa5 (中文)之外,还有(0x3400, 0x4DB5)也是。GB18030在GB13000.1的20902个汉字的基础上增加了CJK扩展A的6582个汉字(Unicode码0x3400-0x4db5),一共收录了27484个汉字。对应的utf8也进行了相应增加。...

2020-10-05 09:09:21 7740

原创 字节前端面试收获

好的面试,要么能让人收获offer要么能让人查漏补缺!这面试让我碰着了,仔细回忆了一下,面试了四十多分钟,其实没问到太多问题,可让我有收获的问题却占比不小,虽然可能进不了二面,但也挺知足。https加密不知大家是否有跟我一样的知识误区,我一直以为https是隧道加密 ,直到这次被面试官“深究”,我才发现我的知识相互矛盾,于是端起《图解HTTP》一顿猛翻,看了几篇博客,才发现,https其实是内容加密!啊,我s了,一想到当时还跟面试官说SSL/TSL握手后,信息明文传输,结果自己还解释不出来,尴尬死了

2020-09-29 15:18:10 149

转载 webpack打包原理

1. webpack核心概念entry: 一个可执行模块或库的入口文件。chunk :多个文件组成的一个代码块,例如把一个可执行模块和它所有依赖的模块组合和一个 chunk 这体现了webpack的打包机制。loader :文件转换器,例如把es6转换为es5,scss转换为css。plugin :插件,用于扩展webpack的功能,在webpack构建生命周期的节点上加入扩展hook为webpack加入功能。2. webpack构建流程从启动webpack构建到输出结果经历了一系列过程,它

2020-09-07 11:17:19 4241

转载 Webpack原理—Loader和Plugin

编写 LoaderLoader就像是一个翻译员,能把源文件经过转化后输出新的结果,并且一个文件还可以链式的经过多个翻译员翻译。以处理SCSS文件为例:SCSS源代码会先交给sass-loader把SCSS转换成CSS;把sass-loader输出的CSS交给css-loader处理,找出CSS中依赖的资源、压缩CSS等;把css-loader输出的CSS交给style-loader处理,转换成通过脚本加载的JavaScript代码;可以看出以上的处理过程需要有顺序的链式执行,先sass-load

2020-09-07 11:01:46 610

原创 LC166.分数到小数 JS 弱智解法(不是)

笔试遇到的题,看似其貌不扬,我却没AC,一度怀疑是不是自己智商有问题,笔试完下来在LC找到了原题,不得不说LC的边界条件真的很苛刻啊,我以为小数就截取16位呢,原来可以无限长,思路很简单,倒是堵边界堵了俩小时????function fractionToDecimal(numerator, denominator) { // 边界条件————特殊值 if(numerator===0) return '0' if(denominator===0) return // 去除负号再运算 l

2020-09-05 21:44:11 194

原创 拼多多笔试&京东零售一面总结

运算符优先级httponlyjs脚本将无法读取到cookie信息设置方法:Cookie中的httponly的属性和作用MDN可参考信息多行文字截断我不太明白意思,只答上了用CSS加省略号的办法,后来查到这答案写的不错overflow:hidden;text-overflow:ellipsis;white-space: nowrap;CMD/AMDAMD 和 CMD 的区别有哪些?拼多多题目基本是原文照搬,让写出二者区别,可移步看看。AMD规范CMD规范Object.cr.

2020-09-02 01:48:31 171

原创 美团前端二面复盘

如果说一面是重基础,看知识广度的话,那么二面就比较看知识深度,以及应用实践理解。以下是影响比较深刻的问题:1. 讲讲自己复杂度最高的一个项目2. 项目中的难点3. TS相比JS有哪些区别?主要怎么用?泛型知道吗?区别只答了类型更多,其他的不知道,泛型也不知道????惭愧惭愧,没看TS文档3. Vue-router底层实现逻辑之前看过一篇源码分析文,可是忘了????就按自己理解来,先是分析mode,看是hash还是history,然后在new一个Router的实例,传入路由表(path和compo

2020-08-29 01:38:24 592

原创 美团前端一面复盘

同上一篇,我只贴觉得有必要记录、补充以及自己没答上来的问题,并进行复盘、修正括号计数斐波拉契数列(有没有性能更好的递归)react hooks用来干什么Vue和React具体的使用差别diff算法虚拟DOM是否一定会让渲染变快为什么要用webpack,用了webpack是否一定会让程序变快Vue的数据双向绑定,讲述b=a+1,a变化后,b是如何改变的JS里的闭包是什么?为什么要用闭包?闭包会产生哪些影响?JS的垃圾回收机制进程和线程的区别什么是操作系统计算机缓存有哪些?缓存速度?

2020-08-27 17:46:36 278

原创 字节秋招前端一面收获

今天没问太多问题,主要是三个代码题让我有些收获访问单链表倒数第k个节点这个主要是思路:遍历一遍用数组存下(面试官说不许用这方法????)双指针,指针p遍历到链尾,测出链表长度,指针q,遍历到len-k的长度(这是我想的)双指针,指针p走到距头指针k-1的位置,然后p,q同时往后走,直到p指针走到链尾(这是面试官提示的)测试一棵树是否为二叉搜索树方法一:递归(当时想用递归,但没写出来)我认为这种方法的局限是,无法确定第一次比较时的max和min,这也是为什么我当场没写出来的原因,但是看

2020-08-26 03:13:28 150

原创 浅谈面向对象

重新认识JavaScript面向对象: 从ES5到ES6????这篇文写的不错在此之前我先摊牌,我目光狭隘、见识短浅、理解俗套,故以下观(tu)点(cao)权当笑话看就好~作为一名对C++浅尝辄止、对Java只有过一面之缘、对Python的记忆尚停留在pandas和numpy调用上的菜菜子,我万万没想到,众人口中的面向对象指的就是封装、多态、继承。这3个词就已经够装X了,最后还给这3个词戴了个更装X的帽子——面向对象。当然了,本菜菜子也体会不到广大编程人员从C++、Java这些严谨、经典的语言,转入J

2020-08-15 03:24:23 191

翻译 【翻译】Vue3.0数据响应式

Last updated: 7/19/2020, 1:51:27 AM(官方文档更新时间)Reactivity深入响应式何为响应式?在JS中如何实现数据响应式?检测其中某个值是否发生变化跟踪变化函数触发此函数来更新值Vue如何实现跟踪变化当您将纯JavaScript对象作为data选项传递给Vue实例时,Vue将遍历其所有属性,并使用带有getter和setter的处理程序将其转换为Proxy。 这是ES6支持的功能,但在我们提供Vue 3.0中,使用较旧的Object.defineP

2020-07-29 01:52:42 406

翻译 Change http://localhost into https://localhost(本地开发环境http转https)

In fact, I’ve never thought this question before yestoday. But, I truly met this problem in yestoday’s interview. Don’t be afraid, I’ll just translate a article in FreeCodeCamp. So, are you scared by me?hhhhhhh有木有被吓到?有木有?哈哈哈哈哈哈哈~接下来,开始我的同声传译????原文传送门5分

2020-07-25 03:09:17 1554

原创 React踩坑之useState的两次渲染

问题背景,函数组件中使用useState后,console.log发现组件重复渲染。一开始我以为是useState的问题,经查验,发现是index.tsx里<React.StrictMode>的坑ReactDOM.render( <React.StrictMode> <App /> </React.StrictMode>, document.getElementById('root'));以下内容,摘自react官网,如果你很忙可

2020-07-11 01:45:48 7199

原创 proxy学习笔记整理

proxy(代理)亦可理解为发言代表syntax: const proxy = new Proxy(target, handle)释义:proxy是生成的发言代表,target是需要被代表发言的对象,handle是发言代表需要遵守的规则,也是一个对象。先抛一个小例子,热热身:const obj = {a:1}const handle = { get: function(target, propKey){ return '我就不告诉你!' }}const proxy = new Pro

2020-07-05 16:10:34 463

原创 函数组件相关Hooks API

React在v16.8.0推出了Hooks API,是函数组件也能模拟生命周期进行一些操作。这里对一些常用的hooks API做了下整理:useState注*:! 不可局部更新(对应类组件setState的shallow merge)! setN(obj)如果obj地址不变,则react就认为obj没变,不更新! useState可以接收函数,useState( () => { return initialState } ),该函数返回初始state,只执行一次! setN也可以接收函数,

2020-07-05 14:59:21 300

原创 类组件相关及生命周期钩子学习笔记整理

setState的两种写法:①this.setState(newState, fn)②this.setState((state, props)=>newState, fn)(推荐)原因如下:①因为setState是异步的,当需要对结果再次使用时,this.state.prop获取到的依旧是旧数据,这显然不是用户想要的;②当返回的newState很复杂,中间需要很多数据操作时,用函数的方式返回newState,更稳妥。注*:setState时,会自动执行shallow merge(一层合并)

2020-07-05 14:50:48 236

原创 Parse HTTP Request Params(the API for parsing Chinese)

这是之前字节的面试题,本来打算下来用正则试试,结果发现多条参数匹配正则很麻烦,当时不知道怎么解析汉字,下来查到了解析汉字的API。浏览器会将url中的中文参数进行encodeURI编码,解析就用decodeURI。function getQuery(){ let query = new Map(); let arr = window.location.search.substr(1).split('&') for(let i=0;i<arr.length;i++){

2020-07-02 01:00:20 209

原创 git学习整理笔记

最近get到一个不错的学习git基本操作的链接,不用看教程,可视化页面,动态更新的分支树,跟玩游戏一样,害挺好玩,记笔记也方便,安利给大家~游戏链接本地篇git commit 提交至本地库切换/创建分支- git branch xxx创建分支- git checkout xxx切换分支- git checkout -b xxx创建并切换至新分支合并分支- git merge xxx将xxx合并至当前检出位置图为git merge bugFix- git rebase xxx

2020-07-01 18:02:10 239

原创 React组件的两种创建方式

元素与组件创建元素const div = React.createElement('div',...)创建组件const Div = ()=>React.createElement('div',...)组件可以理解成,一个创建元素集合的模板,当前我可能不需要它生成什么东西,但我调用时,它能帮我生成我要的东西。在React中,组件的创建方式有两种,一种是类组件,一种是函数组件。二者在进行props读取时,也有不同。下面以+1实例来说明二者不同之处。类组件class A extends

2020-06-29 01:08:12 272

转载 JavaScript是单线程还是多线程(转)

感觉写得不错,转载!转载链接多线程要考虑线程之间的资源抢占,死锁,冲突之类一系列问题。JavaScript作为一门客户端脚本,貌似没有多线程的一些列问题。那么JavaScript是单线程还是多线程?通过查资料总结了JavaScript运行的原理。如下:一、为什么JavaScript是单线程?JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。JavaScript的单线程,与它的用途有关。作为浏览器脚本语言

2020-06-28 23:11:30 207

原创 字节前端秋招提前批面经

QUESTION一面:自我介绍为什么选择计算机?为什么选择前端?(本人跨专业考研)HTTP有哪些method?get和post有什么区别?浏览器会对用户的哪些请求方法做记录?请求的状态码有哪些?浏览器对资源的缓存流程?跨域及跨域方案;为什么写在服务端的东西,前端能获取到?(这个问题是在我解释了JSONP的<script>引用,通过在本地的<script>中调用服务端提供的API来获取数据,存入变量之后提出的,我不是很理解问题的意思,面试官的表述是,“请求不是我发的

2020-06-23 01:27:59 647

原创 关于Vue响应式原理的一点思考

以下是看Vue官方文档的一点笔记及思考关于这两种Object.assign的方法,乍一看很迷惑,我寻思着效果不是一样吗?不信你看下面的实验:其实单独看这两种操作,就是把地址变了一下,地址对应的内容是一样的,但一个地址对应的数据可全部响应,一个则只能响应旧数据。为了看看到底咋回事,我就去现场试了试,结果还真是!<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">

2020-06-20 01:22:33 115

原创 Vue项目中TS引入多个.svg文件的总结

背景:Vue-CLI创建的项目,想要用自定义的icon,icon是在阿里icon-font下载的svg文件,直接使用import xxx from '@/assets/icons/xxx.svg'TS编译报错,称无法找到此模块(插播一条小百科:svg 是使用 XML 格式定义图像)。StackOverFlow上有人提出,在项目文件中添加一个custom.d.ts的文件,写上以下内容:declare module '*.svg'{ const content: string; export de

2020-06-19 18:51:40 2210 3

原创 Vue插槽总结及一点思考

Vue-slot插槽的作用,就是给引用者一定的自我发挥空间,在引用组件内部,添点自定义的东西。插槽内允许填充后备内容,为没有提供内容的引用作兜底显示。v-slot只能用在组件标签或template标签上!匿名插槽匿名插槽有隐含的name: default。但我们往往不写,同时引用的子组件中,可以一次使用多个匿名插槽,但不建议这么做,毕竟渲染出的内容一模一样。具名插槽一个组件可以用多个具名插槽,具名插槽提供缩写#slotName,匿名插槽如想使用此写法即用#default。作用域插槽可以让父

2020-06-17 16:16:37 375

原创 Echarts数据实时更新

转载原博链接最近用饼图做每个月的消费占比,出现了更新月份,两个月数据合并了的bug,一开始以为是逻辑错了,可是检查逻辑又没啥问题,后来多次测试,才发现是Echarts数据不随data实时更新,而是直接合并。解决原理以及方案:官方文档setOption方法传参如下:setOption(option, notMerge, lazUpdate)可以看到第二个参数,表示合并,这里表示是否option合并数据,默认值为false,这就是为什么数据源条数变化了,而图表数据条数缺没发生变化,正确姿势是setO

2020-06-15 11:12:33 6358

原创 将 Vue CLI 静态资源部署至gitee上的坑

官方文档写的非常好!!!照着做基本没问题!!!(至少我第一次用的时候没问题)后来,我把项目重新改了改,也不知道是动到了哪~,打包以后,用serve -s dist本地查看dist就报了这几条错误。我寻思着前前后后,我改动过的配置,就是引入ant design vue的时候,在vue.config.js里添加了less loader的规则,难道~?算了,说正经的报错原因如下:在vue.config.js里,对publicPath进行了如下配置,在本地环境中,这个 JS 的路径是不存在的!但是在 G

2020-06-15 00:50:39 995 1

原创 Vue父子组件传值之.sync

首先,讲讲.sync的来历,在项目中常有父子组件传值,子组件修改父组件数据的需求,而Vue是不允许子组件直接修改操作的,直接红牌警告:于是乎,有了以下操作:子组件在props中声明,与父组件商量好的传值暗号xxx(用来作为传递值的别名)子组件通过触发一个事件来告诉父组件:“我要改xxx对应的值!”(this.$emit('update: value', this.xxx=yyy))父组件在引用子组件时,在其标签内通过:xxx='local_value' @update:value='local_

2020-06-06 17:56:37 1821

原创 修改ant design组件自带样式

背景Vue-CLI创建的项目需求把走马灯的面板指示点(如图1)改成真正的点(如图2)解决方法走马灯自带面板指示点类名dotsClass = "slick-dots",考虑到项目中可能多处会用到走马灯,请自行更改类名(我的项目只有一处用到,故不想改)在src/assets/style/(这个是我用来放全局样式文件目录)下新建一个.css文件(其它类型的stylesheet文件也可以用,但我没试过),再次强调,如同一组件须多次使用、且样式要求不同,请自行更改类名,样式文件也请分开创建,注意互相

2020-06-05 17:45:03 5451 2

原创 关于ant-design-vue安装报错的解决方法

版本Vue-CLI@4.3.0Less-Loader@6.1.0解决方法在vue.config.js里加入解决~ module.exports = {+ css: {+ loaderOptions: {+ less: {+ lessOptions: {+ javascriptEnabled: true+ }+ }+ }+ } }下面是我的吐槽,可以不看说来也是无语,按照官

2020-06-04 14:39:50 4999

原创 Object.create()的使用

Object.create()使用指定的原型对象和属性创建一个新对象。syntaxObject.create(proto[, propertiesObject]) => newObjectproto:新创建对象的原型对象。propertiesObject:可选。是要添加到新创建对象的不可枚举(默认)属性(即其自身定义的属性,而不是其原型链上的枚举属性)。返回值:一个新对象,带着指定的原型对象和属性。const animal = { isHuman: false, prin

2020-06-03 02:44:23 687 1

原创 Object.assign()用法

本文主要参考了MDN关于Object构造函数自带方法的讲解。syntax:Object.assign(target, ...sources)将所有可枚举属性的值从一个或多个源对象复制到目标对象,并返回目标对象。(源对象会从后至前,逐级覆盖具有相同键名的属性)Object.assign({a:2},{a:1,b:2}) // {a: 1, b: 2}Object.assign({},{a:2},{a:4}) // {a: 4}描述Object.assign 方法只会拷贝源对象自身的可枚举属

2020-06-02 20:52:03 315

原创 JS检查数据类型的方法

先扣题~JS检查数据类型的方法如下:typeof xxxxxx instanceof 对象子类型(xxx).constructor === 对象子类型Object.prototype.toString.call(xxx) 具体猫腻见下文:1.typeofJS简单基本类型(语言类型)/文字形式 |JS复杂基本类型/构造形式 - number | - Number - string | - String - boolean | - Boolean

2020-05-28 01:33:21 613

原创 console用法

chrome打印出的consoleconsole.log()console.info()console.warning()console.error()以上4个都是信息打印,只是信息类型不同罢了!console.debug()输出“调试”级别的消息,且仅仅控制台为显示调试输出时才显示该消息。(是滴~ 我看不见,被隐藏了~)console.dir()打印出指定JS对象的属性。这个列表可以使用三角形隐藏和显示来审查子对象的内容。当你发现log满足不了你的需求时,用

2020-05-27 01:45:13 1729

原创 再会webpack,拨开云雾见月明

第一次用Webpack是实战Vue+Webpack打造todo应用中,当时想快速上手Vue-CLI,再加上对Vue和Webpack都不算太了解,初体验挺难受的。毕竟从无到有的接受新知识,很懵逼,再加上使用的版本号和老师的不一样,有的API改了,一路下来自己解决报错真的超崩溃。但不得不说,正是因为难受,印象才会如此深刻。通过后续的学习,以及其他知识慢慢铺开,才知道为什么要用这些包(知道一个东西有什么作用很简单,但作为学习者,我们更要知道为什么需要有这个作用的东西)。这里整理了常用的包,及其官方使用文档链接,

2020-05-22 02:32:03 142

原创 用+1功能的代码实现带你感受MVC

MVCMVC的解释千千万,唯一统一的认识就是MCV分别指model、view、controller,其它的咱也不知道对错。我理解的MVC,就像行为与样式分离,是把业务按照M、V、C的功能进行解耦:model用来管理业务逻辑相关的数据以及对数据的处理方法view用来展示model里数据的当下状态,并实时跟随model更新controller负责接受并响应view上用户的交互行为以及对model内部数据进行操作刚学编程时,为了完成一个功能,我们想到什么写什么,只要最后能凑出来就成。这种代码常称为

2020-05-21 18:56:52 164

原创 DOMContentLoaded、load区别?DOM事件流?事件代理?(关于腾讯一面我是如何死在DOM上的小结)

这是5月12日参加的面试:面试官:讲一下DOM事件流?我:DOM不就是元素捕获、事件绑定、触发操作,再就是冒泡和默认事件吗?还有事件流?(当然这话我没敢跟面试官讲)第一题我就死了。然后面试官提示了下:事件捕获、事件冒泡什么的。我就讲了下事件冒泡。面试官:那你说下怎么阻止事件冒泡和默认操作。当时的我只记得oEvent.cancelBubble = true这么个古老的操作,然后阻止默认事件,只隐约记得是p*default()这么个api你说我能过吗?我能过才有鬼T.T面试官:知道事

2020-05-18 23:32:09 163

原创 跨域及其解决方案

同源策略window.origin&&location.origin源=协议+域名+端口号差一个字都不行浏览器默认不允许跨域,保护用户隐私解决方案一:CORS(cross origin resourse share)响应头:Access-Control-Allow-Originresponse.setHeader(‘Access-Control-Allow-Origin’,request.headers[‘referer’])解决方案二:JSONPIE6-10全不支持COR

2020-05-11 00:30:03 338

空空如也

空空如也

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

TA关注的人

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