雇佣最好的Ruby开发者和程序员

了解顶级Ruby开发人员和程序员。向你团队的最新成员问好。

开始 跟一个招聘
客户评价Ruby开发人员和程序员
评分是4.8分(满分5分)。
4.8 / 5.
基于4336份客户评论
Chileap C。
40美元/小时
  • 红宝石
  • 超文本标记语言
  • 重演
  • 反应
  • Vue.js
  • 网络流量
  • JavaScript
  • 反应本地
  • 咖啡脚本
  • Ruby on Rails

我是一名高级全栈开发人员。我的基本技能是Ruby On Rails,我已经使用它6年多了。这涉及到端到端开发,包括分析、编码、测试和部署到最终用户。我使用SQL数据,包括PostgreSQL和MySQL。此外,我有过在AWS上使用云计算的经验。我一直在使用EC2实例、S3、RDS、SES等。有丰富的Docker后端rails部署经验,同时,我也有使用Bootstrap、Jquery、CSS、SASS、Javascript、ReactJS和VueJS进行前端开发的经验。

贾斯汀H。
每小时150美元
  • 红宝石
  • SQL.
  • 疯狂
  • Heroku
  • JavaScript
  • 语音
  • 配音
  • Ruby on Rails
  • 全国计算机等级考试二级
  • 存储过程的开发

Helping organizations run , , 20+ years of experience in IT Management 15+ years of experience in Software Development 15 years of JIT Automotive Manufacturing 6 years of Controls Integration Projects Non-profit experience I'm open to opportunities. Contact me. Lets talk. I prefer software development with a focus on Ruby on Rails. I have a lot of languages under my belt, so I can probably work with whatever you are using. Golang, Javascript, Typescript, PHP, Foxpro, .Net languages, Kotlin, whatever... After IT, my focus is entertainment. I'm available if you need voice...

伊戈尔·P。
20美元/小时
  • 红宝石
  • CSS.
  • HTML5.
  • 数据库
  • jQuery
  • PostgreSQL.
  • JavaScript
  • Ruby on Rails
  • Adobe Photoshop
  • Adobe Illustrator.

善于沟通,对需求反应迅速。有很高的积极性。RoR狂。想证明自己在开发网络应用方面的能力。

Pankaj K。
20美元/小时
  • 红宝石
  • CSS.
  • 超文本标记语言
  • jQuery
  • JavaScript
  • PSD到HTML
  • 咖啡脚本
  • Ruby on Rails
  • MySQL编程
  • PostgreSQL编程

