About ECMAScript Async Functions

Async Functions are introduced officially in ECMAScript 7 Spec, as the ultimate way to solve async code writting problems (especially the famous callback hell).

We can easily get the resolved value of a Promise with await operator.

Syntax

1
[rv] = await expression;

expression

A Promise or any value to wait for.

rv

Returns the fulfilled value of the promise, or the value itself if it’s not a Promise.

See also: await | MDN

Read More

Share

初探微信小程序开发

背景

  • 项目起始时间:2017-11-28
  • 前端人数: 3
  • 页面数: 6
  • 一期上线时间:2018-01-16

在我们开发的过程中,小程序的生态也不断变化。例如 <web-view> 最开始不支持其打开的 web 页面调起小程序页面,后来则新增了 JS-SDK 并在高版本的基础库里支持了这样的功能;再例如它的 IDE 不断优化升级,开发体验变好;页面的5级跳转限制,改为了10级;小程序体积限制由 1MB 扩大为了 2MB …… 总体来说,一直在朝着好的方向发展。

Read More

Share

2017年度小结

去年的总结在这里

2017年要结束了,我很怀念它。

(注:banner 图片拍摄于我租住了两年的房子的窗台,在某个天气极好的下午。)

Read More

Share

最少硬币找零问题的动态规划解与贪心算法解

最少硬币问题找零问题是说,已知某种硬币系统 [Ci, …],以及期望凑齐的找零值 Amount,找到硬币数量最少的那个找零方案:

∑NiCi = Amount 且 ∑Ni 最小

Read More

Share

Red-Black Tree

Catalogue
Share

Binary-Search-Tree in JavaScript

这里用 JavaScript 实现一个二叉搜索树。二叉搜索树可以很方便地进行排序。下面的实现比较简单,很容易就会出现非平衡二叉树。G.M. Adelson-Velsky 和 E.M. Landis 在 1962 年的论文《An Algorithm For The Organization Of Information》中提出了一种可以实现自平衡二叉树,后世称为 AVL 树。

除了 AVL 树,还有很多其他的平衡二叉树的实现,例如 AVL树,红黑树,B树,B+树,Trie树都分别应用在哪些现实场景中? 就是个不错的入门级参考,可以大致了解这些平衡树的特点、区别。看起来,红黑树是应用最广泛的。

Read More

Share

ImageMagick 简单入门

ImageMagick 是一款可以运行在 Linux/Unix/Windows/MacOS (现在甚至支持 iOS、Android)下的免费开源图片处理程序。使用 ImageMagick 可以进行图片的拉伸、裁剪、缩放、格式转换、生成 GIF 、添加文字/图案等各种操作。

安装

MacOS 下可以方便地使用 Homebrew 进行安装:

1
2
3
4
5
$ brew install imagemagick

# 查看使用帮助
$ man magick
$ man convert

magick 和 convert 应该是同一个程序。

ImageMagick 的最新版本目前已经是 7.* 以上了。建议安装最新版,因为之前它还暴露过了一个严重漏洞,在最新版本里该漏洞是已经修复了的。它的源码放在 Github 上面维护:https://github.com/ImageMagick。

Read More

Share

heap sort using javascript

Catalogue
Share

关于插入排序

Read More

Share

about quick sort algorithm

历史

快速排序算法是由 Tony Hoare 在 1959 年发明的。如果实现得好,那么它的速度可以达到其两个主要竞争者——归并排序与堆排序——的两倍到三倍以上。

在高速的实现中,快排是一个不稳定的算法,即它不能保证原来相等的值的位置不变。

Read More

Share