参考文章
最早看到这个技术是在这篇文章里 JavaScript template engine in just 20 lines。原理也分析得非常清晰。
《精通CSS-高级Web标准解决方案》(第二版)于2014年上市,该书的第一版是2010年引入国内,英文版则是2009年第一次问世。书中的很多技术方案在今天看来已经比较过时了,但其理念则是不变的。例如 $2.4 节“规划、组织和维护样式表”,作者介绍的方式是在一个大的CSS文件里,通过明显的大块注释与空行,将不同的模块、组件分割开来。现在这种方式已经很少采用,大都是借助于 less/sass 等工具,采用多文件编写源码、单文件引入的方式,来将模块与组件样式更好地分离。但理念与初衷都是一样的:减少模块耦合,使代码更清晰易维护。
PS:这本书我在2015年8月购买,但两年半后才开始认真读,真是印证了“买书如山倒,读书如抽丝”~~(说白了就是懒,哈哈哈……)。
整体而言,部分过时的技术细节并不会掩盖这本书亮丽的光华。恰当的示例图片非常精准地指出了CSS2.1里那些容易让人理解错误的关键技术。
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.
|
|
A Promise
or any value to wait for.
Returns the fulfilled value of the promise, or the value itself if it’s not a Promise
.
See also: await | MDN
这里用 JavaScript 实现一个二叉搜索树。二叉搜索树可以很方便地进行排序。下面的实现比较简单,很容易就会出现非平衡二叉树。G.M. Adelson-Velsky 和 E.M. Landis 在 1962 年的论文《An Algorithm For The Organization Of Information》中提出了一种可以实现自平衡二叉树,后世称为 AVL 树。
除了 AVL 树,还有很多其他的平衡二叉树的实现,例如 AVL树,红黑树,B树,B+树,Trie树都分别应用在哪些现实场景中? 就是个不错的入门级参考,可以大致了解这些平衡树的特点、区别。看起来,红黑树是应用最广泛的。
ImageMagick 是一款可以运行在 Linux/Unix/Windows/MacOS (现在甚至支持 iOS、Android)下的免费开源图片处理程序。使用 ImageMagick 可以进行图片的拉伸、裁剪、缩放、格式转换、生成 GIF 、添加文字/图案等各种操作。
MacOS 下可以方便地使用 Homebrew 进行安装:
|
|
magick 和 convert 应该是同一个程序。
ImageMagick 的最新版本目前已经是 7.* 以上了。建议安装最新版,因为之前它还暴露过了一个严重漏洞,在最新版本里该漏洞是已经修复了的。它的源码放在 Github 上面维护:https://github.com/ImageMagick。