Rails开发的好处和坏处之一是能够使用Rails控制台调试问题和检查数据。控制台通常用于生产环境,因为它是收集任何问题信息的最快方法。强大的功能带来巨大的责任:通过删除模型的所有记录来尝试重置本地开发人员环境的命令可以很容易地输入到生产控制台中。此外,使用可能未知的剪贴板数据(感谢“选择时复制”),任何带换行符的有效Ruby代码都将在粘贴后自动执行。任何意外或有意删除模型、排队等待事件和更新记录的用户都应了解其含义。在Salsify,我们结合使用开源和自制改进解决了此问题,并将其应用到方便的宝石.继续阅读了解更多!
更安全的Rails控制台
通过苏蒂莫西2018年2月5日下午1:49:06
阅读更多→
有植物学家的花式树木
通过基思·威廉姆斯2017年6月14日下午2:21:28
您是否曾经想要构建自己的计算器、查询语言,甚至网络浏览器?解析器和转换器对于这些应用程序和更多应用程序非常有用,多亏了像Salsify自己的植物学家这样的工具,您不需要成为编译器设计专家就可以使用它们。
阅读更多→
使用Ember进行开发的最重要的核心原则之一是“数据向下,操作向上”。在各种Ember社区中,您可能会看到这个概念缩写为DDAU。DDAU的主要前提是数据应该向下流经您的组件层次结构(通过各种组件并可能被各种组件修改),而对所述数据的更改应通过操作通过该层次结构进行传播备份。
阅读更多→
阅读更多→
但是,尽管运行后台作业具有所有优势,但在实际使用中,您仍然可能遇到需要深思熟虑处理的挑战性情况。可能出现的一类常见问题是在用户之间实现资源使用的公平性。
阅读更多→
SQL和ElasticSearch中的高效分页
通过乔希·西尔弗曼2016年4月20日上午10:06:37
许多web界面允许用户轻松地浏览大量数据集。实现获取这些页面的数据库查询对程序员来说也很容易,通常需要抵消
和极限
对于SQL和从…起
和大小
在弹性搜索的情况下。虽然这种方法对用户和程序员来说很容易,但是这种分页查询对于SQL、Elasticsearch和其他数据库引擎来说隐藏成本很高。
在Salsify,我们在实现一个功能时遇到了这个问题,该功能允许用户在一个大的、经过大量筛选和排序的集合中单步遍历记录。我们必须实现一个高效的分页解决方案,该解决方案可以在SQL和ES数据存储中工作。在这篇文章中,我们将介绍一种有趣的技术,使分页对数据集有效大型数据集的数据库。具体来说,我们将研究SQL中的实现,以及如何将此方法转换为Elasticsearch。
阅读更多→
好篱笆:使用CSS模块的邻里风格
通过丹·弗里曼2016年2月24日上午9:57:55
你有没有注意到没有人会写“我们如何命名X公司的Ruby变量“博客帖子?没有人会在黑客新闻的头版刊登“我结合了这两种方法命名策略,突然我的JavaScript就可以维护了!“然而,当谈到CSS时,开发人员都在关注命名策略。我们对本周流行的BEM、SMACSS、OOCSS、SUIT或任何其他大写字母表示赞赏。这是为什么?
阅读更多→
使用vim/tmux实现Ruby-on-Rails
通过丹尼尔·皮特2015年11月25日上午8:43:53
介绍
使用vim一直是我开发生涯中最大的生产力提升工具之一。我作为一名低级的系统管理员进入vim,因为它似乎是行业的工具。从那以后,我的知识不断增长,现在它几乎是我所有项目的首选编辑器。这篇文章将介绍我目前为Ruby on Rails开发所做的设置。我想他创造了大量令人惊叹的插件,所有这些插件都值得成为你日常工作流程的一部分。
阅读更多→
追求可扩展的Ruby离线排序:Ruby内存管理冒险
通过马休·克洛斯2015年11月5日上午8:15:00
在Salsify,我们的许多客户定期将大量表格产品数据导入系统。在导入过程的不同部分处理这些数据之前,需要对其进行排序。因为我们在Heroku上运行,内存是一种稀缺资源。对这些任意大的表格数据文件进行排序需要非常小心。由于Ruby垃圾收集器的压力增加,一次将所有数据读入内存可能会导致执行时间过长,并可能导致同一内存系统上的其他进程耗尽。
我们需要一种使用可预测内存量对大文件进行排序的方法。像map reduce这样的大数据技术对于我们的数据规模来说是杀伤力过大。创建一个离线排序gem要做到这一点,结果是相当冒险的,这迫使我深入研究Ruby如何管理内存,最终需要一个专门的堆实现。