自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

暗影刀客的博客

一个前端小白的成长

  • 博客(69)
  • 收藏
  • 关注

原创 vue项目接入e2e自动化测试

文章目录1.安装night-watch2.安装浏览器驱动3.关于Selenium(音译:斯利涅姆) Server4.配置文件5.修改配置文件5.1 更新默认使用chromedriver5.2 配置测试文件路径5.3 配置runner.js项目开发到一定阶段,需要接入自动化测试,调研了一线现有的自动化测试方案,以为vue-cli默认使用的night watcher的0.9+的版本,其适用的chrome的版本很低,我们自己的浏览器早都80+了,他还适用70多,所以没有采用默认的,同时我们的项目是开始没有采用脚

2020-08-24 09:21:01 3958

原创 web常见性能优化总结(浏览器渲染过程详解)

文章目录一、什么是web的性能优化一、什么是web的性能优化web的性能指标有很多,大致可以分为三类:首次访问速度。首次访问速度主要指首页的加载速度,这个在移动端显得尤为可贵,对于大厂的h5 app,这一块的优化一直都是头疼的问题,例如淘宝首页,手百首页等等,多让用户多看几百毫秒的白屏,都会让pm逼死一帮程序猿。持续访问速度。web的健壮性。...

2019-08-03 20:47:24 1183 1

原创 时间日期五级联动组件封装和demo——微信小程序组件

文章目录一、组件需求二、实现思路2.1使用小程序组件进行组装2.2 难点三、实现3.1 布局文件3.2 js核心代码3.3 最后上调用代码四、问题(留给你们)五、demo微信自带的组件只有时间和日期,分开的的组件,所以自己封装了一个时间日期联动的组件一、组件需求可以传入初始时间,否则就是当前时间可以选择日期时间可以做一些限制,比如选择年份的范围,是否可以选择当前日期之后的日期二、...

2019-05-25 22:51:57 1018 3

原创 微信小程序富文本编辑器的纯原生实现(二)

文章目录一、预期实现功能二、富文本结构三、富文本数据结构四、实现逻辑4.1 wxml代码4.2 js代码之前写了一个基于模版template的富文本,整体功能和逻辑便简单,因为项目重构,进行了升级,再分享一个基于组件的富文本,(demo在文末)一、预期实现功能实现富文本新增,包括图片和文字实现富文本的编辑,能够将保存的富文本结构进行解析和展示解决微信小程序输入框层级最高,展示不美观的问...

2019-04-07 17:03:11 3086 5

原创 微信小程序富文本编辑器的纯原生实现(一)

先上图主要实现以下功能:1. 富文本编辑,图文混排2. 图片添加原则上可以无限,demo做了限制,最多四张3. 删除图片,图片上下文字合并原理和机制,以及demo稍后跟上...

2018-10-27 03:48:05 24259 15

原创 Vue router-link使用的坑

####最近上手VUE,整体配置全部使用默认的配置,但是Route-link就是不跳转这是我src的项目目录这是router/index.js的代码,虽然和网上搜的其他的代码截图,整体没毛病,声明并导出了Vue-router的实例import Router from 'vue-router'import Main from '@/components/Main'import Atten...

2018-10-22 20:15:22 9912

原创 monaco-editor布局篇(二)-自动换行

monaco-editor实现自动换行

2024-02-05 19:10:05 620

原创 monaco-editor布局篇(一)-自适应大小

这个属性设置设置为 true ,则编辑器会在窗口大小发生变化时自动调整大小以适应新的窗口大小。所以需要注意的是,如果有类似于侧边栏菜单关闭和展开的逻辑,一定要保证编辑器的父容器盒子能够自使用宽度变化,否则无法触发编辑器的自适应。在create编辑时,通过配置。编辑器的宽高怎么进行自适应?

2024-02-05 10:49:05 634

原创 monaco-editor 中文文档

monaco-editor是微软出一个编辑器,其中最为出名的是vscode的就是基于它来研发出来的,但是因为他的英文文档不是和好用,如果有需要,可以看这个中文文档:monaco-editor-dcos

2023-04-27 15:53:34 7030

原创 mariadb镜像使用教程(二)——Fastapi连接MariaDB

文章目录1.官网demo2.注意事项2.1 数据 url2.2 删除数据库多余配置2.3 建表语句3.验证一下1.官网demoFastapi 官方文档先看一下官网这里对这几个文件解释一下,我们不一定按照这个目录结构来处理哈,比如我的main就放在了外层,__init__.py # 通常__init__.py文件为空,但是我们还可以为它增加其他的功能,我们在导入一个模块时候(也叫包),实际上导入的是这个模块的__init__.py文件。我们可以在__init__.py导入我们需要的模块,不需要一