我热衷于学习新事物,并利用它们来创造新的更好的东西。事实上,你不必担心身处另一个时区。我有在远程环境下管理工作的丰富经验。在过去的四年中,我使用Ruby和Rails开发了广泛的web应用程序。我的重点是RubyonRails,我期待着帮助我的客户构建最先进的RubyonRails应用程序,帮助他们实现业务目标。我的专长在于---.Ruby(1.9~3.0)-RubyonRails(3.x、4.x、5.x、6.x(WebSockets(ActionCable))-MongoDB、MySQL、PostgreSQL、SQLite、Oracle。。。

罗斯兰K。
20美元/小时
  • 红宝石
  • 超文本标记语言
  • CI / CD
  • Heroku
  • PostgreSQL.
  • Ruby on Rails
  • Web应用程序
  • 后端RESTAPI
  • 建筑设计
  • 自动部署管道

简要介绍我:我开发产品,而不仅仅是键入代码。如果你有一个想法要实施,我就是合适的人选。我喜欢后端类型的工作,但我也可以完成一些简单的前端任务、架构设计,以及准备做其他工作。*它是否只是一个后端API,或者将代码部署到Heroku/AWS/DO,或者只是一个VPS?我可以做到这一点。准备好设置Nginx或维护服务器;*也许你需要有人继续发展——这不是问题。我曾在一个5人以上的团队中工作,小组由3人组成,现在与一个大型团队合作。我整理了遗留问题,更新了一个轻量级项目。。。

托多尔一世。
50美元/小时
  • 红宝石
  • 洋槐
  • 萨斯
  • 反应
  • 码头工人
  • JavaScript
  • Ruby on Rails
  • 亚马逊网络服务

您需要一位经验丰富的专业人士,您可以信赖他来负责构建或扩展您的应用程序。那是我!我是一名经验丰富的RubyonRails开发人员,热衷于制作美观、可靠的技术产品。我的专长是:•清晰准确的应用程序分析,减少迭代次数,加快上市时间并成功采用。•使用Ruby on Rails设计和开发web应用程序,无论是现在还是将来都非常有效结构良好的数据库模式设计,具有高性能,并随着新需求优雅地发展清晰易读。。。

Jibran U.
20美元/小时
  • 红宝石
  • CSS.
  • 苗条的
  • jQuery
  • Heroku
  • 独自创立
  • JavaScript
  • Ruby on Rails
  • 亚马逊网络服务
  • 响应式网页设计

我是一名努力工作的软件开发专业人士,致力于在功能框架中编写干净、高效和可扩展的代码。我使用以RubyonRails框架为中心的各种技术。我与许多项目领域的客户合作,包括电子商务商店、管理系统和拍卖商店。我有能力在动态快节奏的环境中快速学习新事物,从而实现有效的团队协作和生产力。我愿意学习完成客户目标所需的一切,只要告诉我你在想什么,我就会找到完成工作的方法。专业领域:。。。

Mauricio F。
每小时35美元
  • 红宝石
  • 斯卡拉
  • Python
  • DevOps
  • Haskell
  • 对话流
  • Ruby on Rails
  • MySQL编程
  • PostgreSQL编程
  • Android应用程序开发

我是一名系统工程师,从事软件开发已经8年多了。我有自己的软件咨询公司,为政府机构开发或扩展其核心系统工作,并为不同成熟度的软件咨询公司和初创公司工作,使用各种语言,如Java、Ruby、Python和C#。在过去的四年中,我学习了Haskell,并且几乎完全是因为我对函数式编程的热情才开始使用它。除了软件开发,我还了解敏捷方法、测试驱动开发、行为驱动开发和Linux系统上的基本DevOps。

亚历克斯M。
40美元/小时
  • 红宝石
  • Git
  • AJAX
  • Redis的
  • RSpec
  • github
  • jQuery
  • 西纳特拉
  • 独自创立
  • Ruby on Rails

经验丰富的Ruby On Rail开发人员,在信息技术和服务行业具有丰富的工作经验。精通RubyonRails、Ruby、Sinatra、Grape、RSpec、Redis、JSON、Git/Perforce、CSS、SCSS、Ajax、Bootstrap和jQuery。有一个专业的英语专业,经济学,程序设计,系统分析专业的哈尔科夫国立经济大学。

杰夫•B。
43美元/小时
  • 红宝石
  • c#
  • API.
  • SQL.
  • JAVA
  • Azure.
  • 春靴子
  • Microservices
  • .NET框架
  • 微软Azure.
  • 后端RESTAPI

我曾为多个政府机构和财富500强公司开发过软件,包括:✅四大咨询公司✅美国财政部✅国家健康研究所✅专家级c#(升C)和Java (Sprint)开发✅Azure SDK包括功能、网络工作,Kusto和应用见解✅熟悉分布式系统(microservices)和最终一致性✅OpenXML和Excel发展✅强烈熟悉先进的设计模式改进的可测试性和可维护性。✅有经验的故障排除复杂的问题,并来到一个…

Gerlin G。
65美元/小时
  • 红宝石
  • CSS.
  • C++
  • JAVA
  • Heroku
  • AngularJS
  • 独自创立
  • JavaScript
  • Ruby on Rails
  • PostgreSQL编程

我是一个有耐心、做事彻底、高度注意细节的人。我喜欢建造、创造和学习新的语言。我可以根据我的时间来做项目。我有全职工作,但我的工作时间很灵活,可以让我追求自己的兴趣,比如自由职业。我做软件工程师已经快5年了。我的经验包括使用Heroku、Ruby on Rails、PostgreSQL、AngularJS、React和Nativescript进行全栈开发。我精通Java和Python, c++和PHP。我喜欢编程和解决问题,因为我发现编程很有趣。我的职责包括但是…

尼克Z。
16美元/小时
  • 红宝石
  • SQL.
  • Vuex
  • Vue.js
  • node.js.
  • 表示
  • 蒙哥达
  • PostgreSQL.
  • BootstrapVue

你好我是一个积极主动的全堆栈开发人员,也是一个结果驱动的人,准备好开始有趣的项目并实施各种开发解决方案。高质量的代码和清晰的开发过程对我和你来说都是至关重要的,因为我的目标是与客户合作多年。我准备在不同的时区工作,这取决于我的客户是否方便。我也经常保持沟通,尊重最后期限。我的技能是:-JavaScript、HTML、CSS-Vue、Vuex、Vuetify、BootstrapVue、TailwindCSS-NodeJS、Express、Knex、Bookshelf-Mongoose、MongoDB、-node pg、PostgreSQL。随便。。。

维塔利Z.
$ 45 / hr
  • 红宝石
  • PHP
  • Vuex
  • 戈兰
  • 码头工人
  • Vue.js
  • 拉维尔
  • node.js.
  • JavaScript
  • Ruby on Rails

✔️大家好,我是Vitalii,是一名拥有优秀技能的顶级全堆栈开发人员。我的目标是让这个世界变得更好。我通过帮助您构建优秀的产品来做到这一点。除了作为一名专业的开发人员,我对我所做的工作非常热情。我总是同情我客户的产品,并将其视为我自己的产品。有了我,您可以得到更多的帮助一个仅仅是雇佣的开发人员。你将得到一个可靠的合作伙伴,他处理产品的所有技术部分,并为你的业务带来实际价值。我的技术专长是:✔️ PHP:Vanilla或Laravel框架;✔️ Ruby/RubyonRails;✔️ JS:香草、VueJS和一点React;✔️ Node.JS;✔️...

帕夫洛。
$ 45 / hr
  • 红宝石
  • Git
  • JavaScript
  • Ruby on Rails
  • API开发
  • PostgreSQL编程
  • Linux系统管理

Ruby开发人员。完整的Ruby on Rails应用程序开发周期。SQL DBs。测试黄瓜/ Rspec /水豚。我用本地化;通过JS, AJAX, coffescript。自信的Git用户(gitlab, github)。设计修正(html, css, haml, slim)。

阿卜杜勒•P。
每小时25美元
  • 红宝石
  • Git
  • CSS.
  • SQL.
  • 超文本标记语言
  • 反应
  • github
  • 独自创立
  • JavaScript
  • PostgreSQL.

我是一个全栈开发谁开始在2011年进行编码和专业的电信部门。我喜欢并认为有必要共享,并从团队的反馈。我有丰富的经验与远程人世界各地的工作,下面的版本控制系统(GIT,GitHub上,GitFlow)的良好做法。I consider one of my biggest achievements the automation of the partitioning and logical replication system with PostgreSQL Database Server at the Telephone Company Núcleo S. A. I am very organized with my schedule and the accountability of my work, I like to take records of how I manage my time to...

Aarthi K。
20美元/小时
  • 红宝石
  • API.
  • SQL.
  • Redis的
  • 养蜂场
  • 网站
  • JavaScript
  • 虚拟主机
  • Ruby on Rails
  • PostgreSQL编程

我更关心编写可靠、易读和可维护的代码。我使用Ruby最多,但也在HTML、CSS和Javascript的帮助下进行前端开发。我是一名训练有素、自我激励的Rails开发人员,拥有多种技能,包括AWS知识、敏锐的智慧眼睛、渴望学习新技术,以及使用Heroku、Cloud66、Digital Ocean等工具编写干净代码的能力。因为我已经看到了从版本3到现在的版本6的框架,所以我可以解决关于代码出现的任何问题,我的工作将与所有类型的系统兼容。牢记客户的…

罗伯特W。
每小时120美元
  • 红宝石
  • 反应
  • WebRTC
  • Vue.js
  • Python
  • node.js.
  • Web应用程序
  • API集成
  • 流处理
  • 数据库管理
  • 软件架构与设计

我有多年的工作经验,能胜任任何类型的工作。我目前的热情是支持企业级平台的开发,为客户提供惊喜和惊喜!在Kafka、Kinesis、Agora with AWS、Node/Javascript中进行流处理(实时数据、视频流、实时消息和实时流)时,我的效率最高。此外,我熟悉大数据、ETL管道、oracle、sql server、snowflake,从设计表和模式结构到创建函数、表函数、雪管、AWS外部阶段、流、过程、外部函数等。我可以帮助更新或更新旧的PHP站点。。。

Kalpana B。
每小时35美元
  • 红宝石
  • 反应
  • 混合动力
  • 芬兰湾的科特林
  • 颤振
  • 反应本地
  • 手机用户界面设计
  • 移动应用设计
  • iPhone应用程序开发
  • 手机应用程序开发
  • Android应用程序开发

我有4年的手机应用开发经验。我的主要目标是采用以过程为导向的方法,结合经验和创造力,找到最有效的解决方案和成功的结果。我在与海外客户的紧密合作方面也很熟练。灵活性和紧跟技术是我的优势,所以我可以保证高质量的工作完成。Android: Material Design, Fragments, In-App Billing, Location and Sensors API, Push Notifications, SQLite, UI, Services, Maps, ActionBarSherlock, AdMob, Social Media Integration,谷歌…

侯赛因M。
50美元/小时
  • 红宝石
  • PHP
  • CSS.
  • HTML5.
  • jQuery
  • 购物
  • 拉维尔
  • WordPress
  • JavaScript
  • Ruby on Rails
  • 推特引导

我是一个完整的堆栈开发人员在开发响应式网站特别是电子商务网站7年的经验。我已经用shopify, ruby on rails和php开发了130多个网站。我已经开发了20多个自定义cms网站与管理仪表盘。我有很好的沟通能力和责任感。我总是在最后期限前完成工作。我总是告诉我的客户,在开始之前,如果你不满意我的工作100%,我将不会得到任何钱,所以这是对我的质量和速度的一个伟大的保证。技能包括:后台技能:- shopify主题开发- shopify App开发- php(laravel) - Ruby on…

托马斯C。
每小时37美元
  • 红宝石
  • RSpec
  • 反应
  • jQuery
  • JSON API
  • PostgreSQL.
  • 咖啡脚本
  • Ruby on Rails
  • PostgreSQL编程

我是一个可靠的Ruby on Rails开发人员,有将近4年的专业经验。我更喜欢后台工作,但我也很乐意帮助jQuery或React.js任务。就我最近的项目而言,我负责开发和重构大型金融应用程序(Rails 4、MySQL、HAML、RSpec、Capybara、Git),并帮助开发另一个较小的应用程序(Rails 4、Sinatra、Padrino、Microservices、Mongo、HAML、RabbitMQ、Docker、Git)。2017年,我为波兰的几个工厂(Rails 4, MySQL, HAML, JavaScript, Git)开发企业Ruby on Rails应用程序,我发现这非常有趣。后来,我开始开发……

希曼苏D。
20美元/小时
  • 红宝石
  • 反应
  • MySQL
  • node.js.
  • 蒙哥达
  • 棱角
  • 表示
  • AngularJS
  • 角6
  • JavaScript
  • PostgreSQL.

我是一个经验丰富的网络开发人员。我会做任何与HTML、CSS、JavaScript、Jquery、AJAX调用、JSON、React、Node相关的事情,并让它按照您的意愿工作。我可以添加任何类型的前端逻辑在您现有的网站或可以创建一个新的。前端技术包括:-Angular-ReactJs-VueJs后端技术包括:-NodeJs-PHP数据库包括:-MongoDB-MySQL-Firebase-Firestore-PostgreSQL,具有强大的通信和设计能力,我将欢迎任何面试的机会,并期待听到您的宝贵意见,建立长期的业务关系。顺致敬意,

伊凡K。
$ 45 / hr
  • 红宝石
  • Yii
  • CSS.
  • PHP
  • HTML5.
  • Vue.js
  • Symfony
  • 拉维尔
  • 安卓
  • WordPress
  • JavaScript

我是经验丰富的全栈WEB开发人员!自2013年以来的工作。我已经完成了许多不同的项目。既有大项目,也有针对现有平台的小插件。我的工作是质量。每次我提高我的代码水平。我一直在做这个项目,直到客户满意为止。我工作认真,有团队精神。我的技能:使用过PHP, HTML, JS, Java, Android。我有使用下一个框架的经验:Symfony(5年以上)。 exp) , Yii ( 5+ yrs. exp) , WordPress ( 5+ yrs. exp) , Laravel, jQuery, Android. First of all I'm looking for interesting projects, where I can get an experience with new technologies and can apply my skills. I open to any...

