2015 年 5 月 2 日,星期六

欢迎来到 2015 年 Google 夏季代码项目!

发布者 febuiles

Google 已公布 已接受项目 列表,供今年的 Google 夏季代码项目(GSoC) 使用。Rails 已获准 8 个时段,以下是有关项目及其幕后人员的简要介绍。

用于资产管道性能增强

学生:Martha de Luque
导师:Guillermo IguaranJosh Peek

Martha 将对我们的资产编译流程的部分内容进行概要分析、基准测试和更新,以提高我们的资产[重新]生成速度。此项目的初始范围包括 CoffeeScript、Sass 和我们的 Uglifier,但基准测试将指导这项工作,以获取这四个月内我们能够获得最大收益的部分。

事件化文件系统监控

学生:Puneet Agarwal
导师:Xavier NoriaMatthew Draper

我们用于检测文件更改(主要用于重新加载目的)的系统 ActiveSupport::FileUpdateChecker 多年来为我们提供了良好的服务,但我们决定停止轮询。Puneet 将用一种基于事件的方法替代我们的当前设计,该方法依赖于现有的第三方监视器(例如 inotifyFSEvent)。

资产管道对源映射的支持

学生:Andrei Istratii
导师:Rafael FrançaArthur Nogueira Neves

Andrei 的项目目标是在您的代码经过各种转换(例如您的 CoffeeScript 文件被编译为 Javascript,然后在您的暂存环境中被缩小)的环境中为您提供良好的检查和调试功能。使用源映射,您可以使用浏览器提供的现有工具来执行诸如读取 CoffeeScript 源或在其上设置断点等操作。

重构 Action View 和 Active Support

学生:Islam Wazery
导师:Kir ShatrovCarlos Antonio da Silva

Islam 添加了一些我们本应已在 Rails 中的东西,比如为 Action View 辅助工具添加命名参数(告别计数逗号!)。他还将研究如何改进我们的一些核心抽象,例如 ActionController::ParametersActionView::OutputBuffer,以实现更好的安全性和性能。

Web 控制台浏览器扩展

学生:Hiroyuki Sano
导师Genadi Samokovarov

Hiroyuki 将在之前 GSoC 项目工作的基础上为 Rails Web 控制台创建浏览器扩展。像 Source Maps 项目一样,此项目将通过每个人都可获得的标准工具,为您提供更好的实时调试体验。

测试失败预测

学生:Genki Sugimoto
导师:Robin DupretJosh Kalderimis

Aaron Patterson 提及了关于 预测测试失败 的一些有趣的想法,利用较新 Ruby 版本提供的实验 Coverage 功能。Genki 会对此进行实验,看看我们是否可以将其融入 Rails 测试生态系统中。

Cookie 重构

学生:Siddharth Bhatore
导师:Kasper Timm HansenPrem Sichanugrist

Rails Cookie 处理是相当基础的,尽管它在大多数用例中有效,但我们可以改进它。Siddarth 将向我们现有的 Cookie 容器添加服务器端过期机制和用途字段,从而使我们能够更好地控制和保护系统安全。

改进 RubyBench.org

学生:Kasif Gilbert
导师:Sam Saffron

如果你不熟悉 RubyBench,它是一个为 Ruby 和相关项目(如 Rails)保留长期基准测试的惊人壮举。如你所见,我们自己的基准测试可以再改进,所以 Kasif 将负责此项工作。如果一切顺利,RubyBench 中的 JRuby 支持将是此项目下一步工作。


趣闻:今年我们有 14 位导师,其中有 4 位过去几年曾作为 GSoC 学生参与过。如今,他们都是 Ruby/Rails 生态系统中的活跃贡献者!

我们希望在夏季向你介绍重要更新,如果你有兴趣持续了解(或可能伸出援手?),请务必订阅我们的 邮件列表

最后,我们要感谢 José Valim/The Pragmatic ProgrammersPat Shaughnessy/No Starch PressO’Reilly 向我们的学生赠送 Crafting Rails ApplicationsRuby Under the Microscope 等书籍,并提供 O’Reilly 产品 折扣。

PS:万一您错过了,今年的 GSoC 也将有 Ruby 和 SciRuby 参加!您可以在 Ruby GSoCSciRuby 开发 邮件列表公告中了解更多信息。