2014年CPAN最新动态精选

2014年已经过去,这意味着我们已经完成了“CPAN最新动态”的12个版本。这似乎是一个盘点过去一年CPAN新上传内容的合适时刻。我通过“我能记住的东西”的科学方法,整理了一份模块清单。想想你的“最佳”列表上会有什么,也许可以告诉作者,或者更好的是,写下来让全世界都知道。

配置 & DevOps

Ingy和David对下一代Inline的资助工作引起了广泛关注。但在重新装修整个Inline生态系统的同时,也创建了一些副作用模块。其中之一是Devel::PerlLog,它简单地记录每次Perl进程启动时的配置信息。

2014年,与C相关的Perl库得到了很大提升。除了Ingy更新的Inline::C之外,Graham Ollis一直在工作并展示另一个XS替代品:FFI。 FFI::CheckLib将检查特定的C库是否可用,以及FFI::TinyCC,这是一个编译器接口。

Module::Loader是一种在运行时加载插件的巧妙方法。

数据

Hash::Ordered是David Golden实现有序散列类的最佳实践。他还对解决方案的权衡和CPAN上的替代方案进行了深入讨论(幻灯片在此)。

你知道File::Slurp可能会与Perl编码层有问题吗?(以及其他问题)。Leon Timmermans编写了File::Slurper作为更好的替代品。

啊,Sereal,这个超级快速的序列化软件。 SerealX::Store试图在Sereal上创建一个类似storable的接口,但更加美味。 XML::Dataset实现了一个简单的DSL,用于从XML/XHTML文档中提取数据。

数据库

DBIx::Raw提供低级SQL控制和节省时间的抽象,以满足数据库访问的特定角色。使用SQL::Type::Guess推断标量的数据库数据类型。

娱乐

还记得关于Perl 5版本编号的大争论吗?当一些人不懈地辩论这个话题时,其他人则在努力解决真正的解决方案™。这是Acme::Futuristic::Perl

说到真正的解决方案™,看看bare,它消除了使用符号标量时的需要。最后,Perl大规模采用的最后一个障碍已经解决了!

硬件

CPAN在硬件相关模块方面的进步可能比其他任何领域都要大。2014年YAPC NA上到处都是无人机。这确实是一个Perl可以占据一席之地的有希望的领域。有几个模块特别突出。让我们从闪亮的开始:Timm Murray的UAV::Pilot::ARDroneUAV::Pilot::WumpusRover可以实现无人机(带视频)的WiFi远程控制!Timm的Device::WebIO为许多设备提供标准化的接口,其中包括树莓派和Arduino等驱动程序。

另一个重要的发展是保罗·伊文的 Device::BusPirate,这是一个针对Bus Pirate硬件工具的开发。最后,看看维卡斯·库马尔创造的令人惊叹的DSL——VIC,为PIC微控制器。

展示软件

使用App::Cleo假装你是一位命令行巫师,它可以回放一个文件中的命令列表以进行密封演示。不再有拼写错误了!

App::revealup通过实现一个迷你HTTP服务器,利用Reveal.js实现由Markdown驱动的演示。我写了关于它的文章(两次),并且一直在使用它,强烈推荐。

测试

今年有很多新的测试内容,但没有多少给我留下深刻印象。其中一个是Test::RequiresInternet模块。使用use导入此模块,除非找到活跃的互联网连接,否则它会跳过测试文件中的单元测试。非常实用!

虽然不是与测试直接相关,但Regexp::Lexer确实对调试很有用,它可以将正则表达式分词,这很酷。

网络

永井正浩创建了Gazelle,这是一个高度优化的预分叉Plack处理器,具有类似Nginx的性能。太棒了!

2014年还带来了主要网络框架的插件洪流。对于Mojo爱好者来说,最大的新闻是平台宣布从MongoDB支持转向使用Mojo::Pg的后端。

网络爬虫和QA测试人员表现良好:WWW::Mechanize::PhantomJS实现了一个无头、启用JavaScript的浏览器,具有典型的友好mechanize界面。Selenium::Screenshot将Selenium的截图能力与Image::Compare结合,以检测网页中的变化。


这篇文章最初发布在PerlTricks.com

标签

David Farrell

大卫是一位专业程序员,他经常推文博客关于代码和编程艺术。

浏览他们的文章

反馈

这篇文章有什么问题吗?请通过在GitHub上打开问题或拉取请求来帮助我们。