2021-08-05 02:07:23 526

原创 mariadb镜像使用教程(一)

文章目录1.下载mariadb镜像2.运行镜像1.下载mariadb镜像docker search mariadbdocker pull mariadbdocker images就能看到镜像啦2.运行镜像docker run --name mariadb-react -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v 绝对路径:/var/lib/mysql -d mariadb--name 设置启动的容器的别名,下面可以看到-p 设置容器暴露的

2021-08-04 01:14:32 866 1

原创 linear-gradient的用法详解

文章目录一、介绍linear-gradient是css3的一个属性,功能强大,但是因为使用的灵活性,让没接触过的人感觉不好下手,下面来一起学习一下:一、介绍MDN介绍文档linear-gradient 是一种实现线性渐变的属性,顾名思义,它的特点的是控制渐变,特点是线性的进行控制。属性介绍:linear-gradient([ [ [ | to [top | bottom] || [left | right] ],]? [, ]+);可以简化为:...

2020-07-20 10:57:01 32185

原创 TypeError: Cannot convert a Symbol value to a string

记一个坑,踩了几个小时才排查到,报错没有任何信息背景是这样的,我在store中获取了router,我对目标route的matched进行遍历match = to.matched;let tempList = match.filter(item => item.path); //最后才发现...

2020-05-26 02:07:39 8997 3

原创 VUE实现页面缓存的解决方案-keep-alive

文章目录(一)背景(二)实现页面缓存的方案2.1 整个页面的数据和状态进行缓存2.2 vue的keep-alive来实现2.2.1 配置keep-alive2.2.1 配置组件(三) 注意事项(一)背景在实际开发中,对于spa类的单页面应用,一个页面就是一个组件的概念,默认情况下,在我们打开一个新页面的时候,为了内存的不浪费,不会缓存上一个页面,但是一些时候我们的pm会给我们提一些需求,比如:...

2020-04-09 01:44:19 1599

原创 webpack学习——手把手带你自定义一个loader(一)巨详细

文章目录题记一、loader1.1 为什么要有loader1.2 什么是loader二、准备工作三、开始动手3.1 hello-loader.js3.2 main.js3.3 index.html3.4 test.hello3.5 webpack.config.js四、验证4.1 webpack4.2 浏览器验证4.3 反向验证一4.4 反向验证二4.5 最后一步题记webpack虽然是打包工...

2019-11-28 02:28:19 1366 1

原创 webpack配置module的rules是条件匹配详解

文章目录一、共同点二、不同点2.1 优先级webpack的loader配置中,对于那些文件会匹配到哪些loader来处理,这个就是module的rules的的loader一个属性,或者说是三个属性:testincludeexclude一、共同点三者后面跟的都可以是字符串和正则表达式,最常见的就是/.css/或者/.js/等,此时是一条匹配规则,也可以是数组[/.css/,/.s...

2019-10-08 01:44:18 12459

原创 ValidationError: Invalid options object. CSS Loader has been initialised using an options object tha

ERROR in ./main.css (./node_modules/css-loader/dist/cjs.js??ref–4-1!./main.css)Module build failed (from ./node_modules/css-loader/dist/cjs.js):ValidationError: Invalid options object. CSS Loader ha...

2019-09-25 20:36:57 14395

原创 编译器配置git更新类型update type 的选择

git type的选择一、git type的选择二、区别2.1 merge2.2 Rebase2.3 Branch Defalut三、后记一、git type的选择一共有三种选择,在配置编译器的时候,会提示我们作出选择:如下merge 合并Rebase 保留本地项目代码Branch Default 保留远程仓库的代码二、区别这三者如果没有冲突,update的表现方式是没...

2019-09-22 19:50:39 2895 1

原创 python自学(十三)——类的继承

文章目录一、类的继承和多态二、获取对象信息1. type 方法2. types3.isinstance4. dir()一、类的继承和多态类是可以继承的,python也不例外直接将父类作为参数来声明一个新类: class Student(object): // 这里就是指,默认的类的声明,就是继承自object def __init__(self): pass子类直接具...

2019-08-23 06:53:27 225

原创 python自学(十二)——面向对象编程

文章目录一、类和实例二、访问限制一、类和实例类和实例是面向对象编程无法跳过去的一关,python也是如此。首先使用class来声明class class Student(object): pass类的声明,应该遵循规范,首字母大写,括号中指明当前class的父类,和js一样,最终所有的类都指向了object,从下面可以看到,我们打印由Student创建的对象tom时,能够看到它的...

2019-08-22 00:52:12 159

原创 javascript正则表达式学习汇总

文章目录一、什么是正则表达式二、常用工具三、开始学习啦一、什么是正则表达式正则表达式,又称规则表达式,是一个用来检索(也称匹配)和替换(本质还是检索)符合特定规则的文本工作中最常见的莫过于一下几个情况:校验用户名校验密码校验手机号校验邮箱格式校验域名解析URL匹配某个字段…不胜枚举,正所谓,没学不知道,学了不会用的就是正则表达式了,上述几个问题会在最后解答。很多之前学...

2019-08-18 21:12:22 152

原创 python自学(十一)——模块的使用

文章目录一、使用模块一、使用模块模块的一般定义格式如下(和我们自定义的py文件差不多):#!/usr/bin/env python3

2019-07-29 23:05:04 527

原创 vue使用注意事项总结

文章目录一 、v-for的key绑定二、$refs三、router 和 route的区别3.1 router一 、v-for的key绑定先上文档可以看到,如果对于key的绑定会造成一些bug,而且往往这些bug是我们没有注意到的例如如下代码 <div v-for="(item, key) in list" :key="key">{{item.text}}</div&g...

2019-07-28 17:56:02 439

原创 python自学(十)——函数式编程

文章目录一、匿名函数一、匿名函数如题,匿名函数,直白点,就是没有具体名称的函数,但是不影响函数本身的使用。作业:使用匿名函数改造下面的代码def is_odd(n): return n % 2 == 1L = list(filter(is_odd, range(1, 20)))如下L = list(filter(lambda n : n%2 == 1, range(1,...

2019-07-23 23:26:59 136

原创 python自学(九)——高阶函数(sorted)

文章目录一、sorted二、返回函数一、sortedsorted没有说明是冒泡还是快排实现,我就不装逼去找文档了,姑且认为是快排把,反正用起来很快def f():sorted(list, [f], [reverse=True]) // 第二个是先对每一个元素执行,在进行排序,可选参数,第三个是是否倒序作业L = [(‘Bob’, 75), (‘Adam’, 92), (‘Bart’...

2019-07-18 23:38:35 104

原创 python自学(八)——高阶函数(filter)

文章目录一、filter作业一:生成质数集合作业二:请利用filter()筛选出回数:后记(字符串反转)1. [::-1]2.reverse()3.reduce (lambda配合更爽)一、filter接着昨天的学习filter这个函数算是比较熟悉的了,和js的功能效果基本一致:对于传入的列表的每一个元素执行目标函数,返回函数中返回值为True的元素,组成一个新的列表def f(item)...

2019-07-18 00:00:08 160

原创 python自学(七)——高阶函数

文章目录一、什么是高阶函数二、map/reduce作业1:字符串转数字作业2:单词首字母转大写作业三:编写一个prod()函数,可以接受一个list并利用reduce()求积作业四:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456一、什么是高阶函数可以把函数作为另一个函数的返回值或者参数的函数,成为高阶函数二、map/reduce...

2019-07-16 23:41:31 99

原创 python自学(六)——高级特性补充

文章目录一、生成器二、迭代器一、生成器作业:打印杨辉三角#!usr/bin/env python3#encoding=utf-8def generator(n=10): i = 1 l = [1] yield l while i<n: l = [1]+[l[x]+l[x+1] for x...

2019-07-15 23:54:25 84

原创 python自学(五)——高级特性

文章目录一、切片二、迭代2.1 判断是否支持迭代2.2 dict的迭代三、列表的生成式四、生成器(generator)一、切片形式:列表[start::end] start // 可以省略,缺省时默认从0开始,可以为负值,负值从右侧开始 ://不能省略 : //可以省略,存在时end的意义表示为间隔长度 end //可以省略,缺省表示到选取方向的末尾,可以为负号,表示右侧数第几个,如...

2019-07-13 17:01:20 126

原创 python自学(四)——函数的学习

文章目录#!/usr/bin/env python3#-- encoding:utf-8 --import mathdef test():a =int(input("请输入第一个数据a: "))b = int(input("请输入第二个数据b: "))c = int(input("请输入第三个数据c: "))tempSq = math.sqrt(bb-4ac)y1 = (tem...

2019-07-11 22:59:24 128

原创 python自学(三)——列表和逻辑判断

文章目录一、列表和tuple1.1 列表1.2 tuple1.3 二者的区别和相同二、逻辑判断2.1 if三 、循环3.1 for循环四、dict和set4.1 dict4.2 set一、列表和tuple1.1 列表数组和其他语言的数组基本类似,表示一个有序的数据集合: 1. append(data) // 向列表追加数据元素 2. pop(index) //index为空时,默认删除...

2019-07-10 23:05:01 1183

原创 python自学(二)——字符串和编码

文章目录一、 字符的编码和解码1.1 ord1.2 chr二、字符串的编码和解码2.1 encode2.2 decode三、字符长度 ——len四、字符串的格式化五、format一、 字符的编码和解码和其他语言是一样的,python的编码格式有ASCII 和unicode,utf-8,说到这里建议大家安装python3,之后的学习才能方便的进行下去,因为python3的默认编码是unicode...

2019-07-10 00:23:55 142 1

原创 python自学(一)——python基础

文章目录一、学习工具二、python的基础2.1 为什么要学python2.2 python是什么三、python 基础3.1 python 的基本语法3.2 python 的输入和输出3.3 python的数据类型一、学习工具terminal(mac 自带的python 解释器)廖大神的文档二、python的基础2.1 为什么要学python本人科班出身,但是很多语言学完就丢了...

2019-07-08 23:30:46 694

原创 Lodash常用函数学习总结

文章目录一、官网地址二、数组操作2.1 _chunk(数组分割)一、官网地址lodash官网前端开发一个跟便捷的简化代码的工具,优势很明显,优化代码,同样的也会有一定的弊端,就是对于熟悉lodash的开发着来说,确实很爽,对于小白来说,可能会更懵逼,同时建议初学者还是造造轮子,等一切熟悉之后在来用工具来提升速度吧吐槽一下,老婆饼没有老婆,中文文档没中文,总结一下常用的lodash的函数:...

2019-05-21 00:02:30 1530

原创 微信小程序自定义组件——添加图片组件

文章目录一、预期功能二、组件的设计方案三、现在上代码(根据引用关系进行展示)3.1 image-view组件3.2 row-view组件3.3 add-img组件先上图一、预期功能实现图片的添加实现图片的删除实现图片的预览二、组件的设计方案2.1 添加图片方案有几种添加方式添加的同时上传,这样最后提交表单的时候便捷,但是会浪费一些多余的流量和服务器资源添加只保存本地url...

2019-05-12 18:51:25 12612 3

原创 git 常用命令最全汇总

git命令汇总,日常更新文章目录1.初始化和删除仓库1.1 初始化1.2 删除本地仓库2.添加和提交项目3.撤销3.1 add之后撤销4.git 远程分支4.1查看远程仓库地址4.2 添加远程远程仓库地址4.3 查看本地、远程、所有分支1.初始化和删除仓库1.1 初始化git init1.2 删除本地仓库在已经初始化git的路径内执行如下命令find . -name ".git" ...

2019-05-05 00:22:30 418

原创 公众号运营学习(二)——新媒体人应该具备的能力和提升方法

今天学习的是作为一个新媒体人应该具备的哪些能力,和对应的能力应该怎么样培养,听完之后,感觉一点是很重要,那就是执行力,没有执行力,一切都是空谈。作为新媒体人,或多或少的都要能够拿得起笔杆子,笔下见真招,但是行家里手,抬起笔的那一刻基本高下立判,所以要写什么文章,从那个角度来写等等,都需要我们来学习和训练,下面是应该具备的能力:一、文章选题的能力就像一个厨师来考虑我今天要做哪道菜一样,要考虑顾...

2019-04-21 01:03:38 348

原创 微信小程序实现粘性布局sticky——注意事项

最近小程序要实现一个商城页面的切换菜单,处在页面的中间,滚动到最上面时,能够悬浮在顶部,最开始的解决方案是,外层使用scroll-view,监听滚动事件,当滚动到顶部时,菜单fixes布局,这样可以实现,但是一直监听的消耗内存和资源是问题,同时还会不流畅,出现卡顿,正好发现这个神器position:sticky;但是网上一搜,我大中国现状出来了,基本都是一个知识源,大家都是抄过来抄过去,但是...

2019-04-20 15:38:57 14555 1

原创 公众号运营学习(一)——什么是新媒体

文章目录一、传播迅速,信息高效二、用户参与度高三、高效利用了用户的碎片时间四、人人都是媒体人五、社交的因素最近在学习公众号的运营知识,感觉自己都快落伍啦,坚持每天一篇,记录下来。一、传播迅速,信息高效这个肯定是相较于纸媒时代,新媒体的一个特点就是,传播高效,往往我们刚看到微博一个爆点起来,转身一杯咖啡的功夫,很多公众号,“内幕”、最全揭秘、关于“XXX”你不知道秘密。。。简直就像雨后春笋般崛...

2019-04-19 00:51:47 682

原创 javascript的设计模式学习与应用(一)——单例模式

文章目录一、什么是单例模式模式二、js怎么实现单例模式今天分享javascript的单例模式及简单应用一、什么是单例模式模式单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。这是通用的定义,但是对于javascript来说,本身没有calss的概念,所以js中单例模式指的是...

2019-04-15 22:58:02 216

空空如也

空空如也

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

TA关注的人

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