自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一切心血来潮的想法皆从一个跑马灯需求开始(跑马灯横向、纵向滚动Vue组件)

需求目的做业务需求时,产品要求有一个如下的动画(so easy~~)撸起袖子加油干,第一时间想到的就是HTML自带的marquee标签你看的没错,标准已经废除了这个标签,既然没有办法使用官方的,那么我去google搜索一下私人版,ctrl+c/ctrl+v(万恶),搜索了半天都是别人定制化开发的(太麻烦了),于是就想自己写一个,那就开始干吧~~具体实施写了一个组件,接收两个参数:tempo:滚动速率mode:横向滚动和纵向滚动横向滚动(用了css3的动画)如图所示,DIV1为外

2020-10-10 15:38:29 622 2

原创 webpack5-模块共享方案

目录一、引用1.1、npm包1.2、微前端1.3、其它方案二、模块联邦(module Federation)三、实践3.1、REMOTE1配置3.2、HOST宿主配置3.3、跨技术栈3.3.1、REMOTE2配置四、依赖共享五、总结一、引用在日常开发中,我们经常会有一种感觉,这个组件我在其它项目改了,又要copy一次?在协同开发的过程中磕磕碰碰,皆为了结果尽善尽美,手段无所不用其极,CV大法更是用的出神入化,后面发现副作用极其明显,项目杂乱、代码冗余等问题,尽管有相应的规范也难以约束人性,我们无时无刻不

2022-04-13 15:04:19 2407 6

原创 头铁,深揪javascript中的原型链

引发思考let obj = { name: 'zhangsan', getName: function () { console.log(this.name) }};let newObj = { name: 'lisi'};obj.getName.call(newObj); //lisi这是一个更改this指向的例子,但是本文的关键在于为什么obj.getName这个函数会有call这个方法?或者说是怎么来的?...

2020-10-26 12:36:45 151

原创 在前端如此崛起的情况下,你还不清楚javascript中this的指向问题吗?

一句话概括this永远指向调用它的上一级对象this永远指向调用它的上一级对象this永远指向调用它的上一级对象重要的话说三遍…引发思考一道经典面试题var name = "zhangsan";function info() { var name = "wanger"; console.log(this.name)}info();//zhangsan懂得同学一眼得知打印出来的是zhangsan,至于为什么呢?看概念,那么调用info函数的对象是谁呢?在游览器中是win

2020-10-19 08:58:47 220 2

原创 手把手教你写call、apply、bind函数,深入理解bind函数的细节

call、apply、bind是什么?在javascript中,call、apply、bind是标准提供的改变函数执行上下文的方法,白话就是改变this的指向。区别在于:call和apply都是调用后立即返回结果,而bind是调用之后返回一个函数,二次调用返回结果call第一个参数为目标对象,其余参数依次传入fn.call(obj, arg1, arg2…)apply第一个参数为目标对象,第二个参数为一个数组fn.apply(obj, [arg1, arg2…])bind的绑定函数还可以作为构造

2020-10-13 17:57:50 1050 2

原创 你真的会深度遍历和广度遍历吗?

提出问题如下有一个对象,要求遍历所有的n,分别用深度优先遍历和广度优先遍历?const tree = { n: 'root', child: [ { n: 'left-1', child: [ { n: 'left-1-1', child: [ {

2020-08-24 12:25:58 397

原创 正确理解函数防抖和节流

为什么用防抖和节流函数?在我们编写前端代码时经常会遇到某类高频操作,如:用户输入框的模糊查询(监听输入调用接口)window.onsize或window.onscroll的执行(判断当前窗口大小或当前视口高度等等)如果我们在不用防抖或节流函数,监听用户输入实时调用接口或监听窗口改变去执行一系列的dom操作;那么可想而知,对性能造成的影响有多大。节流效果:让高频的执行函数平滑的执行,一段时间内只执行一次。使用场景:window.onsize 和 window.onscroll等高频执行的函数。

2020-08-20 12:36:18 340

原创 Docker配合mysql主从复制、mycat读写分离、主从切换

环境操作系统:centos7mycat:192.168.10.10,版本:1.6mysql:192.168.10.11,版本:5.710.11服务器安装docker来启动两个mysql实例,端口分别为3307,3308,两个数据库互为主从。配置启动mysql查看mysql镜像docker search mysqldocker拉取5.7版本的mysql镜像docker pull mysql:5.7拉取完成后,查看镜像docker images已经拉取镜像成功,接下来mysql

2020-08-20 10:43:26 517 1

原创 docker配合pm2构建nodejs —— 初探

Docker是什么?Docker是一个用于开发,发布和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用Docker的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。为什么使用Docker?目前传统发布应用存在的问题软件更新发布及部署低效,过程繁琐且需要人工介入当需要部署多台服务器时,环境一致性难以保证不同环境之间迁移成本太高而Docke

2020-08-20 09:58:50 4083

原创 mysql分组取前几 ——高效方法

业务需求按照article分组取每组price前5的详情,表格如下具体操作一、参照网上的做法:select * from shop a WHERE (select count(1) from shop b WHERE a.article = b.article and b.price > a.price) < 5ORDER BY a.article个人看法:原理:统计出同一个类型比我price高的数量,我price最高,比我高的数量为0,我第二,比我高的数量为1…我第五,比我

2020-07-30 18:14:26 397

原创 快速使用vuex

**首先**安装vue、vuex等。****入口**新建文件store.js,注册vueximport Vue from 'vue'import Vuex from 'vuex'import User from './storage/user'Vue.use(Vuex);export default new Vuex.Store(User)user.js文件就是存...

2019-11-11 17:14:29 132

原创 KOA2使用async/await报404问题

今天KOA2在搭建系统踩了一坑。没错,世界处处是坑,废话不多说,上菜。问题:调用接口404,后端日志有返回。游览器调用时报了404,后端控制台打印了日志并正确的返回。let userinfo = await mysql.execute(url, arg);年轻的我调试中发现使用await的地方有问题,于是我去看了我用promise封装的mysql,并没有什么问题, 此处省略一万字。...

2019-10-11 17:57:32 1115

原创 nginx只允许域名访问

未设置之前server { listen 80; location / { proxy_pass http://localhost:10010; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; ...

2019-10-11 11:27:24 791

空空如也

空空如也

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

TA关注的人

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