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


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

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

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

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

对于传统的页面模型来说,数据的拉取+渲染模型如下:

1

在页面的head部分,使用jsonp预拉取cgi资源,然后在资源加载完成之后,检查预拉取的数据是否已经返回,如果已返回,则直接用该数据渲染(避免了先用缓存数据渲染再用cgi数据渲染导致的二次刷新),否则才用缓存数据渲染。

TAT.mandyluo 用Object字面量代替switch
In JavaScript on 2015年05月31日 by view: 2,657
10

有时候我们的代码有很多的条件判断,我们只能用switch语句来让代码更好看一点。

像上面介样子的代码,看起来是很头疼滴。而用switch语句,代码会更直观简洁。

Promise

Promise

Promise是ES6的新特性,在ES6之前各大浏览器、各种polyfill和各种js执行环境都针对Promise进行了自己的实现,不过实现上大同小异。

TAT.simplehuang React Native 之 JSBridge
In HTML5,JavaScript,Web开发 on 2015年05月10日 by view: 7,665
4

React Native综述:

在React Native中,JavaScript跟Object-C均有一个对应的中间件负责交互,源码中称为bridge,它们通过callback的形式进行传参,通过参数配置来触发OC的控件,从而达到以JavaScript来控制Native的目的。

React Native的设计理念:既拥有Native的用户体验、又保留React的开发效率。

React Native的口号:Learn Once,Write Anywhere.

 

TAT.老教授 复制粘贴的高级玩法
In JavaScript,Web开发 on 2015年04月26日 by view: 4,891
4

想做一个好用的在线编辑器,不管是地图编辑器、PPT创作平台还是通过拖拽快速创建活动页面的编辑器等等,必然要给用户提供各种快捷的操作方法。如非常常用的复制粘贴功能。

举个例子,在iPresst创作平台,我们的作品在好几页都要用到同一张图片,总不能每次都点击上传一次图片吧?右键复制粘贴或者直接按快捷键无疑是最符合用户预期的操作方式,然而我们编辑器用到的元素一般比较特别,而且我们复制粘贴的时候经常要做一些特殊处理,此时我们就需要覆盖浏览器给我们提供的复制粘贴功能了。

QQ20150426-1@2x

callback hell

(图片来源于互联网)

回调地狱

相信每一个JS程序员都曾被或者正在被回调地狱所折磨,特别是写过Nodejs代码的程序员。

 

TAT.felix React 初探
In JavaScript,经验心得 on 2015年04月20日 by view: 12,395
22

React 简单介绍

先说 React 与 React Native

他们是真的亲戚,可不像 Java 和 Javascript 一样。

其实第一次看到 React 的语法我是拒绝的,因为这么丑的写法,你不能让我写我就写。

但当我发现 React Native 横空出世后,它学习一次到处运行的理念非常诱人。React Native 可以写出原生体验的 iOS/Android 应用?那不就多了一门装逼技能?所以我们调研小组试了一下,感觉 "Duang" 一下,很爽很舒服。写 React Native 需要两门基础技能:React 语法 和 iOS 基础知识。

很爽很舒服,索性就研究一下,算是入门。 了解之后发现,React 真是有另一番天地,值得学习。

接下来总结以下我对 React 的理解,分享给大家。

 

ES6 Generator介绍
In HTML5,JavaScript,Node.js,Web开发 on 2015年03月30日 by view: 9,031
5