自定义博客皮肤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)
  • 收藏
  • 关注

原创 将博客搬至CSDN

大部分情况下我都会在简书上更新,当然也会不定时更新到csdn上

2019-05-09 16:33:00 162

原创 如何实现out-side-click功能

$ npm install jh-outside-click --save在日常开发中,我们常常会遇到这样的需求点击特定元素外的时候触发某个事件具体表现为做一个弹窗时,点击弹窗外的任意部分,如遮罩层,则自动关闭弹窗。特定元素:弹窗内容层外部元素:除了内容层外的其他一切元素常规做法是设置遮罩层与内容层不是父子元素,然后专门在遮罩层上注册点击...

2019-05-08 16:24:00 725

原创 linux入门-mysql安全防范

近日服务器收到攻击,数据库被清空并插入了一个表,内容如下:warningbitcoin_addressemailTo recover your lost Database and avoid leaking it: Send us 0.1 Bitcoin (BTC) to our Bitcoin address 1J6jLduCXbP...

2019-04-29 18:33:00 435

原创 手摸手系统:使用原生JS封装时间区间选择器插件

网上已经有了各种各样的插件,满地的轮子,为什么我们还要自己封装呢?其实道理也很简单,因为不这些插件不是定制的,灵活性和可拓展性自然有所缺陷。就在前几天,产品和设计围过来说希望开发一个时间选择组件,看刚好上一次迭代已经结束了,就试着开发一下。效果图最开始打算用vue来封装的,但是项目采用的是amazeui和JQuery,无法直接使用vue,...

2019-04-15 14:15:00 660

原创 vue项目封装并发布无限滚动指令优化渲染性能的npm模块

曾经在前端之巅看过这么一篇文章,标题是《网站性能优化实战——从12.67s到1.06s的故事》,当时我就纳闷了,哪来的网站首屏需要加载12秒,而且怎么做到这么极致的优化的?果然过了几天,接手了一份祖传代码,运行后发现项目奇卡,渲染也不是一般的慢,除了谷歌和火狐,其他浏览器一律崩溃。亚马逊的工程师形容说他们的祖传代码:“一座很大的屎山,你见过的最大的山...

2019-04-11 10:00:00 350

原创 使用eslint来规范你的项目源码

在vscode上开发个人项目的时候,代码风格随你定,弄出花也没人说,可是一旦是团队项目,那就得注意代码风格了。举个常见例子来说,A修改了代码,并格式化成2个缩进,B也同时同一份代码,但格式化成4个缩进,这时候代码提交的时候就会存在冲突,需要花费大量的时间在格式上。那么解决方案有三步使用Settings Sync拓展同步用户设置使用e...

2019-04-10 17:10:00 333

原创 使用Settings Sync同步你的vscode配置

不知道你有没有这样的经历,使用vscode开发的好好的时候,突然弹出一个更新提示,手贱点了更新,更新完后shift + alt + f格式化下代码,结果代码排版格式什么的都初始化了,一夜回到解放前;又或者,在公司开发一个紧急项目,下班后回家用git pull最新的代码,修改完后想做提交代码早点睡觉,发现死活提交不上,原来是eslint限制了,代码格式化不一...

2019-04-03 11:45:00 800

原创 dataset兼容低版本IE

请使用event.target.getAttribute('data-xxx')

2019-04-01 11:29:00 437

原创 兼容IE下无法forEach NodeList的bug

NodeList 对象是一个节点的集合,是由 Node.childNodes和 document.querySelectorAll返回的,实则是一个类数组对象。Although NodeList is not an Array, it is possible to iterate over it with forEach(). It can also ...

2019-04-01 10:57:00 1922

原创 webpack使用HtmlWebpackPlugin进行cdn配置

CDN服务商的选择在前面的文章中我们介绍了cdn的实现原理,现在我们来实现如何在正式开发中使用cdn功能。要使用cdn功能,就需要cdn服务商,我们可以自己搭建,也可以使用一些比较知名的服务商,庆幸的是市面上有不少的免费cdn服务商,如:BootCDNunpkg其中BootCDN 是 Bootstrap 中文网支持并维护的前端开源项目免费 CD...

2019-03-25 19:11:00 4840

原创 linux上利用pm2和nginx部署项目

Introduce在开发模式的时候,我们常用nodemon和webpack热更新nodejs项目(如express)和前端项目(如vue),但需要部署的时候我们就不能再用开发环境的配置了,需要改成生产环境配置。为了使得项目可以稳健的运行在服务端,node可以使用nohup启动,前端项目可以使用nginx代理。但是为了更加规范管理,我们应该使用pm2来管...

