概述
除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。
设立"严格模式"的目的,主要有以下几个:
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
为未来新版本的Javascript做好铺垫。
"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。
另一方面,同样的代码,在"严格模式"中,可能会有不一样的运
继续阅读 »
平台工具箱
Everything:是速度最快的文件名搜索软件。其速度之快令人震惊,百 GB 硬盘几十万个文件,可以在几秒钟之内完成索引;文件名搜索瞬间呈现结果,简直是秒杀 Windows 搜索功能
Listary:是一款用于 Windows 的文件名定位/搜索辅助软件。它为 Windows 传统低效的文件打开/保存对话框提供了便捷、人性化的文件(夹)定位方式,同时改善了常见文件管理器中文件夹切换的效率
MobaXterm:“十项全能”的远程终端登录软件。破解 Securecrt 怕中毒,Xshell 用着不爽,Putty 太单薄,手头没 Mac 用不了 iterm2。那就试试这个全能开源的终端吧
Total Commander:是
继续阅读 »
因为工作内容的原因,现在写一篇博客越来越费劲。
很多零碎的时间挤在一起,在效率上很难等同于一大块时间的利用。
团队内部有很多事情需要协调,团队之外有更多的事情需要支撑,需要推动,需要拉通,每天疲于奔命,却不知道
自己到底在忙什么,少了作为技术人员时的纯粹和聚焦。
继续阅读 »
【什么是Bloom Filter】
Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。而在能容忍低错误率的应用场合下,Bloom Filter通过极少的错误换取了存储空间的极大节省。 这里有一篇关于Bloom Filter的详细介绍,不太懂的博友可以看看。
继续阅读 »
概念
归并排序(英语:Merge sort),是创建在归并操作上的一种有效的排序算法,效率为O(n log n)。
归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。
more
递归法
原理如下(假设序列共有n个元素):
1. 将序列每相邻两个数字进行归并操作,形成floor(n/2)个序列,排序后每个序列包含两个元素
2. 将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素
3. 重复步骤2,直到所有元素排序完毕
迭代法
申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
设定两个指针,最初位置分别为两个已经排
继续阅读 »
对于一些IOS 开发者而言,管理第三方库的确是一件令人头疼的事情。而Cocoapod 恰恰是解决你这个烦恼的一个第三方管理库。
尽管pod上有许许多多的第三方库提供给开发者使用,但是很多人还是喜欢把自己的一些库或者Helper使用到各个项目上面去,这样不单单是可以提高个人的开发效率。对于以后有新人的加入,项目的重构管理起来都是颇为省劲。下面我就介绍一下如何去制作一个“私有的POD”。
继续阅读 »
Stylus似乎并不是很有名,以至于很多人不知道它是做什么的,但提到SASS相信有不少人听说过甚至使用过很长时间。其实无论是LESS、SASS还是Stylus甚至是Absurd这些预处理工具,都是对CSS的一种延伸和强化。出现这些工具的原因很简单,CSS本身只是一种描述性质的东西,甚至它不能算是语言而是样式表,所以我们需要一个有条件语句和变量甚至是函数的东西去动态生成CSS代码来达到提高效率和增强可维护性的目的。
本文主要以Stylus语法本身和简单的使用为主要内容,它的目的是介绍和简单指南。将不会过多涉及Javascript的API调用等问题。
介绍
官方的介绍非常简短而精炼:
Expressive, dynamic, r
继续阅读 »
Bloom Filter概念和原理
焦萌 2007年1月27日
Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。而在能容忍低错误率的应用场合下,Bloom Filter通过极少的错误换取了存储空间的极大节省。
继续阅读 »
2.1.5版本现已进入收尾阶段,此版本加入了一大波新特性,目前正在进行稳定性测试和修复,在这里,先来介绍下新版本中引入了哪些些新特性和改进。
1. 提供类似cmake的find_*系列接口,实现各种查找,例如:find_package, find_library, find_file, ...
2. 提供模块接口,实现编译器的各种检测,例如:has_features, has_flags, has_cincludes, has_cfuncs, ...
3. 实现大量扩展模块,提供文件下载、解压缩、git操作等接口
4. 支持预编译头文件支持,改进c++编译效率
5. 支持在工程中自定义模块进行扩展
6. 提供代码片段检测接口,实
继续阅读 »
此版本主要增加stackless协程模块以及为嵌入式平台增加micro微模块编译(~64K)。
此stackless协程模块比之前的stackfull协程实现更加的轻量高效,切换效率提升5、6倍,在macosx上测试1000w次切换仅需40ms
当然易用性和灵活性上,还是stackfull模式更有优势(tbox两种模式都已支持,接口类似)。
stackless协程使用见:stackless协程使用文档
stackfull协程使用见:stackfull协程使用文档
更多协程服务器demo实现,请参考:协程examples
新特性
针对协程上下文切换,支持mips架构
添加__tb_thread_local__关键字宏
添加
继续阅读 »