gulp是基于Nodejs的自动任务运行器。 她能自动化地完成 javascript、sass、less、html/image、css 等文件的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。 她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。 gulp主要用到node中的两个模块,fileSystem和stream,文件系统可以对文件进行操作,比如读取文件、写入文件、创建文件、修改文件名、删除文件等;而数据流主要分为读取流、写入流和双工流;这里还有一个管道pipe的概念,管道可以使文件对象从一个流安全的流入到另一个流。 gulp就是先创建一个读取流、一个写入流,在创建若干个双工流,对双工流进行数据的处理,比如去空字符,然后通过管道将读取流、不同功能的双工流、写入流依次连接起来,从而实现对文件的操作处理 1.gulp是什么? 前端构建工具,gulp是基于Nodejs,自动化地完成 javascript、coffee、sass、less、html/image、css 等文件的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。流,Node将几乎所有IO操作都抽象成了stream的操作,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。
git clone https://github.com/xiazemin/BloomFilter BloomFilter的应用 1,黑名单,垃圾邮件的判别 比如邮件黑名单过滤器,判断邮件地址是否在黑名单中 2,排序(仅限于BitSet) 仔细想想,其实BitSet在set(int value)的时候,“顺便”把value也给排序了。 3,网络爬虫,网页URL的去重 判断某个URL是否已经被爬取过 4,K-V系统快速判断某个key是否存在,查询加速(比如基于key-value的存储系统) 典型的例子有Hbase,Hbase的每个Region中都包含一个BloomFilter,用于在查询时快速判断某个key在该region中是否存在,如果不存在,直接返回,节省掉后续的查询。 5.集合重复元素的判别 布隆过滤器(Bloom Filter)
git中upstream丢失问题Your branch is based on ‘origin/xxxx’, but the upstream is gone. 前使用了git clone 直接把github上自己项目的一个分支拉到了本地,输入:
协程遇到panic时,遍历本协程的defer链表,并执行defer。在执行defer过程中,遇到recover则停止panic,返回recover处继续往下执行。如果没有遇到recover,遍历完本协程的defer链表后,向stderr抛出panic信息。从执行顺序上来看,实际上是按照先进后出的顺序执行defer。 说有如下程序(main.go),写出运行之后的结果: