自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 node.js平台下socket协议实现双向通信服务

一 . socket简介 和HTTP的无状态协议不同的是,socket是目前常见的实现双向通信的方式之一。服务器能主动"推"数据给客户端,从而实现客户端数据的实时更新。我们常见的即时通信等等功能即用了socket 二. 实现逻辑 用node.js的net模块去实现socket的方式如下: var net = require('net'); let url = require('ur...

2019-03-27 23:38:39 921

原创 用webpack的dll插件抽离第三方库

说明 本文基于vue-cli@2.xx 进行抽离,其他脚手架也可参考修改。 webpack.dll.conf.js 在 build 下新建一个 webpack.dll.conf.js const path = require('path') const webpack = require('webpack') const AssetsPlugin = require('assets-webpack...

2019-01-18 16:15:10 1644

原创 初次尝试gulp

什么是gulp gulp是一款出色的自动化构建工具。能够自动完成各类文件的处理事务(如sass、less的预处理,图片的压缩等)。虽然webpack也能做到其中部分功能,但是gulp相对于webpack的“黑箱子”,我们能清楚的看到处理的顺序和耗时等等信息。 安装gulp 根据官网的步骤(https://www.gulpjs.com.cn/docs/getting-started/)在nod...

2018-09-02 10:13:38 216

原创 react的生命周期和diff算法

react的生命周期    初学react,只知道它的生命周期几个诸如componentWillMount、componentDidMount、render。现在想具体地学习它,网上有一张图片很好的解释了生命周期的过程。这张图很好地说明了react组件加载到DOM以及更新的过程。其中componentWillMount、componentDidMount、componentWillUnmount只...

2018-04-08 17:57:04 1675

原创 HTML5+canvas实现前端图片压缩,异步上传

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1'> <title&

2018-03-24 16:21:39 649

原创 JSONP和CORS两种常见跨域方式的简单实现

方式一. JSONP实现过程        先看代码:客户端关键代码如下,需要注意的是负责跨域的那个script标签放在callback函数的下面。<script type="text/javascript"> function callbackFunction(data) { console.log(data) } </script> &l...

2018-03-23 21:03:43 1360

原创 动态规划 背包算法 JS实现

      昨天面试时遇到一个背包算法的题目,和传统的背包稍有不同,是给定背包的容量和各种物品的重量,要求放入物品的总质量尽可能接近背包的容量并小于背包的容量,且放入的物品数目最少。       以下是我自己根据理解编写出来的代码。function Backpack() { var totalWeight;//背包的总质量 var goodsList...

2018-03-22 14:09:23 1516

原创 对于Promise的一些理解

异步在实践开发中无处不在,无论是AJAX还是图片加载,都涉及异步,尽管可以通过回调函数去解决,但是却不够“优雅”。而Promise正是“优雅”的解决方法。Promise的本质是一个对象,可以简单得理解成这个对象有两个属性 status和value, status保存这个Promise的对象的状态,pedding还是fulfilled还是reject,value是resolve的参数。状态改变时会调...

2018-03-17 17:59:45 319

原创 EventEmitter观察者模式的简单实现

class EventEmitter { constructor() { this.list = []; } on(name, func) { this.list.push({ "name": name, "func": func }); } emit(name, ...params) { for (let i in this.list) {

2018-01-21 14:55:40 764

原创 欢迎使用优快云-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-09-20 09:27:49 422

空空如也

空空如也

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

TA关注的人

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