2019-03-14 18:31:00 693

原创 Nginx配置多个服务共用80端口

对于Web而已,80端口和443端口是十分重要的,原则上需要输入http://domain.com:80才可以浏览网页的,但由于默认端口是80,所以‘:80’可以忽略。同理对于https的443端口也一样。随着服务器性能的提升和业务的需求,一台服务器上往往会同时有多个服务,这些服务都希望监听80端口,比如有vue.msg.com和react.msg.co...

2019-03-14 12:00:00 5985 2

原创 vue使用prerender-spa-plugin预渲染进行seo优化

前言单页应用(SPA)是最近流行的一种应用模式,它支持在同一页面下通过哈希(hash)或html5的history api实现不刷新式切换视图,既实现了动态路由的变化,也实现了历史记录的保持,然而,相比于静态页面和动态页面(ASP/PHP/JSP)而言,缺点也是显而易见的,那就是对SEO不友好。不管是Vue、React还是angular等实现路由的框架...

2019-03-13 14:18:00 680

原创 Vue下是如何实现CSS私有作用域的

在web开发中,css是一个利器,它可以使得我们的页面更加炫酷华丽,但是在好用的前提下它也给迭代开发带来了一定的麻烦,比如样式相互覆盖或者样式影响到了未考虑的元素等,所以css的私有化就显得很有必要了。但从严格意义上来说,css样式都是全局的,并不存在私有作用域这一说法,所以我们会通过各种各样的方式来模拟实现css的私有化。其中大部分都说基于BEM思想来实...

2019-01-31 18:24:00 970

原创 linux入门-mysql的安装与使用

对于网站或其他应用来说,数据是最重要,而数据既可以存在文本文件中,也可以存在内存中,为了方便管理,一般都会数据库来存储数据。其中mysql就相当流行一款关系型数据库,而且还支持在linux和window等操作系统是运行,这里我介绍如何在linux服务器上安装mysql。mysql1、选择安装方式不像window上一键安装mysql,在linux...

2018-12-25 22:08:00 154

原创 linux入门-远程工具的使用

linux入门-远程工具的使用 linux入门-远程工具的使用 之前一直是在window服务器上折腾,也都能满足日常的开发需求,所以并没有怎么去触及linux,但是随着学习的深入,发现应该以进步的眼光去看事物,要时刻要求自己接触不同的东西。最近入手了一台linux...

2018-12-11 15:17:29 145

原创 linux入门-nodejs的安装及配置

