20190322 前端开发日报

一个HTTP打趴80%面试者;金三银四,前端同学快来补补React原理吧;【前端词典】实现 Canvas 下雪背景引发的性能思考;打造前端离线日志(一): IndexedDB;[前端漫谈_3] 从 filter 聊到 Promise;通过分析 AST 自动重构 three.js 的老旧代码;如何优雅解决 js小数点计算错误问题(三个函数告诉你解决办法);不同前端框架下的代码转换

  1. 一个HTTP打趴80%面试者面试一年多,每当我问起面试者对HTTP的了解时,个个回答令我瞠目结舌,这些开发者都有3-5年的经验。请不要让我叫你野生程序员,是时候了解HTTP了,让我们当个正规军。
  2. 金三银四,前端同学快来补补React原理吧深入学习一个框架最直接的方式,就是弄明白框架的原理。React无疑是一个非常值得学习其原理的框架,它设计简单,没有引入任何新的概念,一个组件就是一个方法或一个类。
  3. 【前端词典】实现 Canvas 下雪背景引发的性能思考 去年圣诞节产品提了一个活动需求,其中有一个下雪的背景动画。在做这个动画的过程中加深了对 canvas 动画的一些了解,在这里我仅是抛砖引玉的分享一下,欢迎各位大佬批评。 代码已上传至 github ,感兴趣的可以 clone 代码到本地运行。望给个 star 支持一下。 入题 需求给出的 UI 样式如下: UI 的需求是雪...
  4. 打造前端离线日志(一): IndexedDB 本文从理论和实战的两个方面讲述前端离线日志系统是如何构建的,因为内容比较多,我将文章分为 3 部分来讲述整个日志系统的设计。 前端数据存储设计 - IndexedDB 服务端设计 - node + express/koa 以及数据压缩 - deflate/gzip (探索) WebRTC 实现日志获取 为什么需要离线日志 随着前端项目越发...
  5. [前端漫谈_3] 从 filter 聊到 Promise 在学习前端的时候,我总是能听到很多高级词汇,比如今天会聊到的 函数式编程(Functional Programming) & 高阶函数 (Higher-order function) 。 但是当你真正的理解什么是 函数式编程 & 高阶函数 的时候,也许会发现,你几乎每天都会用到它,只是你不知道那就是高阶函数 / 函数式编程。 JavaScri...
  6. 通过分析 AST 自动重构 three.js 的老旧代码 前言 先简单介绍一些背景: three.js是一个非常流行的JS三维渲染库,通常是做web端三维效果的第一选择。但是同时three.js已经有了将近9年的历史,所有它很多代码仍然是使用非常老旧的模式。 three.js曾经所有的文件都是使用全局变量THREE的方式来组织,比如欧拉角Euler.js // three.js/src/math/Euler...
  7. 如何优雅解决 js小数点计算错误问题(三个函数告诉你解决办法)策略就是把小数值变成整数进行操作加减乘除 {代码...}
  8. 不同前端框架下的代码转换 背景 整个前端领域在这几年迅速发展,前端框架也在不断变化,各团队选择的解决方案都不太一致,此外像小程序这种跨端场景和以往的研发方式也不太一样。在日常开发中往往会因为投放平台的不一样需要进行重新编码。 前段时间我们需要在淘宝页面上投放闲鱼组件,淘宝前端研发DSL(React/Rax)和闲鱼前端研发DSL(Vue/Weex...
  9. 基于vue解决大数据表格卡顿问题 点我在线体验Demo 先看一下效果,一共 3600 X 100 = 36W 个单元格基本感受不到卡顿,而且每个单元格点击可以编辑,支持固定头和固定列 项目源代码地址 Github 解决问题核心点:横向滚动加载,竖向滚动加载 项目背景 笔者最近在做广告排期功能,需要进行点位预占,大的合同可能需要对多个资源排...
  10. jQuery 方法整理jQuery 简介 jQuery 是一个轻量级操作 DOM 的 JS 库,主要包含以下功能: HTML 元素选取和操作 HTML 事件函数 HTML DOM 遍历和修改 CSS 操作 JavaScript 特效和动画 ajax 基于 jQuery 的插件 jQuery 的优势在于兼...
  11. 浅谈JS的深拷贝和浅拷贝因为对象的是通过指针仔细内存地址的,所以对象的拷贝不能像变量一般简单的赋值,对象的赋值只是将指针的地址赋值过去而已,修改属性值会对所有指向这个内存地址的对象的属性值都会被改变,见下面的例子:
  12. 玩转 JavaScript 之详解 this this 关键字作为 JavaScript 中自动定义的特殊标识符,是我们不得不去面对、了解的知识点,很多初学者对 this 关键字可能会有含糊不清的感觉,但其实稍微理一理, this 并不复杂、不混乱。 this 是什么? 概述中我们说了 this 是 JavaScript 中的一个特殊关键字, this 和执行上下文相关,当一个函数被调用时,...
  13. vue 组件的三种使用方式教程 在 vue angular react 三大前端框架的大前端时代。许多人选择了 vue ,在 github 上的 star , vue 已经超过 react 的数量了。虽然 star 并不能代表 vue 更强,不过在发展速度上看来, vue 确实很快。 在模块化的前端时代,万物皆组件, vue 学习组件是必不可少的。 可是在大多数人...
  14. 请求网页时,怎么给我返回了一段 JavaScript 代码 今天给大家带来的是一个论坛网站,牛仔俱乐部-努比亚社区, 网址为:https://bbs.nubia.cn/ 如果你想要获取这个网站的源代码的话,必须要先获取一个 cookie,其字段名为:acw_sc__v2,你是不是不相信?爬取网站还需要获取 cookie 值才可以?说实话,我刚开始爬的时候我...
  15. CSS3开发文档并集:对选择器进行分组,被分组的选择器可以分享相同的声明。用逗号将需要分组的选择器开分。 h1,h2,h3,h4,h5,h6{}
  16. 如何用 Promise 自定义一个 GET 请求的函数 近期 review 自己以前的代码的时候,看到 promise 的使用方法,用的比较模糊。含义不清,用法凌乱,这里重新温习一下基础知识。 前言 Promise 怎么使用? 语法 基本 new Promise( function(resolve, reject) {...} /* executor */ ); 复制代码 Promise 构造函数包含一个参数和一个带有 ...
  17. Web 性能优化:理解及使用 JavaScript 缓存这是 Web 性能优化的第 5 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 React 事件来提高性能 Web 性能优化:21...
  18. 如何从JavaScript跨越到TypeScript [基础进阶知识点]初中时自学过JAVA,学了大概一个多月吧, 学了一个多月,看视频这些,后面放弃了编程。 依稀记得,那段日子极度苦逼,我想如果当时是学javaScript就好了。
  19. Nodejs教程24:Stream流 我们通常会使用File System模块对文件进行读取,如下: fs.readFile('./test.txt', (error, buffer) => { if (error) { console.error(error) } else { // 读取文件成功 res.write(buffer) } }) 复制代码 这样操作简单有效,但这也存在一些问题: 占用内存 使用fs读取文件,它是一次性...
  20. 前端技术演进(二):前端与协议 这个系列来自之前做的内部培训,删减了业务相关的部分,如有错误,欢迎指出。 鉴于知乎文章编辑器呵呵的体验,可能会有排版错误,如发现也请指正。 系列目录: jnoodle:前端技术演进(一):Web前端技术基础jnoodle:前端技术演进(二):前端与协议jnoodle:前端技术演进(三):前端安全jnoodle:前端技术...
  21. 《前端面试手记》之常考的源码实现 内容速览 手动实现call/apply/bind 实现一个完美的深拷贝函数 基于ES5/ES6实现双向绑定 instanceof原理与实现 查看全部教程 / 阅读原文 手动撸个call/apply/bind 实现call 来看下call的原生表现形式: {代...
  22. 在 Kubernetes 上安装 Gitlab CI Runner 上节课我们使用 Helm 快速的将 Gitlab 安装到了我们的 Kubernetes 集群中,这节课来和大家介绍如何使用 Gitlab CI 来做持续集成,首先先给大家介绍一些关于 Gitlab CI 的一些基本概念,以及如何在 Kubernetes 上安装 Gitlab CI Runner。 简介 从 Gitlab 8.0 开始,Gitlab CI 就已经集成在 Gitlab 中,我们只...
  23. webpack-dev-server 源码解析Use webpack with a development server that provides live reloading. This should be used for development only.It uses webpack-dev-middleware under the hood, which provides fast in-memory access to t...
  24. 重拾JSX React.createElement语法糖 JSX 是一种JavaScript的语法拓展,可以使用它来进行UI的展示: const element = <h1>Hello, world!</h1>; 我们一般会在组件的 render 方法里使用JSX进行布局和事件绑定: class Home extends Component { render() { return ( <div onClick={() => ...
  25. 深入剖析Vue源码 - 选项合并(下) 上一节 深入剖析Vue源码 - 选项合并(上) 的末尾,我们介绍了Vue中处理合并选项的思路,概括起来主要有两点,一是当选项存在定义好的默认配置策略时,优先选择默认配置策略,并且根据不同的配置项来合并子父选项; 二是当传入选项不存在默认策略时,处理的原则是有子类配置选项则默认使用子类配置选项,没有则选择父类配置...
  26. 从零开始配置webpack(基于baebel 7版本)webpack 核心概念: Entry: 入口 Module:模块,webpack中一切皆是模块 Chunk:代码库,一个chunk由十多个模块组合而成,用于代码合并与分割 Loader:模块转换器,用于把模块原内容按照需求转换成新内容 Plugin:扩展...

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

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

原文:20190322 前端开发日报 ,未经许可,禁止转载。
来源:前端开发博客 (http://caibaojian.com/fe-daily-20190322.html)