罗希特S。
20美元/小时
  • 红宝石
  • 反应
  • Vue.js
  • node.js.
  • AngularJS
  • 亚马逊EC2
  • 类型签字
  • RESTful API
  • Ruby on Rails

很高兴您能浏览我的资料。如果你想在这个行业寻找一个真正的专业人士,我可以是一个很好的匹配者。我的名字是Rohit Soner,我对利用专业人士的Full Stack开发经验进行工作充满热情、敬业和乐趣。7年以上专业的产品工程和开发经验,从前端JavaScript和SASS到后端都能胜任。较强的数据结构和算法背景。-我做过大量的服务器端API,每秒可以服务数百个请求。-我有从零开始构建复杂web api的经验。舒适的设计……

哈姆萨F。
每小时25美元
  • 红宝石
  • CSS.
  • 反应
  • node.js.
  • 表示
  • JavaScript
  • 反应本地
  • Ruby on Rails
  • Web应用程序
  • 手机应用程序开发

希望将您的软件平台新想法付诸实践吗?或者将您现有的项目提升到下一个级别,以便带来更多业务?在今天这个时代,决定如何构建产品可能是一项艰巨的任务,而且往往选择错误的路径会让你陷入一个浪费时间和昂贵的兔子洞。这就是为什么我一直致力于掌握最新的技术和设计趋势,以使我构建的产品记录良好、干净、功能强大。我的目标是第一次以正确的方式构建您的软件平台,这样您就可以专注于做您最擅长的事情,。。。

