RoR本身就是一件非常独特的事情。 想象一个很难找到的金块,但是当您获得它时,付出的努力是值得的。 而且,如果Ruby是一颗宝石,那么RoR是一种切割工具,由于具有大量的时间效率和代码重用因素,因此RoR使其成为各种Web应用程序的理想框架。
自行判断,Github,Twitch,Bloomberg,Airbnb,Etsy和Shopify之类的产品都将RoR用作骨干,从而证明了其性能和扩展质量。 但是,尽管它是大公司中流行的技术,但它距离PHP或ASP.NET却遥遥无期:这就是RoR开发人员带来附加价值且更难找到的原因。
由于他们的硬技能浮出水面,软性技能对于外向型个人仍然是神秘的。 如果您想充分利用RoR专业人员的知识来使您的产品成为闪亮的钻石,我们讨论了一些至关重要的交流时刻,这些时刻至关重要。
但是首先,让我们谈谈对顺利进行Web开发至关重要的辅助技能-幸运的是,有大量实用程序和库可供使用。
由于Ruby,OOP,MVC,API + Json是任何RoR-pro想要的自然技能,因此有更多特定的特权将优秀的开发人员与有抱负的开发人员区分开。
到目前为止,RubyGems是最重要的一个-该软件包包含大量程序和库,包括Sass和CoffeeScript。 但是,即使该软件包中未包含的软件也仍然被视为必备工具包的一部分。 例如,Rspec是许多RoR用户进行单元测试的首选。
此类gem是基于YAML的“ .gemspec”文件构建的,这些文件包含有关它们的信息。 还可以在Rake的帮助下直接在Ruby上构建Gems,而且,其中有很大一部分已经脱离了原始的RoR生态系统-它帮助开发人员摆脱了使框架变得更重的问题。 另外,鉴于后来的平滑兼容性,独立的宝石的制造和部署要比在大型系统中快得多。
说到最重要的宝石,以下是您认为对于整个RoR起作用必不可少的那些:
要提到的另一件事是主要的集成工具。 RoR利用代理作为主要的Web交互路径,这很有意义-使用Web服务器作为代理服务器效果最好。 当要集成诸如Apache和NGINX之类的服务器时,Phusion Passenger成为了从市场上这两个最受欢迎的选项中脱颖而出的首选。
上面提到的Rack接口可以实现无缝的Web服务器交互,因此,基本上,只要它们支持FastCGI,它们中的每一个都可以成为RoR的一部分。 数据库选项也很多:在这些紧张的框架中,MySQL,PostgreSQL,Oracle和Microsoft SQL Server最为突出。
但是,一个简单的标准就是Instant Rails,这是Windows的废弃解决方案,其中包含已配置和设置的Ruby语言,RoR框架,Apache Web Server和MySQL数据库(不需要任何设置或安装程序)。 尽管不再受支持,但这个小型入门包几乎定义了必备工具包,即使对于希望在此生态系统中运行并成为“入门”设备列表的最小开发人员也是如此。
这种技术上的废话已经足够了,让我们看看他们的软技能是由什么组成的。 实际上,他们与其他行业的人没有什么不同, 典型的RoR开发人员的画像 仅证明了我的观点。
尽管代码与硬技能更相关,但是代码美感也与社交互动有关—还有很多其他人将继续阅读这些符号。 另外,由于采用了Ruby的核心原则,因此对于外部专业人员而言,该代码易于理解,并且无论RoR开发人员是否优秀,其可读性都成为一个重要的因素。 看一下代码是否太复杂,需要多少空间以及是否对开发人员编写的内容进行了测试。
另外,不要让看起来不重要的事情(如沟通和承诺)掉到一边。 RoR专业人员与其他开发人员没有什么不同,并且他们的参与对于一个健康的项目是必不可少的-能够调整代码,接受批评,在需要时寻求帮助等。
如您所见,RoR是满足实际技能要求的一种特殊工具:与大多数语言不同,它依赖于称为“ Gems”的附加组件,这些附加组件是该框架的组成部分或扩展。 但是,集成更为方便,因为我们看到像Apache,NGINX,Oracle,MySQL和Microsoft SQL这样的名称是其最常见的附属名称。 在软技能方面,同情心可能会在一般人中脱颖而出–使每个人都可读的代码的意志将成为使人们熟悉基于RoR的产品的巨大资产。
From: https://hackernoon.com/top-skills-and-capacities-of-a-ruby-on-rails-developer-fr16362m