作者归档:桔子

打印特定行范围的多种方法(5-10行)

废话少说,直接撸代码:

 

关于perl6的若干问题?(Perl6.d版本将会在2018年推出)

17年磨一剑,在perl人艰苦卓绝的努力下,perl 6终于在2015年圣诞节推出了正式版本V6.c版本(c代表圣诞节)。 期间几度波折,发生了很多很的事情。最令人津津乐道的一条是Perl6 最先成型的pogs版本主程台湾大牛唐宗汉易性为唐凤,另IT界叹为观止,广泛流传。

20年积累了宇宙巨能的perl6究竟有啥黑科技?本文借自perl6官方的faq,翻译成中文,以帮助我们揭开perl6的潘多拉宝盒。

笔者计划一项目perl6doc中文化的项目,这篇文章为perl6doc中文化的第一个成果,如果有什么纰漏和错误,请帮助我指出 。另外有志于学习perl6和参与项目的同仁也大大的欢迎哦。

项目的地址为:http://git.oschina.net/ijz/perl6doc

最新更新是Perl6.d版本将会在2018年推出,让我们期待把!

继续阅读

生信单行脚本

Basic awk & sed

提取文件中的2, 4, and 5 列:

输出第五列等于abc123的行:

输出第五列不是abc123的行:

输出第七列以字母a-f开头的行:

输出第七列不是以字母a-f开头的行:

计算第二列不重复的值保存在哈希arr中 (一个值只保存一次):

输出第三列的值比第五列大的行:

继续阅读

网站目录防篡改程序,perl web目录md5文件验证

有时候站点,有bug,很容易会被人修改,添加其他乱七八糟的东西,针对这类问题,常见的做法:1、修改升级程序漏洞。2、用WAF主动防御(用第三方免费cdn,也提供这类防御)。

这儿介绍第三种方法(如果网站固定文件不变的情况下)
网站部署好后,通过对站点所有文件的计算MD5值,并保存在一个文件中。然后以后可以手动或者crontab,监控程序等定期对保存文件中的文件生成md5值和已有的md5值对比,如果发现值对不上,则说明文件被篡改了。

继续阅读

批量检查zabbix guest用户登录

 

最近又有人挖坑zabbix的sql注入漏洞,此漏洞不在详细说了。此漏洞的利用有个条件必须要登录才行。zabbix如果不做安全配置的话,默认是guest用户空密码可以登录的。

为此写一个脚本检测是否禁用了guest用户,用来批量检查,加固。

继续阅读

利用 Schwartzian Transform(施瓦茨变换) 进行排序

Schwartzian Transform(施瓦茨变换) 是perl中一种高效的排序算法 ,详见http://en.wikipedia.org/wiki/Schwartzian_transform
在平时工作中,会有非常复杂的排序需求,比如,对文件所有的含有/RE/的行,按第一列升序,再按第二列降序排,…
诸如此类的排序,利用施瓦茨变换可以事半功倍。
施瓦茨变换的一般格式如下:

继续阅读

大数据时代 数据挖掘十大经典算法

国际权威的学术组织theIEEEInternationalConferenceonDataMining(ICDM)2006年12月评选出了数据挖掘领域的十大经典算法:C4.5,k-Means,SVM,Apriori,EM,PageRank,AdaBoost,kNN,NaiveBayes,andCART.

不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。
继续阅读

/zz/ 海量数据处理 算法总结

前面我们说海量数据处理提到,从算法的角度去考虑处理海量数据。

1. Bloom Filter

【Bloom Filter】
Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判断,但不会漏掉判断。也就是Bloom Filter判断元素不再集合,那肯定不在。如果判断元素存在集合中,有一定的概率判断错误。因此,Bloom Filter不适合那些“零错误”的应用场合。

而在能容忍低错误率的应用场合下,Bloom Filter比其他常见的算法(如hash,折半查找)极大节省了空间。

Bloom Filter的详细介绍:海量数据处理之Bloom Filter详解
继续阅读

/zz/谷歌三大论文(三)Google BigTable中文版

 

Bigtable:一个分布式的结构化数据存储系统

译者:alex

摘要

Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、Google Earth、Google Finance。这些应用对Bigtable提出的要求差异非常大,无论是在数据量上(从URL到网页到卫星图像)还是在响应速度上(从后端的批量处理到实时数据服务)。尽管应用需求差异很大,但是,针对Google的这些产品,Bigtable还是成功的提供了一个灵活的、高性能的解决方案。本论文描述了Bigtable提供的简单的数据模型,利用这个模型,用户可以动态的控制数据的分布和格式;我们还将描述Bigtable的设计和实现。

继续阅读

/zz/谷歌三大论文(二)Google MapReduce中文版

Google MapReduce中文版
译者: alex

摘要
MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子,本论文将详细描述这个模型。

MapReduce架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心:如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中计算机之间必要的通信。采用MapReduce架构可以使那些没有并行计算和分布式处理系统开发经验的程序员有效利用分布式系统的丰富资源。

我们的MapReduce实现运行在规模可以灵活调整的由普通机器组成的集群上:一个典型的MapReduce计算往往由几千台机器组成、处理以TB计算的数据。程序员发现这个系统非常好用:已经实现了数以百计的MapReduce程序,在Google的集群上,每天都有1000多个MapReduce程序在执行。

继续阅读