自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 读《人月神话》的一些感受

最近在读《人月神话》,这是一本成书于 1975 年的关于软件工程的书,考虑到计算机领域的飞速发展,这本书真的可以算是计算机历史上洪荒时代的作品了,然而虽然时代久远,但是这本书仍然被无数人推荐必读,可谓畅销数十年。既然如此,作为半路出家的软件开发工程师,我当然要拜读一下了。

2023-02-06 14:21:32 716 1

原创 js四舍五入和计算精度问题

在电商网站中经常有金额的计算,但是在js中加减乘除的计算并不准确,比如:0.1+0.2 = 0.3000000000000004。那么势必会造成线上的事故,毕竟关于钱的事都是大事。我们可以通过引入 mathjs 解决这个问题安装:引入和使用:常用方法:具体使用方法可以直接查看文档:https://mathjs.org/docs/index.html解决了计算精度问题之后,计算得出的金额往往是多位小数,在实际业务中,我们需要把多位小数保留小数点后两位,且进行四舍五入。在网上查阅了资料并进行了多次实践之后,

2022-06-27 13:46:50 1172

原创 webpack5从零搭建一个项目

目录一、初始化项目1. 新建webpackdemo目录,初始化npm2. 安装webpack包3. 创建配置webpack.config.js和入口main.js4. 安装插件html-webpack-plugin5.引用css6.为css添加浏览器前缀7.把css样式从js文件中提取到单独的css文件中8. babel转义js文件9. 图片、音频、字体文件处理10.完整配置代码二、区分开发环境和生产环境1.热更新配置2.区分开发环境与生产环境的关系。3.定义环境变量三、持续优化1.打包文件分析工具webp

2021-12-06 16:52:13 2538 1

原创 vue3学习笔记(二)

目录vue3.2.0更新和3.0对比示例props父子传参emitnextTickrefCSS变量注入vue3.2.0更新在2021年7月7号,vue更新了3.2.0版本。相比于最初的3.0版本,优化了一些功能,使开发更加简单。和3.0对比起初 Vue3.0 暴露变量必须 return 出来,template中才能使用;Vue3.2 中 只需要在 script 标签上加上 setup 属性,组件在编译的过程中代码运行的上下文是在 setup() 函数中,无需return,template可直接使用

2021-09-14 15:29:11 300

原创 vue3学习笔记(一)

目录前言vue3.0对比vue2.x改变了什么Hellow World & setup响应性APIrefreactive把响应式对象展示在页面上生命周期组件和组件传参Provide / Inject前言vue在20年9月发布了正式版本,一转眼一年过去了,终于有时间来学习3.0了,接下来做一些自己的学习笔记。vue3.0对比vue2.x改变了什么响应式采用Proxy,不同于2.X的Object.definePropertycomposition API新的生命周期-LifeCycle H

2021-07-23 10:47:11 405

原创 indexDB的使用

目录简介无法开启indexDb的情况开始使用打开数据库为该数据库创建一个对象仓库新增数据查找数据使用索引查询使用游标查询修改数据删除数据简介IndexedDB 是一种可以让你在用户的浏览器内持久化存储数据的方法。IndexedDB 为生成 Web Application 提供了丰富的查询能力,使我们的应用在在线和离线时都可以正常工作。无法开启indexDb的情况浏览器不希望允许某些广告网络或恶意网站来污染你的计算机,所以浏览器会在任意给定的 web app 首次尝试打开一个 IndexedDB 存

2021-07-16 16:17:48 8973 3

原创 使用gitbook编写电子书、文档、博客

目录一、检查node版本一、下载安装GitBook1、下载2、变更gitbook版本二、初始化gitbook三、其他命令一、检查node版本node -v 查看node版本,gitbook停止更新好久了,高版本的node可能不兼容,我使用的node版本是 10.12.0,推荐使用nvm下载多版本的node一、下载安装GitBook1、下载已经安装过的先删除老版本的gitbooknpm uninstall -g gitbooknpm uninstall -g gitbook-cli之后下载安

2021-06-29 15:29:03 360

原创 服务器部署easymock

easymock的在线服务经常挂,于是就想在自己的服务器上搭建一个。前置条件是你的服务器上要安装node、mongodb、redis,还没有安装的小伙伴可以参考这篇博客:linux安装node、mongodb、redis值得注意的是node版本只能是8.x版本,高版本不行。同时mongodb和redis也不要用太高版本开始搭建首先去easymock的github去下载下来cd /usr/local/git clone https://github.com/easy-mock/easy-mock

2020-12-24 17:20:38 424 2

原创 linux安装node、mongodb、redis

node一会儿再写mongodb官网下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz首先 cd /usr/localtar -zxvf mongodb-linux-x86_64-4.0.13.tgzmv mongodb-linux-x86_64-4.0.13 mongodb配置系统环境变量:vi /etc/profile键盘按下“i”进入编辑模式即可。在文件的最后加上:#mongodbexport

2020-12-23 14:58:08 185

原创 前端自动化—使用Jenkins+GitHub自动化部署前端项目

这里写目录标题前言前置条件docker安装和java安装的对比开始,安装java环境第一步,下载安装包第二步,配置环境变量第三步,测试安装成功下载Jenkins并启动第一步,下载Jenkins的war包第二步,使用java运行war包前言公司使用Jenkins自动部署好久了,但是自己一直停留在使用的阶段,没有自己搭建过。趁这几天有时间,买了个服务器把这个搞一搞。身为一个前端工程师,对服务器的一些东西不太熟悉,基本上所有的困难都出现在搞服务器上,踩过不少坑,在这里记录一下。前置条件一台服务器(我用的

2020-08-25 15:04:32 1522 2

原创 杂记

仅作为个人记录使用杂记倒计时转译特殊字符获取屏幕宽度 、浏览器大小发生变化jq清除style样式去掉IE11input后面隐藏的X和眼睛点击缓慢的移动到页面顶部修改滚动条样式vue跳转路由的时候返回顶部vue跳转相同路径报错问题rsa加密vue中px自动生成rem倒计时 function countDown(timestamp) { var d = Math.floor(timestamp/1000/60/60/24); var h= Ma

2020-08-10 18:15:21 196

原创 vue实用插件集合

生产环境去除console插件:babel-plugin-transform-remove-console 官方地址安装:npm install babel-plugin-transform-remove-console —D在 babel.config.js 中配置(vue cli3使用方式)// 生产环境去除consoleconst prodPlugin = []if (process.env.NODE_ENV === 'production') { // 如果是生产环境,则自动清

2020-08-04 15:00:30 325

原创 疫情影响下一枚前端的求职之路(面试题)--2020.6

前言我在六月初裸辞,准备了一周,离开了青岛,踏上去往杭州的求职之路。之后经历了两周半的面试,终于找到了一家心仪的公司,在这里记录一下面试过程中遇到的面试题,大家仅供参考。受疫情影响,今年的行情没有往年好,我也是年轻气盛,没有考虑这么多就直接裸辞了,在这里劝大家一定要找好下一家在辞职,不然压力会很大。面试题css方面一个盒子如何做到水平垂直居中?出现频率:高!css的一些选择器有哪些?说一下css的盒模型?出现频率:高!px、em和rem的区别?你遇到的一些IE8的兼容性问题如何处理?因为

2020-07-18 19:13:26 3904 3

原创 vue实现微信网页授权登录

附:微信官方文档前言:在用vue做微信公众号网页项目的授权登录中踩过不少坑,在这里记录一下。首先在选择由后端做登陆还是前端传token登录的方式上产生了分歧。两种方式在不同的公司里都用过,后端做登陆无非是前端跳转到jsp或者php页面,后端把登录做了在跳转回页面,这种方式前端方便了,但是中途需要跳转多次,很影响体验,所以最终选择了前端传token的方法进行登录。不想看过程的可以直接往下拉查...

2020-01-08 15:28:13 20789 5

原创 Windows10家庭版安装虚拟机

在日常开发中经常有需要兼容IE8的需求,win10默认的IE版本是11,而且版本并不能回退。这时候就需要在电脑上安装虚拟机测试IE8兼容性问题。在个人电脑上常见的虚拟机有VMware Workstation、Virtual Box、Parallels Desktop、Hyper-V等,这里主要介绍的是Hyper-V。Windows10家庭版是不开启Hyper-V的,除非升级为专业版,但仅仅...

2020-01-08 14:05:02 23453 2

原创 在手机端浏览器模拟F12(实用小工具)

大家可能会遇到一些谷歌浏览器模拟手机端没问题,但是真机上会出现的bug,真机上没有F12,很难定位bug原因。偶尔找到一款工具,可以方便的在手机端打开F12,记录一下分享给大家。这款工具就是vconsole,记录一下使用方法:一、多页面,用script的方式引入首先引入vconsole<script src="http://wechatfe.github.io/vcon...

2019-11-28 18:10:35 20752

原创 vue-cli3:区分开发、测试、生产环境

vue-cli3相比于2取消了build和config文件夹,需要自己创建.env文件区分不同的环境官方文档地址:https://cli.vuejs.org/zh/guide/mode-and-env.html1、在根目录下创建一个.env.development 是开发环境VUE_APP_URL = 'https://www.easy-mock.com/mock/5d6cbe39f...

2019-09-02 17:20:40 3515

原创 记录一次redux使用过程

话说好记性不如烂笔头,记录下redux使用过程,方便下次复制用,哈哈仅做记录使用,不详细解释redux原理用到的插件 :redux、react-redux、redux-persist、redux-thunk1、redux/actions/counter.js// action也是函数export function setPageTitle (data) { retur...

2019-08-30 14:48:52 211

原创 axios多次相同请求,取消下一次

使用axios的请求拦截器拦截多次相同请求,在网上看到了一篇博客,但是他是多次相同请求,取消上一次,而我们的需求是取消下一次,所以要改一下。在这里,两次请求的url和data相同,我们即认为是相同请求。核心方法是用axios提供的取消函数,在请求发送之前取消掉。话不多说,直接上代码import axios from 'axios'import router from '../rou...

2019-08-15 14:16:00 1268

原创 vue-cli2:区分开发、测试、生产环境

本文适合使用vue-cli2搭建的项目,vue-cli3取消了build和config文件夹,不适用此方法。3请移步https://blog.csdn.net/yuyuking/article/details/100323068用vue-cli2构建完项目后,只有一个开发环境dev和生产环境prod,现在我们要加一个测试环境 test1、首先在package.json增加一个test...

2019-08-15 11:01:56 2658 3

原创 一次VUEX使用记录

store.jsimport Vue from 'vue'import Vuex from 'vuex';import createPersistedState from 'vuex-persistedstate' //vuex状态持久化Vue.use(Vuex);const state = { userName: "",};const getters = { ge...

2019-08-13 09:55:26 168

转载 兼容ie8的rgba() 写法

在页面中设置一个半透明的div一般情况下使用rgba()函数,但在IE8情况下无法使用rgba()函数。rgba的含义,r代表red,g代表green,b代表blue,红绿蓝是三原色。所有颜色都可以由这三种颜色拼合而成。a代表透明度。比如rgba(255,255,255,0.1)就是透明度为0.1的白色。在现代浏览器中是支持rgba的。但是在ie8等古董级浏览器中是不支持的rgba的,ie8只...

2019-06-26 15:33:35 397

原创 js增加月份

var d=new Date("2019-5-31"); d.setMonth(d.getMonth()+6); var m=d.getMonth()+1; var da=d.getDate(); console.log(m) console.log(da)注意:js计算的加6个月之后,时间是12-1,后台java使用工...

2019-05-28 09:43:38 2109

原创 前端如何进行seo优化

一、合理的title、description、keywords 搜索对着三项的权重逐个减小,title值强调重点即可;description把页面内容高度概括,不可过分堆砌关键词;keywords列举出重要关键词。1、titletitle,就是浏览器上显示的那些内容,不仅用户能看到,也能被搜索引擎检索到(搜索引擎在抓取网页时,最先读取的就是网页标题,所以title是否正确设置极其...

2019-04-18 11:29:27 30419 4

转载 原型和原型链—Javascript继承机制的设计思想

写在前面:以前一直不懂原型和原型链的含义,虽然看过几篇介绍,仍然处于似懂非懂的状态。后来看到一篇文章,通俗易懂,可以很好地理解原型和原型链。先说一下原型和原型链的定义。原型:JS中的对象都包含了一个prototype的内部属性,这个属性所对应的就是该对象的原型。原型链:原型链是是有一些用来继承和共享属性的对象组成的对象链。并且原型链的长度是有限的。正文:我一直很难理解Javas...

2019-04-01 17:22:36 496

转载 对闭包的理解

原文地址:http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascrip...

2019-01-10 14:30:43 344 1

原创 Express+MySQL搭建后台开发

怎么搭建express环境在我的另一篇文章里讲过了,在这里就不说了,有兴趣的可以去看一看https://blog.csdn.net/yuyuking/article/details/82856944一、下载安装MySQL1.MySQL本体去官网下载,一步一步安装即可。值得注意的是要记住用户名和密码。MySQL官网下载踩了一个坑,在这里说一下。官网下载的版本是8.0,加密方式改了,一...

2018-10-16 16:54:58 1402

原创 搭建一个VUE+Express前后端分离的开发环境

前置条件请确保安装了node。window+R打开cmd,输入 node -v  查看node版本。建议使用淘宝镜像代替npm,确保安装速度,接下来都会使用cnpm一、搭建后台Express环境1、安装环境新建一个Express文件夹,之后的操作都在这个文件夹里操作,确保能找到你的项目在此使用shift+鼠标右键打开cmd全局安装Expresscnpm i...

2018-09-29 17:04:16 10120 6

转载 ios时间转时间戳获取不到的问题

new Date('2016-07-18 14:58:32').getTime();      //在ios上死活拿不到时间戳参考了一篇文章 在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象。     但是在IOS5版本里面的Safari解释new Date('2013-10-2...

2018-05-29 16:21:22 1276

原创 微信jssdk

一、引入微信jssdk(需要先配置安全域名)<script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js" type="text/javascript" charset="utf-8"></script>附:微信官方文档二、通过config注入权限验证配置$.ajax({ type: "po...

2018-04-19 16:18:03 840

原创 使用html+vue的方式开发,在页面初次进入时会有一闪而过的代码

例如:&lt;p class="fl z-tshi"&gt;{{city}}&lt;/p&gt;在页面加载时会有{{city}}代码一闪而过,影响美观解决方案:加上v-cloak&lt;p class="fl z-tshi" v-cloak&gt;{{city}}&lt;/p&gt;并且在公共的css加入:[v-cloak] { display: none;}...

2018-04-19 16:03:25 3722

原创 利用高德地图api进行定位

一、精准定位,需要https,需要用户手动同意。 在初次进入时进行定位,定位成功,保存定位所在城市。再次进入不定位,使用上一次的定位。1.首先引入高德地图api&lt;script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.1&amp;key=你自己的key"&gt;&lt;/script&gt;2.在页面加入一个d...

2018-04-19 15:57:36 7979

转载 手机软键盘搜索按钮实现点击搜索功能

手机软键盘实现搜索功能最近一个移动端的项目需要实现点击手机软键盘的搜索键实现点击页面搜索按钮相同的功能,虽然功能挺小但是度娘了不短的时间才达到需求,下边我就大概的说一下实现思路希望对大家有所帮助功能需求点击软键盘实现点击go一样的搜索功能功能实现查了好多文章基本上都说的是监听keydown事件和判断键盘键值码,本人也试过那个适用于键而软键盘我没能用这个方法实现我的的form的onsubmit方法实...

2018-04-13 11:54:55 2958

原创 在电脑端微信或低版本ios,使用微信自带浏览器打开网页不显示

使用了es6的let,不解析let...把let去掉或者使用工具把es6转为es5

2018-04-10 10:37:56 3034

原创 利用canvas把二维码和图片合成海报

思路:在微信中登录,后台传来的是一个链接、一个名字、一张图片。把图片当做背景,画满整个画布。之后需要把链接转为二维码,使用jq.qrcode转化,转化完成后是一个canvas,把这个canvas再转成一张图片,画到大的画布上。把名字画到画布上。把整张画布转为图片。一、定义画布和合成海报的img&lt;style type="text/css"&gt;#canbox { width: 100%;...

2018-04-09 20:40:24 17347 20

原创 前端使用jquery.qrcode生成二维码

1.在页面引入jq和jq.qrcode&lt;script src="../js/jquery-2.1.0.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="../js/jquery.qrcode.min.js" type="text/javascript" cha

2018-03-30 10:46:53 873

原创 手机号、身份证号中间变成********

用到了substr方法substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。语法stringObject.substr(start,length)参数描述start必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。length可选。子串中的字符数。必须...

2018-03-21 13:37:59 5357 1

原创 常用正则

手机号正则:var myreg=/^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test($poneInput.val())) { return false; } else { return true; } 邮政编码正则:/^[1-9]\d{5}$/简单的身份证判断:var reg = /(^\d{15}$)|(^\d...

2018-03-19 14:56:30 237

原创 vue长按事件touch

1.touch事件以下是四种touch事件touchstart:     //手指放到屏幕上时触发touchmove:      //手指在屏幕上滑动式触发touchend:    //手指离开屏幕时触发touchcancel:     //系统取消touch事件的时候触发,这个好像比较少用2.长按弹出删除按钮,点击删除&lt;div v-for="item in l...

2018-02-02 17:16:09 28860 3

原创 省市区的一些数组

市数组cityData: [{ "first": "A", "name": "阿拉善盟" }, { "first": "A", "name": "鞍山市" }, { "first": "A", "name": "安庆市" }, {

2018-01-30 16:28:55 2325

javajdk8+Jenkinswar包.zip

javajdk8+Jenkinswar包.zip

2020-08-24

空空如也

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

TA关注的人

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