丹尼斯·M。
18美元/小时
  • 红宝石
  • CSS.
  • AJAX
  • HTML5.
  • jQuery
  • JavaScript
  • Ruby on Rails
  • API开发
  • API集成
  • Linux系统管理

我是一名web开发人员,主要专注于Ruby on Rails。我试图编写干净且可读的代码,而不使用肮脏的hack和perl式的混淆,使其可用于未来的维护和更新。我也更喜欢使用可用的库来处理常见的事情,而不是重新发明轮子。我过去做过各种各样的Rails项目,从简单的登陆页面到复杂的视频托管网站。现在,我正在寻找具有良好工作流程、代码审查和清晰任务描述的项目的长期工作,在这些项目中,你知道你需要什么,而我知道(或可以找到/学习)如何……

Andrii F。
每小时25美元
  • 红宝石
  • 反应
  • NGINX
  • 团结
  • jQuery
  • Heroku
  • 亚马逊云服务器
  • Ruby on Rails
  • AWS服务器迁移
  • PostgreSQL编程

我是一名RubyonRails开发人员,有超过4年的商业经验。我的服务包括开发过程的整个生命周期:从技术需求到最终部署和支持。-我开发重载和复杂的应用程序,-我管理一个小型分布式开发团队,-我开发数据库和API设计,-我建立AWS云环境。就我的经验而言,我从学生时代就开始从事网络技术的工作。我成功地作为SCRUM团队的一员和一名私人自由职业者工作。我想与思想开放、负责任的客户合作,他们对自己的项目有着清晰的愿景。我保证。。。

