20180206 前端开发日报

WebSocket协议深入探究;Node.js调用C#代码;Vue插件——滚动监听 vue-scrollwatch;用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS);javascript 哈希表;2018 web 开发者路线图 – 知乎专栏·「前端外刊评论」;JavaScript:事件对象Event和冒泡;Node.js:上传文件,服务端如何获取文件上传进度

  1. WebSocket协议深入探究 一、内容概览 WebSocket的出现,使得浏览器具备了实时双向通信的能力。本文由浅入深,介绍了WebSocket如何建立连接、交换数据的细节,以及数据帧的格式。此外,还简要介绍了针对WebSocket的安全攻击,以及协议是如何抵御类似攻击的。 二、什么是WebSocket HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络...
  2. vue插件——滚动监听 vue-scrollwatch 做项目的时候需要一个滚动监听的功能,html结构已经都写好了,不想使用vue组件的方式来写,因为不想改造html结构,于是花了几个小时做了一个简单的,使用vue指令方式来做的,项目上够用就结束了。 后来想想反正还差没多少还不如完善完善做成插件吧。 结果花了两天多。。 先看效果 主要的坑: 滚动...
  3. 用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS) 普通的SELECT控件只能选择,不能编辑,这里可以用JS代码来实现这个功能。基本原理是在select控件上面添加一个input盖住,当select改变时自动更新input的值。 <div class="select-editor"> <select> <option value="OPTION 1">OPTION 1</option> <option ...
  4. javascript 哈希表其实javascript的对象就是一个哈希表,为了学习真正的数据结构,我们还是有必要自己重新实现一下。 基本概念 哈希表(hash table )是一种根据关键字直接访问内存存储位置的数据结构,通过哈希表,数据元素的存放...
  5. 2018 Web 开发者路线图 - 知乎专栏·「前端外刊评论」 文本编译自 Roadmap to becoming a web developer in 2018。原作者 Kamran Ahmed 解释说做这个路线图的原因是为了给一个他认识的老教授使用,分享给在校的大学生们,让他们对 Web 开发者这个职业有
  6. Node.js:上传文件,服务端如何获取文件上传进度内容概述 multer是常用的Express文件上传中间件。服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题。在SF上也有同学问了类似问题《nodejs multer有没有查看文件上传进度的方法?》。稍微回答了下...
  7. 【webpack】: 记一次jsbundle体积优化背景 最近接到一个任务是帮忙优化jsbundle的体积,项目是用ts开发,多入口。在分析之后发现每个bundle都打了同一份代码(这份代码是其它组提供的ts,编译出来的js在3k左右),而且是不经常变动的。 最初想到的就在...
  8. 15 行代码实现并发控制(javascript)前言 做过爬虫的都知道,要控制爬虫的请求并发量,其实也就是控制其爬取频率,以免被封IP,还有的就是以此来控制爬虫应用运行内存,否则一下子处理N个请求,内存分分钟会爆。 而 python爬虫一般用多线程来控制并...
  9. Vue 2.0学习笔记:创建Button组件 在上一节中,咱们学习了Vue中怎么创建组件。在这篇文章中我们以按钮组件为例,了解了怎么注册全局组件和局部组件。并且通过这些基础知识,可以轻易的创建类似于HTML中 button 元素效果的按钮组件。但这个组件非常的简陋,和我们想像的组件相差甚远。那么今天我们来看看,怎么在Vue中创建一个按钮组件。 以Bootstrap的...
  10. jQuery 3.3.1已经发布,开发团队正在准备4.0版本 看新闻很累?看技术新闻更累?试试 下载InfoQ手机客户端 ,每天上下班路上听新闻,有趣还有料! jQuery 3.3.1已经发布,其中包含了许多新特性也提出要移除几个之前的特性,移除一些特性是为了jQuery 4.0做准备。 在 jQuery发布的一篇博客 中,jQuery核心团队负责人Timmy Willison提到,jQuery的重点已经开...
  11. React 进阶系列:Render Props 从介绍到实践 什么是render props? render props是一个组件间共享代码逻辑的小技巧, 通过props传递函数来实现。有许多库(比如React Router, React Motion)都使用了这个技巧。 组件有一个叫做render的prop, 值是一个返回React...
  12. vue静态资源打包中的坑与解决方案详解 本文主要解决 ①.vue-cli默认配置打包后部署至特定路径下静态资源路径错误问题; ②.静态资源打包使用相对路径后css文件引入大图片路径错误问题。 问题 vue-cli 脚手架生成的默认打包配置文件情况下运行 npm run build 打包后,部署项目至特定路径下:如: //ip:port/public/springActivity/ 此时访问...
  13. 基于Vue的事件响应式进度条组件 找了很多vue进度条组件,都不包含拖拽和点击事件,input range倒是原生包含input和change事件,但是直接基于input range做进度条的话,样式部分需要做大量调整和兼容性处理。即使做好了,将来需要修改外观,又是一番折腾。 基于以上两个原因,做了一个可以响应input和change事件(即一个是拖动进度条到某处,一个是在...
  14. [VUE]computed属性的数据响应和依赖缓存实现过程 本文是一篇vue.js源码学习笔记,适合对vue的数据响应实现有一定了解的同学,文中有表述不准确的地方还望指出。那么开始了 提示:文中会看到( 知识点:xxx )这样的标记表示在源码的相应位置打上标记, 方便大家阅读 一,先看computed的实现源码 /src/core/instance/state.js // initState会在new Vue()...
  15. 山寨一个 Promise 一点感悟 Promise 是编写异步的另一种方式,鄙人愚见,它就是 Callback 的一种封装 相比 Callback ,它有以下特点 Promise 将异步结果保存起来,可以随时获取 链式调用 then 方法会返回一个新的 Promise ,从而避免了回调地狱 决定一次异步有两个环节 发起异步事件 处理异步结果 Pr...
  16. 在这个网页上,体验 Windows 最经典的画图工具:JS Paint | App+1 「画图」是微软自 Windows 1.0 开始便内置在系统中的图像编辑工具。由于其简单易上手,而且几乎每台 Windows 电脑中都有内置;它也成为了很多人入门电脑时接触的第一款软件。 我第一次接触个人电脑,还是小学二年级时的事情。 从二年级开始,学校为我们开设了微机课。那时候的微机课,对于我来说,是神秘而肃穆的 ——...
  17. 漫谈promise使用场景 对于现在的前端同学来说你不同promise你都不好意思出门了。对于前端同学来说promise已经成为了我们的必备技能。 那么,下面我们就来说一说promise是什么,它能帮助我们解决什么问题,我们应该如何使用它? 这是我个人对promise的理解。欢迎吐槽 :) Promise是什么 promise的意思是承诺,有的人翻译为许愿,但它...
  18. 函数式的 Promise 对异步的抽象 即使是 async / await 也是基于 Promise 的,任何的异步过程我觉得都应该用 Promise 做抽象。 Promise 可以被理解为一种状态机,或者函数式编程里的容器类型。 状态机解释 Promise 的抽象性源于它的命名:承诺。 Promise 是一台蕴含着异步过程以及结果的状态机 Promise 的状态机的状态有且仅有这三种: ...
  19. javascript实现数据的双向绑定(手动绑定) 今天来讲一下Javascript是如何实现数据的双向绑定,因为是第一次写文章所以是借鉴了一下别人的文章。根据别人的文章来谈一些自己的理解,废话不多说直接开始讲解。 首先数据双向绑定大家一定都不陌生(如angular,vue等),那么它的结构大致如下 <input q-value="value" type="text" id=&quo...

关注github前端日报 订阅精彩文章

前端日报栏目数据来自码农头条,每日分享互联网上热门的前端开发、移动开发、设计、资源和资讯等,为开发者提供动力,如果觉得内容对你有用,记得分享给你的小伙伴。进入码农头条查看更多

原创文章:20180206 前端开发日报 ,未经许可,禁止转载,©版权所有
原文出处:前端开发博客 (http://caibaojian.com/fe-daily-20180206.html)