- 博客(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关注的人
RSS订阅