GithubHelp home page GithubHelp logo

fsd's People

Contributors

bluest-hu avatar btfrankenstein avatar mingtao93 avatar wxnet2013 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fsd's Issues

第二期:推荐两篇关于浏览器和服务器通信的文章

Server-Sent Events 教程
开发实时web应用的基础协议,基于http协议适用范围更广、性能更好、更轻量。缺点是IE不支持,需要降级为其它方式,但对于一些面向大屏、手机端的应用尤其适合。

WebSocket 教程
相比SSE,WebSocket会更重一些,需要自己实现协议的部分。这两篇文章一起读,就可以很全面的了解现代浏览器和服务器通信技术。

第三期:Vue的数据依赖实现原理简析

主要从初始化的数据层面上分析了Vue是如何管理依赖来到达数据的动态响应。
initState的过程中,将props,computed,data等属性通过Object.defineProperty来改造其getter/setter属性,并为每一个响应式属性实例化一个observer观察者。这个observer内部dep记录了这个响应式属性的所有依赖。
当响应式属性调用setter函数时,通过dep.notify()方法去遍历所有的依赖,调用watcher.update()去完成数据的动态响应。

https://segmentfault.com/a/1190000010014281

第六期:理解 async/await

理解 async/await

async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。

想较于 Generator,Async 函数的改进在于下面四点:

  • 内置执行器。

    Generator 函数的执行必须依靠执行器,而 Aysnc 函数自带执行器,调用方式跟普通函数的调用一样

  • 更好的语义。

    async 和 await 相较于 * 和 yield 更加语义化

  • 更广的适用性。

    co 模块约定,yield 命令后面只能是 Thunk 函数或 Promise对象。而 async 函数的 await 命令后面则可以是 Promise 或者 原始类型的值(Number,string,boolean,但这时等同于同步操作)

  • 返回值是 Promise。

    async 函数返回值是 Promise 对象,比 Generator 函数返回的 Iterator 对象方便,可以直接使用 then() 方法进行调用

第四期:ECharts 统计扩展教程

ECharts 统计扩展教程

ECharts 统计扩展,包含的功能有直方图、聚类、回归、以及常用的汇总统计。通过统计扩展和 ECharts 的结合,可以使大家方便地实现可视分析,也就是将数据分析的结果,通过可视化直观地呈现出来。

第四期: 《十大经典排序算法》

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等
https://github.com/hustcc/JS-Sorting-Algorithm

第五期:ES6数组的扩展(rest参数和扩展运算符)

ES6的rest参数和扩展运算符
rest参数和扩展运算符都是ES6新增的特性。
rest参数的形式为:...变量名;扩展运算符是三个点(...)。

rest参数

rest参数用于获取函数的多余参数,这样就不需要使用arguments对象了。rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。

扩展运算符

扩展运算符可以看做是 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。

console.log(...[1, 2, 3]) // 1 2 3

console.log(1, ...[2, 3, 4], 5) //1 2 3 4 5

第五期:五种事件驱动的API架构

五种事件驱动的API架构
本文会介绍 5 种事件驱动的 API 架构:WebSockets、WebHooks、REST Hooks、Pub-Sub, 以及 Server Sent Events,并分别介绍这几种架构的基础功能、使用方式以及各自的优缺点。
对于 Node.js 开发者来说,我们天生就在使用事件驱动的架构,业界也越来越认可事件驱动架构和异步系统的优势,了解本文介绍的 5 种事件驱动API 架构

第三期:工具推荐

#https://github.com/istanbuljs/nyc
覆盖率工具 istanbul 替换为 nyc,多进程覆盖率的测试速度提升了几倍。都是同一作者的作品,后者目前活跃度高,并支持前端很多新特性。

$ npm i nyc --save-dev
$ ./node_modules/.bin/nyc ./node_modules/.bin/mocha

执行单元测试命令后,还会直观的给出代码覆盖率报告,以Flclover为例:

------------------------------------|----------|----------|----------|----------|----------------|
File                                |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |
------------------------------------|----------|----------|----------|----------|----------------|
All files                           |    79.41 |    66.67 |    61.11 |    81.82 |                |
 flclover                           |      100 |      100 |      100 |      100 |                |
  index.js                          |      100 |      100 |      100 |      100 |                |
 flclover/lib                       |    88.52 |    82.35 |    81.82 |    88.52 |                |
  application.js                    |      100 |      100 |      100 |      100 |                |
  flclover.js                       |       30 |        0 |        0 |       30 |... 13,14,17,19 |
 flclover/lib/middleware/bodyparser |      100 |      100 |      100 |      100 |                |
  index.js                          |      100 |      100 |      100 |      100 |                |
 flclover/lib/middleware/logger     |    55.56 |       50 |       50 |    55.56 |                |
  index.js                          |    55.56 |       50 |       50 |    55.56 |... 39,42,45,48 |
 flclover/lib/utils                 |    71.43 |    33.33 |        0 |    83.33 |                |
  index.js                          |    81.25 |    33.33 |        0 |      100 |           7,10 |
  logger.js                         |       40 |      100 |        0 |       40 |         4,9,13 |
------------------------------------|----------|----------|----------|----------|----------------|

第三期:推荐一篇介绍vuex的文章

Vuex 教程
Vuex 类似 Redux 的状态管理器,用来管理Vue的所有组件状态。
一般在你开发大型单页应用(SPA),会出现多个视图组件依赖同一个状态,来自不同视图的行为需要变更同一个状态。
遇到以上情况时候,可以考虑使用Vuex,它能把组件的共享状态抽取出来,当做一个全局单例模式进行管理。这样不管你在何处改变状态,都会通知使用该状态的组件做出相应修改。

Javascript模块化编程系列教程共三篇

Edit: 重复提交了,忽略这篇吧。。。
阮一峰的文章最大的好处就是解释的清楚,很多大牛工程师不善表达,自己会但不一定能教得会。
三篇系列文章介绍了:js模块花的基本概念,AMD规范以及require.js的实践

http://www.ruanyifeng.com/blog/2012/10/javascript_module.html
http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html
http://www.ruanyifeng.com/blog/2012/11/require_js.html

第六期:iView 一周年了,同时发布了 2.0 正式版

iView 一周年了,同时发布了 2.0 正式版
一周年,两个大版本,很值得称赞的成绩!能跟梁灏这样优秀的前端生态贡献者共事,我感到非常荣幸!
正如标题所言,2.0正式版将会是一个全新的开始,她将随着Vue社区的进步而快速迭代。
期待vue社区和iView能有更好的发展,iView不会止于组件库,更期待iView deign、iView mobile…和更多优秀的开发者参与到开源生态的共建!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.