开源的Haskell远程访问类库 Facebook还在最近开源了Haxl——一个可以轻易访问远程数据的类库。Haxl 能够自动分批处理同一个数据源的多个请求,请求数据同时来自多个数据源,并且,会根据时间先后优先处理先到的请求数据信息。所有这些动作都是在后台操作的,此举意味着你的数据抓取代码可以比原本的代码更加干净、清晰。如果你没有优化数据抓取程序,Haxl可以帮你解决大麻烦。 很多服务遵循一个共同的架构模式:一组是事实,另一组是想要回答这些事实问题的客户。在中间是一组如何回答特定问题的规则——真正的业务逻辑。在Facebook,Sigma服务负责将不同的内容进行分类。Sigma客户问一下高层问题,如“这篇文章是垃圾吗?”或“这个URL和恶意软件有联系吗?”Sigma则会回答“是的,阻止该帐户”或“不,继续”。Sigma规则目前都是用一个称为FXL的特定域名语言编写的,FXL还被当作是一种脚本语言来使用。 Haxl数据源根据请求类型进行分类,你可以拥有任意数量的数据源共存于同一Haxl客户,每个数据源可能是用于获取不同类型的数据。GADT可以确保请求类型的安全,所以请求类型总是配上其结果类型。Typeable类所请求的不同数据源可以存储在Haxl请求存储库里。 AppLinks开源跨平台应用链接方案 在之前召开的F8大会上,Facebook揭开了其开源的应用程序链接标准的面纱。AppLinks是一个面向多移动平台的深度链接标准,允许从一个应用到另一个应用的直接链接,并且已经有许多开发者被吸引来、并高声明确了自己的立场。 AppLinks的最大优势,就是可以避免应用太过于复杂。如果你对Facebook的这个移动链接方案感兴趣,可以前往AppLinks.org作进一步的了解。 开源阅读应用Paper的动画引擎 Facebook还正式宣布在GitHub上开源了旗下应用Paper背后的动画切换用到的引擎Pop。Pop使用动态的动画效果控制,取代过去相对静态的效果,来控制所有的弹出、折叠以及滚动特效。 Facebook软件工程师Kimon Tsinteris在加入Facebook之前是Push Pop Press的联合创始人,这家公司使用了 Pop 引擎用于开发电子书。Tsinteris 发现 iOS 对于支持静态动画的效果非常好。但他认为开发的动画引擎比iOS的更好:“有了 Pop,我们将能够在保留相对较熟悉的核心动画编程模型的同时,对一个手势的速度进行更好的跟随,因而能够在动画中更好地反映出用户的操作意图。” 他表示,触屏界面已经引领了新的软件设计。在未来,人们将应该能够和屏幕上的每一个元素互动,而这些元素将能够捕捉到用户每一个手势操作的具体速度、方向,以此判断用户的意图。“这是将未来的操作逻辑。”还等什么呢,赶快来试一下吧。 开源部分A/B测试源码 Facebook发布一部分A/B测试源码,称作PlanOut,来帮助数据科学家和其它职工轻松构建、管理和验证A/B测试。为了搞清楚哪个功能或设计更好,每个网站或移动应程序的数据科学家都离不开A/B测试工具。 在博客上,来自Facebook的数据科学家Eytan Bakshy、Dean Eckles和Michael Bernstein描述了PlanOut的重要性: 在Facebook我们每天要运行上千个测试,而这些测试有的是用于优化特定的结果、有的是服务于长期的设计决策。正因为我们每天要运行这么多次的测试, 我们需要可靠、稳定的测试程序。许多在线测试都是由工程师们实现的,而他们并非是受过训练经验丰富的统计学家。测试做对的时候很容易解析,但在他们的设 计、实现、记录和解析上又很容易犯错。此外,该篇博客还对PlanOut进行了详细的描述,并且把它托管在Github,更多详情大家可以访问 此博客或 托管地址。 A/B 测试是一种新兴的网页优化方法,可以用于增加转化率注册率等网页指标。使用A/B测试首先需要建立一个测试页面(variation page),这个页面可能在标题字体、背景颜色、措辞等方面与原有页面(control page)有所不同,然后将这两个页面以随机的方式同时推送给所有浏览用户。接下来分别统计两个页面的用户转化率,即可清晰的了解到两种设计的优劣。 |