希梅布M。
30美元/小时
  • 红宝石
  • CSS.
  • CSS3
  • HTML5.
  • Heroku
  • 码头工人
  • Amazon S3
  • PostgreSQL.
  • 亚马逊EC2
  • Ruby on Rails
  • 泊坞窗撰写

“Seemab一直是一个非常尊敬的人,她知道自己的工作。她工作非常努力,速度也相当快。她是一个非常熟练的人。我喜欢和她一起工作。”Kelvin K-西班牙“Seemab知道以一种非常有效的方式把什么放在哪里。她在敏捷方法学方面做得最好。她提供了一个干净且易于修改的代码。她遵循调查客户需求的良好实践。我建议和她一起工作。祝你好运”-Robert-Canada我是一名经验丰富的Ruby | Rails | Sinatra | JS开发人员。在过去的6年中,我一直在用各自的语言进行web开发、脚本编写和bug修复。我是一名快速的。。。

想要浏览更多
自由职业者?
报名
美元/小时

工作原理< / h2 >

1.发帖(它是免费的)

告诉我们你需要什么。提供尽可能多的细节,但不要担心让它变得完美。

2.你有天赋

在24小时内获得合格的提案,并会见您感兴趣的候选人。你一准备好就马上雇用。

3.容易合作

使用Upwork聊天或视频通话,共享文件,并直接从应用程序跟踪项目进展。