nodejs.简单的说Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。(其实就是一个后台语言,用js...

2018-11-14 00:00:00 355

原创 linux入门-映射网络驱动器

在日常中,我们不会时时刻刻远程着linux服务器,那么有没有办法可以让我们在window电脑上映射linux的磁盘呢?这是可以实现的,这里我们就要介绍samba了。sambaSamba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域...

2018-11-13 23:22:00 1862

原创 linux入门-nginx的安装与配置

在linux下有比较多的web代理软件,如nginx、squid等,比较流行的是nginx,相比于window下的iis,或者java专用的tomcat,nginx更叫小巧易用。nginxnginx除了可以在linux上运行外,还有window的移植版,下面主要是介绍如何在linux下安装配置nginx代理服务器。说到安装软件,我们习惯了在wi...

2018-11-13 00:11:00 171

原创 linux入门-常用命令的使用

对于命令行的接触,最开始是window下的cmd,比如查看电脑ip地址、进入某一个文件夹、下载npm模块等等window cmdwindow ipconfig对于习惯了window桌面操作系统的用户来说,其实是比较少接触到命令行的,而在linux下,命令操作是常态。linux命令不少,不过不用担心,常用的其实不多,而且有一些还...

2018-11-11 23:18:00 435

原创 linux入门-远程工具的使用

之前一直是在window服务器上折腾,也都能满足日常的开发需求,所以并没有怎么去触及linux,但是随着学习的深入,发现应该以进步的眼光去看事物,要时刻要求自己接触不同的东西。最近入手了一台linux云服务器,计划把之前在window服务商的应用全部转移到linux上,向全栈目标再进步一步。说到云服务器,我们之前是通过window自带的远程桌面连接wind...

2018-11-11 23:17:00 263

原创 CDN简谈及实现原理分析

很多人可能不了解cdn,认为自己没用过cdn,其实不然,我们已经在用了。先举个栗子,大家有没有想过为什么双十一的时候这么多人抢购,流量超级大,为什么很少出现网页加载不出来,也没见过淘宝服务器奔溃呢?举个栗子正常情况下肯定会奔溃的,你想想,上亿人同时向一台服务器发起请求,服务器还不得冒烟啊?实际上cdn就在里面发挥着功不可没的功劳。抛开技术方面的...

2018-11-11 16:52:00 170

原创 前端常用的通用方法javascript.common.js

在项目开发过程中,常遇到一样的方法,这时候就可以封装起来PS:其实也过了好久,这里都已经不是最新的了'use strict';varJavascriptCommon = {/*** 剪切字符串* @ str 原字符串* @ 最大长度 */MsgCutWord: function(st...

2018-11-01 23:50:00 258

原创 手把手,教你用nodejs搭建后台最小系统(大量图文)系列二

前段时间利用nodejs封装了一个最小系统,也终于是把很久之前的愿望给实现了,在这里把如何实现分享出来。本系列文章有两篇,上一篇详见下面传送门:传送门:《手摸手,教你用nodejs搭建后台最小系统(大量图文)系列一》项目地址:https://gitee.com/zhkumsg/node-base-demo原文再续,书接上一回~~~8、开发底层模...

2018-09-21 19:11:00 533

原创 什么是跨域、怎么解决跨域以及如何实现跨域下的登录

前言:在以往开发中,不会涉及到跨域的问题,因为往往都是在同一个项目中开发代码或者单纯写小demo;However,在实际项目中,前后端分成两个不同的项目,各自部署在不同的域名下,这也就会遇到跨域问题了。既然问题发生了,那就要从根本上去解决问题,在开始说解决方案前,我们有必要了解一下什么是跨域1、什么是跨域在浏览器同源策略限制下,向不同源(不同协...

2018-09-13 22:43:00 3728 1

原创 利用EnguCv和html5实现人脸识别:(Asp.net+vue+nginx+EmguCv)

当成功安装Emgucv 3.x 64位后,我们接下来要利用它实现人脸识别,EmguCv示范代码里面有人脸检测代码,到人脸识别介绍不对,网上的教程更多的是真对2.x版本的,3.x版本的介绍少之又少,不过方法是类似的,大概流程如下:识别流程人脸识别前端实现有两种方式,一种是采用本地摄像头进行人脸识别,第二种是利用推流实现人脸识别,而推流部分需要后端...

2018-09-10 00:04:00 773

原创 Windows下搭建Nginx服务器

Nginx原生为Linux服务的,官方并没有提供编译好的Windows版本下载,所以要在Windows下使用Nginx,要么下载源码自己编译,要么使用别人已经编译好的文件。1、下载nginx 1.7.11.3 Gryphon(当然选择下列任何一个都行)http://nginx-win.ecsds.eu/download/打开链接http://n...

2018-09-09 00:00:00 195

原创 利用ffmpeg实现rtmp推流

ffmpeg在以前介绍过,是一个相当强大的工具,我们这次利用它实现rtmp推流(最终推流地址统一为rtmp://127.0.0.1:1935/live/123)。1、首先下载ffmpeg和ffplayhttp://ffmpeg.org/官方下载链接为:http://ffmpeg.org/2、cmd进入ffmpeg所在目录cmd...

2018-09-09 00:00:00 1252

原创 vlc播放器或者web实现rtmp拉流

最简单的拉流莫过于接着第三方播放器了,我们可以利用VLC播放器实现rtmp拉流。当安装完vlc播放器并且客户端已经在推流了(推流地址为rtmp://127.0.0.1:1935/live/123),我们打开vlc,在媒体中选中打开网络串流,然后输入拉流地址(拉流地址与推流地址一致)vlc播放器然后点击播放拉流成功(本地视频)好啦,华...

2018-09-09 00:00:00 9762 1

原创 web实现rtmp推流拉流(vue + nginx)

测试发现,利用html5调用摄像头可以实现,但是再进行rtmp推流就没有找到合适的方法了,然后参考网上一些直播云台,发现它们都有自己的推流拉流播放器,以网易云直播和腾讯云直播为例,它们有自己的开发包,然后用户接入它们的平台就可以二次开发了。可是我们要的是自己开发,用它们的有些还需要收费和授权码,综合考虑后,决定利用rtmp-streamer推流,用时采用腾...

2018-09-09 00:00:00 12160 3

原创 如何安装和测试EmguCv:(Asp.net+vue+nginx+EmguCv)

首先先介绍一下OpenCV,OpenCV的全称是:Open Source Computer Vision Library,OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接...

2018-09-09 00:00:00 271

原创 腾讯QQ授权登录(asp.net + angular)

在前面QQ互联稍微介绍过一下,这里进行详细介绍。成为开发者首先打开QQ互联官网https://connect.qq.com/index.html点击注册,完善相关信息QQ互联完成开发者认证在菜单上选择应用管理,进入后选择开发者认证,填写个人信息实名认证创建网站应用完成开发者认证后,选择创建网站应用(提醒:同一个域名不需要创建多个应用...

2018-09-08 00:01:00 659

原创 微信公众号授权登录(asp.net + angular)

微信是时下最火的,上面有数以亿计的用户,如果能接入微信将大大减低注册门槛,当然,接入微信登录是有门槛的。微信登录一般有两个,一个是微信开放平台授权登录,一个是微信公众号授权登录,两者都需要认证才可以继续开发,开放平台开发流程与新浪微博授权差不多,后者开发流程稍有不同,而且可以用测试号进行开发。下面暂时以公众号为例说明。注册账号,建立公众号不管怎么样,得先注...

2018-09-08 00:01:00 645

原创 新浪微博授权登录(asp.net + angular)

如QQ互联,这里详细介绍如何实现微博登录。成为开发者首先还是得先注册一个微博账号,用微博账号来登录开放平台。打开微博开放平台官网http://open.weibo.com/index.php,点击登录,完成开发者注册新浪微博开放平台完成开发者认证按照流程走,开发者类型一般选择个人。开发者认证创建网站应用一般来说,我们创建的是网站应用...

2018-09-08 00:01:00 555

原创 微信js-sdk的使用(asp.net + angular)

在有认证公众号或测试号的前提下(建议先到本目录下查看微信公众号授权登录文档入门),接入微信接口,完善系统,下面以测试号和新闻稿系统为例说明。配置js安全域名配置安全域名才能使用js-sdk,只允许指定域名内的url访问。配置安全域名全局缓存并刷新access_token、jsapi_ticket此处的access_token和授权登录的票据不一...

2018-09-08 00:01:00 293

原创 百度账号授权登录(asp.net + angular)

相比其他授权登录,百度授权登录开发是最快的,因为审核时间可以忽略不计,下面详细介绍如何实现百度授权登录。成为开发者和其他开放平台一样,第一步还是要成为开发者。打开百度开发者中心(http://developer.baidu.com/),注册或者用已有账号登录,按照流程,一步步完成注册和认证。百度开发者中心创建工程完成注册后,在右上方的用户名下选...

2018-09-08 00:00:00 951

原创 快速进入此目录的命令窗口

普通情况下我们要在cmd中打开某一个目录一般都是先调出cmd(ctlr+r),在进入对应的盘(d:),然后再打开对应的目录(cd team/vue/sample),有点慢,其实有一种快捷方式可以打开首先先在资源管理器中打开需要打开的目录,按住shift键,再右键,选择“在此处打开命令窗口(W)”即可。 ...

2018-09-07 20:29:00 131

原创 关于在EXT.NET页面中嵌入vue的弊端与应对方法

从本质上来说,vue的开发不适合嵌入到ext.net页面上,因为vue在开发单页页面和数据交互是才可以充分展示其强大的作用,如果是在ext.net页面中嵌入一个vue页面,先不说vue组件无法使用的问题,数据交互与绑定更是一个严峻的问题。目前在ext.net中嵌入vue有两种办法第一种:开发一个独立的html页面,采用AMD方式加载vue库,然后采用普通写...

2018-09-07 20:29:00 607

原创 微信小程序捕获formId实现无限量发送模板信息

前言:微信小程序发送模板信息有两个前提,要么触发一次表单提交,要么触发一次支付。如果需要给用户主动推送模板信息,那么就需要拿到足够多的formId(支付不实现),下面介绍如何才能获取足够多的formId。PS:使用该方法的时候需要符合微信运行规则。思路:我们封装一个组件,组件内部是一个form标签和一个提交按钮,form表单支持返回formId,然后该组件...

2018-09-07 00:11:00 791

原创 给EXT.NET管理系统添加路由

我们目前的管理系统是单页应用(上面是logo,左边是菜单栏,右边是具体页面),打开的页面一直是Main.aspx,一旦页面刷新,右边具体页面又会回复到Home.aspx,所以为了实现通过不同的 URL 访问不同的内容的功能,需要在原代码上做以下修改。先来一张效果图镇楼要改的代码主要有以下几个文件1、Default.aspx.cs2、...

2018-09-07 00:10:00 99

空空如也

空空如也

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

TA关注的人

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