技术篇

ES2015系列(二) 理解Object.assign

本节内容我们继续探讨关于ES2015的一些新的内容,Object.assign函数的使用,使用该函数我们可以快速的复制一个或者多个对象到目标对象中,本文内容涉及es6,es7相关的对象复制的内容,以及一些es5的替代方案的介绍。


ES2015系列: class与prototype继承

本节内容作为ES2015系列的一部分,主要是讨论一下新的ES6中的关键词class的使用方法,和原有prototype继承之间的关系,并对于一些JavaScript继承的相关内容作了一些分析和总结,欢迎大家一起探讨学习。


ES2016系列: Array.prototype.includes

本篇文章主要是介绍ES2016(ES7)的其中一个数组特性includes,通过实例来对比一下该函数与indexOf的区别以及如何使用es5来实现该特性。


Expres应用开发与部署最佳实践

本篇文章翻译自expressjs官方网站,源地址如下:express最佳实践 ,分别从dev角度和ops角度讨论了如何提升express应用的运行性能以及部署的最佳方式。


数据可视化实例-使用d3绘制条形图(水平与垂直)

本小节主要讨论一些d3的简单用法,通过调用d3函数来绘制条形图,并针对同一组数据来绘制水平的条形图和垂直的条形图。


数据可视化实例-使用d3绘制乌拉穆螺旋

质数螺旋( Ulam spiral — “乌拉姆螺旋”)是在1963年被美籍波兰数学家斯塔尼斯拉夫·乌拉姆(Stanislaw Ulam)(1909年 - 1984年)发现.本实例将使用d3将该螺旋绘制出来,或许能发现其中的规律


Generator和Promise方案解决回调地狱问题

Generator生成器是在ES6中被引入到JS的世界中,在Koa框架中Generator被大量的用于状态的传递和上下文处理。我们这里主要是通过一些简单的例子来介绍一下Generator和Promise是如何结合使用去处理回调地狱问题


Python 装饰器

装饰器是Python语言中重要的组成部分,通过Python的装饰器编写的代码简洁明了,而且我们可以借助与装饰器来修饰一些函数或者对象内容而不修改原来的代码,当然了这和设计模式中的装饰器模式还是不一样的。最关键的问题是Python中的装饰器只是为方便改写函数而定义的语法,而装饰器模式则是更抽象的一种解决问题的思路。这里有一篇stackoverflow上的问题来回答这两者的区别,供参考:whats-the-difference-between-python-decorators-and-decorator-pattern


设计模式-观察者模式

设计模式是一种开发程序语言的思路,他针对的是特殊情况下的问题处理方法。所以对于不同的程序语言我们都可以实现其对应的设计模式。设计模式也并非起源于GOF,只不过他们四人对于这些经典的解决方法做了一些总结出了一本书后才被大家所熟知。另外现在的一些程序语言早已在其内部实现了对应的设计模式,比如Python的装饰器模式,迭代器模式。ES6也在不断的改进Javascript的设计,使其包含这些经典的设计方法,使得代码更加的简练,是程序员能够编写出更加高效的代码。


Python 中的队列和线程处理

Python程序借助Queue和threading模块可以很好的支持多线程操作,在线程锁以及数据共享上面也可以做的优雅的处理。其中Queue模块可以支持多消费,多生产者同时操作,这对于多线程来说,可以同时操作该对象,实现安全的数据处理。