4.简化付款

通过Upwork接收发票并付款。只支付你授权的工作。

由5M +企业信任

如何聘请顶级Ruby开发者< / h2 >

如何雇佣Ruby开发人员

从网站和特定域语言(DSL),以桌面应用和物联网设备,一个Ruby开发者后端的编程经验,使您的软件项目的生命。

那么,你如何聘请Ruby开发者?接下来是一些技巧上Upwork寻找顶部Ruby开发顾问。

如何候选名单Ruby开发的专业人才

当您浏览可用的Ruby开发顾问时,制定一份您可能想要面试的专业人士的短名单是很有帮助的。您可以根据以下条件筛选配置文件:

  • 技术适合。无论是mruby为on Rails的web开发物联网或Ruby,你想要一个Ruby开发者谁是熟悉的软件类型你想构建。
  • 测试驱动的开发(TDD)。在发布日避免陷阱的最佳方法是在开发过程中频繁测试,并从最终用户那里获得反馈。
  • 反馈查看过去客户的评论,看看他们是否有精彩的评价或危险的标志,这些可以告诉你与某个特定的Ruby开发人员一起工作是什么感觉。

如何写一篇有效的Ruby开发工作帖子

在心中对理想的Ruby开发人员有了清晰的印象之后,是时候编写这份工作了。虽然你不需要像招聘员工那样提供完整的职位描述,但你应该为承包商提供足够的细节,让他们知道自己是否适合这个项目。

工作职称

创建一个简单的标题,它准确地描述了您正在寻找的内容。这个想法是针对您的理想候选人可能键入求职栏以找到您的项目的关键字。下面是一些示例红宝石本职岗位职称:

  • 后端开发人员需要使用Ruby on Rails的经验
  • 全栈的Ruby on Rails开发需要。
  • 红宝石程序员需要建立一个领域特定语言(DSL)

Ruby项目介绍

一个有效的Ruby工作岗位应该包括:

  • 工作范围:从mvp(最小可行产品)到全功能spa(单页应用程序),列出你需要的所有可交付成果。
  • 项目长度:你的工作岗位应该说明这是一个较小还是较大的项目。
  • 背景:如果您更喜欢具有特定行业、软件或开发工具的经验,请在这里提及这一点。
  • 预算:制定预算,注意你更喜欢按小时收费而不是固定价格合同。

Ruby开发人员的工作职责

下面是一些Ruby开发人员工作职责的例子:

  • 将技术需求和UI/UX设计转化为代码
  • 将UI集成到Ruby on Rails后端
  • 一个应用程序的处理数据库设计和业务逻辑层
  • 构建、测试、部署和维护一个ruby支持的应用程序

Ruby开发人员要求和资格

确保包含您在Ruby开发人员中寻找的任何要求和资格。以下是一些示例:

  • Ruby编程语言
  • 用于物联网设备等嵌入式系统的mruby
  • Ruby on Rails的用于后端的Web开发
  • RESTful服务、API和第三方库集成
  • 有运行单元测试的经验
  • 版本控制系统,如GitHub

