上周六参加了 Perl China 2013 的活动,总体上收获颇丰。由于日程紧张,只听了上午的演讲。又由于分身乏术,只听了一个厅的主题。活动地点在高端大气的朝阳区万通中心,离朝外 SOHO、CCTV 大裤衩、国贸都不远。根据百度地图指的路线,从呼家楼地铁站 H 出口最为近便。不过从 10 号线下车找到 6 号线的 H 口就费了一些周折。之后从地铁口出来到会议地点不慎又走了冤枉路,深入到了这片城中村。最后发现正确的路线需要经过一个栅栏门,这在地图上是显示不出来的。终于到了会议地点,拿到了 T 恤衫。这次上面是 Perl 6 的吉祥物蝴蝶 Camelia,颇为可爱。只是赞助商的标志也很明显。之后的开场致辞,不得不提的是有漂亮的赞助商 HR 发言。
第一个演讲主题是扶凯带来的 Mojolicious Web 框架 (简称 Mojo)。根据介绍,Mojo 是一个全功能的 Web 框架,支持 IPv6、TLS 等,支持热部署。Mojo 在路由时可以用正则表达式约束匹配。Mojo 伸缩性也很好,可以做简单的单文件应用,也可以提供复杂应用的框架结构和模板。Mojo 的 HTML 模板可以用 EP,也可以用 XSlate 等。Mojo 还提供了 Web 客户端,支持 CSS 选择器,能容易地进行 DOM 操作。附讲稿链接。
第二个演讲是 Robin Lee 的 Perl on Fedora 介绍。演讲介绍了 CPAN 包与 Fedora 仓库中的 RPM 包的映射关系,包括 CPAN distribution 到 RPM 的映射(加 perl-
前缀,双冒号换成减号 -
)、Perl 模块到 RPM 的映射(命名为 perl(module name)
)。另外还介绍了用 cpanspec 打包 CPAN 包的步骤。附讲稿链接。
上午最后一个演讲是 @ARGV 对 ElasticSearch (简称 ES)的介绍。通过演讲了解到了 ES 是一个基于 Lucene 的全文检索工具。其中还介绍了 logstash,一个支持众多输入源、众多输出源的日志收集分析暂存工具。还有 Kibana,一个疯狂重构的日志搜索 Web 前端。Kibana 1 是 PHP 写的,Kibana 2 变成了 Ruby,Kibana 3 则是纯 HTML 和 Javascript。PPT 全文链接
会上还学到了两个有用的知识点。其一是用 cpanm 来安装 CPAN 包。相比于 cpan 命令,cpanm 最小化,追求零配置,简单易用。cpanm 还可以直接接一个 git 代码库的 URL 进行安装。其二是用 metacpan 来搜索 CPAN 包/模块,比起 search.cpan.org 来 metacpan 是一个更年轻的项目、提供更友好的搜索界面。
最后是两点注记。cpanm 在 Fedora 上可以用 yum 安装:yum install perl-App-cpanminus
。要在非系统目录下安装 CPAN 包,需要安装 local::lib (yum -y install perl-local-lib
),然后在 ~/.bash_profile
或对应文件中加上一行
eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)