自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 问答 (1)
  • 收藏
  • 关注

原创 解决hover时给使用了hover的元素的伪元素添加样式的问题

在上周的一个需求里面,需要给一个ul下的每一个li标签,当鼠标移动到li标签的时候,给这个li标签的左侧加一个border-left的边框。如下图但是实际上我们看到,当一个li标签处于hover状态的时候,我们给这个li标签增加了一个border-left,结果发现li标签里面的文字被往右边顶了,这是因为border-left的宽度跟整个li标签的宽度是一个整体,假设hover前li标签的宽度是...

2019-12-07 21:44:15 2601

原创 使用padding计算高度实现页面的高度自适应

为什么说要使用padding来计算高度而不是margin呢,这是因为对于每一个dom元素来讲,padding的高度是包含在dom元素内的,而margin是在dom元素之外的。我举个例子,看如下图如果我想计算这个表格的高度,并且让这个表格处于蓝色的方框内,如果表格的高度超过了计算的高度,那么表格内部就会产生滚动条。并且不论怎么缩放浏览器窗口,浏览器都不会有滚动条,这就是我想要实现的自适应。...

2019-11-24 22:52:39 1023

原创 typescript学习(一)---- typescript的安装与踩坑

安装前提: 安装了node以及npmcnpm install -g typescript全局安装完后,我们可以输入 tsc -v查看typescript编译器的版本注意了,这就是坑,我明明安装的是3.6.4的版本,但是编译器版本却是一个很老的版本,导致代码运行报错。举个例子function sayHello(user) { return 'hello ' + use...

2019-10-27 12:53:22 1026

原创 【Vue】通过导航守卫实现页面访问权限功能

最近负责的项目中有一个需求是这样的:1.管理员可以给其他用户设置某些按钮的权限,比如编辑,新增等按钮的权限,当被设置为无权限时,那么点击编辑或新增的时候,是无法进入编辑或新增页面的,而是通过提示框来提示用户无权限。2.这里有个地方需要注意,虽然不能通过点击编辑或新增来进入相应的页面,但是却可以通过路由来访问编辑或者新增页面,这不是我们想看到的,如果可以通过路由直接访问页面,那按钮的...

2019-10-24 22:37:40 869

原创 webpack入门--plugin篇--2

学过vue的肯定都知道vue的生命周期函数,我对生命周期函数的理解在于当这些函数处于某个阶段的时候,那么对应的生命周期函数就会被执行。那么plugin实际上就跟vue的生命周期一样,只不过plugin是在webpack打包过程中的某个阶段会被执行的插件。在webpack的打包过程中,我们可能会期望说在webpack进行打包之前,或者打包之后去执行一些我们想要执行的操作,那么这个时候就可以使...

2019-08-10 23:36:19 189

原创 element-ui使用过程遇到的坑(2)—— table组件中的表格嵌套Select组件

在使用Table组件的时候,我想在表格的每一行的对应列都添加一个下拉框Select,如图所示。但是这样会出现一个问题,我们先看一下代码很显然,如果我们在某一个下拉框里面选择了其中的某个选项,那么其他下拉框也会被自动选上,因为此时所有的下拉框的v-model绑定的都是同一个value。实际上,我们想要的效果是每个下拉框都能够独立的去选择,而不会影响到其他的下拉框。因此,在table...

2019-08-10 23:02:57 13079 8

原创 element-ui使用过程遇到的坑(1)—— element-style样式

今天学了一下element-ui的布局,也是为了之后在公司开新项目的时候能够用得上。那么说一下刚刚遇到的问题,问题如图发现导航栏跟控制台之间有一个间距,于是我点击样式一看看到了这么一个玩意儿,可是我的样式中并没有设置这个所谓的element.style,但是当我把这些margin-left跟margin-right去掉之后,这个间距就消失了。解决方案:使用!important来...

2019-08-04 14:50:51 3725

原创 webpack入门--loader篇--1

以后有关webpack的文章都是写一些自己的理解,如果有错误请指出。那么关于loader,我觉得要理解loader,首先要知道webpack这玩意儿是干嘛用的,我的理解是webpack就是一种模块打包工具,然后webpack默认就知道怎么去打包js,但是对于其它的比如css或者图片,webpack是不知道如何去打包的,比如说我打包的时候有张图片需要打包之后执行npm run build...

2019-08-03 23:34:02 118

原创 发送给后台数据里有&符号导致数据不完整的解决方案

今天是实习的第二周,今天负责修复一个bug,就是编辑一个图表的名字时,如果值是类似于value: 'aaa&bbb'这样包含&的数据,那么在将该数据发送给后端时,在chrome的控制台的form data中发现数据变成下面这种形式value: 'aaa',bbb: 那么就导致编辑后的表明变成了aaa,而不是我们想要的aaa&bbb了,那么很显然如果数据...

2019-07-30 23:13:45 547

原创 d3学习——data和enter的使用

在d3的学习过程中,其实都会看到一个这样的一个函数,如下代码所示function(d, i) {}那么其中的d实际上就是数据,这个数据可以通过d3.data()来接收,之后会通过一个循环,将接收的数据逐个的传给d,而i就是index,就是下标,下面贴上一个例子来说明这里看到data就是数据,然后这里通过.data(data)将数据传入,那么text()就是给每个p标签设置文本...

2019-07-25 16:33:59 1549

原创 d3学习——使用attr添加class以及使用classed的区别

在刚开始学习d3的过程中,看到了这样一种写法于是我认为可以使用attr来设置class为selected,如下图最后发现两者实际上是有区别的,当我们使用classed的时候,我们在控制台能够看到如下图我们可以看到selected被添加到了class属性中。而当我们使用attr来为dom节点添加class属性时,我们在控制台看到如下的效果我发现原来的class...

2019-07-25 14:27:01 4275 1

原创 记一次电话面试,关于cookie

昨天午睡醒过来的时候看到了boss直聘上有消息,发现是邀请电话面试的信息,我立刻答应下来了。于是四点钟电话很准时就打来了。有些问题都比较开放性。我就没怎么答上来,而且因为太紧张了,问到缓存的时候忘记把强缓存跟协商缓存说出来了,如果电话面试挂了我估计就挂在这里了。那么说下印象比较深的cookie吧,我的博客项目中使用了localStorage来保存token,之后面试官问我是否知道localSt...

2019-07-17 10:55:15 264

原创 使用nginx配置https

我使用的是腾讯云的云服务器,这里只说明如何配置nginx来实现https访问站点,不涉及ssl证书密钥的获取,这些网上都有很多文章有说明。打开nginx.conf后,我们需要配置的地方有两个,一个通过80端口访问网站时需要做的处理,一个是443端口的处理,这两个处理分别对应两个server配置。第一步这里的server_name要写你购买并配置好的服务器的域名,或者公网IP地址,loc...

2019-07-15 20:07:36 375

原创 解决在云服务器上Sequelize不能插入中文的情况

在本地的时候实际上是使用Sequelize的时候,数据库是支持中文插入的,但一到了生产环境,立马就变了个样。之后我也在网上搜索了很多篇文章,但是都没办法解决。最后的解决方法是通过以下的方式解决的。很多文章写的都是dialectOptions跟define是同一级的,但这样做是无效的,我们只需要把dialectOptions作为define的属性即可解决问题。此时插入中文数据就不会报错了...

2019-07-15 19:49:39 1027 4

原创 We're sorry but blog doesn't work properly without JavaScript enabled. (解决方案)

我在搭建博客的过程中发现代码跑起来的时候服务端返回了这样的一个东西,如下图我相信这个问题会有人遇到的,那么解决这个问题的方法也很简单。问题出在vue项目中,在router文件夹的index.js文件中,将mode修改为hash模式即可,如果使用的是history,那么需要后端进行配置。...

2019-07-15 19:44:22 116716 29

原创 在centos7上配置nginx反向代理node服务器

详细安装可以看下面这篇文章https://www.cnblogs.com/wyd168/p/6636529.html之后进入/usr/local/nginx/conf,打开nginx.conf配置文件,修改如下。server_name是你的服务器的域名,proxy_pass是你需要代理的服务器。之后访问就可以直接访问域名了而不用加上端口号。...

2019-07-15 10:08:24 269

转载 在腾讯云服务器上使用Sequelize连接mysql的出现错误的解决方案(完美)

先来看一下错误长什么样然后看一下连接数据库要用到的代码,这就是我一开始的样子,然后即使把localhost都改成root也都还是会报错。直到我看到一篇文章,这篇文章的问题跟我这个错误不一样,但是修复的方式是一样的。1.首先进入数据库的命令行2.输入USE mysql;3.输入ALTERUSER'root'@'localhost' IDENTIFIED WITH mysq...

2019-07-14 17:35:38 802

转载 在腾讯云上搭建node环境

网上其实有很多文章都写的不好,看了很多,只有下面这篇文章是最具有实用价值的。https://www.cnblogs.com/djjlovedjj/p/9897720.html

2019-07-14 14:29:31 262

转载 关于在云服务器上使用express出现commond not found的解决方案

看了很多篇文章,都说什么express跟express-generator分离了,需要单独安装express-generator,结果还是没有什么用。之后看到一篇文章,也是跟我同样的情况,即使安装了express跟express-generator,也是不能使用express命令的。因此他找到了解决方案,我这里做了一下记录,关于文章,读者可以直接点下面的链接进入就行了。https://...

2019-07-14 14:27:26 151

原创 使用winSCP将本地数据传输到腾讯云服务器

winSCP请各位读者自行安装。这里只说明如何使用。第一步,打开winSCP,选择新建站点主机名就是你购买的腾讯云服务器的公网ip,用户名就是root,密码就是你腾讯云服务器设置的密码第二步,点击高级,之后再弹出的假面点击SSH中的验证,看到如下界面。在密钥文件中,导入我们在SSH绑定的密钥,关于如何获得密钥,可以看我的这一篇文章https://blog.csdn.net/...

2019-07-14 14:22:02 2256

原创 使用secureCRT远程访问腾讯云服务器

第一步:点击SSH密钥第二步如果没有密钥的话,就创建密钥。等密钥创建完成之后,就有下面这种情况需要注意的是,创建密钥之后浏览器会下载一个文件,这个文件只有一份,因此要保存好,这个密钥是在用secureCRT连接这个服务器时需要用到的。第三步,点击绑定实例之后出现这样一个界面,记得先把服务器关机了,给左边的实例打上勾点击确定即可。第四步,打开secureCRT...

2019-07-14 14:14:53 3953 2

原创 使用vue实现个人博客的评论功能

在说之前先看下效果图,这样方便于理解样式写的比较丑,希望读者不要太介意,但是功能还是有好好实现的,接下来再看一下代码这一块的代码是不包含评论在内的代码,对应效果图的评论框。那么实现的过程需要注意的就是第一步我们需要获得input中的数据已经textarea中的数据,因此我们需要使用v-model来实现双向绑定,这样一旦输入框的数据发生变 化,我们也能够直接在data中直...

2019-07-02 19:40:58 9303 7

原创 使用Sequelize实现文章和评论的一对多关系并实现评论的按时间排序

其实关于一对多怎么写我找了很多相关的资料,但是要么就是翻译的,要么就是照搬别人文章的。因此我在这里将自己写的代码记录在这里,希望能帮到有需要的人。首先文章可以有多个评论,所以显然文章跟评论是一对多的关系。所以第一步,我们需要确定文章这个model和评论这个model两者之间的关系。先贴上两个modelArticleComment定义好两张表后,使用下面的代码,has...

2019-07-01 14:56:42 1704 1

原创 使用Sequelize对文章进行增删改查以及使用order对文章进行排序

每篇文章都有发表时间,所以我们需要对文章按照发表的时间进行一个排序。那么我们开始吧。查首先,如果我们要对一个张表进行操作,那么第一步需要将这个表对应的model导入,这里的第一行代码就是导入Article这个Model。之后我们通过Article.findAll()找到所有的文章,那么我们说了要按照文章的发表时间来排序,所以看到findAll中的代码的order的写法,...

2019-07-01 14:23:38 3306 1

原创 sequelize的安装

由于个人博客项目的进度已经写到评论功能了,而我们知道一篇博客可以拥有多个评论,因此这就形成了数据库中的一对多的关系,而我也因此把之前后台的代码都重写了一遍。关于评论功能的实现之后会写。这次就先写sequelize吧。sequelize安装npm install sequelize --savenpm install mysql2 --save // 这个一定...

2019-07-01 14:06:23 1301

原创 vue接收后台的时间出现不规范的解决方案

我在vue项目中将时间传入数据库中的时候是按照正确的格式存储进去的,比如说这样的那么,当我想从服务器拿数据用来渲染页面时,渲染出来的却是这样的。这个显然不是我们想要的格式。那么解决方案就是在后端的node项目中,安装moment.js这个依赖,具体步骤如下。1.npm install moment --save2.在node项目中导入3.写一个函数,用来格式化时间,如下...

2019-06-27 22:56:34 2358

原创 关于使用vue-quill-editor出现p标签的解决方案

最近在写自己的个人博客项目,由于需要发表文章,因此需要引入富文本编辑器,关于相关的导入细节网上有很多。这次主要说明使用vue-quill-editor的时候出现的一个“bug”,就是在发布文章的时候,所显示的内容会自动带上一个p标签。可以看下图我看网上很多文章关于这个去除p标签的解决方案都很复杂,有的甚至还提到了vue-quill-editor的源码,有点让人头大。那么既然学过vue...

2019-06-27 08:50:21 11266 5

原创 使用vue-router中的导航守卫beforeEach实现登录后的页面跳转

对于有的页面来说,需要登录才能够继续访问,所以这个时候一般会在点击有访问权限的网页的时候,页面会跳转到登录页面,当用户登录之后,页面再重新跳转回之前想要进入的页面。第一步,在需要访问权限的路由加上元信息meta.第二步,点击路由时,判断该路由是否需要访问权限,并且判断用户是否登录因为我们需要在进入路由之前就要判断,所以要使用导航守卫,这里我用的是全局的beforeEach其中to是...

2019-06-24 16:41:01 11119

原创 vue+vuex+axios+node,利用token验证实现用户登录(一)

其实本篇博客的篇幅可能会比较长,所以会分两次来写。那么开始吧。利用token来验证用户的身份可以分为以下几步,之后再逐步分析。1.用户在前端提交表单到后端2.后端根据表单信息生成token返回给前端3.前端将token取出,存储到localStorage以及vuex中4.当用户再次发起请求时,使用axios拦截器在请求头加上token(后端需要在设置跨域的地方设置可接受跨域的字段)5...

2019-06-24 16:18:14 7110 8

原创 使用node+express+promise+mysql实现简单的用户注册功能

上上篇https://blog.csdn.net/huangguangyourena/article/details/93224823博客写了如何在vue中使用axios跨域访问node的本地服务器,所以我调通了接口之后就开始添加功能了。 这次是利用标题所提到的东西来实现用户注册功能,功能不算很严谨,只是在数据传到后台后进行加密插入数据库。 那么开始吧。...

2019-06-22 18:56:25 582

原创 在vue中使用axios提交post请求出现大括号和冒号的坑

先把出现问题的地方贴上来,这是我在vue项目中的代码,在这个注册功能中,会向后台发送数据,这里不能直接将postData传到后台,否则会报错,所以这个地方使用了JSON.stringify()对数据进行序列化。后台接收到数据后我尝试打印出来,结果让我非常难受。打印的结果如下所示,,将接收到的数据打印出来后,发现居然在外面多了一个大括号,这都什么玩意。而且前端控制台接收到的数据是这样的数据的后面多了...

2019-06-22 11:08:10 9135 1

原创 在vue中使用axios跨域访问node

这篇博客跟上一篇一样,也是记录自己写个人博客的过程。在实现题目所说的目的之前,默认读者已经搭好node的开发环境了,如下图所示。(其中config文件是我自己新建的)第一张图是vue本地服务器的端口,第二张图是node本地服务器的端口,因为下面会用到所以先贴在前面。首先将整个过程写出来,然后逐个描述。1.在routes文件夹下配置路由2.在app.js中导入路由3.在app.js中...

2019-06-21 20:35:01 1771

原创 vue-cli3中如何使用axios获取本地的json数据

最近正在写自己的个人博客项目,所以遇到的问题都会放到csdn中。那么开始吧。首先我们要确定json数据存放的位置,在vue-cli3中,存放静态资源的位置已经变成存放在public文件夹中了,如下图。所以如果要获取本地的json数据,那么首先要把数据放到这个文件夹下。由于我在项目中使用了vuex,因此我把aioxs获取数据写在了vuex的actions,如下图,这里在actions中使用...

2019-06-21 13:14:28 21217 6

原创 vue-router的命名路由

vue-router的导航分为两种,一种是声明式,比如说下图这样的,还有一种是编程式的,长下面这样那么其实这两个官方文档都有啦,我想说的主要是今天一直没处理好的一个点。就是在这个编程式导航的图中,有个name属性,我一开始以为是路由的地址,然后刚好我的路由是author,就一直写小写的author上去,结果一直报错。后来突然想起来在注册路由的文件index.js中,有这样的一行代码,如下图。...

2019-06-17 21:40:07 265

原创 javascript的组合继承

上一篇博客讲的是原型跟原型链,接在这后面的就是继承了,这一篇博客讲的是组合继承。需要先说明一点,这篇博客是基于高程来写的,这里只是加上自己的理解而已。那么在上一篇将原型的时候,我们知道对于一些所有实例都有的属性比如说方法来讲,我们可以将其设置到原型对象中,这样当我们每次使用构造函数的时候,就可以避免重复为这个方法分配内存,达到提高性能以及可复用性的目的。这样看似很完美,其实不然,当原型对...

2019-05-25 23:17:42 218

原创 javascript中原型与原型链的理解

这篇博客只是用来记录自己所学的知识。说到继承,应该先提一下原型跟原型链。那么什么是原型,我自己个人的理解是原型是一个对象,是一个当我们一行代码都不写就已经存在的那些对象,而且这些对象中包含的属性可以被其constructor属性指向的构造函数的所有实例共享。比如我们在控制台输入Object.prototype,Array.prototype,Function.prototype等,回车的时...

2019-05-25 14:49:31 140 1

原创 python中的wait和notify

上一篇只是大概的讲了一些怎么给数据加锁以及创建线程的两种方式。这次讲一下python中的wait和notify现在假如有如下情况:小明:小红小红:在小明:我喜欢你小红:对不起,你是个好人。对于这种一问一答的方式,我们是否也可以通过加锁来解决呢,我们看代码。import threadingclass XiaoMing(threading.Thread): de...

2019-03-12 12:01:02 9125 2

原创 python中如何创建线程

在说怎么创建线程之前,我觉得有必要说明一下GIL是什么,GIL的全称是 global interpreter lock,也就是全局解释器锁。由于GIL的存在,使得每一时刻,只能有一个线程在一个CPU上执行,也就是说,我们没办法利用多核的优势,因为即使多核,同一时刻也只能有一个线程在一个CPU上执行。这也是python被人吐槽慢的原因。当然了,既然是锁,那么就自然会有释放的时候,GIL...

2019-03-12 11:27:11 257

原创 leetcode--删除排序数组中的重复项(难度:easy)

通过不断的修改,终于把自己写的代码正确的跑起来了,不过执行的时间是1304ms,跪了。才开始几天,我就已经怀疑自己是否适合编程了。下面贴上自己的代码。class Solution: def removeDuplicates(self, nums): k = 0 for i in range(len(nums)): i = k if i+...

2018-08-12 20:35:08 127

原创 leetcode--搜索插入位置(难度:easy)

《流畅的python》的阅读也在继续当中。当然闲下来的时间也不能浪费,因此从昨天开始就走上了不归路——刷leetcode。用的语言当然还是Python。希望保持每天一道题把。今天的题是搜索插入位置,下面给出题目描述。class Solution: def searchInsert(self, nums, target): if target in nums: ...

2018-08-10 20:46:14 339

空空如也

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

TA关注的人

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