TAT.李强 Nodejs原生支持的ES6特性
In Node.js on 2016年07月04日 by view: 12,194
35

随着React的风靡,配合Webpack以及Babel等技术,越来越多的前端同学将ECMAScript 2015(ES6)的特性运用在项目中,import、export、class、箭头函数、块级作用域等特性屡试不爽。而对于Node.js实现的后台代码来说,我们也同样希望使用这些ES6特性,下面将以v4.4.4(LTS version)长期支持版本为例展开话题,从兼容性以及性能两方面着手分析Node.js对ES6的支持情况。

TAT.李强 Node嵌入式数据库——NeDB
In Web开发 on 2016年03月30日 by view: 6,910
5

一、简介

NeDB是使用Nodejs实现的一个NoSQL嵌入式数据库操作模块,可以充当内存数据库,也可以用来实现本地存储,甚至可以在浏览器中使用。查询方式比较灵活,支持使用正则、比较运算符、逻辑运算符、索引以及JSON深度查询等。

NeDB嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销,在运行时,也只需要较少的内存开销,使用精简代码编写,速度更快。其API是MongoDB的一个子集,可以通过这些接口轻松管理应用程序数据,而不依靠原始的文档文件。

具有简单、轻量、速度快等特点,由于嵌入式数据库存储总数据量最好要控制在1GB以内,所以适合在不需要大量数据处理的应用系统中使用(比如使用nw.js等实现的桌面应用程序、并发量不大的系统等)。

TAT.李强 React动画实践
In Web开发 on 2016年01月21日 by view: 11,320
14

一、 动画重要性

        世界上最难的学问就是研究人。在你的动画不会过于耗费资源,以至拖慢用户的设备的前提下,动画可以显著改善用户界面体验。

        可以简单的把页面动画分为以下几个类型:

        1、页面元素动画:比如轮播图等,由用户操作催化;

        2、loading动画:减少用户视觉等待时间;

        3、装饰动画:尽量避免,会分散用户注意力,值得也不值得;

        4、广告动画:增加广告的转化率;

        5、情节动画:多用于SPA;

       以loading动画为例说明动画的重要性:为了提升用户体验、增加用户粘性,大家从开发的角度看首先想到的会是从前到后的性能优化,从而减少用户打开页面时的等待时间,你或许考虑到了要增加带宽、减少页面的http请求、使用数据缓存、优化数据库、使用负载均衡等,但是由于业务限制和用户复杂的体验环境,总会遇到一些瓶颈。这时候,我们需要做的就是如何减少用户的视觉等待时间,哪怕是给一朵转动的菊花,但千万不要不理她,让人盲目的等待就是你业务流失的方式。不客气的说,有时候一朵性感菊花的作用并不亚于你去优化数据库。

TAT.李强 React虚拟DOM浅析
In Web开发 on 2015年10月31日 by view: 11,104
15

       在Web开发中,需要将数据的变化实时反映到UI上,这时就需要对DOM进行操作,但是复杂或频繁的DOM操作通常是性能瓶颈产生的原因,为此,React引入了虚拟DOM(Virtual DOM)的机制。

  1. 什么是虚拟DOM?
  2. 虚拟DOM VS 直接操作原生DOM?
  3. 虚拟DOM VS MVVM?
  4. 对React虚拟DOM的误解?

为什么先讲数组


数据结构可以简单的被分为线性结构和非线性结构。

线性结构大致包括:

  1. 数组(连续存储);
  2. 链表(离散存储);
  3. 栈(线性结构常见应用,由链表或数组增删和改进功能实现);
  4. 队列(线性结构常见应用,由链表或数组增删和改进功能实现);

非线性结构大致包括:

  1. 树;
  2. 图;

其中,数组是应用最广泛的数据存储结构。它被植入到大部分编程语言中。由于数组十分容易懂,所以它被用来作为介绍数据结构的起点非常合适。

为什么要使用数据结构和算法(程序=数据结构+算法)


        数据结构是对在计算机内存中(有时在磁盘中)的数据的一种安排。包括数组、链表、栈、二叉树、哈希表等。

        算法是对这些结构中的数据进行各种处理。比如,查找一条特殊的数据项或对数据进行排序。

        举一个简单的索引卡的存储问题,每张卡片上写有某人的姓名、电话、住址等信息,可以想象成一本地址薄,那么当我们想要用计算机来处理的时候,问题来了:

  • 如何在计算机内存中安放数据?
  • 所用算法适用于100张卡片,很好,那1000000张呢?
  • 所用算法能够快速插入和删除新的卡片吗?
  • 能够快速查找某一张卡片吗?
  • 如何将卡片按照字母进行排序呢?