20190323 前端开发日报

JS框架对比,Angular还是Vue适宜才最好;容易遗忘的前端基础:Javascript 内存详解;前端面试知识点目录整理;或许我们在 JavaScript 中不需要 this 和 class;前端JS代码的性能探究;【从蛋壳到满天飞】JS 数据结构解析和算法实现-哈希表;Nodejs教程25:启动器;React Native 0.59 新特性

  1. JS框架对比,Angular还是Vue适宜才最好 曾几何时,人人都在写前端框架,从网上搞点js脚本自己封装一下就可以搞成一个框架,然而除了用来吹牛外并没有什么egg用。后来有了Jqury出现了几乎一统江湖,但是也仅仅是昙花一现,没持续多久。最近这些年伴随着移动互联网的发展,Ajax技术,V8引擎和Node.js出现和流行催生了JS和前端(全栈)开发的火热。前端框架又爆发了…
  2. 容易遗忘的前端基础:Javascript 内存详解 某些语言,比如C有低级的原生内存管理原语,像malloc()和free()。开发人员使用这些原语可以显式分配和释放操作系统的内存。 相对地,JavaScript会在创建变量(对象、字符串)时自动分配内存,并在这些变量不被使用时自动释放内存,这个过程被称为 垃圾回收 。这个“自动”释放资源的特性带来了很多困惑,让JavaScript(…
  3. 前端面试知识点目录整理金三银四, 又到了一年一度的跳槽季, 相信大家都在准备自己面试笔记, 我也针对自己工作中所掌握或了解的一些东西做了一个目录总结,方便自己复习; 详细内容会在之后一一对应地补充上去(有些在我的个人主页笔记中也…
  4. 或许我们在 JavaScript 中不需要 this 和 class 今年年初 Douglas Crockford 的新书 How JavaScript Works 出版不久后,我买来看了。在 JavaScript: The Good Parts 出版后 10 年,并深远影响了 JavaScript 语言之后,Douglas Crockford 对 JavaScript 这门语言依然有很多不满,并认为 the bad parts 更多了。 当然我并不认同他的所有观点,比如把箭头函数…
  5. 前端JS代码的性能探究 团队中做code review有一段时间了,最近一直在思考一个问题,抛开业务逻辑,单纯从代码层面如何评价一段代码的好坏? 好和坏都是相对的,一段不那么好的代码经过优化之后,如何标准化的给出重构前后的差异呢? 我们所有的代码都跑在计算机上,计算机的核心是CPU和内存。从这个角度来看,效率高的代码应当占用更少…
  6. 【从蛋壳到满天飞】JS 数据结构解析和算法实现-哈希表 【从蛋壳到满天飞】JS 数据结构解析和算法实现,全部文章大概的内容如下: Arrays(数组)、Stacks(栈)、Queues(队列)、LinkedList(链表)、Recursion(递归思想)、BinarySearchTree(二分搜索树)、Set(集合)、Map(映射)、Heap(堆)、PriorityQueue(优先队列)、SegmentTree(线段树)、Trie(字典树)、UnionFind(并查集)、AVLTree…
  7. Nodejs教程25:启动器 常用的启动器有forever、pm2等,它们主要用在项目部署阶段 使应用不间断运行,如果不使用启动器,命令行窗口一旦关闭,或者出现报错,应用就会停止运行,启动器会帮助应用自动重启。 若出现服务器重启,启动器会自动启动应用,不需要手动操作。 常用的启动器有forever、pm2等,接下来介绍一下forever的…
  8. React Native 0.59 新特性 | 作者:Ryan Turner | 链接:http://facebook.github.io/react-native/blog/2019/03/12/releasing-react-native-059 Facebook 于本月 12 号发布了 React Native v0.59。这次更新来自 88 个贡献者的 644 次提交。让我们一起来看看这个版本有什么新特性。以下是官方通稿的译文。 Hooks Rea…
  9. vue.js 会是那颗银弹吗? vue.js 双向绑定 DOM 和 View Model 我们从这段代码开始 App.vue <template> <div> <h3>Todo</h3> <ul> <li v-for=”item in items”>{{ item }}</li> </ul> <input type=”text” v-model=”ne…
  10. 译—JavaScript是如何工作的:js引擎、运行时和调用栈的概述 原作者: blog.sessionstack.com/@zlatkov 随着JS变得越来越流行,开发团队们在多个级别的堆栈中都借力于js的支持- 前端,后台,混合式应用开发,嵌入式设备等等。 这篇博文旨在成为深入挖掘JavaScript和其工作原理的系列文章的第一篇:我们认为通过了解JavaScript的构建块和他们是如何共同发挥作用的,你能写出更…
  11. React && VUE Virtual Dom的Diff算法统一之路 snabbdom.js解读VirtualDOM是react在组件化开发场景下,针对DOM重排重绘性能瓶颈作出的重要优化方案,而他最具价值的核心功能是如何识别并保存新旧节点数据结构之间差异的方法,也即是diff算法。毫无疑问的是diff算法的复杂度与…
  12. D3可视化:(2)Bar Chart with D3js 拖更了好久,最近毕业的手续办的差不多了,应该可以回来了… 系列传送门: D3可视化:(1)初次见面,SVG与D3的魅力 D3可视化:(2)Bar Chart with D3js 更新中… 知识点: d3数据绑定 柱状图画法 坐标轴 比例尺 数据读入 数据可视化的第一步还是数据读取,在d3中可以…
  13. 基于WebKit完美支持JS交互和混编的WebView(VDWebView) VDWebView的源码和使用示例 VDWebView提供了最全的API调用和最方便的JS交互方式,可通过pod更新迭代;设计方案为Protocol和Target-Action;有任何意见或者问题欢迎指出。 CocoaPods pod ‘VDWebView’, ‘~> 1.1.0’ 复制代码 基本描述 封装WebKit所提供的WKWebView,提供熟悉的代理方法(类UIWebView…
  14. JavaScript 差量更新的实现 传统的JavaScript 资源加载,一般是通过CDN 存放或者伺服在本地服务器,通过设置maxage、Last-Modified、 etag 等来让浏览器访问后缓存,减少重复请求,但在产品的更新很多时候往往都是修改少量内容,hash 改变之后,用户就需要全量下载整个Javascript 文件,普遍的增量更新思路都是以分包为主,当分包有更新的时候,用…
  15. 【从蛋壳到满天飞】JS 数据结构解析和算法实现-红黑树(一) 【从蛋壳到满天飞】JS 数据结构解析和算法实现,全部文章大概的内容如下: Arrays(数组)、Stacks(栈)、Queues(队列)、LinkedList(链表)、Recursion(递归思想)、BinarySearchTree(二分搜索树)、Set(集合)、Map(映射)、Heap(堆)、PriorityQueue(优先队列)、SegmentTree(线段树)、Trie(字典树)、UnionFind(并查集)、AVLTree…
  16. ES Modules 和 ES5 Script 之间相互引用 ES5 没有定义文件之间引用方式,在浏览器中文件之间引用需要通过类似 define , require , __webpack_require__ 这样的全局变量,它们由不同的模块化框架定义。 ES Modules 从标准上定义了 JS 文件间的引用方式,而且现在主流浏览器和 Node.js 都已经有了实现。 本文介绍 Node.js 中新写的 ES Modules 怎么和旧…
  17. 手写极简版Promise通过类直接调用静态方法:MyPromise.resolve(),目前静态方法仅支持resolve & reject
  18. Vue秩序白银 —构建自己的Vuex 上次文章介绍了Vue组件化之间通信的各种姿势,其中vuex基本算是终极解决方案了,这个没啥说的,直接贴代码把 所谓各大框架的数据管理框架,原则上来说,就是独立团大了,所有事都团长处理太累了,所以老李只管军事,枪弹烟酒面这些数据,交给赵政委,赵政委就是咱们的Vuex,从此以后 全团共享的数据,都必须得经过赵政…
  19. 浅出Vue 错误处理机制errorCaptured、errorHandler 引子 JavaScript本身是一个弱类型语言,项目中容易发生错误,做好网页错误监控,能帮助开发者迅速定位问题,保证线上稳定。vue项目需接入公司内部监控平台,本人之前vue errorHooks不甚了解, 决定探一探 介绍 errorHandler、errorCaptured 文档传送门: errorHandler 、 errorCaptured errorHandler 指定组…
  20. 面向复杂应用,Node.js中的IoC容器 — Rockerjs/core Rockerjs Core 项目地址 项目主页 基于 TypeScript 和注解的轻量级IoC容器,提供了依赖注入、面向切面编程及异常处理等功能。Rockerjs Core可在任意工程中引入,是一个框架无关的IoC容器。 @rockerjs/core模块不依赖于任何框架,并与现有框架、库、类等保持兼容。通过DI(Dep…
  21. (中)中高级前端大厂面试秘籍,寒冬中为您保驾护航,直通大厂感恩!~~没想到上篇文章能这么受大家的喜欢,激动不已。。但是却也是诚惶诚恐,这也意味着责任。下篇许多知识点都需要比较深入的研究和理解,博主也是水平有限,担心自己无法承担大家的期待。不过终究还是需要摆…
  22. 动态创建 Web Worker 实践指南 作为前端,在消费接口提供的数据时,往往由于数据实际分布在不同地方(如一部分存储在 ODPS ,而另一部分可能更适合在应用初始化时从本地载入内存)而需要对数据进行区分处理。当然,交互的实现可能也会需要很重的计算逻辑,而为了加速计算、不阻塞渲染线程,Web Worker 不失为一个很好的选择。 网上有很多关于 Web Wo…
  23. 贝塞尔曲线算法之JS获取点贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。
  24. Webpack Loader 高手进阶(三)前2篇文章主要通过源码分析了 loader 的配置,匹配和加载,执行等内容,这篇文章会通过具体的实例来学习下如何去实现一个 loader。
  25. webpack4.0 CheatSheet 还在为webpack的配置而烦恼吗?这里有一份webpack从简易到高级版本的配置。还附赠 配置地址 ,你想要吗?不,你不想。老老实实自己配置去吧。 压箱底的笔记而已,大家看看乐乐就好了,这是笔者为了练习webpack而尝试了不同的配置方式,参考了create-react-app的webpack配置。以及学习了如何自己写一个简易的proxy…
  26. 移动web性能优化从入门到进阶 关于前端性能优化相关的技术知识,网上随便搜一些就有很多,本文将系统性的从初级到高级的思路,总结移动前端性能优化各个方面的相关技术点,内容来自笔者以往经验的总结,希望读者可以花些时间看看。 在目前大多数刚从事前端开发,或者是正在学习前端开发的同学来说,性能优化对于他们可能还比较远,但是脱颖而出,拉…
  27. 使用 Pandora.js 来监控你的 Egg 应用 依然是阿里开源的一个专门用于监控Node应用服务的库 –> Pandora,专门为Node而生并且对于Egg的多进程模型也有很好支持,这里将Egg服务如何快速接入Pandora进行简要说明。 安装Pandora npm i pandora -g // 安装在全局 npm i pandora –save // 安装在应用 首先全局需要安装,安…

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

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


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流