标记:ruby
TDD死了吗?
Ruby on Rails的创始人David Heinemeier Hansson在RailsConf上发表了一个主题演讲,他宣称TDD已经死了。可想而知,这在Rails和更广泛的软件开发社区中引发了大量的争议。华体会登录网址这也引发了我和大卫、肯特之间一些有趣的对话。我们认为这些对话足够有趣,其他人可能也想看,所以录制了一系列视频,在其中我们讨论了TDD在软件开发中的作用。华体会登录网址
六边形架构和轨道华体会体育网页版入口
我和同事Badri关于六边形体系结构及其在Rails应用程序中的作用的对话视频。华体会体育网页版入口在第一个视频中,我们讨论了六边形体系结构的含义,以及它如何导致持久框架的活动记录和数据映射器模式华体会体育网页版入口之间的选择。在第二部分中,我们将更广泛地讨论Rails在应用程序中应该扮演的架构角色——您应该将其视为一个平台,还是一套组件。
使用Rake构建语言
Rake是一种构建语言,其目的与make和ant类似。与make和ant一样,它是一种领域特定语言,而与这两种语言不同的是,它是用Ruby语言编写的内部DSL。在本文中,我将介绍rake,并描述在使用rake构建这个网站时产生的一些有趣的事情:依赖模型、合成任务、自定义构建例程和调试构建脚本。
Ruby Rogues讨论EAA的P
Ruby Rogues是一个很受欢迎的播客,有一个定期讨论Ruby编程社区主题的小组。他们有一个定期的读书俱乐部,最近被选中P (EAA)作为他们的特色书籍。因此,他们邀请我作为嘉宾参加他们的节目,讨论这本书以及书中描述的模式,特别是这些模式与Rails框架之间的有趣关系。
Ruby Rogues关于重构的播客华体会app下载二维码
Ruby Rogues是Ruby世界中流行的编程播客。他们邀请我回去讨论Ruby版本的华体会app下载二维码.我们讨论了重构的定义,为什么我们发现我们不怎么使用调试器,如何使这本华体会app下载二维码书现代化,重构工具的作用,注释是否可以用在好的地方,重构和重写之间的权衡,模块化和微服务,以及软件行业在过去20年里发生了怎样的变化。
Ruby在Thoughtworks
Thoughtworks从2006年开始在产品项目中使用Ruby,从那时到2008年底,我们已经完成了41个Ruby项目。在为QCon的演讲做准备时,我调查了这些项目,看看我们能从这些经验中吸取什么教训。到目前为止,我描述了关于Ruby的生产力、速度和可维护性的常见问题。到目前为止,我们的结论是Ruby是一个可行的平台,应该认真考虑许多形式的应用程序-特别是使用Ruby on Rails的web应用程序。我还上了一些技术课,包括一些关于使用Active Record进行测试的想法。
三年真实世界的Ruby
在2009年伦敦QCon的一次演讲中,我调查了Thoughtworks从2006年到2008年对Ruby的使用情况,期间我们做了41个项目。我的演讲涵盖了我们对Ruby的生产力、速度和可维护性的看法。我的结论是,应该把Ruby作为一种开发环境来认真对待。我还有一个文章如果你更喜欢阅读而不是观看,那就涵盖了同样的内容。
RailsConf 2006的主题
和我的大多数主题一样,这是一个无准备的演讲.这次会议的主题是rails如何影响软件开发。华体会登录网址
收集管道
集合管道是一种编程模式,在这种模式下,您将一些计算组织为一系列操作,这些操作通过将集合作为一个操作的输出并将其提供给下一个操作来组成。(常用操作有filter、map和reduce。)这种模式在函数式编程中很常见,在具有lambda的面向对象语言中也很常见。本文通过几个关于如何形成管道的示例来描述该模式,这既是为了向不熟悉该模式的人介绍该模式,也是为了帮助人们理解核心概念,以便更容易地从一种语言转换到另一种语言。
类实例变量
在了解对象时,您通常了解到它们可以捕获两种数据:实例和类。实例变量是最常见的情况,数据随对象的每个实例而变化。类变量通常称为静态变量,在类的所有实例之间共享。每个实例都指向相同的值,所有人都可以看到任何更改。类变量比实例变量常见得多,特别是可变类变量。
鸭接口
也许我太天真了,但我从来没有想到我的帖子会引起这么大的讨论HumaneInterface打开了。遗憾的是,大部分的讨论都是关于Ruby的数组和Java的列表的相对优点的争论,而不是我想要表达的基本观点,但尽管如此,我认为还是出现了一些不错的对话。
其中一个讨论的话题引出了Array和List之间的差异还有其他原因,而不是人道/最小的哲学。其中一个原因与相似的功能在两种语言中扮演不同的角色有关。
动态类型检查
最近,我们的一些开发人员遇到了这样的指责:在ruby这样的动态语言中,您使用了如此多的动态类型检查,以至于您最终有效地编写了自己的类型系统。所以他们想,既然我们已经写了很多真正的ruby代码——我们多久做一次动态类型检查?迈克尔·舒伯特收集了数据。
动态类型
我一直不愿意就编程语言中静态类型和动态类型之间的争论发表任何意见。这是一个情绪化的话题,人们似乎被驱使着辩论而不是倾听。但因为我已经被问过几次了,所以我将分享我的个人经历。我不想说服任何人任何事,但我希望有人能从中找到一些发人深省的东西。
评估红宝石
如果你正在阅读这篇文章,我想你已经意识到一个事实:关于Ruby编程语言,特别是用于开发web应用程序的Rails框架,已经有了大量的关注。有人认为这是编程的未来,也有人认为这是一种危险的转移。
Groovy和JRuby
目前,关于Groovy和JRuby作为运行在Java虚拟机上的脚本语言的相对优点,存在着相当大的争论。好奇的人想知道——这些语言中哪一种会赢得即将到来的语言战争?人们想知道为一个项目选择哪种语言,或者致力于学习哪种语言。
用于学习对象的语言
如果我想教人们面向对象,我应该用哪种语言?
RailsConf 2007
我不像以前那样参加那么多的会议了,但这样做的好处是我有时间去参加我喜欢的会议。我一直都特别喜欢Ruby社区,所以我参加了今年的RailsConf。
Ruby微软
在RailsConf2007关于JRuby有很多激动人心的事情。这个小团队接手了一个死气沉沉的项目,并把它变成了JVM上Ruby平台的一流实现。他们得到了很多喝彩,这是他们应得的。
因此,有了JRuby,焦点就转移到了另一个通用的托管代码运行时——。net。微软对Ruby的意图目前还不太清楚。他们已经宣布Ruby是Silverlight的脚本语言——但这仍然留下了许多悬而未决的问题。这是ruby语言的完整实现,还是某种形式的ruby ++——ruby的增强子集?
Ruby Ploticus
在我最近的一篇文章中EvaluatingRuby我提到一个同事用一些花哨的数字图表制作了一个网页应用程序。有人发邮件问他是怎么做到的。我在最初的bliki条目中添加了简短的答案,ploticus,但这导致了一个问题:他是如何将ruby与ploticus结合在一起的?
煤尘On Rails
几周前在旧金山有一个叫做GoGaRuCo(金门Ruby会议)的Ruby会议。这次会议之所以受到关注,是因为在一次演讲中,演讲者用女性的性暗示图片来说明CouchDB的讨论。不出所料,结果是相当激烈的辩论,有时还带有攻击性。