Ruby开发人员常见问题< / h2 >

什么是红宝石?

红宝石,其框架一起,Ruby on Rails的(“导轨”),是一个令人难以置信的高效率,高水平后端的编程语言,一个大的初创企业和小型开发团队抽奖,有必要弄复杂,交通繁忙应用起来,在很短的时间运行。Rails的减轻了开发人员的工作量与“宝石” -prepackaged代码库,在一个大的方式流线的发展。

但真正让Ruby脱颖而出的是“程序员幸福感”,尤其是与它最大的竞争对手Python相比。Ruby吸引了许多喜欢其优雅的“少花钱多办事”理念的开发人员,而这些开发人员正受到欢迎。

雇佣一个Ruby开发人员要花多少钱?

决定雇佣Ruby开发人员的成本的第一步是定义您的需求。价格可能会因许多因素而变化,包括专业知识和经验、地点和市场条件。了解雇用Ruby开发人员的成本

Ruby开发人员常见的错误

过度使用method_missing:没有人喜欢重复的代码,而使用method_missing进行元编程是我们喜欢在代码中加入的一种令人内疚的乐趣挑战,以避免运行时出现错误,并使其正常工作。

需要允许一个类快速使用另一个类中可用的方法吗?

使用method_missing。

有很多方法,但不想显式命名它们?

使用method_missing。

需要构建许多除了一些细微差异之外几乎相同的方法吗?

使用method_missing。

方法_缺少一个问题:速度太慢。每次调用method_missing时,Ruby运行时都必须沿着类链层次结构向上爬,以找到实际执行繁重任务的方法,从而使代码能够工作。大多数基准测试表明,方法_missing在运行时比使用普通的Ruby方法慢得多。对于上面的示例案例,一个更快的元编程工具是define_method,它允许您在加载类时动态定义加载的方法。

那么什么时候应该使用方法?当您处理基于模式的动态命名方法时,您不能合理地期望能够预测所有可能的方法名称组合。Ruby自己的活动记录动态查找器可能就是最好的例子。例如,如果您希望通过电子邮件从大量用户数据集中查找用户,并且您的用户具有电子邮件属性,则可以使用user.find_by_email('john)。doe@example.com“),即使您从未在User或ActiveRecord::基类下显式定义该方法。

过分依赖宝石:每个新的Rails开发人员在他们的职业生涯中都会达到一个特定的点,在这个点上,他们会受到RubyGems存储库的诱惑。你怎么能抗拒呢?Ruby广泛的gems目录得到了一个活跃的开源社区的支持。需要身份验证的帮助?试着设计。授权呢?康康能帮你搞定。如果你有一项任务需要帮助,那么很有可能会有一块宝石。

不幸的是,就像生活中所有其他的事情一样,可能有太多的好事。尽管gem功能强大,但在某一点上,您将开始注意到每一个新gem在程序员生产力和性能之间的权衡。太多的gem会降低性能,消耗资源,并使测试花费更长的时间。

一个臃肿的文件可能会成为未来破坏应用程序的bug的巢穴。高质量的gems尽量减少依赖性,但如果你不小心,你可能会发现自己管理了数百个gems。在这一点上,无论您从编写更少的代码中获得什么生产力,都会被消耗在管理依赖项、追踪隐藏的bug和保持应用程序最新方面。

解决办法是什么?节制。在下载gem之前,问问自己是否可以证明它使用了资源,是否需要它提供的所有功能。对您的gems进行选择有助于保持应用程序的精简。

应用逻辑渗透到视图中:Ruby on Rails遵循MVC(模型-视图-控制器)模式,其中模型负责数据,视图是数据的可视化表示,控制器是两者之间的桥梁。此模式的目标是分离应用程序的主要角色,以促进有效的代码重用并允许并行开发。当你开始偏离这些角色时,实现这个目标就变得困难了。

意见应只与可视化表示关注。但是,它是很有诱惑力的潜行应用程序逻辑到您的ERB模板,如下所示:


祝贺你
<%如果winning_player %>
<%= winning_player.name%>
其他< % % >
比赛者
< % % >结束
< / h2 >

将应用程序逻辑放入单个视图的效率低下不仅会导致代码重复,而且随着应用程序的扩展,管理大量混杂的Ruby和HTML代码会使维护变得更加困难。最好将该逻辑封装到可重用的帮助器函数、演示器或装饰器中。

“胖模型瘦控制器”走得太远:控制器做了很多事情,从会话处理渲染和重定向,但它基本上可以归结为模型和视图,接收请求,并提供相应的输出之间的中间人。默认情况下,该控制器已经在其平板很多。为了防止在控制器馅模型或视图逻辑的诱惑下,“脂肪模型瘦控制器”的原则就诞生了。问题解决了,对不对?

不是真的。现在,膨胀的问题已经转移到了模型上。每个模型都应该与数据库中的一个数据表相对应。模型对应的数据表应该由它单独负责。为了保持视图和控制器的精简,很容易将不太适合MVC范式的任何东西扔到模型中。事实证明,许多困扰膨胀视图和控制器的维护问题也扩展到了模型。解决方案是使用poro(普通的Ruby对象)来封装不适合任何MVC类别的东西。

让您的代码容易受到SQL注入的攻击:这是在黑客剧本SQL注入的最古老的招数,其中包括记录用户输入的字段谋取到SQL数据库的直接访问之一。在Rails中,其中需要用户输入(例如,打字在搜索字段中),以查询数据从数据库中此漏洞被发现。传统的方法来处理用户名看起来像这样的查询:

用户。find_by(名称:params[:名称])

这种方法容易受到SQL注入的影响。幸运的是,在Rails中,我们有基于动态属性的活动记录查找器,它作为参数化查询工作,可以正确处理传递的参数,避免SQL注入。

user.find_by_name(名字)

除了使用动态查找器,它还有助于只接受和构造来自外部输入(如搜索查询和表单)的值。永远不要构造INSERT和DELETE这样的SQL命令,不要向活动记录库中接受原始SQL查询、表名或列的方法发送不可信的输入。

提示和最佳做法

就拿Ruby开发者社区的优势

红宝石可能不是最流行的后台脚本语言,但那些谁使用它喜欢它。红宝石的设计充分考虑程序员的幸福,什么时候你看Ruby的巨大的常见软件开发问题的宝石,准备使用的解决方案库,是显而易见的创建。如果你需要快速原型项目,你几乎可以从组装宝石和样板代码的应用程序中的一个单元。

在哈希中使用符号而不是字符串

Ruby有一种称为符号的特殊数据类型,用于存储不必更改的变量名。符号的前缀是冒号,表示如下::symbol。与字符串不同,字符串是可变的,符号是不可变的,只占内存中的一个位置。

不变性对于散列是完美的,因为您不想更改散列键。散列与数组类似,只是它们可以使用任何对象作为索引。

Shopping_list ={:肉桂=> 1,:黄油=> 2,:苏打=> 6}

符号也比字符串更节省空间,因为设置多个变量等于相同的符号将访问内存中的相同位置。

经常测试你的代码

众所周知,测试驱动开发在软件开发中采用的是先测试后编码的方法,类似于这样:

  • 红色的:为失败的软件功能编写测试
  • 绿色:编写通过测试所需的最低代码
  • 重构:根据最佳实践重写你的传递代码

除非您已经实践了TDD,否则似乎很难将常规的软件测试视为在推向生产之前捕获尽可能多的错误的必要的邪恶。

幸运的是,Ruby通过在其标准库(minitest/unit和test/unit)中为您提供实践TDD所需的一切,使TDD变得更容易。在这两个测试框架之间,您应该能够养成通过定期创建单元测试来编写更安全代码的习惯。一旦你习惯了编写单元测试,那么完整地练习TDD就不会那么令人畏惧了。

视图不

Ruby开发人员和程序员雇佣资源
了解成本因素 见面试问题 服务人才
安排一个电话
Baidu